diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index 3f2ce53e58f..ac97a3f372f 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -28,4 +28,4 @@ jobs: run: flake8 - name: Run flake8 to verify PEP8-compliance of Easyconfigs - run: flake8 --select W605 --filename '*.eb' + run: flake8 --select F,W605 --filename '*.eb' diff --git a/.github/workflows/tagbot.py b/.github/workflows/tagbot.py new file mode 100644 index 00000000000..26472f8bcbd --- /dev/null +++ b/.github/workflows/tagbot.py @@ -0,0 +1,182 @@ +# NOTE: In order to write comment and edit labels, this script requires workflows with write permissions. +# It should not use any untrusted third party code, or any code checked into the repository itself +# as that could indirectly grant PRs the ability to edit labels and comments on PRs. + +import os +import git +import requests +import json +from pathlib import Path + + +def get_first_commit_date(repo, file_path): + commits = list(repo.iter_commits(paths=file_path)) + if commits: + return commits[-1].committed_date + else: + raise ValueError(f'{file_path} has no commit info, this should not happen') + + +def sort_by_added_date(repo, file_paths): + files_with_dates = [(get_first_commit_date(repo, file_path), file_path) for file_path in file_paths] + sorted_files = sorted(files_with_dates, reverse=True) + return [file for date, file in sorted_files] + + +def similar_easyconfigs(repo, new_file): + possible_neighbours = [x for x in new_file.parent.glob('*.eb') if x != new_file] + return sort_by_added_date(repo, possible_neighbours) + + +def pr_ecs(pr_diff): + new_ecs = [] + changed_ecs = [] + for item in pr_diff: + if item.a_path.endswith('.eb'): + if item.change_type == 'A': + new_ecs.append(Path(item.a_path)) + else: + changed_ecs.append(Path(item.a_path)) + return new_ecs, changed_ecs + + +GITHUB_API_URL = 'https://api.github.com' +event_path = os.getenv('GITHUB_EVENT_PATH') +token = os.getenv('GH_TOKEN') +repo = os.getenv('GITHUB_REPOSITORY') +base_branch_name = os.getenv('GITHUB_BASE_REF') + +with open(event_path) as f: + data = json.load(f) + +pr_number = data['pull_request']['number'] +# Can't rely on merge_commit_sha for pull_request_target as it might be outdated +# merge_commit_sha = data['pull_request']['merge_commit_sha'] + +print("PR number:", pr_number) +print("Base branch name:", base_branch_name) + +# Change into "pr" checkout directory to allow diffs and glob to work on the same content +os.chdir('pr') +gitrepo = git.Repo('.') + +target_commit = gitrepo.commit('origin/' + base_branch_name) +print("Target commit ref:", target_commit) +merge_commit = gitrepo.head.commit +print("Merge commit:", merge_commit) +pr_diff = target_commit.diff(merge_commit) + +new_ecs, changed_ecs = pr_ecs(pr_diff) +modified_workflow = any(item.a_path.startswith('.github/workflows/') for item in pr_diff) + + +print("Changed ECs:", ', '.join(str(p) for p in changed_ecs)) +print("Newly added ECs:", ', '.join(str(p) for p in new_ecs)) +print("Modified workflow:", modified_workflow) + +new_software = 0 +updated_software = 0 +to_diff = dict() +for new_file in new_ecs: + neighbours = similar_easyconfigs(gitrepo, new_file) + print(f"Found {len(neighbours)} neighbours for {new_file}") + if neighbours: + updated_software += 1 + to_diff[new_file] = neighbours + else: + new_software += 1 + +print(f"Generating comment for {len(to_diff)} updates softwares") +# Limit comment size for large PRs: +if len(to_diff) > 20: # Too much, either bad PR or some broad change. Not diffing. + max_diffs_per_software = 0 +elif len(to_diff) > 10: + max_diffs_per_software = 1 +elif len(to_diff) > 5: + max_diffs_per_software = 2 +else: + max_diffs_per_software = 3 + +comment = '' +if max_diffs_per_software > 0: + for new_file, neighbours in to_diff.items(): + compare_neighbours = neighbours[:max_diffs_per_software] + if compare_neighbours: + print(f"Diffs for {new_file}") + comment += f'#### Updated software `{new_file.name}`\n\n' + + for neighbour in compare_neighbours: + print(f"against {neighbour}") + comment += '
\n' + comment += f'Diff against {neighbour.name}\n\n' + comment += f'[{neighbour}](https://github.com/{repo}/blob/{base_branch_name}/{neighbour})\n\n' + comment += '```diff\n' + comment += gitrepo.git.diff(f'HEAD:{neighbour}', f'HEAD:{new_file}') + comment += '\n```\n
\n\n' + +print("Adjusting labels") +current_labels = [label['name'] for label in data['pull_request']['labels']] + +label_checks = [(changed_ecs, 'change'), + (new_software, 'new'), + (updated_software, 'update'), + (modified_workflow, 'workflow')] + +labels_add = [] +labels_del = [] +for condition, label in label_checks: + if condition and label not in current_labels: + labels_add.append(label) + elif not condition and label in current_labels: + labels_del.append(label) + +url = f"{GITHUB_API_URL}/repos/{repo}/issues/{pr_number}/labels" + +headers = { + "Accept": "application/vnd.github+json", + "Authorization": f"Bearer {token}", + "X-GitHub-Api-Version": "2022-11-28", +} + +if labels_add: + print(f"Setting labels: {labels_add} at {url}") + response = requests.post(url, headers=headers, json={"labels": labels_add}) + if response.status_code == 200: + print(f"Labels {labels_add} added successfully.") + else: + print(f"Failed to add labels: {response.status_code}, {response.text}") + +for label in labels_del: + print(f"Removing label: {label} at {url}") + response = requests.delete(f'{url}/{label}', headers=headers) + if response.status_code == 200: + print(f"Label {label} removed successfully.") + else: + print(f"Failed to delete label: {response.status_code}, {response.text}") + +# Write comment with diff +if updated_software: + # Search for comment by bot to potentially replace + url = f"{GITHUB_API_URL}/repos/{repo}/issues/{pr_number}/comments" + response = requests.get(url, headers=headers) + comment_id = None + for existing_comment in response.json(): + if existing_comment["user"]["login"] == "github-actions[bot]": # Bot username in GitHub Actions + comment_id = existing_comment["id"] + + if comment_id: + # Update existing comment + url = f"{GITHUB_API_URL}/repos/{repo}/issues/comments/{comment_id}" + response = requests.patch(url, headers=headers, json={"body": comment}) + if response.status_code == 200: + print("Comment updated successfully.") + else: + print(f"Failed to update comment: {response.status_code}, {response.text}") + else: + # Post a new comment + url = f"{GITHUB_API_URL}/repos/{repo}/issues/{pr_number}/comments" + response = requests.post(url, headers=headers, json={"body": comment}) + if response.status_code == 201: + print("Comment posted successfully.") + else: + print(f"Failed to post comment: {response.status_code}, {response.text}") diff --git a/.github/workflows/tagbot.yml b/.github/workflows/tagbot.yml new file mode 100644 index 00000000000..8c0fa06294b --- /dev/null +++ b/.github/workflows/tagbot.yml @@ -0,0 +1,54 @@ +name: Tagbot +on: [pull_request_target] + +concurrency: + group: "${{ github.workflow }}-${{ github.event.pull_request.number }}" + cancel-in-progress: true + +jobs: + tagbot: + # Note: can't rely on github.event.pull_request.merge_commit_sha because pull_request_target + # does not wait for github mergability check, and the value is outdated. + # Instead we merge manually in a temporary subdir "pr" + runs-on: ubuntu-24.04 + permissions: + pull-requests: write + steps: + - name: Checkout base branch for workflow scripts + uses: actions/checkout@v4 + + - name: Checkout PR for computing diff into "pr" subdirectory + uses: actions/checkout@v4 + with: + ref: "${{ github.event.pull_request.head.sha }}" + path: 'pr' + fetch-depth: 0 + + - name: Attempt test merge + id: merge + run: | + git config user.name "github-workflow" + git config user.email "github-workflow@github.com" + git merge --no-edit --no-ff origin/${{ github.event.pull_request.base.ref }} + continue-on-error: true + working-directory: pr + + - name: Abort if merge failed + if: steps.merge.outcome == 'failure' + run: | + echo "Merge conflict detected, failing job." + exit 1 + + - name: set up Python + uses: actions/setup-python@v5 + with: + python-version: 3.12 + + - name: Get packages + run: pip install gitpython requests + + - name: Tag and comment + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: python .github/workflows/tagbot.py + diff --git a/.gitignore b/.gitignore index c667a41e000..c2974194435 100644 --- a/.gitignore +++ b/.gitignore @@ -1,12 +1,15 @@ .pydevproject .project LICENSE_HEADER +*.eb.bak_* *.pyc *.pyo *.nja +*.out build/ dist/ *egg-info/ +.venv/ *.swp *.ropeproject/ eb-*.log diff --git a/RELEASE_NOTES b/RELEASE_NOTES index 3a655a1b5b3..af2e74ae887 100644 --- a/RELEASE_NOTES +++ b/RELEASE_NOTES @@ -3,8 +3,487 @@ For more detailed information, please see the git log. These release notes can also be consulted at https://docs.easybuild.io/en/latest/Release_notes.html. -The latest version of easybuild-easyconfig provides 18,752 easyconfig files, for 3,369 different software packages, -incl. 40 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) 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/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/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/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/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 100% 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 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/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/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/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 100% 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 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 100% 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 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 100% 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 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 6b718496c02..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'), @@ -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/ABRicate/ABRicate-1.0.0-gompi-2023a.eb b/easybuild/easyconfigs/a/ABRicate/ABRicate-1.0.0-gompi-2023a.eb new file mode 100644 index 00000000000..b21e8fda565 --- /dev/null +++ b/easybuild/easyconfigs/a/ABRicate/ABRicate-1.0.0-gompi-2023a.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': '2023a'} + +# https://github.com/tseemann/abricate +github_account = 'tseemann' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.zip'] +checksums = ['e7e2af45e47b887c4dba754af87a24014dcb5552eb3fe2a3fd66bb5359a0daf9'] + +dependencies = [ + ('Perl', '5.36.1'), + ('any2fasta', '0.4.2'), + ('BioPerl', '1.7.8'), + ('BLAST+', '2.14.1'), +] + +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/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-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-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/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/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-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/AMRFinderPlus/AMRFinderPlus-3.12.8-gompi-2023a.eb b/easybuild/easyconfigs/a/AMRFinderPlus/AMRFinderPlus-3.12.8-gompi-2023a.eb new file mode 100644 index 00000000000..cc4de6c8fb0 --- /dev/null +++ b/easybuild/easyconfigs/a/AMRFinderPlus/AMRFinderPlus-3.12.8-gompi-2023a.eb @@ -0,0 +1,41 @@ +easyblock = 'MakeCp' + +name = 'AMRFinderPlus' +version = '3.12.8' + +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': '2023a'} + +github_account = 'ncbi' +source_urls = ['https://github.com/ncbi/amr/archive/'] +sources = ['amrfinder_v%(version)s.tar.gz'] +checksums = ['a199bc332877bad9033a7620bc5e8e849db1f19a9ba8b7357ec5451a6a283aa0'] + +dependencies = [ + ('BLAST+', '2.14.1'), + ('HMMER', '3.4'), + ('cURL', '8.0.1') +] + +# 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/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/AOCC/AOCC-4.2.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/a/AOCC/AOCC-4.2.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..b88337b09b4 --- /dev/null +++ b/easybuild/easyconfigs/a/AOCC/AOCC-4.2.0-GCCcore-13.3.0.eb @@ -0,0 +1,29 @@ +name = 'AOCC' +version = '4.2.0' + +homepage = 'https://developer.amd.com/amd-aocc/' +description = """AOCC is a high-performance x86 CPU compiler for C, C++, and Fortran programming languages. + It supports target-dependent and target-independent optimizations. It is highly optimized for x86 targets, + especially for AMD “Zen”-based processors giving a performance edge for time critical HPC and other + applications over other compilers.""" + +# 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://download.amd.com/developer/eula/%(namelower)s/%(namelower)s-%(version_major)s-%(version_minor)s' +] +sources = ['%(namelower)s-compiler-%(version)s.tar'] +checksums = ['ed5a560ec745b24dc0685ccdcbde914843fb2f2dfbfce1ba592de4ffbce1ccab'] + +dependencies = [ + ('binutils', '2.42'), + ('ncurses', '6.5'), + ('zlib', '1.3.1'), + ('libxml2', '2.12.7'), +] + +clangversion = '16.0.3' + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/a/AOCC/AOCC-5.0.0-GCCcore-14.2.0.eb b/easybuild/easyconfigs/a/AOCC/AOCC-5.0.0-GCCcore-14.2.0.eb new file mode 100644 index 00000000000..36d359a6469 --- /dev/null +++ b/easybuild/easyconfigs/a/AOCC/AOCC-5.0.0-GCCcore-14.2.0.eb @@ -0,0 +1,24 @@ +name = 'AOCC' +version = '5.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': '14.2.0'} + +source_urls = ['https://download.amd.com/developer/eula/aocc/aocc-5-0/'] +sources = ['aocc-compiler-%(version)s.tar'] +checksums = ['966fac2d2c759e9de6e969c10ada7a7b306c113f7f1e07ea376829ec86380daa'] + +clangversion = '17.0.6' + +dependencies = [ + ('binutils', '2.42'), + ('ncurses', '6.5'), + ('zlib', '1.3.1'), + ('libxml2', '2.13.4'), +] + +moduleclass = 'compiler' 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.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.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/ASAP3/ASAP3-3.13.3-foss-2023a.eb b/easybuild/easyconfigs/a/ASAP3/ASAP3-3.13.3-foss-2023a.eb new file mode 100644 index 00000000000..4315122d3cb --- /dev/null +++ b/easybuild/easyconfigs/a/ASAP3/ASAP3-3.13.3-foss-2023a.eb @@ -0,0 +1,36 @@ +easyblock = "PythonPackage" + +name = 'ASAP3' +version = '3.13.3' + +homepage = 'https://wiki.fysik.dtu.dk/asap/' +description = """ASAP is a calculator for doing large-scale classical molecular +dynamics within the Campos Atomic Simulation Environment (ASE).""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True, 'usempi': True, 'openmp': False} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['78aa4c9ee11315b6e7f8cd9b1fda6ab9a240cc4f4ff418972ea079612e26d369'] + +builddependencies = [ + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('ASE', '3.22.1'), + ('kim-api', '2.3.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'] +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/a/ASAP3/ASAP3-3.13.3-intel-2023a.eb b/easybuild/easyconfigs/a/ASAP3/ASAP3-3.13.3-intel-2023a.eb new file mode 100644 index 00000000000..0fc1bd1708f --- /dev/null +++ b/easybuild/easyconfigs/a/ASAP3/ASAP3-3.13.3-intel-2023a.eb @@ -0,0 +1,42 @@ +easyblock = "PythonPackage" + +name = 'ASAP3' +version = '3.13.3' + +homepage = 'https://wiki.fysik.dtu.dk/asap/' +description = """ASAP is a calculator for doing large-scale classical molecular +dynamics within the Campos Atomic Simulation Environment (ASE).""" + +toolchain = {'name': 'intel', 'version': '2023a'} +toolchainopts = { + 'pic': True, + 'usempi': True, + 'openmp': False, + 'extra_cflags': '-fp-speculation=fast -fp-model fast' +} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['78aa4c9ee11315b6e7f8cd9b1fda6ab9a240cc4f4ff418972ea079612e26d369'] + +builddependencies = [ + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('ASE', '3.22.1'), + ('kim-api', '2.3.0'), +] + +installopts = '--verbose' +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'] +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/a/ASE/ASE-3.22.1-iimkl-2023a.eb b/easybuild/easyconfigs/a/ASE/ASE-3.22.1-iimkl-2023a.eb new file mode 100644 index 00000000000..e5ade107d5c --- /dev/null +++ b/easybuild/easyconfigs/a/ASE/ASE-3.22.1-iimkl-2023a.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonBundle' + +name = 'ASE' +version = '3.22.1' + +homepage = 'https://wiki.fysik.dtu.dk/ase' +description = """ASE is a python package providing an open source Atomic Simulation Environment + in the Python scripting language. + +From version 3.20.1 we also include the ase-ext package, it contains optional reimplementations +in C of functions in ASE. ASE uses it automatically when installed.""" + +toolchain = {'name': 'iimkl', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('Flask', '2.3.3'), + ('matplotlib', '3.7.2'), + ('Tkinter', '%(pyver)s'), # Needed by GUI of ASE + ('spglib-python', '2.1.0'), # optional +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pytest-mock', '3.11.1', { + 'checksums': ['7f6b125602ac6d743e523ae0bfa71e1a697a2f5534064528c6ff84c2f7c2fc7f'], + }), + ('ase', version, { + 'patches': [ + 'ASE-3.22.1-Compatibility-with-pytest-from-Python-3-10.patch', + 'ASE-3.22.1-Compatibility-with-pytest-part-2.patch', + 'ASE-3.22.1-Compatibility-with-Scipy-2022-05.patch', + 'ASE-3.22.1-Compatibility-with-Flask-2-2-2.patch', + ], + 'checksums': [ + {'ase-3.22.1.tar.gz': '004df6b0ea04b1114c790fadfe45d4125eb0e53125c66a93425af853d82ab432'}, + {'ASE-3.22.1-Compatibility-with-pytest-from-Python-3-10.patch': + '8184765ecc9e14081b183fee5c4470da716d77caa67c25164018ac1fdd225eac'}, + {'ASE-3.22.1-Compatibility-with-pytest-part-2.patch': + '3a3473912f5f96ffc625119d87227781ba4ea581de15d4af6a58ba960cdf4601'}, + {'ASE-3.22.1-Compatibility-with-Scipy-2022-05.patch': + 'c1cb07160b063d432f098efd40dd4b3c9f015b7966572c838a908613a482e0c8'}, + {'ASE-3.22.1-Compatibility-with-Flask-2-2-2.patch': + '2a05f98291dc970cb759904988783d1ecc3512ba6a0da852af1d3205667b398d'}, + ], + }), + ('ase-ext', '20.9.0', { + 'checksums': ['a348b0e42cf9fdd11f04b3df002b0bf150002c8df2698ff08d3c8fc7a1223aed'], + }), +] + +sanity_check_paths = { + 'files': ['bin/ase'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +# make sure Tkinter is available, otherwise 'ase gui' will not work +sanity_check_commands = ["python -c 'import tkinter' "] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/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-gfbf-2023b.eb b/easybuild/easyconfigs/a/ASE/ASE-3.23.0-gfbf-2023b.eb new file mode 100644 index 00000000000..07ad1ecc555 --- /dev/null +++ b/easybuild/easyconfigs/a/ASE/ASE-3.23.0-gfbf-2023b.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': '2023b'} + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('SciPy-bundle', '2023.11'), + ('Flask', '3.0.0'), + ('matplotlib', '3.8.2'), + ('Tkinter', '%(pyver)s'), # Needed by GUI of ASE + ('spglib-python', '2.5.0'), # optional +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pytest-mock', '3.14.0', { + 'checksums': ['2719255a1efeceadbc056d6bf3df3d1c5015530fb40cf347c0f9afac88410bd0'], + }), + ('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-gfbf-2024a.eb b/easybuild/easyconfigs/a/ASE/ASE-3.23.0-gfbf-2024a.eb new file mode 100644 index 00000000000..472ebbb24b2 --- /dev/null +++ b/easybuild/easyconfigs/a/ASE/ASE-3.23.0-gfbf-2024a.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': '2024a'} + +dependencies = [ + ('Python', '3.12.3'), + ('Python-bundle-PyPI', '2024.06'), + ('SciPy-bundle', '2024.05'), + ('Flask', '3.0.3'), + ('matplotlib', '3.9.2'), + ('Tkinter', '%(pyver)s'), # Needed by GUI of ASE + ('spglib-python', '2.5.0'), # optional +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pytest-mock', '3.14.0', { + 'checksums': ['2719255a1efeceadbc056d6bf3df3d1c5015530fb40cf347c0f9afac88410bd0'], + }), + ('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/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.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/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/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 index 2a7de357e47..144362e2eb7 100644 --- a/easybuild/easyconfigs/a/Advisor/Advisor-2021.2.0.eb +++ b/easybuild/easyconfigs/a/Advisor/Advisor-2021.2.0.eb @@ -13,7 +13,7 @@ description = """Vectorization Optimization and Thread Prototyping toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/17730/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17730/'] sources = ['l_oneapi_advisor_p_%(version)s.189_offline.sh'] checksums = ['9d9e9aa11819e6422f732de0e29e70a164e576254504857713cfec90b6b78664'] diff --git a/easybuild/easyconfigs/a/Advisor/Advisor-2021.4.0.eb b/easybuild/easyconfigs/a/Advisor/Advisor-2021.4.0.eb index 55354cc6e25..ec07e00e07e 100644 --- a/easybuild/easyconfigs/a/Advisor/Advisor-2021.4.0.eb +++ b/easybuild/easyconfigs/a/Advisor/Advisor-2021.4.0.eb @@ -13,7 +13,7 @@ description = """Vectorization Optimization and Thread Prototyping toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/18220/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18220/'] sources = ['l_oneapi_advisor_p_%(version)s.389_offline.sh'] checksums = ['dd948f7312629d9975e12a57664f736b8e011de948771b4c05ad444438532be8'] diff --git a/easybuild/easyconfigs/a/Advisor/Advisor-2022.1.0.eb b/easybuild/easyconfigs/a/Advisor/Advisor-2022.1.0.eb index 58235ccff90..34a2115a37c 100644 --- a/easybuild/easyconfigs/a/Advisor/Advisor-2022.1.0.eb +++ b/easybuild/easyconfigs/a/Advisor/Advisor-2022.1.0.eb @@ -13,7 +13,7 @@ description = """Vectorization Optimization and Thread Prototyping toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/18730/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18730/'] sources = ['l_oneapi_advisor_p_%(version)s.171_offline.sh'] checksums = ['b627dbfefa779b44e7ab40dfa37614e56caa6e245feaed402d51826e6a7cb73b'] diff --git a/easybuild/easyconfigs/a/Advisor/Advisor-2023.0.0.eb b/easybuild/easyconfigs/a/Advisor/Advisor-2023.0.0.eb index 187fcafa180..e6d811a03a0 100644 --- a/easybuild/easyconfigs/a/Advisor/Advisor-2023.0.0.eb +++ b/easybuild/easyconfigs/a/Advisor/Advisor-2023.0.0.eb @@ -11,7 +11,7 @@ description = """Vectorization Optimization and Thread Prototyping toolchain = SYSTEM source_urls = [ - 'https://registrationcenter-download.intel.com/akdlm/irc_nas/19094/'] + 'https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19094/'] sources = ['l_oneapi_advisor_p_%(version)s.25338_offline.sh'] checksums = ['5d8ef163f70ee3dc42b13642f321d974f49915d55914ba1ca9177ed29b100b9d'] 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/AlphaFold/AlphaFold-2.3.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.2-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..3fe9e6719f6 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.2-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,167 @@ +easyblock = 'PythonBundle' + +name = 'AlphaFold' +version = '2.3.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': '2023a'} + +builddependencies = [ + ('poetry', '1.5.1') +] + +dependencies = [ + ('Python', '3.11.3'), + ('CUDA', '12.1.1', '', SYSTEM), + ('SciPy-bundle', '2023.07'), + ('PyYAML', '6.0'), + ('TensorFlow', '2.13.0'), # doesn't require TF-gpu + ('Biopython', '1.83'), + ('HH-suite', '3.3.0'), + ('HMMER', '3.4'), + ('Kalign', '3.4.0'), + ('jax', '0.4.25', versionsuffix), # also provides absl-py # requirement is ==0.3.25! + ('UCX-CUDA', '1.14.1', versionsuffix), + ('cuDNN', '8.9.2.26', versionsuffix, SYSTEM), + ('NCCL', '2.18.3', versionsuffix), + ('OpenMM', '8.0.0', versionsuffix), + ('dm-tree', '0.1.8'), + ('dm-haiku', '0.0.12', 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 = [ + ('stereo_chemical_props.txt', local_scp_commit, { + 'easyblock': 'Binary', + 'source_urls': [ + 'https://git.scicore.unibas.ch/schwede/openstructure/-/raw/%s/modules/mol/alg/src/' % local_scp_commit, + ], + 'sources': [ + { + 'download_filename': 'stereo_chemical_props.txt', + 'filename': 'stereo_chemical_props-%s.txt' % local_scp_commit, + 'extract_cmd': "cp %s ./stereo_chemical_props.txt", + } + ], + 'checksums': [ + '24510899eeb49167cffedec8fa45363a4d08279c0c637a403b452f7d0ac09451', # stereo_chemical_props-7102c6.txt + ] + }) +] + +use_pip = True + +exts_list = [ + ('PDBFixer', '1.9', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'checksums': ['88b9a77e50655f89d0eb2075093773e82c27a4cef842cb7d735c877b20cd39fb'], + }), + ('tabulate', '0.9.0', { + 'checksums': ['0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c'], + }), + ('websocket-client', '1.5.1', { + 'modulename': 'websocket', + 'checksums': ['3f09e6d8230892547132177f575a4e3e73cfdf06526e20cc02aa1c3b47184d40'], + }), + ('docker', '7.0.0', { + 'checksums': ['323736fb92cd9418fc5e7133bc953e11a9da04f4483f828b527db553f1e7e5a3'], + }), + ('immutabledict', '4.1.0', { + 'checksums': ['93d100ccd2cd09a1fd3f136b9328c6e59529ba341de8bb499437f6819159fe8a'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.1', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc'], + }), + (name, version, { + 'patches': [ + 'AlphaFold-2.0.0_fix-packages.patch', + 'AlphaFold-2.3.2_data-dep-paths-shebang-UniRef30.patch', + 'AlphaFold-2.0.0_n-cpu.patch', + 'AlphaFold-2.0.1_setup_rm_tfcpu.patch', + 'AlphaFold-2.3.2_use_openmm_8.0.0.patch', + 'AlphaFold-2.3.2_BioPythonPDBData.patch', + ], + 'source_urls': ['https://github.com/deepmind/alphafold/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'checksums': [ + {'AlphaFold-2.3.2.tar.gz': '4ea8005ba1b573fa1585e4c29b7d188c5cbfa59b4e4761c9f0c15c9db9584a8e'}, + {'AlphaFold-2.0.0_fix-packages.patch': '826d2d1a5d6ac52c51a60ba210e1947d5631a1e2d76f8815305b5d23f74458db'}, + {'AlphaFold-2.3.2_data-dep-paths-shebang-UniRef30.patch': + '58cd0ce4094afe76909649abe68034c4fbdb500967f5c818f49b530356dc012b'}, + {'AlphaFold-2.0.0_n-cpu.patch': 'dfda4dd5f9aba19fe2b6eb9a0ec583d12dcefdfee8ab8803fc57ad48d582db04'}, + {'AlphaFold-2.0.1_setup_rm_tfcpu.patch': + '1a2e4e843bd9a4d15ee39e6c37cc63ba281311cc7a0a5610f0e43b52ef93faac'}, + {'AlphaFold-2.3.2_use_openmm_8.0.0.patch': + 'bbef940c0c959040aaf3984ec47777a229c164517b54616a2688d58fae636d84'}, + {'AlphaFold-2.3.2_BioPythonPDBData.patch': + 'e4483a525ae5c4dc5a5f633bed8cf5337c329e64b603ab7b684a9d18cd26a22f'}, + ], + }), +] + +local_pylibdir = '%(installdir)s/lib/python%(pyshortver)s/site-packages' +local_link_scp = 'ln -s %%(installdir)s/stereo_chemical_props.txt %s/alphafold/common' % local_pylibdir + +postinstallcmds = [ + 'cp %(builddir)s/AlphaFold/alphafold-%(version)s/run_alphafold*.py %(installdir)s/bin', + 'cp -rpP %(builddir)s/AlphaFold/alphafold-%(version)s/scripts %(installdir)s', + 'cd %(installdir)s/bin && ln -s run_alphafold.py alphafold', + 'chmod a+x %(installdir)s/bin/run_alphafold.py', + local_link_scp, +] + +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'", + "python %(installdir)s/bin/run_alphafold_test.py", +] + +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 = { + # 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', + # jaxlib 0.4.1: https://jax.readthedocs.io/en/latest/changelog.html#jaxlib-0-4-1-dec-13-2022 + # "The behavior of XLA_PYTHON_CLIENT_MEM_FRACTION=.XX has been changed to allocate XX% of the total GPU memory + # instead of the previous behavior of using currently available GPU memory to calculate preallocation. Please refer + # to GPU memory allocation for more details." + # https://jax.readthedocs.io/en/latest/gpu_memory_allocation.html + 'XLA_PYTHON_CLIENT_MEM_FRACTION': '2.5', + # + # Download with $EBROOTALPHAFOLD/scripts/download_all_data.sh /path/to/AlphaFold_DBs/$EBVERSIONALPHAFOLD + 'ALPHAFOLD_DATA_DIR': '/path/to/AlphaFold_DBs/%(versions)s', # please adapt + # Adapt in order to use a different version of UniRef30 by default, + # e.g., v2023_02 from https://wwwuser.gwdg.de/~compbiol/uniclust/2023_02/UniRef30_2023_02_hhsuite.tar.gz: + 'ALPHAFOLD_UNIREF30_VER': '2021_03', + 'OPENMM_RELAX': 'CUDA' # unset or set to 'CPU' in order not to run the energy minimization on GPU; PR#189 +} + +postinstallmsgs = [ + "A newer version of UniRef30 (2023_02) is available at: " + "https://wwwuser.gwdg.de/~compbiol/uniclust/2023_02/UniRef30_2023_02_hhsuite.tar.gz. " + "Untar to $ALPHAFOLD_DATA_DIR/uniref30/ and set the default version accordingly by changing " + "modextravars:ALPHAFOLD_UNIREF30_VER." +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.2_BioPythonPDBData.patch b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.2_BioPythonPDBData.patch new file mode 100644 index 00000000000..df73873cb1c --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.2_BioPythonPDBData.patch @@ -0,0 +1,14 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/10 +# BioPython 1.83 does not provide protein_letters_3to1 in Bio.Data.SCOPdata but in Bio.Data.PDBData (and Bio.Data.IUPACData) +diff -ru -ru alphafold-2.3.2/alphafold/data/mmcif_parsing.py alphafold-2.3.2_BioPythonSCOPData/alphafold/data/mmcif_parsing.py +--- alphafold-2.3.2/alphafold/data/mmcif_parsing.py 2024-02-19 09:55:16.359778490 +0100 ++++ alphafold-2.3.2_BioPythonSCOPData/alphafold/data/mmcif_parsing.py 2023-03-27 13:50:49.000000000 +0200 +@@ -21,7 +21,7 @@ + + from absl import logging + from Bio import PDB +-from Bio.Data import SCOPData ++from Bio.Data import PDBData as SCOPData + + # Type aliases: + ChainId = str diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.2_data-dep-paths-shebang-UniRef30.patch b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.2_data-dep-paths-shebang-UniRef30.patch new file mode 100644 index 00000000000..c7bbd59ac0c --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.2_data-dep-paths-shebang-UniRef30.patch @@ -0,0 +1,164 @@ +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/2.3.2: Thomas Hoffmann (EMBL); +uniref30 version env. variable (THEMBL) + +diff -ru alphafold-2.3.2/run_alphafold.py alphafold-2.3.2_data-dep-paths-shebang-UniRef30/run_alphafold.py +--- alphafold-2.3.2/run_alphafold.py 2023-03-27 13:50:49.000000000 +0200 ++++ alphafold-2.3.2_data-dep-paths-shebang-UniRef30/run_alphafold.py 2024-10-11 11:34:06.330278962 +0200 +@@ -1,3 +1,4 @@ ++#!/usr/bin/env python + # Copyright 2021 DeepMind Technologies Limited + # + # Licensed under the Apache License, Version 2.0 (the "License"); +@@ -42,6 +43,48 @@ + 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' ++uniref30_ver = os.getenv('ALPHAFOLD_UNIREF30_VER') ++if not uniref30_ver: uniref30_ver = '2021_03' ++ ++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_%s' % uniref30_ver) ++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 +102,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'), +@@ -71,32 +114,32 @@ + flags.DEFINE_string('hmmsearch_binary_path', shutil.which('hmmsearch'), + 'Path to the hmmsearch executable.') + flags.DEFINE_string('hmmbuild_binary_path', shutil.which('hmmbuild'), +- 'Path to the hmmbuild executable.') ++ '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 ' +- 'database for use by JackHMMER.') +-flags.DEFINE_string('mgnify_database_path', None, 'Path to the MGnify ' +- 'database for use by JackHMMER.') +-flags.DEFINE_string('bfd_database_path', None, 'Path to the BFD ' +- 'database for use by HHblits.') +-flags.DEFINE_string('small_bfd_database_path', None, 'Path to the small ' +- 'version of BFD used with the "reduced_dbs" preset.') +-flags.DEFINE_string('uniref30_database_path', None, 'Path to the UniRef30 ' +- 'database for use by HHblits.') +-flags.DEFINE_string('uniprot_database_path', None, 'Path to the Uniprot ' +- 'database for use by JackHMMer.') +-flags.DEFINE_string('pdb70_database_path', None, 'Path to the PDB70 ' +- 'database for use by HHsearch.') +-flags.DEFINE_string('pdb_seqres_database_path', None, 'Path to the PDB ' +- 'seqres database for use by hmmsearch.') +-flags.DEFINE_string('template_mmcif_dir', None, 'Path to a directory with ' +- 'template mmCIF structures, each named .cif') ++ 'Path to the Kalign executable.') ++flags.DEFINE_string('uniref90_database_path', uniref90_database_path, 'Path to the Uniref90 ' ++ 'database for use by JackHMMER.') ++flags.DEFINE_string('mgnify_database_path', mgnify_database_path, 'Path to the MGnify ' ++ 'database for use by JackHMMER.') ++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', small_bfd_database_path, 'Path to the small ' ++ 'version of BFD used with the "reduced_dbs" preset.') ++flags.DEFINE_string('uniref30_database_path', uniref30_database_path, 'Path to the UniRef30 ' ++ 'database for use by HHblits.') ++flags.DEFINE_string('uniprot_database_path', uniprot_database_path, 'Path to the Uniprot ' ++ 'database for use by JackHMMer.') ++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', pdb_seqres_database_path, 'Path to the PDB ' ++ 'seqres database for use by hmmsearch.') ++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 ' +- 'mapping from obsolete PDB IDs to the PDB IDs of their ' +- 'replacements.') ++ 'to consider. Important if folding historical test sets.') ++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', + ['full_dbs', 'reduced_dbs'], + 'Choose preset MSA database configuration - ' +@@ -137,7 +180,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 +377,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 +503,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.2_use_openmm_8.0.0.patch b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.2_use_openmm_8.0.0.patch new file mode 100644 index 00000000000..765fdb3c4d6 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.2_use_openmm_8.0.0.patch @@ -0,0 +1,243 @@ +# Add compatibility with OpenMM-8.0.0 +# The patch is based on the recipe from https://github.com/deepmind/alphafold/issues/404 +# Author: maxim-masterov (SURF) (7.7.0) +# update 8.0.0: THEMBL +diff -ru alphafold-2.3.2/alphafold/relax/amber_minimize.py alphafold-2.3.2_use_openmm_7.7.0/alphafold/relax/amber_minimize.py +--- alphafold-2.3.2/alphafold/relax/amber_minimize.py 2023-03-27 13:50:49.000000000 +0200 ++++ alphafold-2.3.2_use_openmm_7.7.0/alphafold/relax/amber_minimize.py 2023-04-06 10:38:33.512754033 +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 -ru alphafold-2.3.2/alphafold/relax/cleanup.py alphafold-2.3.2_use_openmm_7.7.0/alphafold/relax/cleanup.py +--- alphafold-2.3.2/alphafold/relax/cleanup.py 2023-03-27 13:50:49.000000000 +0200 ++++ alphafold-2.3.2_use_openmm_7.7.0/alphafold/relax/cleanup.py 2023-04-06 10:39:25.224888763 +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 -ru alphafold-2.3.2/alphafold/relax/cleanup_test.py alphafold-2.3.2_use_openmm_7.7.0/alphafold/relax/cleanup_test.py +--- alphafold-2.3.2/alphafold/relax/cleanup_test.py 2023-03-27 13:50:49.000000000 +0200 ++++ alphafold-2.3.2_use_openmm_7.7.0/alphafold/relax/cleanup_test.py 2023-04-06 10:39:58.409616942 +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 -ru alphafold-2.3.2/docker/Dockerfile alphafold-2.3.2_use_openmm_7.7.0/docker/Dockerfile +--- alphafold-2.3.2/docker/Dockerfile 2023-03-27 13:50:49.000000000 +0200 ++++ alphafold-2.3.2_use_openmm_7.7.0/docker/Dockerfile 2023-04-06 10:41:10.315194781 +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 -ru alphafold-2.3.2/notebooks/AlphaFold.ipynb alphafold-2.3.2_use_openmm_7.7.0/notebooks/AlphaFold.ipynb +--- alphafold-2.3.2/notebooks/AlphaFold.ipynb 2023-03-27 13:50:49.000000000 +0200 ++++ alphafold-2.3.2_use_openmm_7.7.0/notebooks/AlphaFold.ipynb 2023-04-06 10:50:41.351746867 +0200 +@@ -103,16 +103,17 @@ + " %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.9 \\\n", +- " openmm=7.5.1 \\\n", ++ " openmm=8.0.0 \\\n", + " pdbfixer\n", + " pbar.update(80)\n", + "\n", +@@ -164,8 +165,8 @@ + " pbar.update(10)\n", + "\n", + " # Apply OpenMM patch.\n", +- " %shell pushd /opt/conda/lib/python3.9/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", +@@ -189,9 +190,10 @@ + "\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", +@@ -211,7 +213,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)." + ] +@@ -306,21 +308,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", +@@ -421,7 +423,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", +@@ -455,7 +457,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", +@@ -516,7 +518,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", +@@ -680,7 +682,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", +@@ -693,14 +695,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", +@@ -816,13 +818,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", +@@ -831,8 +833,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", +@@ -841,7 +843,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/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/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/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/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/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-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-11.4.3-foss-2022a.eb b/easybuild/easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022a.eb index 261ecca60bb..c8c874dba00 100644 --- a/easybuild/easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022a.eb +++ b/easybuild/easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022a.eb @@ -12,10 +12,13 @@ source_urls = ['https://sourceforge.net/projects/arma/files'] sources = [SOURCELOWER_TAR_XZ] checksums = ['87603263664988af41da2ca4f36205e36ea47a9281fa6cfd463115f3797a1da2'] -builddependencies = [('CMake', '3.24.3')] +builddependencies = [ + ('CMake', '3.24.3'), +] dependencies = [ ('Boost', '1.79.0'), + ('HDF5', '1.12.2'), ('arpack-ng', '3.8.0'), ] 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 index f5eb6f67b05..1be96397544 100644 --- a/easybuild/easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022b.eb +++ b/easybuild/easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022b.eb @@ -12,10 +12,13 @@ source_urls = ['https://sourceforge.net/projects/arma/files'] sources = [SOURCELOWER_TAR_XZ] checksums = ['87603263664988af41da2ca4f36205e36ea47a9281fa6cfd463115f3797a1da2'] -builddependencies = [('CMake', '3.24.3')] +builddependencies = [ + ('CMake', '3.24.3'), +] dependencies = [ ('Boost', '1.81.0'), + ('HDF5', '1.14.0'), ('arpack-ng', '3.8.0'), ] 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 index 2ca4adac034..9b6d74fe58b 100644 --- a/easybuild/easyconfigs/a/Armadillo/Armadillo-12.6.2-foss-2023a.eb +++ b/easybuild/easyconfigs/a/Armadillo/Armadillo-12.6.2-foss-2023a.eb @@ -18,6 +18,7 @@ builddependencies = [ dependencies = [ ('Boost', '1.82.0'), + ('HDF5', '1.14.0'), ('arpack-ng', '3.9.0'), ] 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/Arrow/Arrow-14.0.1-gfbf-2023a.eb b/easybuild/easyconfigs/a/Arrow/Arrow-14.0.1-gfbf-2023a.eb index 40327535b8b..0c588b9f16b 100644 --- a/easybuild/easyconfigs/a/Arrow/Arrow-14.0.1-gfbf-2023a.eb +++ b/easybuild/easyconfigs/a/Arrow/Arrow-14.0.1-gfbf-2023a.eb @@ -39,23 +39,35 @@ dependencies = [ 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 = "-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_ZSTD=ON -DARROW_WITH_LZ4=ON " -configopts += "-DZSTD_ROOT=$EBROOTZSTD " +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 " -# also install Python bindings -local_install_pyarrow_cmds = "export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && " -local_install_pyarrow_cmds += "export Arrow_DIR=%(installdir)s && export ArrowDataset_DIR=%(installdir)s && " -local_install_pyarrow_cmds += "export ArrowAcero_DIR=%(installdir)s && export Parquet_DIR=%(installdir)s && " -local_install_pyarrow_cmds += "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " -local_install_pyarrow_cmds += "cd %(builddir)s/*arrow-%(version)s/python && export XDG_CACHE_HOME=$TMPDIR && " -local_install_pyarrow_cmds += "sed -i 's/numpy==[0-9.]*/numpy/g' pyproject.toml && " -local_install_pyarrow_cmds += "Python3_ROOT_DIR=$EBROOTPYTHON " -local_install_pyarrow_cmds += "PYARROW_CMAKE_OPTIONS='-DZSTD_LIB=$EBROOTZSTD/lib/libzstd.%s ' " % SHLIB_EXT -local_install_pyarrow_cmds += "PYARROW_WITH_DATASET=1 PYARROW_WITH_PARQUET=1 " -local_install_pyarrow_cmds += "python -m pip install --prefix %(installdir)s --no-build-isolation ." -postinstallcmds = [local_install_pyarrow_cmds] +# install Python bindings +_pyarrow_preinstall_opts = "export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && " +_pyarrow_preinstall_opts += "export Arrow_DIR=%(installdir)s && export ArrowDataset_DIR=%(installdir)s && " +_pyarrow_preinstall_opts += "export ArrowAcero_DIR=%(installdir)s && export Parquet_DIR=%(installdir)s && " +_pyarrow_preinstall_opts += "export XDG_CACHE_HOME=$TMPDIR && " +_pyarrow_preinstall_opts += "sed -i 's/numpy==[0-9.]*/numpy/g' pyproject.toml && " +_pyarrow_preinstall_opts += "Python3_ROOT_DIR=$EBROOTPYTHON " +_pyarrow_preinstall_opts += "PYARROW_CMAKE_OPTIONS='-DZSTD_LIB=$EBROOTZSTD/lib/libzstd.%s ' " % SHLIB_EXT +_pyarrow_preinstall_opts += "PYARROW_WITH_DATASET=1 PYARROW_WITH_PARQUET=1 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'} @@ -69,6 +81,7 @@ 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-17.0.0-gfbf-2024a.eb b/easybuild/easyconfigs/a/Arrow/Arrow-17.0.0-gfbf-2024a.eb new file mode 100644 index 00000000000..76dcfd2cc40 --- /dev/null +++ b/easybuild/easyconfigs/a/Arrow/Arrow-17.0.0-gfbf-2024a.eb @@ -0,0 +1,96 @@ +easyblock = 'CMakeMake' + +name = 'Arrow' +version = '17.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': '2024a'} + +source_urls = ['https://archive.apache.org/dist/%(namelower)s/%(namelower)s-%(version)s'] +sources = ['apache-arrow-%(version)s.tar.gz'] +checksums = ['9d280d8042e7cf526f8c28d170d93bfab65e50f94569f6a790982a878d8d898d'] + +builddependencies = [ + ('CMake', '3.29.3'), + ('Cython', '3.0.10'), + ('Autotools', '20231222'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('pkgconf', '2.2.0'), +] + +# Arrow strongly prefers included jemalloc, so not including it as a dependency +dependencies = [ + ('Python', '3.12.3'), + ('Python-bundle-PyPI', '2024.06'), + ('SciPy-bundle', '2024.05'), # for numpy + ('Boost', '1.85.0'), + ('lz4', '1.9.4'), + ('zlib', '1.3.1'), + ('bzip2', '1.0.8'), + ('zstd', '1.5.6'), + ('snappy', '1.1.10'), + ('RapidJSON', '1.1.0-20240815'), + ('RE2', '2024-07-02'), + ('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, { + 'preinstallopts': ( + "export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH" + " && export Arrow_DIR=%(installdir)s && export ArrowDataset_DIR=%(installdir)s" + " && export ArrowAcero_DIR=%(installdir)s && export Parquet_DIR=%(installdir)s" + " && export XDG_CACHE_HOME=$TMPDIR && sed -i 's/numpy==[0-9.]*/numpy/g' pyproject.toml" + " && Python3_ROOT_DIR=$EBROOTPYTHON PYARROW_CMAKE_OPTIONS='-DZSTD_LIB=$EBROOTZSTD/lib/libzstd.so" + " ' PYARROW_WITH_DATASET=1 PYARROW_WITH_PARQUET=1 PYARROW_WITH_ORC=1 " + ), + 'sources': ['apache-arrow-%(version)s.tar.gz'], + 'start_dir': '%(builddir)s/apache-arrow-%(version)s/python', + 'checksums': ['9d280d8042e7cf526f8c28d170d93bfab65e50f94569f6a790982a878d8d898d'], + }), +] + +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-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/Austin/Austin-3.2.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/a/Austin/Austin-3.2.0-GCCcore-11.2.0.eb index d4f3285a8fd..b2d0fe9046a 100644 --- 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 @@ -53,7 +53,7 @@ sanity_check_paths = { sanity_check_commands = [ "austin --help", "austin-tui --help", - "pip check", + "PIP_DISABLE_PIP_VERSION_CHECK=true python -s -m pip check", ] modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} 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/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.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.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/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/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/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/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.10.10-GCCcore-13.3.0.eb b/easybuild/easyconfigs/a/aiohttp/aiohttp-3.10.10-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..c6b30e2d82e --- /dev/null +++ b/easybuild/easyconfigs/a/aiohttp/aiohttp-3.10.10-GCCcore-13.3.0.eb @@ -0,0 +1,72 @@ +easyblock = 'PythonBundle' + +name = 'aiohttp' +version = '3.10.10' + +homepage = 'https://github.com/aio-libs/aiohttp' +description = "Asynchronous HTTP client/server framework for asyncio and Python." + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +builddependencies = [ + ('binutils', '2.42'), + ('poetry', '1.8.3'), + ('Cython', '3.0.10'), +] + +dependencies = [ + ('Python', '3.12.3'), + ('Python-bundle-PyPI', '2024.06'), +] + +use_pip = True + +# aioredis and aiosignal do not depend on aiohttp, but are commonly used together and share dependencies +exts_list = [ + ('botocore', '1.35.36', { + 'checksums': ['354ec1b766f0029b5d6ff0c45d1a0f9e5007b7d2f3ec89bcdd755b208c5bc797'], + }), + ('jmespath', '1.0.1', { + 'checksums': ['90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe'], + }), + ('multidict', '6.1.0', { + 'checksums': ['22ae2ebf9b0c69d206c003e2f6a914ea33f0a932d4aa16f236afc049d9958f4a'], + }), + ('expandvars', '0.12.0', { + 'checksums': ['7d1adfa55728cf4b5d812ece3d087703faea953e0c0a1a78415de9df5024d844'], + }), + ('propcache', '0.2.0', { + 'checksums': ['df81779732feb9d01e5d513fad0122efb3d53bbc75f61b2a4f29a020bc985e70'], + }), + ('yarl', '1.15.4', { + 'checksums': ['a0c5e271058d148d730219ca4f33c5d841c6bd46e05b0da60fea7b516906ccd3'], + }), + ('frozenlist', '1.4.1', { + 'checksums': ['c037a86e8513059a2613aaba4d817bb90b9d9b6b69aace3ce9c877e8c8ed402b'], + }), + ('async-timeout', '4.0.3', { + 'checksums': ['4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f'], + }), + ('aiosignal', '1.3.1', { + 'checksums': ['54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc'], + }), + ('aiohappyeyeballs', '2.4.3', { + 'checksums': ['75cf88a15106a5002a8eb1dab212525c00d1f4c0fa96e551c9fbe6f09a621586'], + }), + (name, version, { + 'checksums': ['0631dd7c9f0822cc61c88586ca76d5b5ada26538097d0f1df510b082bad3411a'], + }), + ('aioitertools', '0.12.0', { + 'checksums': ['c2a9055b4fbb7705f561b9d86053e8af5d10cc845d22c32008c43490b2d8dd6b'], + }), + ('wrapt', '1.16.0', { + 'checksums': ['5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d'], + }), + ('aiobotocore', '2.15.2', { + 'checksums': ['9ac1cfcaccccc80602968174aa032bf978abe36bd4e55e6781d6500909af1375'], + }), +] + +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 index 3c96a3e7458..d5eec66b4ab 100644 --- 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 @@ -30,8 +30,8 @@ exts_list = [ ('frozenlist', '1.4.0', { 'checksums': ['09163bdf0b2907454042edb19f887c6d33806adc71fbd54afc14908bfdc22251'], }), - ('async-timeout', '4.0.2', { - 'checksums': ['2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15'], + ('async-timeout', '4.0.3', { + 'checksums': ['4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f'], }), (name, version, { 'checksums': ['b9552ec52cc147dbf1944ac7ac98af7602e51ea2dcd076ed194ca3c0d1c7d0bc'], 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.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/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.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/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..8c520bf7d04 --- /dev/null +++ b/easybuild/easyconfigs/a/anndata/anndata-0.10.5.post1-foss-2023a.eb @@ -0,0 +1,47 @@ +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'} + +builddependencies = [ + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('h5py', '3.9.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.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/ant/ant-1.10.14-Java-21.eb b/easybuild/easyconfigs/a/ant/ant-1.10.14-Java-21.eb new file mode 100644 index 00000000000..815383ca5c0 --- /dev/null +++ b/easybuild/easyconfigs/a/ant/ant-1.10.14-Java-21.eb @@ -0,0 +1,27 @@ +easyblock = 'PackedBinary' + +name = 'ant' +version = '1.10.14' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://ant.apache.org/' +description = """Apache Ant is a Java library and command-line tool whose mission is to drive processes described in + build files as targets and extension points dependent upon each other. The main known usage of Ant is the build of + Java applications.""" + +toolchain = SYSTEM + +source_urls = ['https://archive.apache.org/dist/ant/binaries/'] +sources = ['apache-%(name)s-%(version)s-bin.tar.gz'] +checksums = ['e2852fddaaddc1ab76a099ca0d7b2ee47a907b8a91a64f70f6aa9e6a3d0dd504'] + +dependencies = [('Java', '21')] + +sanity_check_paths = { + 'files': ['bin/ant', 'lib/ant.jar'], + 'dirs': [], +} + +modextravars = {'ANT_HOME': '%(installdir)s'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/anvio/anvio-8-foss-2022b.eb b/easybuild/easyconfigs/a/anvio/anvio-8-foss-2022b.eb new file mode 100644 index 00000000000..c13c2a6a213 --- /dev/null +++ b/easybuild/easyconfigs/a/anvio/anvio-8-foss-2022b.eb @@ -0,0 +1,111 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'anvio' +version = '8' + +homepage = 'https://merenlab.org/software/anvio/' +description = """An analysis and visualization platform for 'omics data.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +github_account = 'merenlab' + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('Pysam', '0.21.0'), + ('matplotlib', '3.7.0'), + ('scikit-learn', '1.2.1'), + ('prodigal', '2.6.3'), + ('Biopython', '1.81'), + ('h5py', '3.8.0'), + ('HMMER', '3.3.2'), + ('networkx', '3.0'), + ('numba', '0.58.1'), + ('statsmodels', '0.14.0'), + ('snakemake', '7.32.3'), + ('ETE', '3.1.3'), + ('dill', '0.3.7'), + ('Seaborn', '0.12.2'), + ('Levenshtein', '0.24.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('bottle', '0.12.25', { + 'checksums': ['e1a9c94970ae6d710b3fb4526294dfeb86f2cb4a81eff3a4b98dc40fb0e5e021'], + }), + ('colored', '2.2.4', { + 'checksums': ['595e1dd7f3b472ea5f12af21d2fec8a2ea2cf8f9d93e67180197330b26df9b61'], + }), + ('asgiref', '3.7.2', { + 'checksums': ['9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed'], + }), + ('sqlparse', '0.4.4', { + 'checksums': ['d446183e84b8349fa3061f0fe7f06ca94ba65b426946ffebe6e3e8295332420c'], + }), + ('Django', '5.0.1', { + 'checksums': ['8c8659665bc6e3a44fefe1ab0a291e5a3fb3979f9a8230be29de975e57e8f854'], + }), + ('illumina-utils', '2.13', { + 'checksums': ['e688ca221ea6178614073b72205fce7b4a54695237c7aa96713492ecd99bd56e'], + # python-Levenshtein was renamed to Levenshtein + 'preinstallopts': "sed -i 's/python-Levenshtein/Levenshtein/g' requirements.txt && ", + 'modulename': 'IlluminaUtils', + }), + ('mistune', '3.0.2', { + 'checksums': ['fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8'], + }), + ('multiprocess', '0.70.15', { + 'checksums': ['f20eed3036c0ef477b07a4177cf7c1ba520d9a2677870a4f47fe026f0cd6787e'], + }), + ('Paste', '3.7.1', { + 'checksums': ['6d07a8e1c7fa72b8cf403762a002f80d12c0384056956dd0a87cb9a3be64749a'], + }), + ('plotext', '5.2.8', { + 'checksums': ['319a287baabeb8576a711995f973a2eba631c887aa6b0f33ab016f12c50ffebe'], + }), + ('pyani', '0.2.12', { + 'checksums': ['4f56b217656f53416b333b69495a4ba8cde782e64e475e1481cb2213ce6b9388'], + }), + ('rich_argparse', '1.4.0', { + 'checksums': ['c275f34ea3afe36aec6342c2a2298893104b5650528941fb53c21067276dba19'], + }), + (name, version, { + 'source_urls': ['https://github.com/merenlab/anvio/releases/download/v%(version)s/'], + 'patches': ['anvio-8_fix-rU.patch'], + 'checksums': [ + {'anvio-8.tar.gz': '13da84d48d7266a8986815efb024772fa26ad1c8a951d42897c3a51e3d924feb'}, + {'anvio-8_fix-rU.patch': '5eafa5962f59b563cfc3913fb688963b5fe052714c7d7c66b013af065e7a2fea'}, + ], + # remove too strict requirements for Python packages anvio depends on + 'preinstallopts': "sed -i -e 's/==.*//g' -e 's/<=.*//g' requirements.txt && ", + }), +] + +local_binaries_list = [ + 'anvi-pan-genome', + 'anvi-script-reformat-fasta', + 'anvi-profile', + 'anvi-help', +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries_list], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "anvi-self-test --suite mini --no-interactive", + "anvi-pan-genome --help", + "anvi-script-reformat-fasta --help", + "anvi-profile --version", + "anvi-help --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/anvio/anvio-8_fix-rU.patch b/easybuild/easyconfigs/a/anvio/anvio-8_fix-rU.patch new file mode 100644 index 00000000000..e34f180be1f --- /dev/null +++ b/easybuild/easyconfigs/a/anvio/anvio-8_fix-rU.patch @@ -0,0 +1,484 @@ +fix for: ValueError: invalid mode: 'rU' +see also https://github.com/merenlab/anvio/commit/a974118fc6f1b53c846892fc6dee0a86e6658963 +and https://github.com/merenlab/anvio/commit/ac5908eac71809b31f3bd0ff92bbb573cc17f730 + +From a974118fc6f1b53c846892fc6dee0a86e6658963 Mon Sep 17 00:00:00 2001 +From: "A. Murat Eren" +Date: Wed, 25 Oct 2023 16:09:42 +0200 +Subject: [PATCH] rU -> r. + +we will see tonight if things explode and we will blame meren for that. +--- + anvio/cogs.py | 6 +++--- + anvio/dbops.py | 4 ++-- + anvio/drivers/emapper.py | 2 +- + anvio/fastalib.py | 2 +- + anvio/filesnpaths.py | 8 ++++---- + anvio/interactive.py | 2 +- + anvio/kegg.py | 14 +++++++------- + anvio/mcgclassifier.py | 4 ++-- + anvio/merger.py | 2 +- + anvio/panops.py | 2 +- + anvio/parsers/kaiju.py | 2 +- + anvio/profiler.py | 2 +- + anvio/programs.py | 2 +- + anvio/samplesops.py | 4 ++-- + anvio/structureops.py | 2 +- + anvio/variabilityops.py | 2 +- + anvio/workflows/__init__.py | 2 +- + bin/anvi-export-structures | 2 +- + bin/anvi-get-sequences-for-hmm-hits | 2 +- + 19 files changed, 33 insertions(+), 33 deletions(-) + +diff --git a/anvio/cogs.py b/anvio/cogs.py +index c14041a710..1700af254d 100644 +--- a/anvio/cogs.py ++++ b/anvio/cogs.py +@@ -702,7 +702,7 @@ def raise_error(line_num, line_content, fields, e): + p_id_without_cog_id = set([]) + + line_counter = 0 +- for line in open(input_file_path, 'rU').readlines(): ++ for line in open(input_file_path, 'r').readlines(): + line_counter += 1 + + if line_counter % 500 == 0: +@@ -823,7 +823,7 @@ def format_categories(self, input_file_path, output_file_path): + progress.update('...') + + output = open(output_file_path, 'w') +- for line in open(input_file_path, 'rU').readlines(): ++ for line in open(input_file_path, 'r').readlines(): + if line.startswith('#'): + continue + +@@ -951,7 +951,7 @@ def check_raw_data_hash_and_existence(self, input_file_path, output_file_path): + + # Get a dictionnary of checksums, the file is formatted as "checksum filename" per line + checksums = {} +- for line in open(input_file_path, 'rU').readlines(): ++ for line in open(input_file_path, 'r').readlines(): + stripped = line.strip('\n').split(' ') + file_name = stripped[-1].strip('*') + checksums[file_name] = stripped[0] +diff --git a/anvio/dbops.py b/anvio/dbops.py +index 34e3198a8a..ce700b784d 100644 +--- a/anvio/dbops.py ++++ b/anvio/dbops.py +@@ -4335,7 +4335,7 @@ def create(self, args): + + if description_file_path: + filesnpaths.is_file_plain_text(description_file_path) +- description = open(os.path.abspath(description_file_path), 'rU').read() ++ description = open(os.path.abspath(description_file_path), 'r').read() + else: + description = '' + +@@ -4957,7 +4957,7 @@ def get_description_in_db(anvio_db_path, run=run): + + def update_description_in_db_from_file(anvio_db_path, description_file_path, run=run): + filesnpaths.is_file_plain_text(description_file_path) +- description = open(os.path.abspath(description_file_path), 'rU').read() ++ description = open(os.path.abspath(description_file_path), 'r').read() + + update_description_in_db(anvio_db_path, description, run=run) + +diff --git a/anvio/drivers/emapper.py b/anvio/drivers/emapper.py +index 7ea2d8fa53..dd94e9baa8 100644 +--- a/anvio/drivers/emapper.py ++++ b/anvio/drivers/emapper.py +@@ -357,7 +357,7 @@ def populate_annotations_dict(self, annotations_file_path): + + num_entries_processed = 0 + self.progress.new('Parsing the annotations file') +- for line in open(annotations_file_path, 'rU').readlines(): ++ for line in open(annotations_file_path, 'r').readlines(): + if line.startswith('#') or line == '\n': + continue + +diff --git a/anvio/fastalib.py b/anvio/fastalib.py +index 2da45c16f0..0980098ae7 100644 +--- a/anvio/fastalib.py ++++ b/anvio/fastalib.py +@@ -97,7 +97,7 @@ def __init__(self, fasta_file_path, lazy_init=True, unique=False, allow_mixed_ca + if self.compressed: + self.file_pointer = gzip.open(self.fasta_file_path, mode="rt") + else: +- self.file_pointer = io.open(self.fasta_file_path, 'rU', newline='') ++ self.file_pointer = io.open(self.fasta_file_path, 'r', newline='') + + if not self.file_pointer.read(1) == '>': + self.file_pointer.close() +diff --git a/anvio/filesnpaths.py b/anvio/filesnpaths.py +index 93327207de..a9d7939cbc 100644 +--- a/anvio/filesnpaths.py ++++ b/anvio/filesnpaths.py +@@ -73,7 +73,7 @@ def is_proper_external_gene_calls_file(file_path): + headers_proper = ['gene_callers_id', 'contig', 'start', 'stop', 'direction', 'partial', 'call_type', 'source', 'version', 'aa_sequence'] + call_types_allowed = set(list(constants.gene_call_types.values())) + +- with open(file_path, 'rU') as input_file: ++ with open(file_path, 'r') as input_file: + headers = input_file.readline().strip().split('\t') + + if len(headers) == 10: +@@ -196,7 +196,7 @@ def is_file_empty(file_path): + + def is_file_tab_delimited(file_path, separator='\t', expected_number_of_fields=None, dont_raise=False): + is_file_exists(file_path) +- f = open(file_path, 'rU') ++ f = open(file_path, 'r') + + try: + while True: +@@ -246,7 +246,7 @@ def is_file_json_formatted(file_path): + is_file_exists(file_path) + + try: +- json.load(open(file_path, 'rU')) ++ json.load(open(file_path, 'r')) + except ValueError as e: + raise FilesNPathsError("File '%s' does not seem to be a properly formatted JSON " + "file ('%s', cries the library)." % (file_path, e)) +@@ -272,7 +272,7 @@ def is_file_plain_text(file_path, dont_raise=False): + is_file_exists(file_path) + + try: +- open(os.path.abspath(file_path), 'rU').read(512) ++ open(os.path.abspath(file_path), 'r').read(512) + except IsADirectoryError: + if dont_raise: + return False +diff --git a/anvio/interactive.py b/anvio/interactive.py +index f397c0e56d..1564353064 100644 +--- a/anvio/interactive.py ++++ b/anvio/interactive.py +@@ -546,7 +546,7 @@ def process_external_item_order(self): + + filesnpaths.is_file_exists(self.item_order_path) + +- item_order = [l.strip() for l in open(self.item_order_path, 'rU').readlines()] ++ item_order = [l.strip() for l in open(self.item_order_path, 'r').readlines()] + self.run.info('Items order', 'An items order with %d items is found at %s.' % (len(item_order), self.item_order_path), mc='cyan') + + self.progress.new('External items order') +diff --git a/anvio/kegg.py b/anvio/kegg.py +index 13fbaf57b1..4f25761453 100644 +--- a/anvio/kegg.py ++++ b/anvio/kegg.py +@@ -924,7 +924,7 @@ def process_pathway_file(self): + filesnpaths.is_file_exists(self.kegg_pathway_file) + filesnpaths.is_file_plain_text(self.kegg_pathway_file) + +- f = open(self.kegg_pathway_file, 'rU') ++ f = open(self.kegg_pathway_file, 'r') + self.progress.new("Parsing KEGG Pathway file") + + current_category = None +@@ -998,7 +998,7 @@ def get_accessions_from_htext_file(self, htext_file): + filesnpaths.is_file_exists(htext_file) + filesnpaths.is_file_plain_text(htext_file) + +- f = open(htext_file, 'rU') ++ f = open(htext_file, 'r') + self.progress.new(f"Parsing KEGG htext file: {htext_file}") + + target_level = None +@@ -1077,7 +1077,7 @@ def download_generic_flat_file(self, accession, download_dir="./"): + utils.download_file(self.kegg_rest_api_get + '/' + accession, + file_path, progress=self.progress, run=self.run) + # verify entire file has been downloaded +- f = open(file_path, 'rU') ++ f = open(file_path, 'r') + f.seek(0, os.SEEK_END) + f.seek(f.tell() - 4, os.SEEK_SET) + last_line = f.readline().strip('\n') +@@ -1146,7 +1146,7 @@ def download_pathways(self): + utils.download_file(self.kegg_rest_api_get + '/' + konum, + file_path, progress=self.progress, run=self.run) + # verify entire file has been downloaded +- f = open(file_path, 'rU') ++ f = open(file_path, 'r') + f.seek(0, os.SEEK_END) + f.seek(f.tell() - 4, os.SEEK_SET) + last_line = f.readline().strip('\n') +@@ -1528,7 +1528,7 @@ def process_module_file(self): + filesnpaths.is_file_exists(self.kegg_module_file) + filesnpaths.is_file_plain_text(self.kegg_module_file) + +- f = open(self.kegg_module_file, 'rU') ++ f = open(self.kegg_module_file, 'r') + self.progress.new("Parsing KEGG Module file") + + current_module_type = None +@@ -1641,7 +1641,7 @@ def confirm_downloaded_modules(self): + f"on your computer. Very sorry to tell you this, but you need to re-download the KEGG " + f"data. We recommend the --reset flag.") + # verify entire file has been downloaded +- f = open(file_path, 'rU') ++ f = open(file_path, 'r') + f.seek(0, os.SEEK_END) + f.seek(f.tell() - 4, os.SEEK_SET) + last_line = f.readline().strip('\n') +@@ -6677,7 +6677,7 @@ def create(self): + for mnum in self.module_dict.keys(): + self.progress.update("Parsing Module %s" % mnum) + mod_file_path = os.path.join(self.module_data_directory, mnum) +- f = open(mod_file_path, 'rU') ++ f = open(mod_file_path, 'r') + + prev_data_name_field = None + module_has_annotation_source = False +diff --git a/anvio/mcgclassifier.py b/anvio/mcgclassifier.py +index 2d9f0b0bb3..bd38770778 100644 +--- a/anvio/mcgclassifier.py ++++ b/anvio/mcgclassifier.py +@@ -92,7 +92,7 @@ def __init__(self, args, run=run, progress=progress): + if self.exclude_samples: + # check that there is a file like this + filesnpaths.is_file_exists(self.exclude_samples) +- self.samples_to_exclude = set([l.split('\t')[0].strip() for l in open(self.exclude_samples, 'rU').readlines()]) ++ self.samples_to_exclude = set([l.split('\t')[0].strip() for l in open(self.exclude_samples, 'r').readlines()]) + + if not self.samples_to_exclude: + raise ConfigError("You asked to exclude samples, but provided an empty list.") +@@ -102,7 +102,7 @@ def __init__(self, args, run=run, progress=progress): + if self.include_samples: + # check that there is a file like this + filesnpaths.is_file_exists(self.include_samples) +- self.samples_to_include = set([l.split('\t')[0].strip() for l in open(self.include_samples, 'rU').readlines()]) ++ self.samples_to_include = set([l.split('\t')[0].strip() for l in open(self.include_samples, 'r').readlines()]) + + if not self.samples_to_include: + raise ConfigError("You provided an empty list of samples to include.") +diff --git a/anvio/merger.py b/anvio/merger.py +index 0e2aa44480..440f07a592 100644 +--- a/anvio/merger.py ++++ b/anvio/merger.py +@@ -334,7 +334,7 @@ def sanity_check(self): + # do we have a description file? + if self.description_file_path: + filesnpaths.is_file_plain_text(self.description_file_path) +- self.description = open(os.path.abspath(self.description_file_path), 'rU').read() ++ self.description = open(os.path.abspath(self.description_file_path), 'r').read() + + + def set_sample_id(self): +diff --git a/anvio/panops.py b/anvio/panops.py +index 5cf700d29a..824c2d5ac8 100644 +--- a/anvio/panops.py ++++ b/anvio/panops.py +@@ -234,7 +234,7 @@ def check_params(self): + + if self.description_file_path: + filesnpaths.is_file_plain_text(self.description_file_path) +- self.description = open(os.path.abspath(self.description_file_path), 'rU').read() ++ self.description = open(os.path.abspath(self.description_file_path), 'r').read() + + self.pan_db_path = self.get_output_file_path(self.project_name + '-PAN.db') + +diff --git a/anvio/parsers/kaiju.py b/anvio/parsers/kaiju.py +index 4d8f60e60b..057320a42a 100644 +--- a/anvio/parsers/kaiju.py ++++ b/anvio/parsers/kaiju.py +@@ -62,7 +62,7 @@ def fix_input_file(self, input_file_path): + + corrected_temp_file_path = filesnpaths.get_temp_file_path() + corrected_temp_file = open(corrected_temp_file_path, 'w') +- input_file = open(input_file_path, 'rU') ++ input_file = open(input_file_path, 'r') + + num_correct_lines = 0 + for line in input_file.readlines(): +diff --git a/anvio/profiler.py b/anvio/profiler.py +index 2a25ec3592..d2facf2a25 100644 +--- a/anvio/profiler.py ++++ b/anvio/profiler.py +@@ -450,7 +450,7 @@ def init_dirs_and_dbs(self): + + if self.description_file_path: + filesnpaths.is_file_plain_text(self.description_file_path) +- self.description = open(os.path.abspath(self.description_file_path), 'rU').read() ++ self.description = open(os.path.abspath(self.description_file_path), 'r').read() + + if self.output_directory: + self.output_directory = filesnpaths.check_output_directory(self.output_directory, ok_if_exists=self.overwrite_output_destinations) +diff --git a/anvio/programs.py b/anvio/programs.py +index b404d470a9..230f4c248d 100644 +--- a/anvio/programs.py ++++ b/anvio/programs.py +@@ -55,7 +55,7 @@ def get_until_blank(output): + + + def get_meta_information_from_file(file_path, meta_tag): +- all_lines = [l.strip() for l in open(file_path, 'rU').readlines()] ++ all_lines = [l.strip() for l in open(file_path, 'r').readlines()] + + meta_tag_content = '' + +diff --git a/anvio/samplesops.py b/anvio/samplesops.py +index f603df9779..814b0d96f4 100644 +--- a/anvio/samplesops.py ++++ b/anvio/samplesops.py +@@ -50,7 +50,7 @@ def process_samples_information_file(self, samples_information_path): + self.sample_names_in_samples_information_file = filesnpaths.is_proper_samples_information_file(samples_information_path) + + self.samples_information_dict, self.aliases_to_attributes_dict = self.convert_samples_information_dict(utils.get_TAB_delimited_file_as_dictionary(samples_information_path)) +- self.samples_information_default_layer_order = open(samples_information_path, 'rU').readline().strip().split('\t')[1:] ++ self.samples_information_default_layer_order = open(samples_information_path, 'r').readline().strip().split('\t')[1:] + + self.run.info('Samples information', 'Loaded for %d samples' % len(self.samples_information_dict), quiet=self.quiet) + +@@ -122,7 +122,7 @@ def process_single_order_data(self, single_order_path, single_order_name): + + filesnpaths.is_file_plain_text(single_order_path) + +- single_order_file_content = [l.strip('\n') for l in open(single_order_path, 'rU').readlines()] ++ single_order_file_content = [l.strip('\n') for l in open(single_order_path, 'r').readlines()] + + if len(single_order_file_content) != 1: + raise SamplesError("The single order file should contain a single line of information. It can't have nothing,\ +diff --git a/anvio/structureops.py b/anvio/structureops.py +index aa47125fe2..d9a41fcaca 100755 +--- a/anvio/structureops.py ++++ b/anvio/structureops.py +@@ -1968,7 +1968,7 @@ def get_path(self, gene_callers_id): + + def is_header_ok(self): + headers_proper = ['gene_callers_id', 'path'] +- with open(self.path, 'rU') as input_file: ++ with open(self.path, 'r') as input_file: + headers = input_file.readline().strip().split('\t') + missing_headers = [h for h in headers_proper if h not in headers] + +diff --git a/anvio/variabilityops.py b/anvio/variabilityops.py +index c116469a15..deb19b14e3 100644 +--- a/anvio/variabilityops.py ++++ b/anvio/variabilityops.py +@@ -764,7 +764,7 @@ def sanity_check(self): + filesnpaths.is_file_tab_delimited(self.genes_of_interest_path, expected_number_of_fields=1) + + try: +- self.gene_caller_ids = [int(g.strip()) for g in open(self.genes_of_interest_path, 'rU').readlines()] ++ self.gene_caller_ids = [int(g.strip()) for g in open(self.genes_of_interest_path, 'r').readlines()] + except: + raise ConfigError("The gene caller ids anvi'o found in that file does not seem like gene caller " + "ids anvi'o would use. There is something wrong here :(") +diff --git a/anvio/workflows/__init__.py b/anvio/workflows/__init__.py +index ffae6b78dd..828dab9af0 100644 +--- a/anvio/workflows/__init__.py ++++ b/anvio/workflows/__init__.py +@@ -333,7 +333,7 @@ def dry_run(self, workflow_graph_output_file_path_prefix='workflow'): + # we are (it still may be better to do it elsewhere more appropriate .. so + # we can look more decent or whatever): + if self.save_workflow_graph: +- lines = open(log_file_path, 'rU').readlines() ++ lines = open(log_file_path, 'r').readlines() + + try: + line_of_interest = [line_no for line_no in range(0, len(lines)) if lines[line_no].startswith('digraph')][0] +diff --git a/bin/anvi-export-structures b/bin/anvi-export-structures +index 147f82c346..0f059b74ed 100755 +--- a/bin/anvi-export-structures ++++ b/bin/anvi-export-structures +@@ -38,7 +38,7 @@ def main(args): + raise ConfigError("Pick one of --gene-caller-ids and --genes-of-interest") + elif genes_of_interest_path: + filesnpaths.is_file_exists(args.genes_of_interest) +- genes_of_interest = set(int(g.strip()) for g in open(args.genes_of_interest, 'rU').readlines()) ++ genes_of_interest = set(int(g.strip()) for g in open(args.genes_of_interest, 'r').readlines()) + elif gene_caller_ids: + genes_of_interest = set(int(g) for g in gene_caller_ids.split(',')) + else: +diff --git a/bin/anvi-get-sequences-for-hmm-hits b/bin/anvi-get-sequences-for-hmm-hits +index b18183737d..f2fec99652 100755 +--- a/bin/anvi-get-sequences-for-hmm-hits ++++ b/bin/anvi-get-sequences-for-hmm-hits +@@ -166,7 +166,7 @@ def main(args): + + # figure out gene names.. if the user provided a file, use that, otherwhise parse gene names out of the comma-separated text + if args.gene_names and filesnpaths.is_file_exists(args.gene_names, dont_raise=True): +- gene_names = [g.strip() for g in open(args.gene_names, 'rU').readlines()] if args.gene_names else [] ++ gene_names = [g.strip() for g in open(args.gene_names, 'r').readlines()] if args.gene_names else [] + else: + gene_names = [g.strip() for g in args.gene_names.split(',')] if args.gene_names else [] + +From ac5908eac71809b31f3bd0ff92bbb573cc17f730 Mon Sep 17 00:00:00 2001 +From: "A. Murat Eren" +Date: Wed, 25 Oct 2023 16:06:15 +0200 +Subject: [PATCH] rU is deprecated for a long time + +--- + anvio/utils.py | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/anvio/utils.py b/anvio/utils.py +index 4e599aaa3..c52888934 100644 +--- a/anvio/utils.py ++++ b/anvio/utils.py +@@ -850,7 +850,7 @@ def transpose_tab_delimited_file(input_file_path, output_file_path, remove_after + filesnpaths.is_file_tab_delimited(input_file_path) + filesnpaths.is_output_file_writable(output_file_path) + +- file_content = [line.strip('\n').split('\t') for line in open(input_file_path, 'rU').readlines()] ++ file_content = [line.strip('\n').split('\t') for line in open(input_file_path, 'r').readlines()] + + output_file = open(output_file_path, 'w') + for entry in zip(*file_content): +@@ -1048,7 +1048,7 @@ def get_column_data_from_TAB_delim_file(input_file_path, column_indices=[], expe + for index in column_indices: + d[index] = [] + +- with open(input_file_path, "rU") as input_file: ++ with open(input_file_path, "r") as input_file: + for line in input_file.readlines(): + fields = line.strip('\n').split(separator) + +@@ -1066,9 +1066,9 @@ def get_columns_of_TAB_delim_file(file_path, include_first_column=False): + filesnpaths.is_file_exists(file_path) + + if include_first_column: +- return open(file_path, 'rU').readline().strip('\n').split('\t') ++ return open(file_path, 'r').readline().strip('\n').split('\t') + else: +- return open(file_path, 'rU').readline().strip('\n').split('\t')[1:] ++ return open(file_path, 'r').readline().strip('\n').split('\t')[1:] + + + def get_names_order_from_newick_tree(newick_tree, newick_format=1, reverse=False, names_with_only_digits_ok=False): +@@ -1095,7 +1095,7 @@ def get_vectors_from_TAB_delim_matrix(file_path, cols_to_return=None, rows_to_re + id_to_sample_dict = {} + sample_to_id_dict = {} + +- input_matrix = open(file_path, 'rU') ++ input_matrix = open(file_path, 'r') + columns = input_matrix.readline().strip('\n').split('\t')[1:] + + fields_of_interest = [] +@@ -1489,7 +1489,7 @@ def get_gene_caller_ids_from_args(gene_caller_ids, delimiter=','): + gene_caller_ids_set = set([]) + if gene_caller_ids: + if os.path.exists(gene_caller_ids): +- gene_caller_ids_set = set([g.strip() for g in open(gene_caller_ids, 'rU').readlines()]) ++ gene_caller_ids_set = set([g.strip() for g in open(gene_caller_ids, 'r').readlines()]) + else: + gene_caller_ids_set = set([g.strip() for g in gene_caller_ids.split(delimiter)]) + +@@ -1764,7 +1764,7 @@ def concatenate_files(dest_file, file_list, remove_concatenated_files=False): + + dest_file_obj = open(dest_file, 'w') + for chunk_path in file_list: +- for line in open(chunk_path, 'rU'): ++ for line in open(chunk_path, 'r'): + dest_file_obj.write(line) + + dest_file_obj.close() +@@ -3547,7 +3547,7 @@ def get_TAB_delimited_file_as_dictionary(file_path, expected_fields=None, dict_t + failed_lines = [] + column_mapping_for_line_failed = None + +- f = open(file_path, 'rU') ++ f = open(file_path, 'r') + + # learn the number of fields and reset the file: + num_fields = len(f.readline().strip('\n').split(separator)) diff --git a/easybuild/easyconfigs/a/any2fasta/any2fasta-0.4.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/a/any2fasta/any2fasta-0.4.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..3f96b328b6a --- /dev/null +++ b/easybuild/easyconfigs/a/any2fasta/any2fasta-0.4.2-GCCcore-12.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': '12.3.0'} + +# https://github.com/tseemann/any2fasta +github_account = 'tseemann' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.zip'] +checksums = ['3faa738ab409c7073afe3769e9d32dd5b28a2c12e72c2e4ac6f4e9946ee9a22f'] + +dependencies = [('Perl', '5.36.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/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-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/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-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 index dfe97712e3b..e0cb197688d 100644 --- 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 @@ -19,7 +19,7 @@ checksums = ['eb939471f5f4218e6cfd62f58ccd2a0a5283d4a19a2902741c7fb25e2f016eaf'] dependencies = [ ('R', '4.2.2'), - ('Arrow', '11.0.0'), + ('Arrow', '11.0.0'), # arrow-R x.y.z[.N] only works with Arrow x.y.z ] preinstallopts = "export LIBARROW_BINARY=true && " 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-16.1.0-foss-2023b-R-4.4.1.eb b/easybuild/easyconfigs/a/arrow-R/arrow-R-16.1.0-foss-2023b-R-4.4.1.eb new file mode 100644 index 00000000000..dd2e4260145 --- /dev/null +++ b/easybuild/easyconfigs/a/arrow-R/arrow-R-16.1.0-foss-2023b-R-4.4.1.eb @@ -0,0 +1,35 @@ +easyblock = 'RPackage' + +name = 'arrow-R' +version = '16.1.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': '2023b'} + +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 = ['66c1586ee7becd65b4d21b11ffcd157dc19f75c3c10ff5c5b3610689aadce7ef'] + +dependencies = [ + ('R', '4.4.1'), + ('R-bundle-CRAN', '2024.06'), + ('Arrow', '16.1.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/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.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/assimp/assimp-5.4.3-GCCcore-13.3.0.eb b/easybuild/easyconfigs/a/assimp/assimp-5.4.3-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..3f0dfef4b64 --- /dev/null +++ b/easybuild/easyconfigs/a/assimp/assimp-5.4.3-GCCcore-13.3.0.eb @@ -0,0 +1,36 @@ +# Authors:: Richard Lawrence - TAMU HPRC - https://hprc.tamu.edu + +easyblock = 'CMakeMake' + +name = 'assimp' +version = '5.4.3' + +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.3.0'} + +source_urls = ['https://github.com/%(name)s/%(name)s/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['66dfbaee288f2bc43172440a55d0235dfc7bf885dda6435c038e8000e79582cb'] + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), + ('CMake', '3.29.3'), + ('zlib', '1.3.1'), +] + +# workaround bug with GCC13 https://github.com/assimp/assimp/issues/5315 +configopts = "-DASSIMP_WARNINGS_AS_ERRORS=OFF " + + +sanity_check_paths = { + 'files': ['include/%(name)s/types.h', 'lib/libassimp.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' 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/at-spi2-atk/at-spi2-atk-2.38.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/a/at-spi2-atk/at-spi2-atk-2.38.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..6efc7996fd0 --- /dev/null +++ b/easybuild/easyconfigs/a/at-spi2-atk/at-spi2-atk-2.38.0-GCCcore-13.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': '13.3.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['cfa008a5af822b36ae6287f18182c40c91dd699c55faa38605881ed175ca464f'] + +builddependencies = [ + ('binutils', '2.42'), + ('Meson', '1.4.0'), + ('Ninja', '1.12.1'), + ('pkgconf', '2.2.0'), +] + +dependencies = [ + ('GLib', '2.80.4'), + ('DBus', '1.15.8'), + ('at-spi2-core', '2.54.0'), + ('libxml2', '2.12.7'), + ('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.54.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.54.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..b1a1a4c863f --- /dev/null +++ b/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.54.0-GCCcore-13.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'MesonNinja' + +name = 'at-spi2-core' +version = '2.54.0' + +homepage = 'https://wiki.gnome.org/Accessibility' +description = """ + Assistive Technology Service Provider Interface. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['d7eee7e75beddcc272cedc2b60535600f3aae6e481589ebc667afc437c0a6079'] + +builddependencies = [ + ('binutils', '2.42'), + ('Meson', '1.4.0'), + ('Ninja', '1.12.1'), + ('GObject-Introspection', '1.80.1'), + ('gettext', '0.22.5'), + ('pkgconf', '2.2.0'), +] + +dependencies = [ + ('GLib', '2.80.4'), + ('DBus', '1.15.8'), + ('X11', '20240607'), +] + +# 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.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.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.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-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.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/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/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/BCFtools/BCFtools-1.21-GCC-13.3.0.eb b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.21-GCC-13.3.0.eb new file mode 100644 index 00000000000..ad508758ba5 --- /dev/null +++ b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.21-GCC-13.3.0.eb @@ -0,0 +1,40 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Author: Jonas Demeulemeester +# The Francis Crick Insitute, London, UK +# Updated to 1.21 jpecar / EMBL + +easyblock = 'ConfigureMake' + +name = 'BCFtools' +version = '1.21' + +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.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['528a4cc1d3555368db75a700b22a3c95da893fd1827f6d304716dfd45ea4e282'] + +dependencies = [ + ('zlib', '1.3.1'), + ('HTSlib', '1.21'), + ('bzip2', '1.0.8'), + ('XZ', '5.4.5'), + ('GSL', '2.8'), +] + +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/BEDTools/BEDTools-2.31.1-GCC-13.3.0.eb b/easybuild/easyconfigs/b/BEDTools/BEDTools-2.31.1-GCC-13.3.0.eb new file mode 100644 index 00000000000..8503277b570 --- /dev/null +++ b/easybuild/easyconfigs/b/BEDTools/BEDTools-2.31.1-GCC-13.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.1' + +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': '13.3.0'} + +source_urls = ['https://github.com/arq5x/bedtools2/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['79a1ba318d309f4e74bfa74258b73ef578dccb1045e270998d7fe9da9f43a50e'] + +builddependencies = [ + ('Python', '3.12.3'), +] +dependencies = [ + ('XZ', '5.4.5'), + ('zlib', '1.3.1'), + ('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/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.13.0-gompi-2022a.eb b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.13.0-gompi-2022a.eb index fb96f2a9897..4e9e9d4d83e 100644 --- a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.13.0-gompi-2022a.eb +++ b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.13.0-gompi-2022a.eb @@ -27,6 +27,8 @@ source_urls = ['https://ftp.ncbi.nlm.nih.gov/blast/executables/%(namelower)s/%(v sources = ['ncbi-blast-%(version)s+-src.tar.gz'] checksums = ['89553714d133daf28c477f83d333794b3c62e4148408c072a1b4620e5ec4feb2'] +builddependencies = [('cpio', '2.14')] + dependencies = [ ('zlib', '1.2.12'), ('bzip2', '1.0.8'), @@ -38,7 +40,10 @@ dependencies = [ ('LMDB', '0.9.29'), ] -configopts = "--with-64 --with-z=$EBROOTZLIB --with-bz2=$EBROOTBZIP2 " +# 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" 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 index 142ad4eb6aa..a4033efcdde 100644 --- a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.0-gompi-2022b.eb +++ b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.0-gompi-2022b.eb @@ -27,6 +27,8 @@ source_urls = ['https://ftp.ncbi.nlm.nih.gov/blast/executables/%(namelower)s/%(v sources = ['ncbi-blast-%(version)s+-src.tar.gz'] checksums = ['bf477f1b0c3b82f0b7a7094bf003a9a83e37e3b0716c1df799060c4feab17500'] +builddependencies = [('cpio', '2.15')] + dependencies = [ ('zlib', '1.2.12'), ('bzip2', '1.0.8'), @@ -38,7 +40,10 @@ dependencies = [ ('LMDB', '0.9.29'), ] -configopts = "--with-64 --with-z=$EBROOTZLIB --with-bz2=$EBROOTBZIP2 " +# 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" 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 index 47c8e2d2ef6..844a9854825 100644 --- a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.1-gompi-2023a.eb +++ b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.1-gompi-2023a.eb @@ -27,6 +27,8 @@ source_urls = ['https://ftp.ncbi.nlm.nih.gov/blast/executables/%(namelower)s/%(v sources = ['ncbi-blast-%(version)s+-src.tar.gz'] checksums = ['712c2dbdf0fb13cc1c2d4f4ef5dd1ce4b06c3b57e96dfea8f23e6e99f5b1650e'] +builddependencies = [('cpio', '2.15')] + dependencies = [ ('zlib', '1.2.13'), ('bzip2', '1.0.8'), @@ -38,7 +40,10 @@ dependencies = [ ('LMDB', '0.9.31'), ] -configopts = "--with-64 --with-z=$EBROOTZLIB --with-bz2=$EBROOTBZIP2 " +# 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" diff --git a/easybuild/easyconfigs/b/BLAT/BLAT-3.7-GCC-12.3.0.eb b/easybuild/easyconfigs/b/BLAT/BLAT-3.7-GCC-12.3.0.eb new file mode 100644 index 00000000000..ba6cac7d238 --- /dev/null +++ b/easybuild/easyconfigs/b/BLAT/BLAT-3.7-GCC-12.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': '12.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.13.0'), + ('libiconv', '1.17'), + ('libpng', '1.6.39'), + ('MariaDB', '11.6.0'), + ('OpenSSL', '1.1', '', SYSTEM), + ('util-linux', '2.39'), + ('zlib', '1.2.13'), +] + +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/BLIS/BLIS-0.9.0-GCC-13.2.0.eb b/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0-GCC-13.2.0.eb index 17fa98dc916..0b0e5bb7de7 100644 --- 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 @@ -16,12 +16,16 @@ patches = [ '%(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', + {'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'), 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-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/BRAKER/BRAKER-3.0.8-foss-2023a.eb b/easybuild/easyconfigs/b/BRAKER/BRAKER-3.0.8-foss-2023a.eb new file mode 100644 index 00000000000..7a87a70ddb1 --- /dev/null +++ b/easybuild/easyconfigs/b/BRAKER/BRAKER-3.0.8-foss-2023a.eb @@ -0,0 +1,55 @@ +# updated: Denis Kristak (INUITS) +# Update: Petr Král (INUITS) +easyblock = 'Tarball' + +name = 'BRAKER' +version = '3.0.8' + +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': '2023a'} + +source_urls = ['https://github.com/Gaius-Augustus/BRAKER/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['f2623290c3007a3e42719a0bb2713bec7226db222bfef742895a9d5d0b4ee526'] + +dependencies = [ + ('Perl', '5.36.1'), + ('Python', '3.11.3'), + ('AUGUSTUS', '3.5.0'), + ('GeneMark-ET', '4.72'), + ('BamTools', '2.5.2'), + ('SAMtools', '1.18'), + ('GenomeThreader', '1.7.3', '-Linux_x86_64-64bit', SYSTEM), + ('spaln', '3.0.6b'), + ('Exonerate', '2.4.0'), + ('BLAST+', '2.14.1'), + ('Biopython', '1.83'), + ('DIAMOND', '2.1.8'), + ('CDBtools', '0.99'), +] + +fix_perl_shebang_for = ['scripts/*.pl'] +fix_python_shebang_for = ['scripts/*.py'] + +sanity_check_paths = { + 'files': [ + 'scripts/braker.pl', + 'scripts/compare_intervals_exact.pl', + 'scripts/compute_accuracies.sh', + 'scripts/compute_accuracies.sh', + 'scripts/filterGenemark.pl', + 'scripts/findGenesInIntrons.pl', + 'scripts/gatech_pmp2hints.pl', + 'scripts/sortGeneMark.py', + ], + 'dirs': ['docs', 'example'], +} + +sanity_check_commands = ["braker.pl --help"] + +modextrapaths = {'PATH': 'scripts'} + +moduleclass = 'bio' 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/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.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/BamTools/BamTools-2.5.2-GCC-13.2.0.eb b/easybuild/easyconfigs/b/BamTools/BamTools-2.5.2-GCC-13.2.0.eb new file mode 100644 index 00000000000..a8e5449e98c --- /dev/null +++ b/easybuild/easyconfigs/b/BamTools/BamTools-2.5.2-GCC-13.2.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': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['4d8b84bd07b673d0ed41031348f10ca98dd6fa6a4460f9b9668d6f1d4084dfc8'] + +builddependencies = [ + ('CMake', '3.27.6'), +] + +# https://github.com/pezmaster31/bamtools +github_account = 'pezmaster31' + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BamTools/BamTools-2.5.2-GCC-13.3.0.eb b/easybuild/easyconfigs/b/BamTools/BamTools-2.5.2-GCC-13.3.0.eb new file mode 100644 index 00000000000..23e1ad0e743 --- /dev/null +++ b/easybuild/easyconfigs/b/BamTools/BamTools-2.5.2-GCC-13.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': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['4d8b84bd07b673d0ed41031348f10ca98dd6fa6a4460f9b9668d6f1d4084dfc8'] + +builddependencies = [ + ('CMake', '3.29.3'), +] + +# https://github.com/pezmaster31/bamtools +github_account = 'pezmaster31' + +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/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/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-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/BeautifulSoup/BeautifulSoup-4.12.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.12.2-GCCcore-12.3.0.eb index cc388eeb4ca..8d4556012b6 100644 --- 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 @@ -9,12 +9,12 @@ description = "Beautiful Soup is a Python library designed for quick turnaround toolchain = {'name': 'GCCcore', 'version': '12.3.0'} builddependencies = [ - ('binutils', '2.40') + ('binutils', '2.40'), + ('hatchling', '1.18.0'), ] dependencies = [ ('Python', '3.11.3'), - ('hatchling', '1.18.0'), ] use_pip = True 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 index 4aeb23721ad..bbf74453cfd 100644 --- 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 @@ -9,12 +9,12 @@ description = "Beautiful Soup is a Python library designed for quick turnaround toolchain = {'name': 'GCCcore', 'version': '13.2.0'} builddependencies = [ - ('binutils', '2.40') + ('binutils', '2.40'), + ('hatchling', '1.18.0'), ] dependencies = [ ('Python', '3.11.5'), - ('hatchling', '1.18.0'), ] use_pip = True 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/BerkeleyGW/BerkeleyGW-4.0-foss-2022a.eb b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-4.0-foss-2022a.eb new file mode 100644 index 00000000000..8ff40739c76 --- /dev/null +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-4.0-foss-2022a.eb @@ -0,0 +1,34 @@ +name = 'BerkeleyGW' +version = '4.0' + +homepage = 'https://www.berkeleygw.org' +description = """The BerkeleyGW Package is a set of computer codes that calculates the quasiparticle + properties and the optical responses of a large variety of materials from bulk periodic crystals to + nanostructures such as slabs, wires and molecules.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = ['https://app.box.com/shared/static/'] +sources = [{'download_filename': '22edl07muvhfnd900tnctsjjftbtcqc4.gz', 'filename': SOURCE_TAR_GZ}] +patches = [ + 'BerkeleyGW-4.0_tests.patch', + 'BerkeleyGW-4.0_makefile.patch', +] +checksums = [ + {'BerkeleyGW-4.0.tar.gz': '1a85b03b83b339056f65124bfa96832ca61152236d9bb1cb372e3040fc686a49'}, + {'BerkeleyGW-4.0_tests.patch': 'e544a53613bb3e6a779813f301912b6c6ca8a55215f77faf6827fc6eeeb5459d'}, + {'BerkeleyGW-4.0_makefile.patch': '0aa7c1dbdfa94d9be6835cb0a768559df1e43a1a8b73a2143f09f99981f8041c'}, +] + +dependencies = [ + ('ELPA', '2021.11.001'), + ('Perl', '5.34.1'), + ('Python', '3.10.4'), + ('h5py', '3.7.0'), + ('fftlib', '20170628'), +] + +runtest = True + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-4.0_makefile.patch b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-4.0_makefile.patch new file mode 100644 index 00000000000..6c7f69eb8bf --- /dev/null +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-4.0_makefile.patch @@ -0,0 +1,24 @@ +* don't rebuild flavors when installing and checking, and check using MPI +author: Miguel Dias Costa (National University of Singapore) +--- BerkeleyGW-4.0/Makefile.orig 2024-03-20 11:08:04.996274767 +0800 ++++ BerkeleyGW-4.0/Makefile 2024-03-20 11:08:22.466174576 +0800 +@@ -130,7 +130,7 @@ + cp flavor_cplx.mk flavor.mk + $(MAKE) all + +-install: all ++install: + ifdef INSTDIR + mkdir -p $(INSTDIR)/bin + install bin/*.x $(INSTDIR)/bin/ +@@ -152,8 +152,8 @@ + $(error Error: Please define installation prefix INSTDIR via 'make install INSTDIR='.) + endif + +-check: all +- cd testsuite && $(MAKE) check ++check: ++ cd testsuite && $(MAKE) check-parallel + + check-save: all + cd testsuite && $(MAKE) check-save diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-4.0_tests.patch b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-4.0_tests.patch new file mode 100644 index 00000000000..78f0c4de3bf --- /dev/null +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-4.0_tests.patch @@ -0,0 +1,40 @@ +* allow test scripts to inherit environment +* set stack size ulimit to unlimited +* slightly raise tolerance in some tests +author: Miguel Dias Costa (National University of Singapore) +--- BerkeleyGW-4.0/testsuite/run_testsuite.sh.orig 2024-03-20 01:10:39.000000000 +0800 ++++ BerkeleyGW-4.0/testsuite/run_testsuite.sh 2024-03-20 11:11:19.179296008 +0800 +@@ -1,4 +1,4 @@ +-#!/bin/bash -l ++#!/bin/bash + # + # Copyright (C) 2005-2009 Heiko Appel, David Strubbe + # +@@ -66,6 +66,8 @@ + # Run all tests. Takes as first argument a list of testfile names. + function run_testsuite() { + ++ulimit -s unlimited ++ + tests="$1" + + # Check for 'preserve working directories' flag. +--- BerkeleyGW-4.0/MeanField/Utilities/mf_convert_wrapper.sh.orig 2024-03-20 11:11:41.219446558 +0800 ++++ BerkeleyGW-4.0/MeanField/Utilities/mf_convert_wrapper.sh 2024-03-20 11:11:56.019547652 +0800 +@@ -1,4 +1,4 @@ +-#!/bin/bash -l ++#!/bin/bash + + # David Strubbe, October 2010 + # Wrapper for mf_convert.x +--- BerkeleyGW-4.0/testsuite/GaAs-EPM/GaAs.test.orig 2024-03-20 11:55:47.333669371 +0800 ++++ BerkeleyGW-4.0/testsuite/GaAs-EPM/GaAs.test 2024-03-20 11:57:15.045252252 +0800 +@@ -32,7 +32,7 @@ + Output : WFN.out + Input : WFN.in PIPE + +-Precision : 8e-15 ++Precision : 8e-14 + match ; Eigenvalue 1 at k-pt 1 ; GREP(WFN.out, "kpoint 1", 2, 1); -0.2710614199849328 + match ; Eigenvalue 10 at k-pt 1 ; GREP(WFN.out, "kpoint 1", 2, 10); 1.2565373697755460 + match ; Eigenvalue 18 at k-pt 2 ; GREP(WFN.out, "kpoint 2", 2, 18); 2.1322637363008994 diff --git a/easybuild/easyconfigs/b/BiG-SCAPE/BiG-SCAPE-1.1.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/BindCraft/BindCraft-1.1.0-foss-2023a.eb b/easybuild/easyconfigs/b/BindCraft/BindCraft-1.1.0-foss-2023a.eb new file mode 100644 index 00000000000..49345e486d8 --- /dev/null +++ b/easybuild/easyconfigs/b/BindCraft/BindCraft-1.1.0-foss-2023a.eb @@ -0,0 +1,89 @@ +easyblock = 'Tarball' + +name = 'BindCraft' +version = '1.1.0' + +homepage = 'https://github.com/martinpacesa/BindCraft' +description = """Simple binder design pipeline using AlphaFold2 backpropagation, MPNN, and PyRosetta. + Select your target and let the script do the rest of the work and finish once you have enough designs to order!""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/martinpacesa/BindCraft/archive/refs/tags/'] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}] +checksums = ['c682f59501f0bcfbb8289fd066362dcea37ed8553cdff5c794a2baa6d4149ce7'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Biopython', '1.83'), + ('Seaborn', '0.13.2'), + ('tqdm', '4.66.1'), + ('OpenMM', '8.0.0'), + ('FFmpeg', '6.0'), + ('matplotlib', '3.7.2'), + ('PyRosetta', '4.release-387'), + ('jax', '0.4.25'), + ('dm-haiku', '0.0.13'), + ('dm-tree', '0.1.8'), + ('ml-collections', '0.1.1'), + ('Optax', '0.2.2'), + ('py3Dmol', '2.1.0'), + ('JupyterLab', '4.0.5'), + ('hatchling', '1.18.0'), + ('Flax', '0.8.4'), +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, + 'sanity_pip_check': True, +} +exts_list = [ + ('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'], + }), + ('jupyter_console', '6.6.3', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['309d33409fcc92ffdad25f0bcdf9a4a9daa61b6f341177570fdac03de5352485'], + }), + # older version compatible with `jupyterlab-4.0.5` + ('notebook', '7.0.8', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['7f421b3fd46a17d91830e724b94e8e9ae922af152ebfd48b1e13ae4a07d8193c'], + }), + ('jupyter', '1.1.1', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['7a59533c22af65439b24bbe60373a4e95af8f16ac65a6c00820ad378e3f7cc83'], + }), + ('immutabledict', '4.2.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['d728b2c2410d698d95e6200237feb50a695584d20289ad3379a439aa3d90baba'], + }), + ('colabdesign', '1.1.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['8f556fb575d2bbef79fa1789698d55221f2cc51df38f2cc054f38cb6ecc08e27'], + }), +] + +fix_python_shebang_for = ['bindcraft.py'] + +postinstallcmds = ['chmod a+x %(installdir)s/bindcraft.py'] + +modextrapaths = { + 'PATH': '', + 'PYTHONPATH': ['', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_paths = { + 'files': ['bindcraft.py'], + 'dirs': [], +} + +sanity_check_commands = ["bindcraft.py --help"] + +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/BioPerl/BioPerl-1.7.8-GCCcore-12.2.0.eb b/easybuild/easyconfigs/b/BioPerl/BioPerl-1.7.8-GCCcore-12.2.0.eb index 8caddd5df22..e8e52099b07 100644 --- 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 @@ -5,7 +5,7 @@ # Fred Hutchinson Cancer Research Center # Thomas Eylenbosch - Gluo NV -easyblock = 'PerlModule' +easyblock = 'Bundle' name = 'BioPerl' version = '1.7.8' 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 index b47216124f8..4212570abb1 100644 --- 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 @@ -5,7 +5,7 @@ # Fred Hutchinson Cancer Research Center # Thomas Eylenbosch - Gluo NV -easyblock = 'PerlModule' +easyblock = 'Bundle' name = 'BioPerl' version = '1.7.8' 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.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/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/Block/Block-1.5.3-20200525-foss-2023a.eb b/easybuild/easyconfigs/b/Block/Block-1.5.3-20200525-foss-2023a.eb new file mode 100644 index 00000000000..da1316c8aa6 --- /dev/null +++ b/easybuild/easyconfigs/b/Block/Block-1.5.3-20200525-foss-2023a.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': '2023a'} +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.82.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/Blosc/Blosc-1.21.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/b/Blosc/Blosc-1.21.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..4dc70d8715f --- /dev/null +++ b/easybuild/easyconfigs/b/Blosc/Blosc-1.21.5-GCCcore-13.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'Blosc' +version = '1.21.5' + +homepage = 'https://www.blosc.org/' + +description = "Blosc, an extremely fast, multi-threaded, meta-compressor library" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Blosc/c-blosc/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['32e61961bbf81ffea6ff30e9d70fca36c86178afd3e3cfa13376adec8c687509'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +sanity_check_paths = { + 'files': ['include/blosc-export.h', 'include/blosc.h', 'lib/libblosc.a', + 'lib/libblosc.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Blosc2/Blosc2-2.13.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/b/Blosc2/Blosc2-2.13.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..9e1b0949576 --- /dev/null +++ b/easybuild/easyconfigs/b/Blosc2/Blosc2-2.13.2-GCCcore-13.2.0.eb @@ -0,0 +1,31 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Update: Thomas Hoffmann (EMBL) +easyblock = 'CMakeMake' + +name = 'Blosc2' +version = '2.13.2' + +homepage = 'https://www.blosc.org/' + +description = "Blosc, an extremely fast, multi-threaded, meta-compressor library" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Blosc/c-blosc2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['f2adcd9615f138d1bb16dc27feadab1bb1eab01d77e5e2323d14ad4ca8c3ca21'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +sanity_check_paths = { + 'files': ['include/blosc2/blosc2-export.h', 'include/blosc2.h', 'lib/libblosc2.a', + 'lib/libblosc2.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Blosc2/Blosc2-2.4.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/b/Blosc2/Blosc2-2.4.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..8a13072d93b --- /dev/null +++ b/easybuild/easyconfigs/b/Blosc2/Blosc2-2.4.3-GCCcore-11.2.0.eb @@ -0,0 +1,31 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Update: Thomas Hoffmann (EMBL) +easyblock = 'CMakeMake' + +name = 'Blosc2' +version = '2.4.3' + +homepage = 'https://www.blosc.org/' + +description = "Blosc, an extremely fast, multi-threaded, meta-compressor library" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['https://github.com/Blosc/c-blosc2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['d4aa5e0794598794f20ab950e973d44f0d0d9c133ea1a5a07cb200fa54d2e036'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.22.1'), +] + +sanity_check_paths = { + 'files': ['include/blosc2/blosc2-export.h', 'include/blosc2.h', 'lib/libblosc2.a', + 'lib/libblosc2.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/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.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/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.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.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.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/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.5.1-GCC-10.3.0.eb b/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.5.1-GCC-10.3.0.eb new file mode 100644 index 00000000000..b8a6bb85552 --- /dev/null +++ b/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.5.1-GCC-10.3.0.eb @@ -0,0 +1,54 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel +# Modified by: Robert Schmidt +# Ottawa Hospital Research Institute - Bioinformatics Team +# Modified by: Adam Huffman +# The Francis Crick Institute +# Modified by: Kurt Lust, UAntwerp +# Modified by: Sebastien Moretti for non-x86_64 systems +# SIB Swiss Institute of Bioinformatics + +name = 'Bowtie2' +version = '2.5.1' +_simde_version = '20220504' +_simde_commit = 'cbef1c1' + +homepage = 'https://bowtie-bio.sourceforge.net/bowtie2/index.shtml' +description = """ Bowtie 2 is an ultrafast and memory-efficient tool for aligning sequencing reads + to long reference sequences. It is particularly good at aligning reads of about 50 up to 100s or 1,000s + of characters, and particularly good at aligning to relatively long (e.g. mammalian) genomes. + Bowtie 2 indexes the genome with an FM Index to keep its memory footprint small: for the human genome, + its memory footprint is typically around 3.2 GB. Bowtie 2 supports gapped, local, and paired-end alignment modes.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'pic': True, 'cstd': 'gnu++98'} + +source_urls = [('https://sourceforge.net/projects/bowtie-bio/files/%(namelower)s/%(version)s', 'download')] +sources = ['%(namelower)s-%(version)s-source.zip'] +checksums = ['cb6cbbbb5a7167a2f21a3d63cb9774336361f540e1ec3d8ff907f955c35f71b8'] + +# SIMD Everywhere implementations only, for non-x86_64 systems +if ARCH != 'x86_64': + source_urls += ['https://github.com/simd-everywhere/simde-no-tests/archive'] + sources += [ + {'download_filename': '%s.zip' % _simde_commit, + 'filename': 'simde-%s.zip' % _simde_version, + 'extract_cmd': 'unzip %%s && mv simde*-%s*/* %%(namelower)s-%%(version)s/third_party/simde/' % _simde_commit, + } + ] + checksums += ['d01f084ef5ff69b0a9b96370ae314fe1e55ef3339b25afcd3385958ac0e6ad68'] + +dependencies = [ + ('zlib', '1.2.11'), + ('Perl', '5.32.1'), + ('Python', '3.9.5'), +] + +# to add script folder to path just uncomment this line +# modextrapaths = {'PATH': 'scripts'} + +sanity_check_commands = ['bowtie2 --help', 'bowtie2-build --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Braindecode/Braindecode-0.8.1-foss-2023a-PyTorch-2.1.2-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/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/Brotli-1.1.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/b/Brotli/Brotli-1.1.0-GCCcore-13.2.0.eb index eeacd739652..2e194e0d508 100644 --- 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 @@ -21,8 +21,11 @@ builddependencies = [ ('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], + 'files': ['bin/brotli', 'lib/libbrotlidec.%s' % SHLIB_EXT, 'lib/libbrotlienc.%s' % SHLIB_EXT, + 'lib/libbrotlidec.a', 'lib/libbrotlienc.a'], 'dirs': [], } 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 index f90442fc544..9e505b4df5e 100644 --- a/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-10.2.0.eb @@ -21,13 +21,15 @@ builddependencies = [ dependencies = [ ('Brotli', '1.0.9'), - ('Highway', '0.12.2'), ] # skip use of third_party directory, since we provide Brotli via a proper dependency preconfigopts = "sed -i 's/add_subdirectory(third_party)//g' ../brunsli-%(version)s/CMakeLists.txt && " -configopts = '-DCMAKE_CXX_FLAGS="$CXXFLAGS -lbrotlienc -lbrotlidec -lbrotlicommon"' +configopts = '-DCMAKE_CXX_FLAGS="$CXXFLAGS -lbrotlienc -lbrotlidec -lbrotlicommon" ' + +# make sure that libraries end up in /lib (not lib64) +configopts += "-DCMAKE_INSTALL_LIBDIR=lib " buildopts = "BROTLI_DIR=$EBROOTBROTLI BROTLI_INCLUDE=$EBROOTBROTLI/include" @@ -35,8 +37,8 @@ buildopts = "BROTLI_DIR=$EBROOTBROTLI BROTLI_INCLUDE=$EBROOTBROTLI/include" postinstallcmds = [ "mkdir %(installdir)s/bin", "cp dbrunsli %(installdir)s/bin/", - "cp libbrunsli*.a %(installdir)s/lib*/", - "cp libbrunsli*.%s %%(installdir)s/lib*/" % SHLIB_EXT, + "cp libbrunsli*.a %(installdir)s/lib/", + "cp libbrunsli*.%s %%(installdir)s/lib/" % SHLIB_EXT, ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-10.3.0.eb index 20cd4b20aef..0661abf0609 100644 --- a/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-10.3.0.eb @@ -22,13 +22,15 @@ builddependencies = [ dependencies = [ ('Brotli', '1.0.9'), - ('Highway', '0.12.2'), ] # skip use of third_party directory, since we provide Brotli via a proper dependency preconfigopts = "sed -i 's/add_subdirectory(third_party)//g' ../brunsli-%(version)s/CMakeLists.txt && " -configopts = '-DCMAKE_CXX_FLAGS="$CXXFLAGS -lbrotlienc -lbrotlidec -lbrotlicommon"' +configopts = '-DCMAKE_CXX_FLAGS="$CXXFLAGS -lbrotlienc -lbrotlidec -lbrotlicommon" ' + +# make sure that libraries end up in /lib (not lib64) +configopts += "-DCMAKE_INSTALL_LIBDIR=lib " buildopts = "BROTLI_DIR=$EBROOTBROTLI BROTLI_INCLUDE=$EBROOTBROTLI/include" @@ -36,8 +38,8 @@ buildopts = "BROTLI_DIR=$EBROOTBROTLI BROTLI_INCLUDE=$EBROOTBROTLI/include" postinstallcmds = [ "mkdir %(installdir)s/bin", "cp dbrunsli %(installdir)s/bin/", - "cp libbrunsli*.a %(installdir)s/lib*/", - "cp libbrunsli*.%s %%(installdir)s/lib*/" % SHLIB_EXT, + "cp libbrunsli*.a %(installdir)s/lib/", + "cp libbrunsli*.%s %%(installdir)s/lib/" % SHLIB_EXT, ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-11.3.0.eb index 35fa3a03359..57bba400bde 100644 --- a/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-11.3.0.eb @@ -22,13 +22,15 @@ builddependencies = [ dependencies = [ ('Brotli', '1.0.9'), - ('Highway', '1.0.3'), ] # skip use of third_party directory, since we provide Brotli via a proper dependency preconfigopts = "sed -i 's/add_subdirectory(third_party)//g' ../brunsli-%(version)s/CMakeLists.txt && " -configopts = '-DCMAKE_CXX_FLAGS="$CXXFLAGS -lbrotlienc -lbrotlidec -lbrotlicommon"' +configopts = '-DCMAKE_CXX_FLAGS="$CXXFLAGS -lbrotlienc -lbrotlidec -lbrotlicommon" ' + +# make sure that libraries end up in /lib (not lib64) +configopts += "-DCMAKE_INSTALL_LIBDIR=lib " buildopts = "BROTLI_DIR=$EBROOTBROTLI BROTLI_INCLUDE=$EBROOTBROTLI/include" @@ -36,8 +38,8 @@ buildopts = "BROTLI_DIR=$EBROOTBROTLI BROTLI_INCLUDE=$EBROOTBROTLI/include" postinstallcmds = [ "mkdir %(installdir)s/bin", "cp dbrunsli %(installdir)s/bin/", - "cp libbrunsli*.a %(installdir)s/lib*/", - "cp libbrunsli*.%s %%(installdir)s/lib*/" % SHLIB_EXT, + "cp libbrunsli*.a %(installdir)s/lib/", + "cp libbrunsli*.%s %%(installdir)s/lib/" % SHLIB_EXT, ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-12.2.0.eb index 68552f70d3a..df29a7bda20 100644 --- a/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-12.2.0.eb @@ -22,13 +22,15 @@ builddependencies = [ dependencies = [ ('Brotli', '1.0.9'), - ('Highway', '1.0.3'), ] # skip use of third_party directory, since we provide Brotli via a proper dependency preconfigopts = "sed -i 's/add_subdirectory(third_party)//g' ../brunsli-%(version)s/CMakeLists.txt && " -configopts = '-DCMAKE_CXX_FLAGS="$CXXFLAGS -lbrotlienc -lbrotlidec -lbrotlicommon"' +configopts = '-DCMAKE_CXX_FLAGS="$CXXFLAGS -lbrotlienc -lbrotlidec -lbrotlicommon" ' + +# make sure that libraries end up in /lib (not lib64) +configopts += "-DCMAKE_INSTALL_LIBDIR=lib " buildopts = "BROTLI_DIR=$EBROOTBROTLI BROTLI_INCLUDE=$EBROOTBROTLI/include" @@ -36,8 +38,8 @@ buildopts = "BROTLI_DIR=$EBROOTBROTLI BROTLI_INCLUDE=$EBROOTBROTLI/include" postinstallcmds = [ "mkdir %(installdir)s/bin", "cp dbrunsli %(installdir)s/bin/", - "cp libbrunsli*.a %(installdir)s/lib*/", - "cp libbrunsli*.%s %%(installdir)s/lib*/" % SHLIB_EXT, + "cp libbrunsli*.a %(installdir)s/lib/", + "cp libbrunsli*.%s %%(installdir)s/lib/" % SHLIB_EXT, ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-12.3.0.eb index e9d6adbb76f..42e15bb4356 100644 --- a/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-12.3.0.eb @@ -22,13 +22,15 @@ builddependencies = [ dependencies = [ ('Brotli', '1.0.9'), - ('Highway', '1.0.4'), ] # skip use of third_party directory, since we provide Brotli via a proper dependency preconfigopts = "sed -i 's/add_subdirectory(third_party)//g' ../brunsli-%(version)s/CMakeLists.txt && " -configopts = '-DCMAKE_CXX_FLAGS="$CXXFLAGS -lbrotlienc -lbrotlidec -lbrotlicommon"' +configopts = '-DCMAKE_CXX_FLAGS="$CXXFLAGS -lbrotlienc -lbrotlidec -lbrotlicommon" ' + +# make sure that libraries end up in /lib (not lib64) +configopts += "-DCMAKE_INSTALL_LIBDIR=lib " buildopts = "BROTLI_DIR=$EBROOTBROTLI BROTLI_INCLUDE=$EBROOTBROTLI/include" @@ -36,8 +38,8 @@ buildopts = "BROTLI_DIR=$EBROOTBROTLI BROTLI_INCLUDE=$EBROOTBROTLI/include" postinstallcmds = [ "mkdir %(installdir)s/bin", "cp dbrunsli %(installdir)s/bin/", - "cp libbrunsli*.a %(installdir)s/lib*/", - "cp libbrunsli*.%s %%(installdir)s/lib*/" % SHLIB_EXT, + "cp libbrunsli*.a %(installdir)s/lib/", + "cp libbrunsli*.%s %%(installdir)s/lib/" % SHLIB_EXT, ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-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/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/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/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-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/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/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/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-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/bokeh/bokeh-3.6.0-gfbf-2024a.eb b/easybuild/easyconfigs/b/bokeh/bokeh-3.6.0-gfbf-2024a.eb new file mode 100644 index 00000000000..fadc3d201b6 --- /dev/null +++ b/easybuild/easyconfigs/b/bokeh/bokeh-3.6.0-gfbf-2024a.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonBundle' + +name = 'bokeh' +version = '3.6.0' + +homepage = 'https://github.com/bokeh/bokeh' +description = "Statistical and novel interactive HTML plots for Python" + +toolchain = {'name': 'gfbf', 'version': '2024a'} + +builddependencies = [ + ('meson-python', '0.16.0'), +] + +dependencies = [ + ('Python', '3.12.3'), + ('Python-bundle-PyPI', '2024.06'), + ('SciPy-bundle', '2024.05'), + ('matplotlib', '3.9.2'), + ('PyYAML', '6.0.2'), + ('Pillow', '10.4.0'), + ('tornado', '6.4.1'), +] + +use_pip = True + +exts_list = [ + ('contourpy', '1.2.1', { + 'checksums': ['4d8908b3bee1c889e547867ca4cdc54e5ab6be6d3e078556814a22457f49423c'], + }), + ('xyzservices', '2024.4.0', { + 'checksums': ['6a04f11487a6fb77d92a98984cd107fbd9157fd5e65f929add9c3d6e604ee88c'], + }), + (name, version, { + 'preinstallopts': """sed -i 's/setup(/setup(version="%(version)s",/g' setup.py && """, + 'checksums': ['0032dc1e76ad097b07626e51584685ff48c65481fbaaad105663b1046165867a'], + }), +] + +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/boto3/boto3-1.35.36-GCCcore-13.3.0.eb b/easybuild/easyconfigs/b/boto3/boto3-1.35.36-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..4f327430573 --- /dev/null +++ b/easybuild/easyconfigs/b/boto3/boto3-1.35.36-GCCcore-13.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'boto3' +version = '1.35.36' + +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': '13.3.0'} + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('Python', '3.12.3'), + ('Python-bundle-PyPI', '2024.06'), +] + +exts_list = [ + ('botocore', version, { + 'checksums': ['354ec1b766f0029b5d6ff0c45d1a0f9e5007b7d2f3ec89bcdd755b208c5bc797'], + }), + ('jmespath', '1.0.1', { + 'checksums': ['90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe'], + }), + ('s3transfer', '0.10.3', { + 'checksums': ['4f50ed74ab84d474ce614475e0b8d5047ff080810aac5d01ea25231cfc944b0c'], + }), + (name, version, { + 'checksums': ['586524b623e4fbbebe28b604c6205eb12f263cc4746bccb011562d07e217a4cb'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/btllib/btllib-1.7.0-GCC-12.3.0.eb b/easybuild/easyconfigs/b/btllib/btllib-1.7.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..960f1b09253 --- /dev/null +++ b/easybuild/easyconfigs/b/btllib/btllib-1.7.0-GCC-12.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'CmdCp' + +name = 'btllib' +version = '1.7.0' + +homepage = 'https://github.com/bcgsc/btllib' +description = """Bioinformatics Technology Lab common code library""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'openmp': True} + +sources = [{ + 'filename': '%(name)s-%(version)s.tar.gz', + 'git_config': { + 'url': 'https://github.com/bcgsc', + 'repo_name': 'btllib', + 'tag': 'v%(version)s', + 'recursive': True, + 'keep_git_dir': True, + } +}] +checksums = [None] + +dependencies = [ + ('Python', '3.11.3'), + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('CMake', '3.26.3'), + ('SAMtools', '1.18'), +] + +cmds_map = [('.*', "./compile")] + +files_to_copy = [(['install/bin/*'], 'bin'), (['install/lib/*'], 'lib'), (['install/include/*'], 'include')] + +sanity_check_paths = { + 'files': ['bin/randseq', 'bin/indexlr', 'bin/mi_bf_generate'], + 'dirs': [], +} + +sanity_check_commands = ['randseq --help', 'indexlr --help'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/b/build/build-1.0.3-foss-2023a.eb b/easybuild/easyconfigs/b/build/build-1.0.3-foss-2023a.eb new file mode 100644 index 00000000000..ddde55757bd --- /dev/null +++ b/easybuild/easyconfigs/b/build/build-1.0.3-foss-2023a.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonBundle' + +name = 'build' +version = '1.0.3' + +homepage = 'https://github.com/pypa/build' +description = """A simple, correct Python build frontend.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pyproject_hooks', '1.0.0', { + 'checksums': ['f271b298b97f5955d53fb12b72c1fb1948c22c1a6b70b315c54cedaca0264ef5'], + }), + (name, version, { + 'checksums': ['538aab1b64f9828977f84bc63ae570b060a8ed1be419e7870b8b4fc5e6ea553b'], + }), +] + +sanity_check_commands = [ + "python3 -m build -V", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/build/build-1.0.3-foss-2023b.eb b/easybuild/easyconfigs/b/build/build-1.0.3-foss-2023b.eb new file mode 100644 index 00000000000..33af19b02f7 --- /dev/null +++ b/easybuild/easyconfigs/b/build/build-1.0.3-foss-2023b.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'build' +version = '1.0.3' + +homepage = 'https://github.com/pypa/build' +description = """A simple, correct Python build frontend.""" + +toolchain = {'name': 'foss', 'version': '2023b'} + +dependencies = [ + ('Python', '3.11.5'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('packaging', '23.2', { + 'checksums': ['048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5'], + }), + ('pyproject_hooks', '1.0.0', { + 'checksums': ['f271b298b97f5955d53fb12b72c1fb1948c22c1a6b70b315c54cedaca0264ef5'], + }), + (name, version, { + 'checksums': ['538aab1b64f9828977f84bc63ae570b060a8ed1be419e7870b8b4fc5e6ea553b'], + }), +] + +sanity_check_commands = [ + "python3 -m build -V", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2023b.eb b/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2023b.eb new file mode 100644 index 00000000000..5508687d00a --- /dev/null +++ b/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2023b.eb @@ -0,0 +1,13 @@ +easyblock = 'BuildEnv' + +name = 'buildenv' +version = 'default' + +homepage = 'None' +description = """This module sets a group of environment variables for compilers, linkers, maths libraries, etc., that + you can use to easily transition between toolchains when building your software. To query the variables being set + please use: module show """ + +toolchain = {'name': 'foss', 'version': '2023b'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/buildenv/buildenv-default-intel-2023b.eb b/easybuild/easyconfigs/b/buildenv/buildenv-default-intel-2023b.eb new file mode 100644 index 00000000000..558beb36286 --- /dev/null +++ b/easybuild/easyconfigs/b/buildenv/buildenv-default-intel-2023b.eb @@ -0,0 +1,13 @@ +easyblock = 'BuildEnv' + +name = 'buildenv' +version = 'default' + +homepage = 'None' +description = """This module sets a group of environment variables for compilers, linkers, maths libraries, etc., that + you can use to easily transition between toolchains when building your software. To query the variables being set + please use: module show """ + +toolchain = {'name': 'intel', 'version': '2023b'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/bwa-mem2/bwa-mem2-2.2.1-intel-compilers-2023.1.0.eb b/easybuild/easyconfigs/b/bwa-mem2/bwa-mem2-2.2.1-intel-compilers-2023.1.0.eb new file mode 100644 index 00000000000..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/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.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/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/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.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/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-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/CDO/CDO-2.0.5-gompi-2021b.eb b/easybuild/easyconfigs/c/CDO/CDO-2.0.5-gompi-2021b.eb index 78745e7806b..2169f07b3ef 100644 --- a/easybuild/easyconfigs/c/CDO/CDO-2.0.5-gompi-2021b.eb +++ b/easybuild/easyconfigs/c/CDO/CDO-2.0.5-gompi-2021b.eb @@ -42,6 +42,9 @@ configopts += "--with-curl=$EBROOTCURL --with-eccodes=$EBROOTECCODES --with-fftw configopts += "--with-netcdf=$EBROOTNETCDF --with-proj=$EBROOTPROJ --with-szlib=$EBROOTSZIP " configopts += "--with-udunits2=$EBROOTUDUNITS --with-util-linux-uuid=$EBROOTUTILMINLINUX " +# Make sure that right Fortran compiler is used, also on non-x86_64 architectures +configopts += 'CPPFLAGS="$CPPFLAGS -DgFortran" ' + sanity_check_paths = { 'files': ['bin/cdo', 'lib/libcdi.a', 'lib/libcdi.%s' % SHLIB_EXT], 'dirs': ['include'], diff --git a/easybuild/easyconfigs/c/CDO/CDO-2.0.6-gompi-2022a.eb b/easybuild/easyconfigs/c/CDO/CDO-2.0.6-gompi-2022a.eb index 2cca13754df..124d47abae6 100644 --- a/easybuild/easyconfigs/c/CDO/CDO-2.0.6-gompi-2022a.eb +++ b/easybuild/easyconfigs/c/CDO/CDO-2.0.6-gompi-2022a.eb @@ -43,6 +43,9 @@ configopts += "--with-curl=$EBROOTCURL --with-eccodes=$EBROOTECCODES --with-fftw configopts += "--with-netcdf=$EBROOTNETCDF --with-proj=$EBROOTPROJ --with-szlib=$EBROOTSZIP " configopts += "--with-udunits2=$EBROOTUDUNITS --with-util-linux-uuid=$EBROOTUTILMINLINUX " +# Make sure that right Fortran compiler is used, also on non-x86_64 architectures +configopts += 'CPPFLAGS="$CPPFLAGS -DgFortran" ' + sanity_check_paths = { 'files': ['bin/cdo', 'lib/libcdi.a', 'lib/libcdi.%s' % SHLIB_EXT], 'dirs': ['include'], diff --git a/easybuild/easyconfigs/c/CDO/CDO-2.1.1-gompi-2021a.eb b/easybuild/easyconfigs/c/CDO/CDO-2.1.1-gompi-2021a.eb index 33b3ae569e7..864efb1aae4 100644 --- a/easybuild/easyconfigs/c/CDO/CDO-2.1.1-gompi-2021a.eb +++ b/easybuild/easyconfigs/c/CDO/CDO-2.1.1-gompi-2021a.eb @@ -43,6 +43,9 @@ configopts += "--with-curl=$EBROOTCURL --with-eccodes=$EBROOTECCODES --with-fftw configopts += "--with-netcdf=$EBROOTNETCDF --with-proj=$EBROOTPROJ --with-szlib=$EBROOTSZIP " configopts += "--with-udunits2=$EBROOTUDUNITS --with-util-linux-uuid=$EBROOTUTILMINLINUX " +# Make sure that right Fortran compiler is used, also on non-x86_64 architectures +configopts += 'CPPFLAGS="$CPPFLAGS -DgFortran" ' + sanity_check_paths = { 'files': ['bin/cdo', 'lib/libcdi.a', 'lib/libcdi.%s' % SHLIB_EXT], 'dirs': ['include'], diff --git a/easybuild/easyconfigs/c/CDO/CDO-2.2.2-gompi-2023a.eb b/easybuild/easyconfigs/c/CDO/CDO-2.2.2-gompi-2023a.eb index 0adb6ba2358..77cac651f2b 100644 --- a/easybuild/easyconfigs/c/CDO/CDO-2.2.2-gompi-2023a.eb +++ b/easybuild/easyconfigs/c/CDO/CDO-2.2.2-gompi-2023a.eb @@ -43,6 +43,9 @@ configopts += "--with-curl=$EBROOTCURL --with-eccodes=$EBROOTECCODES --with-fftw configopts += "--with-netcdf=$EBROOTNETCDF --with-proj=$EBROOTPROJ --with-szlib=$EBROOTSZIP " configopts += "--with-udunits2=$EBROOTUDUNITS --with-util-linux-uuid=$EBROOTUTILMINLINUX " +# Make sure that right Fortran compiler is used, also on non-x86_64 architectures +configopts += 'CPPFLAGS="$CPPFLAGS -DgFortran" ' + sanity_check_paths = { 'files': ['bin/cdo', 'lib/libcdi.a', 'lib/libcdi.%s' % SHLIB_EXT], 'dirs': ['include'], diff --git a/easybuild/easyconfigs/c/CDO/CDO-2.2.2-gompi-2023b.eb b/easybuild/easyconfigs/c/CDO/CDO-2.2.2-gompi-2023b.eb new file mode 100644 index 00000000000..88087d6059e --- /dev/null +++ b/easybuild/easyconfigs/c/CDO/CDO-2.2.2-gompi-2023b.eb @@ -0,0 +1,56 @@ +# updated to version 2.0.6, based on the previous 2.0.5 version +# J. Sassmannshausen (Imperial College London, UK) +# Alex Domingo (Vrije Universiteit Brussel, BE) +# Maxim Masterov (SURF, NL) + +easyblock = 'ConfigureMake' + +name = 'CDO' +version = '2.2.2' + +homepage = 'https://code.zmaw.de/projects/cdo' +description = """CDO is a collection of command line Operators to manipulate and analyse Climate and NWP model Data.""" + +toolchain = {'name': 'gompi', 'version': '2023b'} +toolchainopts = {'cstd': 'c++17', 'usempi': True} + +source_urls = ['https://code.mpimet.mpg.de/attachments/download/28882/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['419c77315244019af41a296c05066f474cccbf94debfaae9e2106da51bc7c937'] + +builddependencies = [ + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('cURL', '8.3.0'), + ('ecCodes', '2.31.0'), + ('FFTW', '3.3.10'), + ('HDF5', '1.14.3'), + ('libxml2', '2.11.5'), + ('netCDF', '4.9.2'), + ('PROJ', '9.3.1'), + ('Szip', '2.1.1'), + ('UDUNITS', '2.2.28'), + ('util-linux', '2.39'), +] + +# Build libcdi +configopts = "--enable-cdi-lib " + +# Use dependencies from EasyBuild +configopts += "--with-curl=$EBROOTCURL --with-eccodes=$EBROOTECCODES --with-fftw3 --with-hdf5=$EBROOTHDF5 " +configopts += "--with-netcdf=$EBROOTNETCDF --with-proj=$EBROOTPROJ --with-szlib=$EBROOTSZIP " +configopts += "--with-udunits2=$EBROOTUDUNITS --with-util-linux-uuid=$EBROOTUTILMINLINUX " + +# Make sure that right Fortran compiler is used, also on non-x86_64 architectures +configopts += 'CPPFLAGS="$CPPFLAGS -DgFortran" ' + +sanity_check_paths = { + 'files': ['bin/cdo', 'lib/libcdi.a', 'lib/libcdi.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = ["cdo --version 2>&1 | grep 'Climate Data Operators version %(version)s'"] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/c/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/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/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-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.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/CIRCE/CIRCE-0.3.4-foss-2023a.eb b/easybuild/easyconfigs/c/CIRCE/CIRCE-0.3.4-foss-2023a.eb new file mode 100644 index 00000000000..6a41b512096 --- /dev/null +++ b/easybuild/easyconfigs/c/CIRCE/CIRCE-0.3.4-foss-2023a.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'CIRCE' +version = '0.3.4' + +homepage = 'https://github.com/cantinilab/Circe' +description = """This repo contains a python package for inferring co-accessibility networks + from single-cell ATAC-seq data, using skggm for the graphical lasso and scanpy for data processing.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('poetry', '1.5.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('scikit-learn', '1.3.1'), + ('scanpy', '1.9.8'), +] + +use_pip = True +sanity_pip_check = True + +# Some requirements are too strict. +local_preinstallopts = """sed -i 's/pandas = "[^"]*"/pandas = "*"/g' pyproject.toml && """ +local_preinstallopts += """sed -i "s/'pandas>=[^']*'/'pandas'/g" setup.py && """ + +# build the C components linking `flexiblas` instead of `lapack` and `blas` +local_preinstallopts += """sed -i "s/lapack/flexiblas/g;s/, 'blas'//g" setup.py && """ +local_preinstallopts += """sed -i "s/lapack/flexiblas/g;/blas/d" pyquic_ext/pyquic.cpp && """ + +exts_list = [ + ('joblib', '1.4.2', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['06d478d5674cbc267e7496a410ee875abd68e4340feff4490bcb7afb88060ae6'], + }), + ('rich', '13.9.2', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['8c82a3d3f8dcfe9e734771313e606b39d8247bb6b826e196f4914b333b743cf1'], + }), + ('circe_py', version, { + 'preinstallopts': local_preinstallopts, + 'modulename': 'circe', + 'checksums': ['279004948dff84816361e857ee3fb383cdb17587f376c6f10f82a66810cba16c'], + }), +] + +# NOTE This has been tested manually using the following script: +# https://github.com/cantinilab/Circe/blob/a70e031f9de4760739eb3c7571277678d5e80c8a/Examples/Minimal_example.ipynb +# with a small modification: +# https://github.com/cantinilab/Circe/issues/5#issuecomment-2419821380 + +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/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/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/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/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/COLMAP/COLMAP-3.8-foss-2022b.eb b/easybuild/easyconfigs/c/COLMAP/COLMAP-3.8-foss-2022b.eb new file mode 100644 index 00000000000..1da3b634c94 --- /dev/null +++ b/easybuild/easyconfigs/c/COLMAP/COLMAP-3.8-foss-2022b.eb @@ -0,0 +1,45 @@ +easyblock = 'CMakeNinja' + +name = 'COLMAP' +version = '3.8' + +homepage = 'https://colmap.github.io' +description = """COLMAP is a general-purpose Structure-from-Motion (SfM) and Multi-View Stereo (MVS) pipeline +with a graphical and command-line interface""" + +source_urls = ['https://github.com/colmap/colmap/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['02288f8f61692fe38049d65608ed832b31246e7792692376afb712fa4cef8775'] + +toolchain = {'name': 'foss', 'version': '2022b'} + +builddependencies = [ + ('CMake', '3.24.3'), + ('Ninja', '1.11.1'), + ('Eigen', '3.4.0'), + ('googletest', '1.12.1'), +] + +dependencies = [ + ('Boost', '1.81.0'), + ('Qt5', '5.15.7'), + ('FLANN', '1.9.2'), + ('FreeImage', '3.18.0'), + ('METIS', '5.1.0'), + ('glog', '0.6.0'), + ('SQLite', '3.39.4'), + ('glew', '2.2.0', '-egl'), + ('CGAL', '5.5.2'), + ('Ceres-Solver', '2.2.0'), +] + +configopts = "-DCMAKE_CXX_STANDARD=17" + +sanity_check_paths = { + 'files': ['bin/colmap', 'lib/colmap/libcolmap.a', 'lib/colmap/libpba.a', 'lib/colmap/libvlfeat.a'], + 'dirs': ['include/colmap'], +} + +sanity_check_commands = ["colmap -h"] + +moduleclass = 'vis' 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/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-2023.1-foss-2023a.eb b/easybuild/easyconfigs/c/CP2K/CP2K-2023.1-foss-2023a.eb index d16e202463a..d9ace4b896b 100644 --- a/easybuild/easyconfigs/c/CP2K/CP2K-2023.1-foss-2023a.eb +++ b/easybuild/easyconfigs/c/CP2K/CP2K-2023.1-foss-2023a.eb @@ -25,11 +25,16 @@ builddependencies = [ dependencies = [ ('Libint', '2.7.2', '-lmax-6-cp2k'), ('libxc', '6.2.2'), - ('libxsmm', '1.17'), ('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' 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/CPPE/CPPE-0.3.1-GCC-12.3.0.eb b/easybuild/easyconfigs/c/CPPE/CPPE-0.3.1-GCC-12.3.0.eb new file mode 100644 index 00000000000..06b34618eb5 --- /dev/null +++ b/easybuild/easyconfigs/c/CPPE/CPPE-0.3.1-GCC-12.3.0.eb @@ -0,0 +1,49 @@ +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.3.0'} + +github_account = 'maxscheurer' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['38d4230ba3ace78936049c23ad4b1fe9e704fd250ec57cc9733cb3904b62cf7c'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('pybind11', '2.11.1'), +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, + 'sanity_pip_check': True, +} + +exts_list = [ + ('cppe', version, { + 'checksums': ['b0aef578d6919f8c103d4d4a9fcd3db481bd73c59c157985f52bf62477425d6c'], + }), +] + +sanity_check_paths = { + 'files': ['lib/libcppe.%s' % SHLIB_EXT], + 'dirs': ['include/cppe', 'lib/python%(pyshortver)s/site-packages', 'share/cmake'], +} + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CREST/CREST-2.12-gfbf-2023a.eb b/easybuild/easyconfigs/c/CREST/CREST-2.12-gfbf-2023a.eb new file mode 100644 index 00000000000..8c77a302032 --- /dev/null +++ b/easybuild/easyconfigs/c/CREST/CREST-2.12-gfbf-2023a.eb @@ -0,0 +1,41 @@ +# Author: Jasper Grimm (UoY) +# Update to 2.12: +# Author: J. Sassmannshausen (Imperial College London) + +easyblock = 'CMakeMake' + +name = 'CREST' +version = '2.12' + +homepage = 'https://xtb-docs.readthedocs.io/en/latest/crest.html' +description = """CREST is an utility/driver program for the xtb program. Originally it was designed + as conformer sampling program, hence the abbreviation Conformer–Rotamer Ensemble Sampling Tool, + but now offers also some utility functions for calculations with the GFNn–xTB methods. Generally + the program functions as an IO based OMP scheduler (i.e., calculations are performed by the xtb + program) and tool for the creation and analysation of structure ensembles. +""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} +toolchainopts = {'opt': True, 'optarch': True, 'extra_fflags': '-ffree-line-length-none'} + +github_account = 'grimme-lab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['390f0ac0aedafbd6bb75974fcffefe7e0232ad6c4ea0ab4f1a77e656a3ce263d'] + +builddependencies = [('CMake', '3.26.3')] + +dependencies = [('xtb', '6.6.1')] # required to run the program + +# Simple test command just to check if the program is working: +test_cmd = 'export PATH=%(builddir)s/easybuild_obj:$PATH && ' +test_cmd += 'cd %(builddir)s/%(namelower)s-%(version)s/examples/expl-0/ && ./run.sh ' + +sanity_check_paths = { + 'files': ['bin/%s' % name.lower()], + 'dirs': [], +} + +sanity_check_commands = ["crest -h", "crest --cite"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CREST/CREST-2.12-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-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/CREST/CREST-3.0.2-gfbf-2023b.eb b/easybuild/easyconfigs/c/CREST/CREST-3.0.2-gfbf-2023b.eb new file mode 100644 index 00000000000..9b7dd90fcf7 --- /dev/null +++ b/easybuild/easyconfigs/c/CREST/CREST-3.0.2-gfbf-2023b.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': 'gfbf', 'version': '2023b'} +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.27.6')] + +dependencies = [ + ('dftd4', '3.7.0'), + ('mctc-lib', '0.3.1'), + ('mstore', '0.3.0'), + ('multicharge', '0.3.0'), + ('xtb', '6.7.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/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-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.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/CSBLAST/CSBLAST-2.2.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..32a612768d4 --- /dev/null +++ b/easybuild/easyconfigs/c/CSBLAST/CSBLAST-2.2.4-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'MakeCp' + +name = 'CSBLAST' +version = '2.2.4' + +homepage = 'https://github.com/soedinglab/csblast/' +description = """Context-specific extension of BLAST that significantly improves sensitivity and alignment quality.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +github_account = 'soedinglab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['76848da4d45a618ae903cafc00ff6387e7decb17b839aca83d9a9438537edf0d'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('sparsehash', '2.0.4'), +] + +start_dir = 'src' + +build_cmd_targets = 'csblast csbuild' + +buildopts = 'FLAGS="-fpermissive -std=c++11" ' + +files_to_copy = ['bin', 'data', 'LICENSE', 'README_CSBLAST'] + +sanity_check_paths = { + 'files': ['bin/csblast', 'bin/csbuild', 'data/K4000.crf', 'data/K4000.lib'], + 'dirs': ['bin', 'data'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CUDA-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 index b71d2bfad4d..ad7b6aba80b 100644 --- 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 @@ -11,7 +11,11 @@ toolchain = {'name': 'GCC', 'version': '10.3.0'} source_urls = ['https://github.com/NVIDIA/cuda-samples/archive/'] sources = ['v%(version)s.tar.gz'] -checksums = ['2bee5f7c89347259aaab75aa6df6e10375059bdbbaf04cc7936f5db7d54fa3ac'] +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), @@ -32,7 +36,7 @@ local_filters += "Samples/simpleVulkan/Makefile " local_filters += "Samples/simpleVulkanMMAP/Makefile " local_filters += "Samples/streamOrderedAllocationIPC/Makefile " local_filters += "Samples/vulkanImageCUDA/Makefile" -buildopts = "HOST_COMPILER=g++ FILTER_OUT='%s'" % local_filters +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'), 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 index d4240930bd1..ea78eae4061 100644 --- 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 @@ -11,7 +11,11 @@ toolchain = {'name': 'GCC', 'version': '11.3.0'} source_urls = ['https://github.com/NVIDIA/cuda-samples/archive/'] sources = ['v%(version)s.tar.gz'] -checksums = ['75b858bcf9e534eaa0f129c418e661b83872d743de218df8a5278cc429f9ea98'] +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), @@ -33,7 +37,7 @@ local_filters += "Samples/simpleVulkanMMAP/Makefile " local_filters += "Samples/streamOrderedAllocationIPC/Makefile " local_filters += "Samples/vulkanImageCUDA/Makefile" -buildopts = "HOST_COMPILER=g++ FILTER_OUT='%s'" % local_filters +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'), 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 index 3e7ffe79da0..5a886ca74d4 100644 --- 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 @@ -11,7 +11,11 @@ toolchain = {'name': 'GCC', 'version': '12.3.0'} source_urls = ['https://github.com/NVIDIA/cuda-samples/archive/'] sources = ['v%(version)s.tar.gz'] -checksums = ['f758160645b366d79c2638d8dfd389f01029b8d179ab0c11726b9ef58aecebd9'] +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), @@ -58,7 +62,7 @@ if ARCH == 'aarch64': local_filters += "Samples/3_CUDA_Features/cdpQuadtree/Makefile " local_filters += "Samples/3_CUDA_Features/cdpAdvancedQuicksort/Makefile " -buildopts = "HOST_COMPILER=g++ FILTER_OUT='%s'" % local_filters +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.*" 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-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/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-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-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/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.3.1-foss-2022a.eb b/easybuild/easyconfigs/c/CVXOPT/CVXOPT-1.3.1-foss-2022a.eb index 9bac0454227..2c32ff36414 100644 --- a/easybuild/easyconfigs/c/CVXOPT/CVXOPT-1.3.1-foss-2022a.eb +++ b/easybuild/easyconfigs/c/CVXOPT/CVXOPT-1.3.1-foss-2022a.eb @@ -32,8 +32,15 @@ use_pip = True sanity_pip_check = True download_dep_fail = 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' +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' diff --git a/easybuild/easyconfigs/c/CVXPY/CVXPY-1.4.2-foss-2023a.eb b/easybuild/easyconfigs/c/CVXPY/CVXPY-1.4.2-foss-2023a.eb new file mode 100644 index 00000000000..c250eee145d --- /dev/null +++ b/easybuild/easyconfigs/c/CVXPY/CVXPY-1.4.2-foss-2023a.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonBundle' + +name = 'CVXPY' +version = '1.4.2' + +homepage = 'https://www.cvxpy.org/' +description = """ +CVXPY is a Python-embedded modeling language for convex optimization problems. +It allows you to express your problem in a natural way that follows the math, +rather than in the restrictive standard form required by solvers. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('CMake', '3.26.3'), + ('SWIG', '4.1.1'), + ('meson-python', '0.15.0'), # for csc +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Clarabel.rs', '0.7.1'), +] + +use_pip = True + +exts_list = [ + ('qdldl', '0.1.7.post0', { + 'checksums': ['f346a114c8342ee6d4dbd6471eef314199fb268d3bf7b95885ca351fde2b023f'], + }), + ('osqp', '0.6.5', { + 'checksums': ['b2810aee7be2373add8b6c0be5ad99b810288774abca421751cb032d6a5aedef'], + }), + ('ecos', '2.0.13', { + 'checksums': ['f2a9dc108ade7faf6f6f4fad245f4714b7293c8767d2a351ead59428a94a98b9'], + }), + ('scs', '3.2.4.post1', { + 'checksums': ['7015d7a56d1d5b53264fd277289ea169949309e26101677ff88cd0e5030d032f'], + }), + ('cvxpy', version, { + 'checksums': ['0a386a5788dbd78b7b20dd071524ec636c8fa72b3628e69f1abc714c8f9811e5'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/c/CalculiX-CrunchiX/CalculiX-CrunchiX-2.20-foss-2023a.eb b/easybuild/easyconfigs/c/CalculiX-CrunchiX/CalculiX-CrunchiX-2.20-foss-2023a.eb new file mode 100644 index 00000000000..4f246716c09 --- /dev/null +++ b/easybuild/easyconfigs/c/CalculiX-CrunchiX/CalculiX-CrunchiX-2.20-foss-2023a.eb @@ -0,0 +1,50 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'MakeCp' + +name = 'CalculiX-CrunchiX' +version = '2.20' + +homepage = 'http://www.calculix.de' +description = 'A Free Software Three-Dimensional Structural Finite Element Program' + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['http://www.dhondt.de'] +sources = ['ccx_%(version)s.src.tar.bz2'] +patches = ['CalculiX-CrunchiX-2.20_improve-makefile.patch'] +checksums = [ + {'ccx_2.20.src.tar.bz2': '63bf6ea09e7edcae93e0145b1bb0579ea7ae82e046f6075a27c8145b72761bcf'}, + {'CalculiX-CrunchiX-2.20_improve-makefile.patch': + 'ada15598029d231f804f61d959ce91e2bb3a58749fe5955398f42fbe87dc970c'}, +] + +builddependencies = [ + ('Perl', '5.36.1'), +] + +dependencies = [ + ('arpack-ng', '3.9.0'), + ('SPOOLES', '2.2'), +] + +start_dir = 'CalculiX/ccx_%(version)s/src' + +prebuildopts = 'CFLAGS="$CFLAGS $CPPFLAGS" FFLAGS="$FFLAGS -fallow-argument-mismatch"' +buildopts = 'SPOOLES_INC_DIR="$EBROOTSPOOLES/include/spooles"' + +files_to_copy = [(['ccx_%(version)s'], 'bin')] + +postinstallcmds = ['cd %(installdir)s/bin && ln -sf ccx_%(version)s ccx'] + +sanity_check_paths = { + 'files': ['bin/ccx'], + 'dirs': [], +} + +sanity_check_commands = [ + # ccx {,-v} exit with code 201 + "ccx | grep 'Usage: CalculiX.exe -i jobname'", + "ccx -v | grep 'Version %(version)s'", +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/c/Cartopy/Cartopy-0.22.0-foss-2023a.eb b/easybuild/easyconfigs/c/Cartopy/Cartopy-0.22.0-foss-2023a.eb index 9dfe231d9e6..73fc95af612 100644 --- a/easybuild/easyconfigs/c/Cartopy/Cartopy-0.22.0-foss-2023a.eb +++ b/easybuild/easyconfigs/c/Cartopy/Cartopy-0.22.0-foss-2023a.eb @@ -16,7 +16,7 @@ dependencies = [ # sufficiently recent Cython is required, to fix issues like: # pykdtree/kdtree.c:2437:76: error: PyArrayObject {aka struct tagPyArrayObject} has no member named data # Cython included with Python-bundle-PyPI (0.29.35) is not sufficient - ('Cython', '3.0.7'), + ('Cython', '3.0.8'), ('Fiona', '1.9.5'), ('GDAL', '3.7.1'), ('GEOS', '3.12.0'), 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..bdcee918b8b --- /dev/null +++ b/easybuild/easyconfigs/c/Cassiopeia/Cassiopeia-2.0.0-foss-2023a.eb @@ -0,0 +1,127 @@ +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'), + ('hatchling', '1.18.0'), + ('hatch-jupyter-builder', '0.9.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'), + ('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 = [ + ('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/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/Cbc/Cbc-2.10.11-foss-2023a.eb b/easybuild/easyconfigs/c/Cbc/Cbc-2.10.11-foss-2023a.eb new file mode 100644 index 00000000000..1f52c6bdfc2 --- /dev/null +++ b/easybuild/easyconfigs/c/Cbc/Cbc-2.10.11-foss-2023a.eb @@ -0,0 +1,63 @@ +easyblock = "ConfigureMake" + +name = 'Cbc' +version = '2.10.11' + +homepage = "https://github.com/coin-or/Cbc" +description = """Cbc (Coin-or branch and cut) is an open-source mixed integer linear programming +solver written in C++. It can be used as a callable library or using a +stand-alone executable.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/coin-or/Cbc/archive/refs/tags/releases'] +sources = ['%(version)s.tar.gz'] +checksums = ['1fb591dd88336fdaf096b8e42e46111e41671a5eb85d4ee36e45baff1678bd33'] + +builddependencies = [ + ('Autotools', '20220317'), + ('Doxygen', '1.9.7'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('METIS', '5.1.0'), + ('MUMPS', '5.6.1', '-metis'), + ('CoinUtils', '2.11.10'), + ('Osi', '0.108.9'), + ('Clp', '1.17.9'), + ('Cgl', '0.60.8'), + ('bzip2', '1.0.8'), + ('zlib', '1.2.13'), +] + +# Use BLAS/LAPACK from toolchain +configopts = '--with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK" ' +# Use METIS AND MUMPS from EB +configopts += '--with-metis-lib="-lmetis" ' +configopts += '--with-mumps-lib="-lcmumps -ldmumps -lsmumps -lzmumps -lmumps_common -lpord" ' +# Disable GLPK, dependencies have to be built with it as well +configopts += '--without-glpk ' +# Use CoinUtils from EB +configopts += '--with-coinutils-lib="-lCoinUtils" ' +configopts += '--with-coinutils-datadir=$EBROOTCOINUTILS/share/coin/Data ' +# Use Clp from EB +configopts += '--with-clp-lib="-lOsiClp -lClpSolver -lClp" ' +configopts += '--with-clp-datadir=$EBROOTCLP/share/coin/Data ' +# Use Osi from EB (also needs links to Clp due to OsiClpSolver) +configopts += '--with-osi-lib="-lOsiClp -lClpSolver -lClp -lOsi" ' +configopts += '--with-osi-datadir=$EBROOTOSI/share/coin/Data ' +# Use Cgl from EB +configopts += '--with-cgl-lib="-lCgl" ' +configopts += '--with-cgl-datadir=$EBROOTCGL/share/coin/Data ' + +sanity_check_paths = { + 'files': ['bin/cbc'] + ['lib/lib%s.%s' % (x, SHLIB_EXT) for x in ['Cbc', 'CbcSolver', 'OsiCbc']], + 'dirs': ['include/coin', 'lib/pkgconfig', 'share/coin'] +} + +# other coin-or projects expect instead of +modextrapaths = {'CPATH': 'include/coin'} + +moduleclass = "math" diff --git a/easybuild/easyconfigs/c/CellBender/CellBender-0.2.1-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/c/CellBender/CellBender-0.2.1-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..3203da29108 --- /dev/null +++ b/easybuild/easyconfigs/c/CellBender/CellBender-0.2.1-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,62 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'CellBender' +version = '0.2.1' +versionsuffix = '-CUDA-%(cudaver)s' +local_pytorch_version = '1.10.0' + +homepage = 'https://github.com/broadinstitute/CellBender' +description = """CellBender is a software package for eliminating technical +artifacts from high-throughput single-cell RNA sequencing (scRNA-seq) data""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('scikit-learn', '0.24.2'), + ('matplotlib', '3.4.2'), + ('PyTables', '3.6.1'), + ('CUDA', '11.3.1', '', SYSTEM), + ('PyTorch', local_pytorch_version, '-CUDA-%(cudaver)s'), + ('torchvision', '0.11.3', '-CUDA-%(cudaver)s'), + ('pyro-ppl', '1.8.0', '-CUDA-%(cudaver)s'), + ('h5py', '3.2.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('natsort', '7.1.1', { + 'checksums': ['00c603a42365830c4722a2eb7663a25919551217ec09a243d3399fa8dd4ac403'], + }), + ('anndata', '0.8.0', { + 'checksums': ['94d2cc6f76c0317c0ac28564e3092b313b7ad19c737d66701961f3e620b9066e'], + }), + (name, version, { + 'source_urls': ['https://github.com/broadinstitute/CellBender/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'patches': ['CellBender-0.2.1-sphinxremoval.patch'], + 'checksums': [ + {'v%(version)s.tar.gz': + '309f6245585d9741ba7099690a10a8f496756c4827d100100130be589b797ba4'}, + {'CellBender-0.2.1-sphinxremoval.patch': + '0f6a342bac16f4ee80cd05d43923b4cc60d71999ea1bb5c80a75edb7290bbdec'}, + ], + }), +] + +sanity_check_paths = { + 'files': ['bin/cellbender', 'bin/natsort'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "natsort --help", + "cellbender -h", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CellBender/CellBender-0.2.1-sphinxremoval.patch b/easybuild/easyconfigs/c/CellBender/CellBender-0.2.1-sphinxremoval.patch new file mode 100644 index 00000000000..0241bc74128 --- /dev/null +++ b/easybuild/easyconfigs/c/CellBender/CellBender-0.2.1-sphinxremoval.patch @@ -0,0 +1,15 @@ +Removes Sphinx from the build as it is not required +Author: J. Sassmannshausen (Imperial College London/UK) +diff --git a/CellBender-0.2.1.orig/REQUIREMENTS.txt b/CellBender-0.2.1/REQUIREMENTS.txt +index 535e3e7..0646183 100644 +--- a/CellBender-0.2.1.orig/REQUIREMENTS.txt ++++ b/CellBender-0.2.1/REQUIREMENTS.txt +@@ -6,8 +6,3 @@ pandas + pyro-ppl>=0.3.2 + scikit-learn + matplotlib +-sphinx>=2.1 +-sphinx-rtd-theme +-sphinx-autodoc-typehints +-sphinxcontrib-programoutput +-sphinx-argparse diff --git a/easybuild/easyconfigs/c/CellBender/CellBender-0.3.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/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.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/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-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/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.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/Cellformer/Cellformer-20240917-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/c/Cellformer/Cellformer-20240917-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..67df72c221f --- /dev/null +++ b/easybuild/easyconfigs/c/Cellformer/Cellformer-20240917-foss-2023a-R-4.3.2.eb @@ -0,0 +1,186 @@ +easyblock = 'Tarball' + +name = 'Cellformer' +version = '20240917' +versionsuffix = '-R-%(rver)s' +local_commit = '99a1165' + +homepage = 'https://github.com/elo-nsrb/Cellformer' +description = '''An implementation of Cellformer from our publication: Berson et al. + "Whole genome deconvolution unveils Alzheimer’s resilient epigenetic signature"''' + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/elo-nsrb/Cellformer/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': '%(name)s-%(version)s.tar.gz'}] +checksums = ['7cbddad75a4d47dfc0a39cd660ef20fe4e3cb755631b1b96136c1c3d5226c914'] + +dependencies = [ + ('Python', '3.11.3'), + ('PyTorch', '2.1.2'), + ('PyTorch-bundle', '2.1.2'), + ('scikit-learn', '1.3.1'), + ('PyTorch-Lightning', '2.2.1'), + ('anndata', '0.10.5.post1'), + ('h5py', '3.9.0'), + ('SciPy-bundle', '2023.07'), + ('Seaborn', '0.13.2'), + ('tensorboard', '2.15.1'), + ('tensorboardX', '2.6.2.2'), + ('torchvision', '0.16.0'), + ('tqdm', '4.66.1'), + ('scanpy', '1.9.8'), + ('pretty-yaml', '24.7.0'), + ('Arrow', '14.0.1'), + ('R', '4.3.2'), + ('R-bundle-CRAN', '2023.12'), + ('R-bundle-Bioconductor', '3.18', versionsuffix), + ('ArchR', '1.0.2', versionsuffix), + ('typing-extensions', '4.9.0'), + ('einops', '0.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 = [ + ('asteroid_filterbanks', '0.4.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['4932ac8b6acc6e08fb87cbe8ece84215b5a74eee284fe83acf3540a72a02eaf5'], + }), + ('huggingface_hub', '0.25.2', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['1897caf88ce7f97fe0110603d8f66ac264e3ba6accdf30cd66cc0fed5282ad25'], + }), + ('julius', '0.2.7', { + 'checksums': ['3c0f5f5306d7d6016fcc95196b274cae6f07e2c9596eed314e4e7641554fbb08'], + }), + ('cached_property', '1.5.2', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['df4f613cf7ad9a588cc381aaf4a512d26265ecebd5eb9e1ba12f1319eb85a6a0'], + }), + ('mir_eval', '0.7', { + 'checksums': ['e1febaa5766c65a7545c2a170b241490f47a98987370b1e06742424c5debe65e'], + }), + ('pesq', '0.0.4', { + 'checksums': ['b724b28f73fb638522982bd68e8c3c0957e2f45210639a460233b17aa7fc890b'], + }), + ('pb_bss_eval', '0.0.2', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['a72c2fd04c9f4a4e734cf615029c3877e6e4536225eeaaae05bb0cf014b3af1b'], + }), + ('soundfile', '0.12.1', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['828a79c2e75abab5359f780c81dccd4953c45a2c4cd4f05ba3e233ddf984b882'], + }), + ('pytorch_ranger', '0.1.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['1e69156c9cc8439185cb8ba4725b18c91947fbe72743e25aca937da8aeb0c8ec'], + }), + ('torch_optimizer', '0.1.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['b7adaed38b66a5c5105a59b30a71c4ab7c9954baf0acabd969fee3dac954657d'], + }), + ('pystoi', '0.4.1', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['e277b671663d26d35a2416c9c8010a74084e6c3970354506398051a554896939'], + }), + ('torch_stoi', '0.2.3', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['6eee85e33b42fe843a2150de46000f72e7b87cbeb19ae6ab9bbd94b6ec6b3cd2'], + }), + ('torchmetrics', '1.4.3', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['76e67490231acef7f70cf36ab129df72fb2b0256dada7051001ab3b9f8699bf4'], + }), + ('asteroid', '0.7.0', { + # requirement too strict + 'preinstallopts': "sed -i 's/torchmetrics<=0.11.4/torchmetrics/g' setup.py && ", + 'checksums': ['0326f28c5342495cb08ba0520efd0e21e39435dfd78854837fdd5a6c9c9ca410'], + }), + ('everett', '3.1.0', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['db13891b849e45e54faea93ee79881d12458c5378f5b9b7f806eeff03ce1de3c'], + }), + ('configobj', '5.0.9', { + 'checksums': ['03c881bbf23aa07bccf1b837005975993c4ab4427ba57f959afdd9d1a2386848'], + }), + ('python_box', '6.1.0', { + 'modulename': 'box', + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['bdec0a5f5a17b01fc538d292602a077aa8c641fb121e1900dff0591791af80e8'], + }), + ('sentry_sdk', '2.15.0', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['8fb0d1a4e1a640172f31502e4503543765a1fe8a9209779134a4ac52d4677303'], + }), + ('wurlitzer', '3.1.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['0b2749c2cde3ef640bf314a9f94b24d929fe1ca476974719a6909dfc568c3aac'], + }), + ('comet_ml', '3.47.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['81062bbef2d0758c8e77d8a469824d2c20ec13b09855c78b51b078203628b8c2'], + }), + ('fast_histogram', '0.14', { + 'checksums': ['390973b98af22bda85c29dcf6f008ba0d626321e9bd3f5a9d7a43e5690ea69ea'], + }), + ('mpl_scatter_density', '0.7', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['721b4efeafcbc0ba4a5c1ecd8f401dc2d1aa6a372445c5b49e1da34e70a95ead'], + }), + ('tensorboard_data_server', '0.7.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['753d4214799b31da7b6d93837959abebbc6afa86e69eacf1e9a317a48daa31eb'], + }), + ('tensorboard_plugin_wit', '1.8.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe'], + }), + ('torchmetrics', '1.4.2', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['87b9eca51ff6f93985a0f9db509f646cb45425b016f4d2f383d8c28d40dde5b6'], + }), + ('torchmetrics', '0.11.4', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['45f892f3534e91f3ad9e2488d1b05a93b7cb76b7d037969435a41a1f24750d9a'], + }), +] + +modextrapaths = { + 'PATH': '', + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', +} + +fix_python_shebang_for = [ + 'src/*/*.py', + 'src/*/*/*.py', + 'src/*/*/*/*.py', +] + +local_scripts = [ + 'createPeakMatrix.sh', + 'createDataset.sh', + 'deconvolution.sh', + 'trainModel.sh', + 'validation.sh', +] + +postinstallcmds = [ + "sed -i 's|python |python %(installdir)s/|g' %(installdir)s/*.sh" +] + ['chmod a+rx %%(installdir)s/%s' % script for script in local_scripts] + +sanity_check_paths = { + 'files': local_scripts, + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["%s --help | grep '^Usage:'" % script for script in local_scripts] + +moduleclass = 'bio' 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 index d0f93dfe418..feace92583f 100644 --- 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 @@ -27,10 +27,17 @@ dependencies = [ ('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'], @@ -47,6 +54,10 @@ exts_list = [ ('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 && ", 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 index ccb478c890b..90f73c6aef8 100644 --- a/easybuild/easyconfigs/c/Cellpose/Cellpose-2.2.2-foss-2022a.eb +++ b/easybuild/easyconfigs/c/Cellpose/Cellpose-2.2.2-foss-2022a.eb @@ -25,10 +25,17 @@ dependencies = [ ('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'], @@ -45,6 +52,10 @@ exts_list = [ ('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 && ", diff --git a/easybuild/easyconfigs/c/Ceres-Solver/Ceres-Solver-2.2.0-foss-2022b.eb b/easybuild/easyconfigs/c/Ceres-Solver/Ceres-Solver-2.2.0-foss-2022b.eb new file mode 100644 index 00000000000..e0adc9dd257 --- /dev/null +++ b/easybuild/easyconfigs/c/Ceres-Solver/Ceres-Solver-2.2.0-foss-2022b.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'Ceres-Solver' +version = '2.2.0' + +homepage = 'http://ceres-solver.org' +description = """Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization +problems""" + +source_urls = ['http://ceres-solver.org/'] +sources = ['ceres-solver-%(version)s.tar.gz'] +checksums = ['48b2302a7986ece172898477c3bcd6deb8fb5cf19b3327bc49969aad4cede82d'] + +toolchain = {'name': 'foss', 'version': '2022b'} + +builddependencies = [ + ('CMake', '3.24.3'), + ('Eigen', '3.4.0'), +] + +dependencies = [ + ('glog', '0.6.0'), + ('gflags', '2.2.2'), + ('SuiteSparse', '5.13.0', '-METIS-5.1.0'), +] + +sanity_check_paths = { + 'files': ['lib/libceres.a'], + 'dirs': ['include/ceres', 'lib/cmake/Ceres'], +} + +moduleclass = 'lib' 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/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.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.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/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/Circlator/Circlator-1.5.5-foss-2023a.eb b/easybuild/easyconfigs/c/Circlator/Circlator-1.5.5-foss-2023a.eb new file mode 100644 index 00000000000..b36cc096ba7 --- /dev/null +++ b/easybuild/easyconfigs/c/Circlator/Circlator-1.5.5-foss-2023a.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'Circlator' +version = '1.5.5' + +homepage = 'https://github.com/sanger-pathogens/circlator/' +description = """A tool to circularize genome assemblies.s""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('openpyxl', '3.1.2'), + ('Fastaq', '3.17.0'), + ('Pysam', '0.22.0'), + ('MUMmer', '4.0.0rc1'), + ('BWA', '0.7.17'), + ('prodigal', '2.6.3'), + ('SPAdes', '3.15.4'), + ('AMOS', '3.1.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pymummer', '0.11.0', { + 'checksums': ['199b8391348ff83760e9f63fdcee6208f8aa29da6506ee1654f1933e60665259'], + }), + (name, version, { + 'sources': ['circlator-%(version)s.tar.gz'], + 'checksums': ['d3bfa12c4f9d4489331c42331a7765719af0c7a2aca7aa860dc996e27edd671a'], + }), +] + +sanity_check_paths = { + 'files': ['bin/circlator'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "circlator progcheck", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/Clang-Python-bindings/Clang-Python-bindings-16.0.6-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/Clang-Python-bindings/Clang-Python-bindings-16.0.6-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..bc314d248f8 --- /dev/null +++ b/easybuild/easyconfigs/c/Clang-Python-bindings/Clang-Python-bindings-16.0.6-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'Tarball' + +name = 'Clang-Python-bindings' +version = '16.0.6' + +homepage = 'https://clang.llvm.org' +description = """Python bindings for libclang""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s/"] +sources = ['clang-%(version)s.src.tar.xz'] +checksums = ['1186b6e6eefeadd09912ed73b3729e85b59f043724bb2818a95a2ec024571840'] + +dependencies = [ + ('Clang', version), + ('Python', '3.11.3') +] + +start_dir = 'bindings/python' + +sanity_check_paths = { + 'files': ['clang/cindex.py'], + 'dirs': ['clang'] +} + +sanity_check_commands = ["python -c 'import clang'"] + +modextrapaths = {'PYTHONPATH': ''} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/Clang/Clang-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-9.0.1-GCC-8.3.0-CUDA-10.1.243.eb b/easybuild/easyconfigs/c/Clang/Clang-9.0.1-GCC-8.3.0-CUDA-10.1.243.eb index ef88ee09de0..0d34b0ee01f 100644 --- a/easybuild/easyconfigs/c/Clang/Clang-9.0.1-GCC-8.3.0-CUDA-10.1.243.eb +++ b/easybuild/easyconfigs/c/Clang/Clang-9.0.1-GCC-8.3.0-CUDA-10.1.243.eb @@ -36,7 +36,7 @@ sources = [ 'libcxx-%(version)s.src.tar.xz', 'libcxxabi-%(version)s.src.tar.xz', ] -patches = ['libcxx-%(version)s-ppc64le.patch'] +patches = [('libcxx-%(version)s-ppc64le.patch', '../')] checksums = [ '00a1ee1f389f81e9979f3a640a01c431b3021de0d42278f6508391a2f0b81c9a', # llvm-9.0.1.src.tar.xz '5778512b2e065c204010f88777d44b95250671103e434f9dc7363ab2e3804253', # clang-9.0.1.src.tar.xz @@ -46,7 +46,7 @@ checksums = [ '86262bad3e2fd784ba8c5e2158d7aa36f12b85f2515e95bc81d65d75bb9b0c82', # lld-9.0.1.src.tar.xz '0981ff11b862f4f179a13576ab0a2f5530f46bd3b6b4a90f568ccc6a62914b34', # libcxx-9.0.1.src.tar.xz 'e8f978aa4cfae2d7a0b4d89275637078557cca74b35c31b7283d4786948a8aac', # libcxxabi-9.0.1.src.tar.xz - '6a39230b9e2b2c61fb5f67ac752d256437ccc56a6a517d7b6d53417d198fdb1f', # libcxx-9.0.1-ppc64le.patch + '01d2a16fe69854c0126a8adb4762a455cc6bf1f70003cb8b685e446a66a9aa51', # libcxx-9.0.1-ppc64le.patch ] dependencies = [ diff --git a/easybuild/easyconfigs/c/Clang/Clang-9.0.1-GCCcore-8.3.0.eb b/easybuild/easyconfigs/c/Clang/Clang-9.0.1-GCCcore-8.3.0.eb index f9e2e51d164..207b6260193 100644 --- a/easybuild/easyconfigs/c/Clang/Clang-9.0.1-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/c/Clang/Clang-9.0.1-GCCcore-8.3.0.eb @@ -33,7 +33,7 @@ sources = [ 'libcxx-%(version)s.src.tar.xz', 'libcxxabi-%(version)s.src.tar.xz', ] -patches = ['libcxx-%(version)s-ppc64le.patch'] +patches = [('libcxx-%(version)s-ppc64le.patch', '../')] checksums = [ '00a1ee1f389f81e9979f3a640a01c431b3021de0d42278f6508391a2f0b81c9a', # llvm-9.0.1.src.tar.xz '5778512b2e065c204010f88777d44b95250671103e434f9dc7363ab2e3804253', # clang-9.0.1.src.tar.xz @@ -43,7 +43,7 @@ checksums = [ '86262bad3e2fd784ba8c5e2158d7aa36f12b85f2515e95bc81d65d75bb9b0c82', # lld-9.0.1.src.tar.xz '0981ff11b862f4f179a13576ab0a2f5530f46bd3b6b4a90f568ccc6a62914b34', # libcxx-9.0.1.src.tar.xz 'e8f978aa4cfae2d7a0b4d89275637078557cca74b35c31b7283d4786948a8aac', # libcxxabi-9.0.1.src.tar.xz - '6a39230b9e2b2c61fb5f67ac752d256437ccc56a6a517d7b6d53417d198fdb1f', # libcxx-9.0.1-ppc64le.patch + '01d2a16fe69854c0126a8adb4762a455cc6bf1f70003cb8b685e446a66a9aa51', # libcxx-9.0.1-ppc64le.patch ] dependencies = [ diff --git a/easybuild/easyconfigs/c/Clang/Clang-9.0.1-GCCcore-9.3.0.eb b/easybuild/easyconfigs/c/Clang/Clang-9.0.1-GCCcore-9.3.0.eb index 434dfe35415..097cc871651 100644 --- a/easybuild/easyconfigs/c/Clang/Clang-9.0.1-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/c/Clang/Clang-9.0.1-GCCcore-9.3.0.eb @@ -33,7 +33,7 @@ sources = [ 'libcxx-%(version)s.src.tar.xz', 'libcxxabi-%(version)s.src.tar.xz', ] -patches = ['libcxx-%(version)s-ppc64le.patch'] +patches = [('libcxx-%(version)s-ppc64le.patch', '../')] checksums = [ '00a1ee1f389f81e9979f3a640a01c431b3021de0d42278f6508391a2f0b81c9a', # llvm-9.0.1.src.tar.xz '5778512b2e065c204010f88777d44b95250671103e434f9dc7363ab2e3804253', # clang-9.0.1.src.tar.xz @@ -43,7 +43,7 @@ checksums = [ '86262bad3e2fd784ba8c5e2158d7aa36f12b85f2515e95bc81d65d75bb9b0c82', # lld-9.0.1.src.tar.xz '0981ff11b862f4f179a13576ab0a2f5530f46bd3b6b4a90f568ccc6a62914b34', # libcxx-9.0.1.src.tar.xz 'e8f978aa4cfae2d7a0b4d89275637078557cca74b35c31b7283d4786948a8aac', # libcxxabi-9.0.1.src.tar.xz - '6a39230b9e2b2c61fb5f67ac752d256437ccc56a6a517d7b6d53417d198fdb1f', # libcxx-9.0.1-ppc64le.patch + '01d2a16fe69854c0126a8adb4762a455cc6bf1f70003cb8b685e446a66a9aa51', # libcxx-9.0.1-ppc64le.patch ] dependencies = [ diff --git a/easybuild/easyconfigs/c/Clang/libcxx-9.0.1-ppc64le.patch b/easybuild/easyconfigs/c/Clang/libcxx-9.0.1-ppc64le.patch index b827d9c5ce9..cbf55ee91be 100644 --- a/easybuild/easyconfigs/c/Clang/libcxx-9.0.1-ppc64le.patch +++ b/easybuild/easyconfigs/c/Clang/libcxx-9.0.1-ppc64le.patch @@ -2,8 +2,8 @@ Reverse the if def order. Patch from https://bugs.llvm.org/show_bug.cgi?id=39696 Prepared for EasyBuild by Simon Branford, University of Birmingham diff --git a/libcxx/include/thread b/libcxx/include/thread index 02da703..d1677a1 100644 ---- a/projects/libcxx/include/thread -+++ b/projects/libcxx/include/thread +--- a/libcxx-9.0.1.src/include/thread ++++ b/libcxx-9.0.1.src/include/thread @@ -368,9 +368,9 @@ sleep_for(const chrono::duration<_Rep, _Period>& __d) { #if defined(_LIBCPP_COMPILER_GCC) && (__powerpc__ || __POWERPC__) diff --git a/easybuild/easyconfigs/c/Clarabel.rs/Clarabel.rs-0.7.1-gfbf-2023a.eb b/easybuild/easyconfigs/c/Clarabel.rs/Clarabel.rs-0.7.1-gfbf-2023a.eb new file mode 100644 index 00000000000..32eea7ff16f --- /dev/null +++ b/easybuild/easyconfigs/c/Clarabel.rs/Clarabel.rs-0.7.1-gfbf-2023a.eb @@ -0,0 +1,383 @@ +easyblock = 'CargoPythonPackage' + +name = 'Clarabel.rs' +version = '0.7.1' + +homepage = "https://github.com/oxfordcontrol/Clarabel.rs" +description = "Interior-point solver for convex conic optimisation problems in Rust." + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +builddependencies = [ + ('maturin', '1.4.0', '-Rust-1.75.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +crates = [ + ('clarabel', version), + ('accelerate-src', '0.3.2'), + ('addr2line', '0.19.0'), + ('adler', '1.0.2'), + ('amd', '0.2.2'), + ('anyhow', '1.0.70'), + ('autocfg', '1.1.0'), + ('backtrace', '0.3.67'), + ('base64', '0.13.1'), + ('base64', '0.21.0'), + ('bitflags', '1.3.2'), + ('blas', '0.22.0'), + ('blas-src', '0.9.0'), + ('blas-sys', '0.7.1'), + ('cc', '1.0.79'), + ('cfg-if', '0.1.10'), + ('cfg-if', '1.0.0'), + ('cmake', '0.1.50'), + ('core-foundation', '0.9.3'), + ('core-foundation-sys', '0.8.4'), + ('crc32fast', '1.3.2'), + ('curl', '0.4.44'), + ('curl-sys', '0.4.61+curl-8.0.1'), + ('darling', '0.14.1'), + ('darling_core', '0.14.1'), + ('darling_macro', '0.14.1'), + ('derive_builder', '0.11.2'), + ('derive_builder_core', '0.11.2'), + ('derive_builder_macro', '0.11.2'), + ('dirs', '2.0.2'), + ('dirs', '3.0.2'), + ('dirs-sys', '0.3.7'), + ('either', '1.8.1'), + ('enum_dispatch', '0.3.11'), + ('errno', '0.3.1'), + ('errno-dragonfly', '0.1.2'), + ('failure', '0.1.8'), + ('failure_derive', '0.1.8'), + ('fastrand', '1.9.0'), + ('filetime', '0.2.21'), + ('flate2', '1.0.25'), + ('fnv', '1.0.7'), + ('foreign-types', '0.3.2'), + ('foreign-types-shared', '0.1.1'), + ('form_urlencoded', '1.1.0'), + ('getrandom', '0.2.9'), + ('gimli', '0.27.2'), + ('glob', '0.3.1'), + ('heck', '0.4.1'), + ('hermit-abi', '0.3.1'), + ('ident_case', '1.0.1'), + ('idna', '0.3.0'), + ('indoc', '2.0.4'), + ('instant', '0.1.12'), + ('intel-mkl-src', '0.5.0'), + ('intel-mkl-tool', '0.1.0'), + ('io-lifetimes', '1.0.10'), + ('itertools', '0.9.0'), + ('itertools', '0.11.0'), + ('itoa', '1.0.3'), + ('jobserver', '0.1.26'), + ('lapack', '0.19.0'), + ('lapack-src', '0.9.0'), + ('lapack-sys', '0.14.0'), + ('lazy_static', '1.4.0'), + ('libc', '0.2.149'), + ('libz-sys', '1.1.8'), + ('linux-raw-sys', '0.3.4'), + ('lock_api', '0.4.7'), + ('log', '0.4.17'), + ('memchr', '2.5.0'), + ('memoffset', '0.9.0'), + ('miniz_oxide', '0.6.2'), + ('native-tls', '0.2.11'), + ('netlib-src', '0.8.0'), + ('num-complex', '0.4.5'), + ('num-derive', '0.2.5'), + ('num-traits', '0.2.18'), + ('object', '0.30.3'), + ('once_cell', '1.18.0'), + ('openblas-build', '0.10.8'), + ('openblas-src', '0.10.8'), + ('openssl', '0.10.52'), + ('openssl-macros', '0.1.0'), + ('openssl-probe', '0.1.5'), + ('openssl-sys', '0.9.87'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.3'), + ('percent-encoding', '2.2.0'), + ('pkg-config', '0.3.26'), + ('portable-atomic', '1.6.0'), + ('proc-macro2', '0.4.30'), + ('proc-macro2', '1.0.78'), + ('pyo3', '0.20.3'), + ('pyo3-build-config', '0.20.3'), + ('pyo3-ffi', '0.20.3'), + ('pyo3-macros', '0.20.3'), + ('pyo3-macros-backend', '0.20.3'), + ('quote', '0.6.13'), + ('quote', '1.0.35'), + ('r-src', '0.1.0'), + ('redox_syscall', '0.2.16'), + ('redox_syscall', '0.3.5'), + ('redox_users', '0.4.3'), + ('rustc-demangle', '0.1.23'), + ('rustix', '0.37.7'), + ('rustls-native-certs', '0.6.2'), + ('rustls-pemfile', '1.0.2'), + ('ryu', '1.0.11'), + ('same-file', '1.0.6'), + ('schannel', '0.1.21'), + ('scopeguard', '1.1.0'), + ('security-framework', '2.8.2'), + ('security-framework-sys', '2.8.0'), + ('serde', '1.0.144'), + ('serde_derive', '1.0.144'), + ('serde_json', '1.0.85'), + ('smallvec', '1.9.0'), + ('socket2', '0.4.9'), + ('strsim', '0.10.0'), + ('syn', '0.15.44'), + ('syn', '1.0.109'), + ('syn', '2.0.52'), + ('synstructure', '0.12.6'), + ('tar', '0.4.38'), + ('target-lexicon', '0.12.4'), + ('tempfile', '3.5.0'), + ('thiserror', '1.0.39'), + ('thiserror-impl', '1.0.39'), + ('tinyvec', '1.6.0'), + ('tinyvec_macros', '0.1.1'), + ('unicode-bidi', '0.3.13'), + ('unicode-ident', '1.0.2'), + ('unicode-normalization', '0.1.22'), + ('unicode-xid', '0.1.0'), + ('unicode-xid', '0.2.4'), + ('unindent', '0.2.3'), + ('ureq', '2.6.2'), + ('url', '2.3.1'), + ('vcpkg', '0.2.15'), + ('walkdir', '2.3.3'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('winapi', '0.3.9'), + ('winapi-i686-pc-windows-gnu', '0.4.0'), + ('winapi-util', '0.1.5'), + ('winapi-x86_64-pc-windows-gnu', '0.4.0'), + ('windows-sys', '0.36.1'), + ('windows-sys', '0.42.0'), + ('windows-sys', '0.45.0'), + ('windows-sys', '0.48.0'), + ('windows-targets', '0.42.2'), + ('windows-targets', '0.48.0'), + ('windows_aarch64_gnullvm', '0.42.2'), + ('windows_aarch64_gnullvm', '0.48.0'), + ('windows_aarch64_msvc', '0.36.1'), + ('windows_aarch64_msvc', '0.42.2'), + ('windows_aarch64_msvc', '0.48.0'), + ('windows_i686_gnu', '0.36.1'), + ('windows_i686_gnu', '0.42.2'), + ('windows_i686_gnu', '0.48.0'), + ('windows_i686_msvc', '0.36.1'), + ('windows_i686_msvc', '0.42.2'), + ('windows_i686_msvc', '0.48.0'), + ('windows_x86_64_gnu', '0.36.1'), + ('windows_x86_64_gnu', '0.42.2'), + ('windows_x86_64_gnu', '0.48.0'), + ('windows_x86_64_gnullvm', '0.42.2'), + ('windows_x86_64_gnullvm', '0.48.0'), + ('windows_x86_64_msvc', '0.36.1'), + ('windows_x86_64_msvc', '0.42.2'), + ('windows_x86_64_msvc', '0.48.0'), + ('xattr', '0.2.3'), + ('zstd', '0.5.4+zstd.1.4.7'), + ('zstd-safe', '2.0.6+zstd.1.4.7'), + ('zstd-sys', '1.4.18+zstd.1.4.7'), +] + +sources = [] +checksums = [ + {'clarabel-0.7.1.tar.gz': 'e4c0e3ebbd6441dcc7f879e89e727fe90b4e4fcecf6295f283a0d02077fb8365'}, + {'accelerate-src-0.3.2.tar.gz': '415ed64958754dbe991900f3940677e6a7eefb4d7367afd70d642677b0c7d19d'}, + {'addr2line-0.19.0.tar.gz': 'a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97'}, + {'adler-1.0.2.tar.gz': 'f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe'}, + {'amd-0.2.2.tar.gz': 'a679e001575697a3bd195813feb57a4718ecc08dc194944015cbc5f6213c2b96'}, + {'anyhow-1.0.70.tar.gz': '7de8ce5e0f9f8d88245311066a578d72b7af3e7088f32783804676302df237e4'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'backtrace-0.3.67.tar.gz': '233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca'}, + {'base64-0.13.1.tar.gz': '9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8'}, + {'base64-0.21.0.tar.gz': 'a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'blas-0.22.0.tar.gz': 'ae980f75c3215bfe8203c349b28149b0f4130a262e072913ccb55f877cd239dc'}, + {'blas-src-0.9.0.tar.gz': 'aa443ee19b4cde6cdbd49043eb8964f9dd367b6d98d67f04395958ebfa28f39d'}, + {'blas-sys-0.7.1.tar.gz': '13b1b279ceb25d7c4faaea95a5f7addbe7d8c34f9462044bd8e630cebcfc2440'}, + {'cc-1.0.79.tar.gz': '50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f'}, + {'cfg-if-0.1.10.tar.gz': '4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'cmake-0.1.50.tar.gz': 'a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130'}, + {'core-foundation-0.9.3.tar.gz': '194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146'}, + {'core-foundation-sys-0.8.4.tar.gz': 'e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa'}, + {'crc32fast-1.3.2.tar.gz': 'b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d'}, + {'curl-0.4.44.tar.gz': '509bd11746c7ac09ebd19f0b17782eae80aadee26237658a6b4808afb5c11a22'}, + {'curl-sys-0.4.61+curl-8.0.1.tar.gz': '14d05c10f541ae6f3bc5b3d923c20001f47db7d5f0b2bc6ad16490133842db79'}, + {'darling-0.14.1.tar.gz': '4529658bdda7fd6769b8614be250cdcfc3aeb0ee72fe66f9e41e5e5eb73eac02'}, + {'darling_core-0.14.1.tar.gz': '649c91bc01e8b1eac09fb91e8dbc7d517684ca6be8ebc75bb9cafc894f9fdb6f'}, + {'darling_macro-0.14.1.tar.gz': 'ddfc69c5bfcbd2fc09a0f38451d2daf0e372e367986a83906d1b0dbc88134fb5'}, + {'derive_builder-0.11.2.tar.gz': 'd07adf7be193b71cc36b193d0f5fe60b918a3a9db4dad0449f57bcfd519704a3'}, + {'derive_builder_core-0.11.2.tar.gz': '1f91d4cfa921f1c05904dc3c57b4a32c38aed3340cce209f3a6fd1478babafc4'}, + {'derive_builder_macro-0.11.2.tar.gz': '8f0314b72bed045f3a68671b3c86328386762c93f82d98c65c3cb5e5f573dd68'}, + {'dirs-2.0.2.tar.gz': '13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3'}, + {'dirs-3.0.2.tar.gz': '30baa043103c9d0c2a57cf537cc2f35623889dc0d405e6c3cccfadbc81c71309'}, + {'dirs-sys-0.3.7.tar.gz': '1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6'}, + {'either-1.8.1.tar.gz': '7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91'}, + {'enum_dispatch-0.3.11.tar.gz': '11f36e95862220b211a6e2aa5eca09b4fa391b13cd52ceb8035a24bf65a79de2'}, + {'errno-0.3.1.tar.gz': '4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a'}, + {'errno-dragonfly-0.1.2.tar.gz': 'aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf'}, + {'failure-0.1.8.tar.gz': 'd32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86'}, + {'failure_derive-0.1.8.tar.gz': 'aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4'}, + {'fastrand-1.9.0.tar.gz': 'e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be'}, + {'filetime-0.2.21.tar.gz': '5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153'}, + {'flate2-1.0.25.tar.gz': 'a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841'}, + {'fnv-1.0.7.tar.gz': '3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1'}, + {'foreign-types-0.3.2.tar.gz': 'f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1'}, + {'foreign-types-shared-0.1.1.tar.gz': '00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b'}, + {'form_urlencoded-1.1.0.tar.gz': 'a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8'}, + {'getrandom-0.2.9.tar.gz': 'c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4'}, + {'gimli-0.27.2.tar.gz': 'ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4'}, + {'glob-0.3.1.tar.gz': 'd2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'hermit-abi-0.3.1.tar.gz': 'fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286'}, + {'ident_case-1.0.1.tar.gz': 'b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39'}, + {'idna-0.3.0.tar.gz': 'e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6'}, + {'indoc-2.0.4.tar.gz': '1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8'}, + {'instant-0.1.12.tar.gz': '7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c'}, + {'intel-mkl-src-0.5.0.tar.gz': '7260b33a735eaebcb942800728b38c5760b125ea5e4346290d78397b5422b894'}, + {'intel-mkl-tool-0.1.0.tar.gz': 'ada23f955fb7d06cb5db9424863caa7251f8f9b525f4c4816144465f77cfded7'}, + {'io-lifetimes-1.0.10.tar.gz': '9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220'}, + {'itertools-0.9.0.tar.gz': '284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b'}, + {'itertools-0.11.0.tar.gz': 'b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57'}, + {'itoa-1.0.3.tar.gz': '6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754'}, + {'jobserver-0.1.26.tar.gz': '936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2'}, + {'lapack-0.19.0.tar.gz': 'ad676a6b4df7e76a9fd80a0c50c619a3948d6105b62a0ab135f064d99c51d207'}, + {'lapack-src-0.9.0.tar.gz': '24c81fcc728418323178fd40407619d0ed26dbbbd1a553693c6290ef5d6698c6'}, + {'lapack-sys-0.14.0.tar.gz': '447f56c85fb410a7a3d36701b2153c1018b1d2b908c5fbaf01c1b04fac33bcbe'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'libc-0.2.149.tar.gz': 'a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b'}, + {'libz-sys-1.1.8.tar.gz': '9702761c3935f8cc2f101793272e202c72b99da8f4224a19ddcf1279a6450bbf'}, + {'linux-raw-sys-0.3.4.tar.gz': '36eb31c1778188ae1e64398743890d0877fef36d11521ac60406b42016e8c2cf'}, + {'lock_api-0.4.7.tar.gz': '327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53'}, + {'log-0.4.17.tar.gz': 'abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e'}, + {'memchr-2.5.0.tar.gz': '2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d'}, + {'memoffset-0.9.0.tar.gz': '5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c'}, + {'miniz_oxide-0.6.2.tar.gz': 'b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa'}, + {'native-tls-0.2.11.tar.gz': '07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e'}, + {'netlib-src-0.8.0.tar.gz': '39f41f36bb4d46906d5a72da5b73a804d9de1a7282eb7c89617201acda7b8212'}, + {'num-complex-0.4.5.tar.gz': '23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6'}, + {'num-derive-0.2.5.tar.gz': 'eafd0b45c5537c3ba526f79d3e75120036502bebacbb3f3220914067ce39dbf2'}, + {'num-traits-0.2.18.tar.gz': 'da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a'}, + {'object-0.30.3.tar.gz': 'ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439'}, + {'once_cell-1.18.0.tar.gz': 'dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d'}, + {'openblas-build-0.10.8.tar.gz': 'eba42c395477605f400a8d79ee0b756cfb82abe3eb5618e35fa70d3a36010a7f'}, + {'openblas-src-0.10.8.tar.gz': '38e5d8af0b707ac2fe1574daa88b4157da73b0de3dc7c39fe3e2c0bb64070501'}, + {'openssl-0.10.52.tar.gz': '01b8574602df80f7b85fdfc5392fa884a4e3b3f4f35402c070ab34c3d3f78d56'}, + {'openssl-macros-0.1.0.tar.gz': 'b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c'}, + {'openssl-probe-0.1.5.tar.gz': 'ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf'}, + {'openssl-sys-0.9.87.tar.gz': '8e17f59264b2809d77ae94f0e1ebabc434773f370d6ca667bd223ea10e06cc7e'}, + {'parking_lot-0.12.1.tar.gz': '3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f'}, + {'parking_lot_core-0.9.3.tar.gz': '09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929'}, + {'percent-encoding-2.2.0.tar.gz': '478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e'}, + {'pkg-config-0.3.26.tar.gz': '6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160'}, + {'portable-atomic-1.6.0.tar.gz': '7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0'}, + {'proc-macro2-0.4.30.tar.gz': 'cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759'}, + {'proc-macro2-1.0.78.tar.gz': 'e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae'}, + {'pyo3-0.20.3.tar.gz': '53bdbb96d49157e65d45cc287af5f32ffadd5f4761438b527b055fb0d4bb8233'}, + {'pyo3-build-config-0.20.3.tar.gz': 'deaa5745de3f5231ce10517a1f5dd97d53e5a2fd77aa6b5842292085831d48d7'}, + {'pyo3-ffi-0.20.3.tar.gz': '62b42531d03e08d4ef1f6e85a2ed422eb678b8cd62b762e53891c05faf0d4afa'}, + {'pyo3-macros-0.20.3.tar.gz': '7305c720fa01b8055ec95e484a6eca7a83c841267f0dd5280f0c8b8551d2c158'}, + {'pyo3-macros-backend-0.20.3.tar.gz': '7c7e9b68bb9c3149c5b0cade5d07f953d6d125eb4337723c4ccdb665f1f96185'}, + {'quote-0.6.13.tar.gz': '6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1'}, + {'quote-1.0.35.tar.gz': '291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef'}, + {'r-src-0.1.0.tar.gz': 'ea397956e1043a8d947ea84b13971d9cb30fce65ca66a921081755ff2e899b6a'}, + {'redox_syscall-0.2.16.tar.gz': 'fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a'}, + {'redox_syscall-0.3.5.tar.gz': '567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29'}, + {'redox_users-0.4.3.tar.gz': 'b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b'}, + {'rustc-demangle-0.1.23.tar.gz': 'd626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76'}, + {'rustix-0.37.7.tar.gz': '2aae838e49b3d63e9274e1c01833cc8139d3fec468c3b84688c628f44b1ae11d'}, + {'rustls-native-certs-0.6.2.tar.gz': '0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50'}, + {'rustls-pemfile-1.0.2.tar.gz': 'd194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b'}, + {'ryu-1.0.11.tar.gz': '4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09'}, + {'same-file-1.0.6.tar.gz': '93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502'}, + {'schannel-0.1.21.tar.gz': '713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3'}, + {'scopeguard-1.1.0.tar.gz': 'd29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd'}, + {'security-framework-2.8.2.tar.gz': 'a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254'}, + {'security-framework-sys-2.8.0.tar.gz': '31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4'}, + {'serde-1.0.144.tar.gz': '0f747710de3dcd43b88c9168773254e809d8ddbdf9653b84e2554ab219f17860'}, + {'serde_derive-1.0.144.tar.gz': '94ed3a816fb1d101812f83e789f888322c34e291f894f19590dc310963e87a00'}, + {'serde_json-1.0.85.tar.gz': 'e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44'}, + {'smallvec-1.9.0.tar.gz': '2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1'}, + {'socket2-0.4.9.tar.gz': '64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662'}, + {'strsim-0.10.0.tar.gz': '73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623'}, + {'syn-0.15.44.tar.gz': '9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5'}, + {'syn-1.0.109.tar.gz': '72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237'}, + {'syn-2.0.52.tar.gz': 'b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07'}, + {'synstructure-0.12.6.tar.gz': 'f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f'}, + {'tar-0.4.38.tar.gz': '4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6'}, + {'target-lexicon-0.12.4.tar.gz': 'c02424087780c9b71cc96799eaeddff35af2bc513278cda5c99fc1f5d026d3c1'}, + {'tempfile-3.5.0.tar.gz': 'b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998'}, + {'thiserror-1.0.39.tar.gz': 'a5ab016db510546d856297882807df8da66a16fb8c4101cb8b30054b0d5b2d9c'}, + {'thiserror-impl-1.0.39.tar.gz': '5420d42e90af0c38c3290abcca25b9b3bdf379fc9f55c528f53a269d9c9a267e'}, + {'tinyvec-1.6.0.tar.gz': '87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50'}, + {'tinyvec_macros-0.1.1.tar.gz': '1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20'}, + {'unicode-bidi-0.3.13.tar.gz': '92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460'}, + {'unicode-ident-1.0.2.tar.gz': '15c61ba63f9235225a22310255a29b806b907c9b8c964bcbd0a2c70f3f2deea7'}, + {'unicode-normalization-0.1.22.tar.gz': '5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921'}, + {'unicode-xid-0.1.0.tar.gz': 'fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc'}, + {'unicode-xid-0.2.4.tar.gz': 'f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c'}, + {'unindent-0.2.3.tar.gz': 'c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce'}, + {'ureq-2.6.2.tar.gz': '338b31dd1314f68f3aabf3ed57ab922df95ffcd902476ca7ba3c4ce7b908c46d'}, + {'url-2.3.1.tar.gz': '0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643'}, + {'vcpkg-0.2.15.tar.gz': 'accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426'}, + {'walkdir-2.3.3.tar.gz': '36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698'}, + {'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}, + {'winapi-0.3.9.tar.gz': '5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419'}, + {'winapi-i686-pc-windows-gnu-0.4.0.tar.gz': 'ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6'}, + {'winapi-util-0.1.5.tar.gz': '70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178'}, + {'winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz': '712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f'}, + {'windows-sys-0.36.1.tar.gz': 'ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2'}, + {'windows-sys-0.42.0.tar.gz': '5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7'}, + {'windows-sys-0.45.0.tar.gz': '75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0'}, + {'windows-sys-0.48.0.tar.gz': '677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9'}, + {'windows-targets-0.42.2.tar.gz': '8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071'}, + {'windows-targets-0.48.0.tar.gz': '7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5'}, + {'windows_aarch64_gnullvm-0.42.2.tar.gz': '597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8'}, + {'windows_aarch64_gnullvm-0.48.0.tar.gz': '91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc'}, + {'windows_aarch64_msvc-0.36.1.tar.gz': '9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47'}, + {'windows_aarch64_msvc-0.42.2.tar.gz': 'e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43'}, + {'windows_aarch64_msvc-0.48.0.tar.gz': 'b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3'}, + {'windows_i686_gnu-0.36.1.tar.gz': '180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6'}, + {'windows_i686_gnu-0.42.2.tar.gz': 'c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f'}, + {'windows_i686_gnu-0.48.0.tar.gz': '622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241'}, + {'windows_i686_msvc-0.36.1.tar.gz': 'e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024'}, + {'windows_i686_msvc-0.42.2.tar.gz': '44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060'}, + {'windows_i686_msvc-0.48.0.tar.gz': '4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00'}, + {'windows_x86_64_gnu-0.36.1.tar.gz': '4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1'}, + {'windows_x86_64_gnu-0.42.2.tar.gz': '8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36'}, + {'windows_x86_64_gnu-0.48.0.tar.gz': 'ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1'}, + {'windows_x86_64_gnullvm-0.42.2.tar.gz': '26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3'}, + {'windows_x86_64_gnullvm-0.48.0.tar.gz': '7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953'}, + {'windows_x86_64_msvc-0.36.1.tar.gz': 'c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680'}, + {'windows_x86_64_msvc-0.42.2.tar.gz': '9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0'}, + {'windows_x86_64_msvc-0.48.0.tar.gz': '1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a'}, + {'xattr-0.2.3.tar.gz': '6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc'}, + {'zstd-0.5.4+zstd.1.4.7.tar.gz': '69996ebdb1ba8b1517f61387a883857818a66c8a295f487b1ffd8fd9d2c82910'}, + {'zstd-safe-2.0.6+zstd.1.4.7.tar.gz': '98aa931fb69ecee256d44589d19754e61851ae4769bf963b385119b1cc37a49e'}, + {'zstd-sys-1.4.18+zstd.1.4.7.tar.gz': 'a1e6e8778706838f43f771d80d37787cb2fe06dafe89dd3aebaf6721b9eaec81'}, +] + +options = {'modulename': 'clarabel'} + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/c/Clp/Clp-1.17.9-foss-2023a.eb b/easybuild/easyconfigs/c/Clp/Clp-1.17.9-foss-2023a.eb new file mode 100644 index 00000000000..b87d2708941 --- /dev/null +++ b/easybuild/easyconfigs/c/Clp/Clp-1.17.9-foss-2023a.eb @@ -0,0 +1,61 @@ +easyblock = 'ConfigureMake' + +name = 'Clp' +version = '1.17.9' + +homepage = "https://github.com/coin-or/Clp" +description = """Clp (Coin-or linear programming) is an open-source linear programming solver. +It is primarily meant to be used as a callable library, but a basic, +stand-alone executable version is also available.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/coin-or/Clp/archive/refs/tags/releases/'] +sources = ['%(version)s.tar.gz'] +checksums = ['b02109be54e2c9c6babc9480c242b2c3c7499368cfca8c0430f74782a694a49f'] + +builddependencies = [ + ('Autotools', '20220317'), + ('Doxygen', '1.9.7'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('METIS', '5.1.0'), + ('MUMPS', '5.6.1', '-metis'), + ('CoinUtils', '2.11.10'), + ('Osi', '0.108.9'), + ('bzip2', '1.0.8'), + ('zlib', '1.2.13'), +] + +# Use BLAS/LAPACK from toolchain +configopts = '--with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK" ' + +# Use METIS AND MUMPS from EB +# --with-metis-lib is ignored +configopts += '--with-metis-lib="-lmetis" ' +configopts += '--with-mumps-lib="-lesmumps -lcmumps -ldmumps -lsmumps -lzmumps -lmumps_common -lpord -lmpi_mpifh ' +configopts += '-lmetis -lscotch -lptscotch -lptscotcherr -lscotcherrexit -lscotcherr $LIBSCALAPACK" ' + +# Disable GLPK because Clp requires headers from its sources +configopts += '--without-glpk ' + +# Use CoinUtils from EB +configopts += '--with-coinutils-lib="-lCoinUtils" ' +configopts += '--with-coinutils-datadir=$EBROOTCOINUTILS/share/coin/Data ' + +# Use Osi from EB +configopts += '--with-osi-lib="-lOsi" ' +configopts += '--with-osi-datadir=$EBROOTOSI/share/coin/Data ' + +sanity_check_paths = { + 'files': ['bin/clp'] + ['lib/lib%s.%s' % (x, SHLIB_EXT) for x in ['Clp', 'ClpSolver', 'OsiClp']], + 'dirs': ['include/coin', 'lib/pkgconfig', 'share/coin'] +} + +# other coin-or projects expect instead of +modextrapaths = {'CPATH': 'include/coin'} + +moduleclass = "math" diff --git a/easybuild/easyconfigs/c/Clustal-Omega/Clustal-Omega-1.2.4-GCC-11.2.0.eb b/easybuild/easyconfigs/c/Clustal-Omega/Clustal-Omega-1.2.4-GCC-11.2.0.eb new file mode 100644 index 00000000000..1784c84bab0 --- /dev/null +++ b/easybuild/easyconfigs/c/Clustal-Omega/Clustal-Omega-1.2.4-GCC-11.2.0.eb @@ -0,0 +1,35 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel +# Modified by Adam Huffman +# Francis Crick Institute + +easyblock = 'ConfigureMake' + +name = 'Clustal-Omega' +version = '1.2.4' + +homepage = 'http://www.clustal.org/omega/' +description = """ Clustal Omega is a multiple sequence alignment + program for proteins. It produces biologically meaningful multiple + sequence alignments of divergent sequences. Evolutionary relationships + can be seen via viewing Cladograms or Phylograms """ + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'openmp': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['8683d2286d663a46412c12a0c789e755e7fd77088fb3bc0342bb71667f05a3ee'] + +dependencies = [('argtable', '2.13')] + +sanity_check_paths = { + 'files': ['bin/clustalo'], + 'dirs': [], +} + +sanity_check_commands = ["clustalo --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/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/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/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/CodingQuarry/CodingQuarry-2.0-foss-2023a.eb b/easybuild/easyconfigs/c/CodingQuarry/CodingQuarry-2.0-foss-2023a.eb new file mode 100644 index 00000000000..4757b9125f2 --- /dev/null +++ b/easybuild/easyconfigs/c/CodingQuarry/CodingQuarry-2.0-foss-2023a.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': '2023a'} +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.11.3'), + ('Biopython', '1.83'), +] + +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/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/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-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/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/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/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/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/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/CuPy/CuPy-13.0.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/c/CuPy/CuPy-13.0.0-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..4d1e02157e5 --- /dev/null +++ b/easybuild/easyconfigs/c/CuPy/CuPy-13.0.0-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,85 @@ +easyblock = 'PythonBundle' + +name = 'CuPy' +version = '13.0.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://cupy.dev' +description = "CuPy is an open-source array library accelerated with NVIDIA CUDA." + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('hypothesis', '6.82.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('CUDA', '12.1.1', '', SYSTEM), + ('cuDNN', '8.9.2.26', versionsuffix, SYSTEM), + ('NCCL', '2.18.3', versionsuffix), + ('cuTENSOR', '2.0.1.2', versionsuffix, SYSTEM), + ('cuSPARSELt', '0.6.0.6', versionsuffix, SYSTEM), +] + +use_pip = True + +exts_default_options = {'source_urls': [PYPI_LOWER_SOURCE]} + +_skip_tests = [ + '--ignore tests/example_tests', # examples are not included + '--ignore tests/cupy_tests/fft_tests/test_fft.py', # CUFFT_INTERNAL_ERROR + # Sorting broken on at least T4 (this is troubling): + '--deselect tests/cupy_tests/' + 'sorting_tests/test_sort.py::TestArgsort_param_0_{external=False}::test_argsort_one_dim', + '--deselect tests/cupy_tests/' + 'sorting_tests/test_sort.py::TestArgsort_param_1_{external=True}::test_argsort_one_dim', + # https://github.com/cupy/cupy/issues/8255: + '--deselect tests/cupyx_tests/' + 'scipy_tests/signal_tests/test_filter_design.py::TestSOSFreqz::test_sos_freqz_against_mp', + # Floating point precision issues: + '--deselect tests/cupy_tests/core_tests/fusion_tests/test_reduction.py::TestFusion', + '--deselect tests/cupyx_tests/' + 'scipy_tests/signal_tests/test_filter_design.py::TestSOSFreqz::test_sosfrez_design_cheb2_2', + '--deselect tests/cupyx_tests/scipy_tests/signal_tests/test_fir_filter_design.py::TestFirls::test_firls', + '--deselect tests/cupyx_tests/scipy_tests/signal_tests/test_iir_filter_design.py::TestButtord::test_ellip_butter', + '--deselect tests/cupyx_tests/scipy_tests/signal_tests/test_iir_filter_design.py::TestEllipord::test_bandstop', + '--deselect tests/cupyx_tests/scipy_tests/signal_tests/test_iir_filter_design.py::TestEllipord::test_fs_param', + '--deselect tests/cupyx_tests/scipy_tests/signal_tests/test_iir_filter_design.py::TestEllipord::test_ellip_butter', + '--deselect tests/cupyx_tests/scipy_tests/signal_tests/test_ltisys.py::Test_bode::test_from_state_space', + '--deselect tests/cupyx_tests/scipy_tests/signal_tests/test_ltisys.py::TestPlacePoles::test_real_2', + '--deselect tests/cupyx_tests/' + 'scipy_tests/signal_tests/test_polyutils.py::TestPartialFractionExpansion::test_residuez_general', +] + +_parallel_tests = 4 # tests can require a lot of VRAM + +exts_list = [ + ('fastrlock', '0.8.2', { + 'checksums': ['644ec9215cf9c4df8028d8511379a15d9c1af3e16d80e47f1b6fdc6ba118356a'], + }), + ('cupy', version, { + 'preinstallopts': 'CUPY_NUM_BUILD_JOBS=%(parallel)s EB_CCC="%(cuda_cc_cmake)s" ', + 'patches': [ + 'cupy-%(version)s_cusparselt_0.6.0.patch', + 'cupy-%(version)s_eb_ccc.patch', + ], + 'runtest': 'export CUPY_TEST_GPU_LIMIT=1 CUPY_CACHE_DIR="%%(builddir)s" && ' + 'pytest -n %s tests -k "not slow" ' % _parallel_tests + ' '.join(_skip_tests), + 'testinstall': True, + 'checksums': [ + {'cupy-13.0.0.tar.gz': '2f04e7857f692a713360dc9c3b06709806ab8404fca39b5af9721c04a2979aae'}, + {'cupy-13.0.0_cusparselt_0.6.0.patch': '09cb12d26e78079c50b06f17002bf54c66e5e4743b917c5a218d3fe90124d499'}, + {'cupy-13.0.0_eb_ccc.patch': 'bfe8b46344759f58491f55418bd9c856d6f72d681ee5fef12820009f808d2db1'}, + ], + }), +] + +sanity_check_commands = [ + "python -c 'import cupy'", +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/CuPy/cupy-13.0.0_cusparselt_0.6.0.patch b/easybuild/easyconfigs/c/CuPy/cupy-13.0.0_cusparselt_0.6.0.patch new file mode 100644 index 00000000000..c202cd34a6c --- /dev/null +++ b/easybuild/easyconfigs/c/CuPy/cupy-13.0.0_cusparselt_0.6.0.patch @@ -0,0 +1,334 @@ +Support for cusparselt 0.6.0 adapted from https://github.com/cupy/cupy/pull/8074 +but with bug fixed for compressed size functions that were wrong. +author: micketeer@gmail.com +diff -ru cupy_backends.orig/cuda/libs/cusparselt.pxd cupy_backends/cuda/libs/cusparselt.pxd +--- cupy_backends.orig/cuda/libs/cusparselt.pxd 2024-03-23 17:08:35.676189389 +0100 ++++ cupy_backends/cuda/libs/cusparselt.pxd 2024-03-23 17:30:34.931591841 +0100 +@@ -13,18 +13,20 @@ + CUSPARSELT_MAT_BATCH_STRIDE = 1 # READ/WRITE + + # cusparseComputeType +- CUSPARSE_COMPUTE_16F = 0 +- CUSPARSE_COMPUTE_32I = 1 +- CUSPARSE_COMPUTE_TF32 = 2 +- CUSPARSE_COMPUTE_TF32_FAST = 3 ++ CUSPARSE_COMPUTE_32I = 0 ++ CUSPARSE_COMPUTE_16F = 1 ++ CUSPARSE_COMPUTE_32F = 2 + + # cusparseLtMatmulDescAttribute_t + CUSPARSELT_MATMUL_ACTIVATION_RELU = 0 # READ/WRITE + CUSPARSELT_MATMUL_ACTIVATION_RELU_UPPERBOUND = 1 # READ/WRITE + CUSPARSELT_MATMUL_ACTIVATION_RELU_THRESHOLD = 2 # READ/WRITE + CUSPARSELT_MATMUL_ACTIVATION_GELU = 3 # READ/WRITE +- CUSPARSELT_MATMUL_BIAS_STRIDE = 4 # READ/WRITE +- CUSPARSELT_MATMUL_BIAS_POINTER = 5 # READ/WRITE ++ CUSPARSELT_MATMUL_ACTIVATION_GELU_SCALING = 4 # READ/WRITE ++ CUSPARSELT_MATMUL_ALPHA_VECTOR_SCALING = 5 # READ/WRITE ++ CUSPARSELT_MATMUL_BETA_VECTOR_SCALING = 6 # READ/WRITE ++ CUSPARSELT_MATMUL_BIAS_POINTER = 7 # READ/WRITE ++ CUSPARSELT_MATMUL_BIAS_STRIDE = 8 # READ/WRITE + + # cusparseLtMatmulAlg_t + CUSPARSELT_MATMUL_ALG_DEFAULT = 0 +@@ -33,6 +35,14 @@ + CUSPARSELT_MATMUL_ALG_CONFIG_ID = 0 # NOQA, READ/WRITE + CUSPARSELT_MATMUL_ALG_CONFIG_MAX_ID = 1 # NOQA, READ-ONLY + CUSPARSELT_MATMUL_SEARCH_ITERATIONS = 2 # NOQA, READ/WRITE ++ CUSPARSELT_MATMUL_SPLIT_K = 3 # NOQA, READ/WRITE ++ CUSPARSELT_MATMUL_SPLIT_K_MODE =4 # NOQA, READ/WRITE ++ CUSPARSELT_MATMUL_SPLIT_K_BUFFERS=5 # NOQA, READ/WRITE ++ ++ # cusparseLtSplitKMode_t ++ CUSPARSELT_INVALID_MODE = 0 ++ CUSPARSELT_SPLIT_K_MODE_ONE_KERNEL = 1 ++ CUSPARSELT_SPLIT_K_MODE_TWO_KERNELS = 2 + + # cusparseLtPruneAlg_t + CUSPARSELT_PRUNE_SPMMA_TILE = 0 +diff -ru cupy_backends.orig/cuda/libs/cusparselt.pyx cupy_backends/cuda/libs/cusparselt.pyx +--- cupy_backends.orig/cuda/libs/cusparselt.pyx 2024-03-23 17:08:35.676189389 +0100 ++++ cupy_backends/cuda/libs/cusparselt.pyx 2024-03-23 18:03:43.706215397 +0100 +@@ -11,6 +11,13 @@ + from cupy_backends.cuda.libs import cusparse as _cusparse + + ++############################################################################### ++# Types ++############################################################################### ++cdef extern from *: ++ ctypedef void* LibraryPropertyType 'libraryPropertyType_t' ++ ++ + cdef extern from '../../cupy_cusparselt.h' nogil: + ctypedef int cusparseStatus_t 'cusparseStatus_t' + ctypedef int cusparseOrder_t 'cusparseOrder_t' +@@ -36,11 +43,14 @@ + ctypedef int cusparseOperation_t 'cusparseOperation_t' + ctypedef int cusparseLtMatmulAlg_t 'cusparseLtMatmulAlg_t' + ctypedef int cusparseLtMatmulAlgAttribute_t 'cusparseLtMatmulAlgAttribute_t' # NOQA ++ ctypedef int cusparseLtSplitKMode_t 'cusparseLtSplitKMode_t' + ctypedef int cusparseLtPruneAlg_t 'cusparseLtPruneAlg_t' + + # Management Functions + cusparseStatus_t cusparseLtInit(cusparseLtHandle_t* handle) + cusparseStatus_t cusparseLtDestroy(const cusparseLtHandle_t* handle) ++ cusparseStatus_t cusparseLtGetVersion(const cusparseLtHandle_t* handle, int* version) ++ cusparseStatus_t cusparseLtGetProperty(LibraryPropertyType propertyType, int* value) + + # Matmul Functions + cusparseStatus_t cusparseLtDenseDescriptorInit( +@@ -66,6 +76,11 @@ + const cusparseLtMatDescriptor_t* matDescr, + cusparseLtMatDescAttribute_t matAttribute, + void* data, size_t dataSize) ++ cusparseStatus_t cusparseLtMatDescSetAttribute( ++ const cusparseLtHandle_t* handle, ++ const cusparseLtMatDescriptor_t* matDescr, ++ cusparseLtMatDescAttribute_t matAttribute, ++ void* data, size_t dataSize) + cusparseStatus_t cusparseLtMatmulDescriptorInit( + const cusparseLtHandle_t* handle, + cusparseLtMatmulDescriptor_t* matMulDescr, +@@ -95,17 +110,21 @@ + const cusparseLtHandle_t* handle, + cusparseLtMatmulAlgSelection_t* algSelection, + cusparseLtMatmulAlgAttribute_t attribute, +- const void* data, size_t ataSize) +- cusparseStatus_t cusparseLtMatmulGetWorkspace( ++ const void* data, size_t dataSize) ++ cusparseStatus_t cusparseLtMatmulAlgGetAttribute( + const cusparseLtHandle_t* handle, + const cusparseLtMatmulAlgSelection_t* algSelection, ++ cusparseLtMatmulAlgAttribute_t attribute, ++ void* data, size_t dataSize) ++ cusparseStatus_t cusparseLtMatmulGetWorkspace( ++ const cusparseLtHandle_t* handle, ++ const cusparseLtMatmulPlan_t* plan, + size_t* workspaceSize) + cusparseStatus_t cusparseLtMatmulPlanInit( + const cusparseLtHandle_t* handle, + cusparseLtMatmulPlan_t* plan, + const cusparseLtMatmulDescriptor_t* matmulDescr, +- const cusparseLtMatmulAlgSelection_t* algSelection, +- size_t workspaceSize) ++ const cusparseLtMatmulAlgSelection_t* algSelection) + cusparseStatus_t cusparseLtMatmulPlanDestroy( + const cusparseLtMatmulPlan_t* plan) + cusparseStatus_t cusparseLtMatmul( +@@ -113,6 +132,11 @@ + const void* alpha, const void* d_A, const void* d_B, + const void* beta, const void* d_C, void* d_D, + void* workspace, runtime.Stream* streams, int32_t numStreams) ++ cusparseStatus_t cusparseLtMatmulSearch( ++ const cusparseLtHandle_t* handle, cusparseLtMatmulPlan_t* plan, ++ const void* alpha, const void* d_A, const void* d_B, ++ const void* beta, const void* d_C, void* d_D, ++ void* workspace, runtime.Stream* streams, int32_t numStreams) + + # Helper Functions + cusparseStatus_t cusparseLtSpMMAPrune( +@@ -123,7 +147,7 @@ + cusparseStatus_t cusparseLtSpMMAPruneCheck( + const cusparseLtHandle_t* handle, + const cusparseLtMatmulDescriptor_t* matmulDescr, +- const void* d_in, int* valid, runtime.Stream stream) ++ const void* d_in, int* d_valid, runtime.Stream stream) + cusparseStatus_t cusparseLtSpMMAPrune2( + const cusparseLtHandle_t* handle, + const cusparseLtMatDescriptor_t* sparseMatDescr, +@@ -136,19 +160,22 @@ + runtime.Stream stream) + cusparseStatus_t cusparseLtSpMMACompressedSize( + const cusparseLtHandle_t* handle, const cusparseLtMatmulPlan_t* plan, +- size_t* compressedSize) ++ size_t* compressedSize, ++ size_t* compressedBufferSize) + cusparseStatus_t cusparseLtSpMMACompress( + const cusparseLtHandle_t* handle, const cusparseLtMatmulPlan_t* plan, +- const void* d_dense, void* d_compressed, runtime.Stream stream) ++ const void* d_dense, void* d_compressed, void* d_compressed_buffer, ++ runtime.Stream stream) + cusparseStatus_t cusparseLtSpMMACompressedSize2( + const cusparseLtHandle_t* handle, + const cusparseLtMatDescriptor_t* sparseMatDescr, +- size_t* compressedSize) ++ size_t* compressedSize, ++ size_t* compressedBufferSize) + cusparseStatus_t cusparseLtSpMMACompress2( + const cusparseLtHandle_t* handle, + const cusparseLtMatDescriptor_t* sparseMatDescr, + int isSparseA, cusparseOperation_t op, const void* d_dense, +- void* d_compressed, runtime.Stream stream) ++ void* d_compressed, void* d_compressed_buffer, runtime.Stream stream) + + # Build-time version + int CUSPARSELT_VERSION +@@ -370,28 +397,36 @@ + data, dataSize) + check_status(status) + ++cpdef matmulAlgGetAttribute(Handle handle, MatmulAlgSelection algSelection, ++ attribute, size_t data, size_t dataSize): ++ """Gets the attribute related to algorithm selection descriptor.""" ++ status = cusparseLtMatmulAlgGetAttribute( ++ handle._ptr, ++ algSelection._ptr, ++ attribute, ++ data, dataSize) ++ check_status(status) ++ + cpdef size_t matmulGetWorkspace(Handle handle, +- MatmulAlgSelection algSelection): ++ MatmulPlan plan): + """Determines the required workspace size""" + cdef size_t workspaceSize + status = cusparseLtMatmulGetWorkspace( + handle._ptr, +- algSelection._ptr, ++ plan._ptr, + &workspaceSize) + check_status(status) + return workspaceSize + + cpdef matmulPlanInit(Handle handle, MatmulPlan plan, + MatmulDescriptor matmulDescr, +- MatmulAlgSelection algSelection, +- size_t workspaceSize): ++ MatmulAlgSelection algSelection): + """Initializes the plan.""" + status = cusparseLtMatmulPlanInit( + handle._ptr, + plan._ptr, + matmulDescr._ptr, +- algSelection._ptr, +- workspaceSize) ++ algSelection._ptr) + check_status(status) + + cpdef matmulPlanDestroy(MatmulPlan plan): +@@ -412,6 +447,18 @@ + workspace, NULL, 0) + check_status(status) + ++cpdef matmulSearch(Handle handle, MatmulPlan plan, ++ size_t alpha, size_t d_A, size_t d_B, ++ size_t beta, size_t d_C, size_t d_D, size_t workspace): ++ """Evaluates all available algorithms for the matrix multiplication""" ++ status = cusparseLtMatmulSearch( ++ handle._ptr, ++ plan._ptr, ++ alpha, d_A, d_B, ++ beta, d_C, d_D, ++ workspace, NULL, 0) ++ check_status(status) ++ + ############################################################################### + # cuSPARSELt: Helper Functions + ############################################################################### +@@ -428,13 +475,13 @@ + check_status(status) + + cpdef spMMAPruneCheck(Handle handle, MatmulDescriptor matmulDescr, +- size_t d_in, size_t valid): ++ size_t d_in, size_t d_valid): + """Checks the correctness of the pruning structure""" + cdef intptr_t stream = stream_module.get_current_stream_ptr() + status = cusparseLtSpMMAPruneCheck( + handle._ptr, + matmulDescr._ptr, +- d_in, valid, stream) ++ d_in, d_valid, stream) + check_status(status) + + cpdef spMMAPrune2(Handle handle, MatDescriptor sparseMatDescr, isSparseA, +@@ -460,47 +507,52 @@ + d_valid, stream) + check_status(status) + +-cpdef size_t spMMACompressedSize(Handle handle, MatmulPlan plan): ++cpdef spMMACompressedSize(Handle handle, MatmulPlan plan): + """Provides the size of the compressed matrix""" + cdef size_t compressedSize ++ cdef size_t compressedBufferSize + status = cusparseLtSpMMACompressedSize( + handle._ptr, + plan._ptr, +- &compressedSize) ++ &compressedSize, &compressedBufferSize) + check_status(status) +- return compressedSize ++ return compressedSize, compressedBufferSize + + cpdef spMMACompress(Handle handle, MatmulPlan plan, +- size_t d_dense, size_t d_compressed): ++ size_t d_dense, size_t d_compressed, ++ size_t d_compressed_buffer): + """Compresses a dense matrix d_dense.""" + cdef intptr_t stream = stream_module.get_current_stream_ptr() + status = cusparseLtSpMMACompress( + handle._ptr, + plan._ptr, +- d_dense, d_compressed, stream) ++ d_dense, d_compressed, ++ d_compressed_buffer, stream) + check_status(status) + +-cpdef size_t spMMACompressedSize2(Handle handle, MatDescriptor sparseMatDescr): ++cpdef spMMACompressedSize2(Handle handle, MatDescriptor sparseMatDescr): + """Provides the size of the compressed matrix""" + cdef size_t compressedSize ++ cdef size_t compressedBufferSize + status = cusparseLtSpMMACompressedSize2( + handle._ptr, + sparseMatDescr._ptr, +- &compressedSize) ++ &compressedSize, &compressedBufferSize) + check_status(status) +- return compressedSize ++ return compressedSize, compressedBufferSize + + cpdef spMMACompress2(Handle handle, MatDescriptor sparseMatDescr, +- isSparseA, op, size_t d_dense, size_t d_compressed): ++ isSparseA, op, size_t d_dense, ++ size_t d_compressed, size_t d_compressed_buffer): + """Compresses a dense matrix d_dense.""" + cdef intptr_t stream = stream_module.get_current_stream_ptr() + status = cusparseLtSpMMACompress2( + handle._ptr, + sparseMatDescr._ptr, + isSparseA, op, d_dense, +- d_compressed, stream) ++ d_compressed, d_compressed_buffer, ++ stream) + check_status(status) + +- + def get_build_version(): + return CUSPARSELT_VERSION +diff -ru cupy_backends.orig/stub/cupy_cusparselt.h cupy_backends/stub/cupy_cusparselt.h +--- cupy_backends.orig/stub/cupy_cusparselt.h 2024-03-23 17:08:35.677189397 +0100 ++++ cupy_backends/stub/cupy_cusparselt.h 2024-03-23 18:15:04.734544642 +0100 +@@ -19,6 +19,7 @@ + typedef enum {} cusparseLtMatmulDescAttribute_t; + typedef enum {} cusparseLtMatmulAlg_t; + typedef enum {} cusparseLtMatmulAlgAttribute_t; ++typedef enum {} cusparseLtSplitKMode_t; + typedef enum {} cusparseLtPruneAlg_t; + + typedef void* cudaStream_t; +@@ -36,6 +37,14 @@ + return CUSPARSE_STATUS_SUCCESS; + } + ++cusparseStatus_t cusparseLtGetVersion(...) { ++ return CUSPARSE_STATUS_SUCCESS; ++} ++ ++cusparseStatus_t cusparseLtGetProperty(...) { ++ return CUSPARSE_STATUS_SUCCESS; ++} ++ + cusparseStatus_t cusparseLtDenseDescriptorInit(...) { + return CUSPARSE_STATUS_SUCCESS; + } diff --git a/easybuild/easyconfigs/c/CuPy/cupy-13.0.0_eb_ccc.patch b/easybuild/easyconfigs/c/CuPy/cupy-13.0.0_eb_ccc.patch new file mode 100644 index 00000000000..3a2be87de98 --- /dev/null +++ b/easybuild/easyconfigs/c/CuPy/cupy-13.0.0_eb_ccc.patch @@ -0,0 +1,16 @@ +Pick up which cuda compute capabilities to use from the environment variable +EB_CCC in the standard format "70,75,80" +author: micketeer@gmail.com +--- install/cupy_builder/_compiler.py.orig 2024-03-24 01:09:26.501631534 +0000 ++++ install/cupy_builder/_compiler.py 2024-03-24 01:10:28.550644001 +0000 +@@ -21,6 +21,10 @@ + if sys.argv == ['setup.py', 'develop']: + return [] + ++ envcfg = os.getenv('EB_CCC', None) ++ if envcfg is not None: ++ return [f'--generate-code=arch=compute_{cc},code=sm_{cc}' for cc in envcfg.split(';')] ++ + envcfg = os.getenv('CUPY_NVCC_GENERATE_CODE', None) + if envcfg is not None and envcfg != 'current': + return ['--generate-code={}'.format(arch) diff --git a/easybuild/easyconfigs/c/CubeLib/CubeLib-4.8.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/CubeLib/CubeLib-4.8.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..6fcd6c4bd01 --- /dev/null +++ b/easybuild/easyconfigs/c/CubeLib/CubeLib-4.8.2-GCCcore-13.2.0.eb @@ -0,0 +1,51 @@ +# Copyright 2019 Juelich Supercomputing Centre, Germany +# Copyright 2023-2024 TU Dresden, Germany +# Authors:: Markus Geimer +# Alexander Grund +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ + +easyblock = 'EB_Score_minus_P' + +name = 'CubeLib' +version = '4.8.2' + +homepage = 'https://www.scalasca.org/software/cube-4.x/download.html' +description = """ + Cube, which is used as performance report explorer for Scalasca and Score-P, + is a generic tool for displaying a multi-dimensional performance space + consisting of the dimensions (i) performance metric, (ii) call path, and + (iii) system resource. Each dimension can be represented as a tree, where + non-leaf nodes of the tree can be collapsed or expanded to achieve the + desired level of granularity. + + This module provides the Cube general purpose C++ library component and + command-line tools. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://apps.fz-juelich.de/scalasca/releases/cube/%(version_major_minor)s/dist'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d6fdef57b1bc9594f1450ba46cf08f431dd0d4ae595c47e2f3454e17e4ae74f4'] + +builddependencies = [ + # use same binutils version that was used when building GCCcore + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), +] +dependencies = [ + ('zlib', '1.2.13'), +] + +configopts = '--enable-shared' + +sanity_check_paths = { + 'files': ['bin/cubelib-config', + 'lib/libcube4.a', 'lib/libcube4.%s' % SHLIB_EXT], + 'dirs': ['include/cubelib'], +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/c/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.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-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_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-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.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/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/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.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-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/casacore/casacore-3.5.0-add-C-style-header-for-GCC-13.1.patch b/easybuild/easyconfigs/c/casacore/casacore-3.5.0-add-C-style-header-for-GCC-13.1.patch new file mode 100644 index 00000000000..efef286e59a --- /dev/null +++ b/easybuild/easyconfigs/c/casacore/casacore-3.5.0-add-C-style-header-for-GCC-13.1.patch @@ -0,0 +1,21 @@ +From 68e43f489abd3d4f1e2fe54a42695396703aa81a Mon Sep 17 00:00:00 2001 +From: Chris Broekema +Date: Tue, 9 May 2023 12:43:34 +0200 +Subject: [PATCH] add C-style header to fix GCC 13.1 compile error on uint16_t + not being a valid type (#1309) + +--- + tables/Dysco/bytepacker.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tables/Dysco/bytepacker.h b/tables/Dysco/bytepacker.h +index d62754046..cb1193b41 100644 +--- a/tables/Dysco/bytepacker.h ++++ b/tables/Dysco/bytepacker.h +@@ -2,6 +2,7 @@ + #define DYSCO_BYTE_PACKER_H + + #include ++#include + + namespace dyscostman { diff --git a/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2023b.eb b/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2023b.eb new file mode 100644 index 00000000000..741298d1488 --- /dev/null +++ b/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2023b.eb @@ -0,0 +1,62 @@ +easyblock = 'CMakeMake' + +name = 'casacore' +version = '3.5.0' + +homepage = 'https://github.com/casacore/casacore' +description = """A suite of C++ libraries for radio astronomy data processing. +The ephemerides data needs to be in DATA_DIR and the location must be specified at runtime. +Thus user's can update them. +""" + +toolchain = {'name': 'foss', 'version': '2023b'} + +source_urls = ['https://github.com/%(name)s/%(name)s/archive'] +sources = ['v%(version)s.tar.gz'] +patches = ['casacore-3.5.0-add-C-style-header-for-GCC-13.1.patch'] +checksums = [ + '63f1c8eff932b0fcbd38c598a5811e6e5397b72835b637d6f426105a183b3f91', # casacore-3.5.0.tar.gz + '7b35d21cd654a7a215d604310f5372319ad21b6261f4a7ae038912b97ef22983', # add-C-style-header-for-GCC-13.1.patch +] + +builddependencies = [ + ('CMake', '3.27.6'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('wget', '1.21.4'), +] +dependencies = [ + ('CFITSIO', '4.3.1'), + ('WCSLIB', '7.11'), + ('HDF5', '1.14.3'), + ('GSL', '2.7'), + ('Boost.Python', '1.83.0'), + ('SciPy-bundle', '2023.11'), + ('ncurses', '6.4'), +] + +configopts = '-DBUILD_PYTHON=NO -DBUILD_PYTHON3=YES -Wno-dev -DCXX11="ON" ' +configopts += '-DDATA_DIR=%(installdir)s/data -DUSE_OPENMP=ON -DUSE_HDF5=ON ' +configopts += '-DUSE_MPI=ON ' + +local_download_cmd = 'wget --retry-connrefused ftp://anonymous@ftp.astron.nl/outgoing/Measures/WSRT_Measures.ztar ' +local_download_cmd += '-O /tmp/WSRT_Measures.ztar ' + +# Install casacore data +postinstallcmds = [ + local_download_cmd, + "tar xfvz /tmp/WSRT_Measures.ztar --one-top-level=%(installdir)s/data", +] + +sanity_check_paths = { + 'files': [ + 'lib/libcasa_casa.%s' % SHLIB_EXT, + 'lib/libcasa_mirlib.%s' % SHLIB_EXT, + 'lib/libcasa_ms.%s' % SHLIB_EXT, + ], + 'dirs': ['bin', 'include/%(name)s'], +} + +sanity_check_commands = [('measuresdata', '')] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/ccache/ccache-4.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 index 355a2da891f..5b623f231cc 100644 --- a/easybuild/easyconfigs/c/ccache/ccache-4.6.1-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/c/ccache/ccache-4.6.1-GCCcore-11.2.0.eb @@ -14,17 +14,15 @@ caching previous compilations and detecting when the same compilation is being d toolchain = {'name': 'GCCcore', 'version': '11.2.0'} -source_urls = ['https://github.com/ccache/ccache/releases/download/v%(version)s/'] +source_urls = [GITHUB_RELEASE] sources = [SOURCE_TAR_GZ] checksums = ['59b28a57c3a45e48d6049001999c9f94cd4d3e9b0196994bed9a6a7437ffa3bc'] -osdependencies = [('glibc-static', 'libc6-dev', 'glibc-devel')] - builddependencies = [ ('binutils', '2.37'), ('CMake', '3.22.1'), ('Ninja', '1.10.2'), - ('zstd', '1.5.0', ), + ('zstd', '1.5.0'), ('pkg-config', '0.29.2'), ] diff --git a/easybuild/easyconfigs/c/ccache/ccache-4.6.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/ccache/ccache-4.6.3-GCCcore-11.3.0.eb index 770822d93b6..30f7490b38b 100644 --- a/easybuild/easyconfigs/c/ccache/ccache-4.6.3-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/c/ccache/ccache-4.6.3-GCCcore-11.3.0.eb @@ -14,17 +14,15 @@ caching previous compilations and detecting when the same compilation is being d toolchain = {'name': 'GCCcore', 'version': '11.3.0'} -source_urls = ['https://github.com/ccache/ccache/releases/download/v%(version)s/'] +source_urls = [GITHUB_RELEASE] sources = [SOURCE_TAR_GZ] checksums = ['f46ba3706ad80c30d4d5874dee2bf9227a7fcd0ccaac31b51919a3053d84bd05'] -osdependencies = [('glibc-static', 'libc6-dev', 'glibc-devel')] - builddependencies = [ ('binutils', '2.38'), ('CMake', '3.23.1'), ('Ninja', '1.10.2'), - ('zstd', '1.5.2', ), + ('zstd', '1.5.2'), ('pkgconf', '1.8.0'), ] diff --git a/easybuild/easyconfigs/c/ccache/ccache-4.9-GCCcore-12.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/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/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/cell2location/cell2location-0.05-alpha-fosscuda-2020b.eb b/easybuild/easyconfigs/c/cell2location/cell2location-0.05-alpha-fosscuda-2020b.eb index 9a0eeba1628..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 @@ -45,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', 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/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/cisDIVERSITY/cisDIVERSITY-1.1-foss-2023a-Python-2.7.18.eb b/easybuild/easyconfigs/c/cisDIVERSITY/cisDIVERSITY-1.1-foss-2023a-Python-2.7.18.eb new file mode 100644 index 00000000000..76a00927a51 --- /dev/null +++ b/easybuild/easyconfigs/c/cisDIVERSITY/cisDIVERSITY-1.1-foss-2023a-Python-2.7.18.eb @@ -0,0 +1,56 @@ +easyblock = 'MakeCp' + +name = 'cisDIVERSITY' +version = '1.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/NarlikarLab/cisDIVERSITY/' +description = """A module discovery tool used for finding diverse sequence architectures, +each one characterized by presence or absence of de novo motifs.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/NarlikarLab/cisDIVERSITY/releases/download/v%(version)s/'] +sources = [{ + 'download_filename': '%(name)s_v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, +}] +checksums = ['4ba5967fa754ec78b9dd6b6dc9d2ee5de87dbb4d7906d47e57e73aec87897725'] + +dependencies = [ + ('Python', '2.7.18'), + ('R', '4.3.2'), + ('numpy', '1.16.6', 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 = [ + ('corrplot', '0.95', { + 'checksums': ['84a31f675041e589201b4d640753302abc10ccc2c0ca0a409b5153861989d776'], + }), +] + +files_to_copy = [(['learnDiverseModules'], 'bin')] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': ['bin/learnDiverseModules'], + 'dirs': ['corrplot'], +} + +sanity_check_commands = [ + 'learnDiverseModules -h', + 'Rscript -e "library(corrplot)"', +] + +moduleclass = 'bio' 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/cmcrameri/cmcrameri-1.9-gfbf-2023a.eb b/easybuild/easyconfigs/c/cmcrameri/cmcrameri-1.9-gfbf-2023a.eb new file mode 100644 index 00000000000..81e043144e9 --- /dev/null +++ b/easybuild/easyconfigs/c/cmcrameri/cmcrameri-1.9-gfbf-2023a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonBundle' + +name = 'cmcrameri' +version = '1.9' + +homepage = 'https://github.com/callumrollo/cmcrameri' +description = "Python wrapper around Fabio Crameri's perceptually uniform colormaps." + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['56faf9b7f53eb03fed450137bec7dc25c1854929d7b841b9c75616fc2c357640'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' 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.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.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.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/columba/columba-1.2-20240326-GCC-13.3.0.eb b/easybuild/easyconfigs/c/columba/columba-1.2-20240326-GCC-13.3.0.eb new file mode 100644 index 00000000000..bbdb6d884b8 --- /dev/null +++ b/easybuild/easyconfigs/c/columba/columba-1.2-20240326-GCC-13.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'CMakeMake' + +name = 'columba' +local_commit = '526b0a0' +version = '1.2-20240326' + +homepage = 'https://github.com/biointec/columba' +description = "Fast Approximate Pattern Matching using Search Schemes" + +toolchain = {'name': 'GCC', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/biointec/columba/archive'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['018898cf6ba93a974a141b397b68a7df13457e80bf92b1747f7b30c4a0d756f1'] + +builddependencies = [ + ('CMake', '3.29.3'), + ('sparsehash', '2.0.4'), +] + +sanity_check_paths = { + 'files': ['bin/columba', 'bin/columba_build'], + 'dirs': [], +} + +sanity_check_commands = ["columba --help"] + +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.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.10.2-foss-2023b.eb b/easybuild/easyconfigs/c/cooler/cooler-0.10.2-foss-2023b.eb new file mode 100644 index 00000000000..f092666e99d --- /dev/null +++ b/easybuild/easyconfigs/c/cooler/cooler-0.10.2-foss-2023b.eb @@ -0,0 +1,46 @@ +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': '2023b'} + +builddependencies = [ + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('SciPy-bundle', '2023.11'), + ('h5py', '3.11.0'), + ('PyYAML', '6.0.1'), + ('pyfaidx', '0.8.1.1'), + ('dill', '0.3.8'), + ('multiprocess', '0.70.16'), +] + +use_pip = True + +exts_list = [ + ('asciitree', '0.3.3', { + 'checksums': ['4aa4b9b649f85e3fcb343363d97564aa1fb62e249677f2e18a96765145cc0f6e'], + }), + ('toolz', '1.0.0', { + 'checksums': ['2c86e3d9a04798ac556793bced838816296a2f085017664e4995cb40a1047a02'], + }), + ('cytoolz', '1.0.0', { + 'checksums': ['eb453b30182152f9917a5189b7d99046b6ce90cdf8aeb0feff4b2683e600defd'], + }), + (name, version, { + 'checksums': ['3780a2e69b2ec89882dfc2775de5d9b54ccb79569dc5f042b4851599388112dc'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' 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/cp2k-input-tools/cp2k-input-tools-0.9.1-foss-2023a.eb b/easybuild/easyconfigs/c/cp2k-input-tools/cp2k-input-tools-0.9.1-foss-2023a.eb new file mode 100644 index 00000000000..6e8baed0be5 --- /dev/null +++ b/easybuild/easyconfigs/c/cp2k-input-tools/cp2k-input-tools-0.9.1-foss-2023a.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'cp2k-input-tools' +version = '0.9.1' + +homepage = 'https://github.com/cp2k/cp2k-input-tools' +description = "Fully validating pure-python CP2K input file parsers including preprocessing capabilities" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('poetry', '1.5.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('Pint', '0.23'), + ('pydantic', '2.5.3'), +] + +use_pip = True + +exts_list = [ + ('transitions', '0.9.2', { + 'checksums': ['2f8490dbdbd419366cef1516032ab06d07ccb5839ef54905e842a472692d4204'], + }), + (name, version, { + 'sources': ['cp2k_input_tools-%(version)s.tar.gz'], + 'checksums': ['bf7d229bbcfa41b1caaa32e7eb3c1c689d56bd1cbd4de674bd2fde8de4efb27c'], + }), +] + +sanity_check_paths = { + 'files': ['bin/fromcp2k'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "fromcp2k --help", +] + +sanity_pip_check = True + +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.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/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/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/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/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-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/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-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.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/cuDNN/cuDNN-9.5.0.50-CUDA-12.6.0.eb b/easybuild/easyconfigs/c/cuDNN/cuDNN-9.5.0.50-CUDA-12.6.0.eb new file mode 100644 index 00000000000..76340a4e654 --- /dev/null +++ b/easybuild/easyconfigs/c/cuDNN/cuDNN-9.5.0.50-CUDA-12.6.0.eb @@ -0,0 +1,37 @@ +name = 'cuDNN' +version = '9.5.0.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 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-sbsa-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major: + '494b640a69feb40ce806a726aa63a1de6b2ec459acbe6a116ef6fe3e6b27877d', + '%%(namelower)s-linux-x86_64-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major: + '86e4e4f4c09b31d3850b402d94ea52741a2f94c2f717ddc8899a14aca96e032d', +}] + +dependencies = [('CUDA', '12.6.0')] + +sanity_check_paths = { + 'files': [ + 'include/cudnn.h', 'lib64/libcudnn_adv_static.a', 'lib64/libcudnn_cnn_static.a', + 'lib64/libcudnn_engines_precompiled_static.a', 'lib64/libcudnn_engines_runtime_compiled_static.a', + 'lib64/libcudnn_graph_static.a', 'lib64/libcudnn_heuristic_static.a', 'lib64/libcudnn_ops_static.a', + ], + '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 index bec7936a183..fc0a8cf610b 100644 --- a/easybuild/easyconfigs/c/cuSPARSELt/cuSPARSELt-0.3.0.3-CUDA-11.4.1.eb +++ b/easybuild/easyconfigs/c/cuSPARSELt/cuSPARSELt-0.3.0.3-CUDA-11.4.1.eb @@ -10,9 +10,15 @@ which at least one operand is a sparse matrix""" toolchain = SYSTEM -source_urls = ['https://developer.download.nvidia.com/compute/cusparselt/redist/libcusparse-lt/linux-x86_64/'] -sources = ['libcusparse_lt-linux-x86_64-%(version)s-archive.tar.xz'] -checksums = ['46b258c2c333f7324e03bdf6b13576be6153b1218fb531025631650e36515f45'] +local_arch = {'arm64': 'sbsa', 'aarch64': 'sbsa'}.get(ARCH, ARCH) +source_urls = ['https://developer.download.nvidia.com/compute/cusparselt/redist/libcusparse_lt/linux-%s/' % local_arch] +sources = ['libcusparse_lt-linux-%s-%%(version)s-archive.tar.xz' % local_arch] +checksums = [{ + 'libcusparse_lt-linux-x86_64-%(version)s-archive.tar.xz': + '46b258c2c333f7324e03bdf6b13576be6153b1218fb531025631650e36515f45', + 'libcusparse_lt-linux-sbsa-%(version)s-archive.tar.xz': + '6269885ec6cecc1a0aa95f344f35c882b6bf0a6ef55d1726e2cf59e11a3af68e', +}] dependencies = [('CUDA', '11.4.1')] diff --git a/easybuild/easyconfigs/c/cuSPARSELt/cuSPARSELt-0.6.0.6-CUDA-12.1.1.eb b/easybuild/easyconfigs/c/cuSPARSELt/cuSPARSELt-0.6.0.6-CUDA-12.1.1.eb new file mode 100644 index 00000000000..80bdd6b93c6 --- /dev/null +++ b/easybuild/easyconfigs/c/cuSPARSELt/cuSPARSELt-0.6.0.6-CUDA-12.1.1.eb @@ -0,0 +1,32 @@ +easyblock = 'Tarball' + +name = 'cuSPARSELt' +version = '0.6.0.6' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://docs.nvidia.com/cuda/cusparselt/index.html' +description = """NVIDIA cuSPARSELt is a high-performance CUDA library dedicated to general matrix-matrix operations in +which at least one operand is a sparse matrix""" + +toolchain = SYSTEM + +local_arch = {'arm64': 'sbsa', 'aarch64': 'sbsa'}.get(ARCH, ARCH) +source_urls = ['https://developer.download.nvidia.com/compute/cusparselt/redist/libcusparse_lt/linux-%s/' % local_arch] +sources = ['libcusparse_lt-linux-%s-%%(version)s-archive.tar.xz' % local_arch] +checksums = [{ + 'libcusparse_lt-linux-x86_64-%(version)s-archive.tar.xz': + 'da20d7a6d7a6674cb6e991439eaacd4661631c71a2f1026c41fba115c5c9c8b5', + 'libcusparse_lt-linux-sbsa-%(version)s-archive.tar.xz': + '51db8182444b4e2c125397ea95e4996c022ef791a87ce7a7389204e77617297f', +}] + +dependencies = [('CUDA', '12.1.1')] + +sanity_check_paths = { + 'files': ['include/cusparseLt.h', + 'lib/libcusparseLt.%s' % SHLIB_EXT, + 'lib/libcusparseLt_static.a'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/cuTENSOR/cuTENSOR-2.0.1.2-CUDA-12.1.1.eb b/easybuild/easyconfigs/c/cuTENSOR/cuTENSOR-2.0.1.2-CUDA-12.1.1.eb new file mode 100644 index 00000000000..578050b4874 --- /dev/null +++ b/easybuild/easyconfigs/c/cuTENSOR/cuTENSOR-2.0.1.2-CUDA-12.1.1.eb @@ -0,0 +1,33 @@ +easyblock = 'Tarball' + +name = 'cuTENSOR' +local_shortver = '2.0.1' +version = local_shortver + '.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/cutensor' +description = """The cuTENSOR Library is a GPU-accelerated tensor linear algebra library providing tensor contraction, + reduction and elementwise operations.""" + +toolchain = SYSTEM + +source_urls = ['https://developer.download.nvidia.com/compute/cutensor/redist/libcutensor/linux-x86_64/'] +sources = ['libcutensor-linux-x86_64-%(version)s-archive.tar.xz'] +checksums = ['ededa12ca622baad706ea0a500a358ea51146535466afabd96e558265dc586a2'] + +local_cudamajver = '12' +dependencies = [('CUDA', local_cudamajver + '.1.1')] + +sanity_check_paths = { + 'files': ['include/cutensor.h', 'include/cutensor/types.h', + 'lib/%s/libcutensor.%s' % (local_cudamajver, SHLIB_EXT), + 'lib/%s/libcutensor_static.a' % local_cudamajver], + 'dirs': [], +} + +modextrapaths = { + 'LD_LIBRARY_PATH': ['lib/%s' % local_cudamajver], + 'LIBRARY_PATH': ['lib/%s' % local_cudamajver], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/cuTENSOR/cuTENSOR-2.0.1.2-CUDA-12.2.2.eb b/easybuild/easyconfigs/c/cuTENSOR/cuTENSOR-2.0.1.2-CUDA-12.2.2.eb new file mode 100644 index 00000000000..183378856f9 --- /dev/null +++ b/easybuild/easyconfigs/c/cuTENSOR/cuTENSOR-2.0.1.2-CUDA-12.2.2.eb @@ -0,0 +1,33 @@ +easyblock = 'Tarball' + +name = 'cuTENSOR' +local_shortver = '2.0.1' +version = local_shortver + '.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/cutensor' +description = """The cuTENSOR Library is a GPU-accelerated tensor linear algebra library providing tensor contraction, + reduction and elementwise operations.""" + +toolchain = SYSTEM + +source_urls = ['https://developer.download.nvidia.com/compute/cutensor/redist/libcutensor/linux-x86_64/'] +sources = ['libcutensor-linux-x86_64-%(version)s-archive.tar.xz'] +checksums = ['ededa12ca622baad706ea0a500a358ea51146535466afabd96e558265dc586a2'] + +local_cudamajver = '12' +dependencies = [('CUDA', local_cudamajver + '.2.2')] + +sanity_check_paths = { + 'files': ['include/cutensor.h', 'include/cutensor/types.h', + 'lib/%s/libcutensor.%s' % (local_cudamajver, SHLIB_EXT), + 'lib/%s/libcutensor_static.a' % local_cudamajver], + 'dirs': [], +} + +modextrapaths = { + 'LD_LIBRARY_PATH': ['lib/%s' % local_cudamajver], + 'LIBRARY_PATH': ['lib/%s' % local_cudamajver], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/cuTENSOR/cuTENSOR-2.0.2.5-CUDA-12.6.0.eb b/easybuild/easyconfigs/c/cuTENSOR/cuTENSOR-2.0.2.5-CUDA-12.6.0.eb new file mode 100644 index 00000000000..fe7b69ac9b0 --- /dev/null +++ b/easybuild/easyconfigs/c/cuTENSOR/cuTENSOR-2.0.2.5-CUDA-12.6.0.eb @@ -0,0 +1,40 @@ +easyblock = 'Tarball' + +name = 'cuTENSOR' +version = '2.0.2.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-%(arch)s/' +] +sources = ['libcutensor-linux-%(arch)s-%(version)s-archive.tar.xz'] + +checksums = [{ + 'libcutensor-linux-sbsa-%(version)s-archive.tar.xz': + '5163dd40f11f328e469a6d9b0056c8346f5d59ed538c18d6b954e4ae657c69cc', + 'libcutensor-linux-x86_64-%(version)s-archive.tar.xz': + '0e957ae7b352f599de34b6fa1ba999b0617887f885d7436ac5737d71a6b83baa', +}] + +local_cudamajver = '12' +dependencies = [('CUDA', '12.6.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/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-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/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/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/DAS_Tool/DAS_Tool-1.1.1-foss-2021b-R-4.1.2.eb b/easybuild/easyconfigs/d/DAS_Tool/DAS_Tool-1.1.1-foss-2021b-R-4.1.2.eb index 4e04c72ff76..f80eef6a25e 100644 --- a/easybuild/easyconfigs/d/DAS_Tool/DAS_Tool-1.1.1-foss-2021b-R-4.1.2.eb +++ b/easybuild/easyconfigs/d/DAS_Tool/DAS_Tool-1.1.1-foss-2021b-R-4.1.2.eb @@ -39,17 +39,17 @@ exts_list = [ ] postinstallcmds = [ - "cd %(installdir)s; unzip db.zip", + "cd %(installdir)s && unzip db.zip -d db", "chmod a+x %(installdir)s/DAS_Tool", ] sanity_check_paths = { - 'files': ['DAS_Tool', 'arc.all.faa', 'arc.scg.lookup'], + 'files': ['DAS_Tool', 'db/arc.all.faa', 'db/arc.scg.lookup'], 'dirs': ['DASTool/R'], } -sanity_check_commands = ['DAS_Tool -h | grep "DAS Tool version %s"' % version] # Help gets printed correctly, but the error code is 1 +sanity_check_commands = ['DAS_Tool -h | grep "DAS Tool version %s"' % version] modextrapaths = { 'PATH': '', diff --git a/easybuild/easyconfigs/d/DAS_Tool/DAS_Tool-1.1.3-foss-2021a-R-4.1.0.eb b/easybuild/easyconfigs/d/DAS_Tool/DAS_Tool-1.1.3-foss-2021a-R-4.1.0.eb index 8889f759be9..4e5773b4b1c 100644 --- a/easybuild/easyconfigs/d/DAS_Tool/DAS_Tool-1.1.3-foss-2021a-R-4.1.0.eb +++ b/easybuild/easyconfigs/d/DAS_Tool/DAS_Tool-1.1.3-foss-2021a-R-4.1.0.eb @@ -39,17 +39,17 @@ exts_list = [ ] postinstallcmds = [ - "cd %(installdir)s; unzip db.zip", + "cd %(installdir)s && unzip db.zip -d db", "chmod a+x %(installdir)s/DAS_Tool", ] sanity_check_paths = { - 'files': ['DAS_Tool', 'arc.all.faa', 'arc.scg.lookup'], + 'files': ['DAS_Tool', 'db/arc.all.faa', 'db/arc.scg.lookup'], 'dirs': ['DASTool/R'], } -sanity_check_commands = ['DAS_Tool -h | grep "DAS Tool version %s"' % version] # Help gets printed correctly, but the error code is 1 +sanity_check_commands = ['DAS_Tool -h | grep "DAS Tool version %s"' % version] modextrapaths = { 'PATH': '', diff --git a/easybuild/easyconfigs/d/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/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/DBD-mysql/DBD-mysql-4.050-GCC-12.3.0.eb b/easybuild/easyconfigs/d/DBD-mysql/DBD-mysql-4.050-GCC-12.3.0.eb new file mode 100644 index 00000000000..eec33081a4c --- /dev/null +++ b/easybuild/easyconfigs/d/DBD-mysql/DBD-mysql-4.050-GCC-12.3.0.eb @@ -0,0 +1,30 @@ +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.3.0'} + +source_urls = ['https://cpan.metacpan.org/authors/id/D/DV/DVEEDEN'] +sources = [SOURCE_TAR_GZ] +checksums = ['4f48541ff15a0a7405f76adc10f81627c33996fbf56c95c26c094444c0928d78'] + +dependencies = [ + ('Perl', '5.36.1'), + ('Perl-bundle-CPAN', '5.36.1'), + ('MariaDB', '11.6.0'), + ('zlib', '1.2.13'), + ('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.051-GCC-13.3.0.eb b/easybuild/easyconfigs/d/DBD-mysql/DBD-mysql-4.051-GCC-13.3.0.eb new file mode 100644 index 00000000000..f8f26485760 --- /dev/null +++ b/easybuild/easyconfigs/d/DBD-mysql/DBD-mysql-4.051-GCC-13.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PerlModule' + +name = 'DBD-mysql' +version = '4.051' + +homepage = 'https://metacpan.org/pod/distribution/DBD-mysql/lib/DBD/mysql.pm' +description = "Perl binding for MySQL" + +toolchain = {'name': 'GCC', 'version': '13.3.0'} + +source_urls = ['https://cpan.metacpan.org/authors/id/D/DV/DVEEDEN'] +sources = [SOURCE_TAR_GZ] +checksums = ['16969bfae7a080384167be3fb1803450fde87f7b0e2682276b3f6469fa147864'] + +dependencies = [ + ('Perl', '5.38.2'), + ('Perl-bundle-CPAN', '5.38.2'), + ('MariaDB', '11.7.0'), + ('zlib', '1.3.1'), + ('OpenSSL', '3', '', SYSTEM), +] + +options = {'modulename': 'DBD::mysql'} + +sanity_check_paths = { + 'files': ['lib/perl5/site_perl/%%(perlver)s/%s-linux-thread-multi/DBD/mysql.pm' % ARCH], + 'dirs': ['lib/perl5/site_perl/%%(perlver)s/%s-linux-thread-multi/DBD/mysql' % ARCH], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.835-GCCcore-9.3.0.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.835-GCCcore-9.3.0.eb index a1002875229..430fc43f900 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.835-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.835-GCCcore-9.3.0.eb @@ -24,7 +24,7 @@ dependencies = [ preconfigopts = 'env DB_FILE_INCLUDE="$EBROOTDB/include" DB_FILE_LIB="$EBROOTDB/lib" ' sanity_check_paths = { - 'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'], + 'files': ['lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi/DB_File.pm'], 'dirs': [], } diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.855-GCCcore-10.2.0.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.855-GCCcore-10.2.0.eb index 0b79bde69ae..3c7b085c1ab 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.855-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.855-GCCcore-10.2.0.eb @@ -24,7 +24,7 @@ dependencies = [ preconfigopts = 'env DB_FILE_INCLUDE="$EBROOTDB/include" DB_FILE_LIB="$EBROOTDB/lib" ' sanity_check_paths = { - 'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'], + 'files': ['lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi/DB_File.pm'], 'dirs': [], } diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.856-GCCcore-10.3.0.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.856-GCCcore-10.3.0.eb index 880fe133479..97f6bce5acb 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.856-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.856-GCCcore-10.3.0.eb @@ -24,7 +24,7 @@ dependencies = [ preconfigopts = 'env DB_FILE_INCLUDE="$EBROOTDB/include" DB_FILE_LIB="$EBROOTDB/lib" ' sanity_check_paths = { - 'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'], + 'files': ['lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi/DB_File.pm'], 'dirs': [], } diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.857-GCCcore-11.2.0.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.857-GCCcore-11.2.0.eb index f2707a76ad8..fc23c9d56ce 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.857-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.857-GCCcore-11.2.0.eb @@ -24,7 +24,7 @@ dependencies = [ preconfigopts = 'env DB_FILE_INCLUDE="$EBROOTDB/include" DB_FILE_LIB="$EBROOTDB/lib" ' sanity_check_paths = { - 'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'], + 'files': ['lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi/DB_File.pm'], 'dirs': [], } diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.858-GCCcore-11.3.0.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.858-GCCcore-11.3.0.eb index 9ca805bc383..a9579572f76 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.858-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.858-GCCcore-11.3.0.eb @@ -24,7 +24,7 @@ dependencies = [ preconfigopts = 'env DB_FILE_INCLUDE="$EBROOTDB/include" DB_FILE_LIB="$EBROOTDB/lib" ' sanity_check_paths = { - 'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'], + 'files': ['lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi/DB_File.pm'], 'dirs': [], } diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.859-GCCcore-12.3.0.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.859-GCCcore-12.3.0.eb index ceaba601416..0efe26d544b 100644 --- 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 @@ -24,7 +24,7 @@ dependencies = [ preconfigopts = 'env DB_FILE_INCLUDE="$EBROOTDB/include" DB_FILE_LIB="$EBROOTDB/lib" ' sanity_check_paths = { - 'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'], + 'files': ['lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi/DB_File.pm'], 'dirs': [], } diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.859-GCCcore-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.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/DETONATE/DETONATE-1.11-GCC-12.3.0.eb b/easybuild/easyconfigs/d/DETONATE/DETONATE-1.11-GCC-12.3.0.eb index c1457cc041c..24a8b13835c 100644 --- 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 @@ -33,6 +33,7 @@ builddependencies = [ ] dependencies = [ + ('Perl', '5.36.1'), ('Boost', '1.82.0'), ('sparsehash', '2.0.4'), ('BamTools', '2.5.2'), @@ -45,16 +46,20 @@ buildopts = 'CXX="$CXX" CXXFLAGS="$CXXFLAGS -fopenmp" && cd ../rsem-eval && make runtest = 'test' -files_to_copy = [(['ref-eval', 'ref-eval-estimate-true-assembly', '../rsem-eval/rsem-*'], 'bin')] +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-plot-model', 'rsem-preref', 'rsem-sam-validator', - 'rsem-scan-for-paired-end-reads', 'rsem-simulate-reads', + '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/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+-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/DIAMOND/DIAMOND-2.1.9-GCC-13.2.0.eb b/easybuild/easyconfigs/d/DIAMOND/DIAMOND-2.1.9-GCC-13.2.0.eb new file mode 100644 index 00000000000..754d1f6214b --- /dev/null +++ b/easybuild/easyconfigs/d/DIAMOND/DIAMOND-2.1.9-GCC-13.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'DIAMOND' +version = '2.1.9' + +homepage = 'https://github.com/bbuchfink/diamond' +description = "Accelerated BLAST compatible local sequence aligner" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +github_account = 'bbuchfink' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['4cde9df78c63e8aef9df1e3265cd06a93ce1b047d6dba513a1437719b70e9d88'] + +builddependencies = [ + ('CMake', '3.27.6'), +] + +dependencies = [ + ('zlib', '1.2.13'), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} +sanity_check_commands = ["%(namelower)s help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/DLPack/DLPack-0.8-GCC-11.3.0.eb b/easybuild/easyconfigs/d/DLPack/DLPack-0.8-GCC-11.3.0.eb new file mode 100644 index 00000000000..97be9746c55 --- /dev/null +++ b/easybuild/easyconfigs/d/DLPack/DLPack-0.8-GCC-11.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' + +name = 'DLPack' +version = '0.8' + +homepage = 'https://dmlc.github.io/dlpack/latest/' +description = """DLPack is a stable in-memory data structure for an ndarray +system to interact with a variety of frameworks.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +github_account = 'dmlc' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['cf965c26a5430ba4cc53d61963f288edddcd77443aa4c85ce722aaf1e2f29513'] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +sanity_check_paths = { + 'files': ['include/dlpack/dlpack.h', 'lib/cmake/dlpack/dlpackConfig.cmake'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/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_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-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-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/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/Dask-ML/Dask-ML-2022.5.27-foss-2022a.eb b/easybuild/easyconfigs/d/Dask-ML/Dask-ML-2022.5.27-foss-2022a.eb new file mode 100644 index 00000000000..12884bd5e3a --- /dev/null +++ b/easybuild/easyconfigs/d/Dask-ML/Dask-ML-2022.5.27-foss-2022a.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonBundle' + +name = 'Dask-ML' +version = '2022.5.27' + +homepage = 'http://ml.dask.org/' +description = """ +Dask-ML provides scalable machine learning in Python using Dask alongside popular machine +learning libraries like Scikit-Learn, XGBoost, and others. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('scikit-learn', '1.1.2'), + ('dask', '2022.10.0'), + ('numba', '0.56.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('sparse', '0.14.0', { + 'checksums': ['5f5827a37f6cd6f6730a541f994c95c60a3ae2329e01f4ba21ced5339aea0098'], + }), + ('dask-glm', '0.3.2', { + 'checksums': ['c947a566866698a01d79978ae73233cb5e838ad5ead6085143582c5e930b9a4a'], + }), + ('versioneer', '0.29', { + 'checksums': ['5ab283b9857211d61b53318b7c792cf68e798e765ee17c27ade9f6c924235731'], + }), + ('distributed', '2022.10.0', { + 'checksums': ['dcfbc9c528bcd9e4f9686e673956a90172826395ac5b258039e580777d50782f'], + }), + ('multipledispatch', '1.0.0', { + 'checksums': ['5c839915465c68206c3e9c473357908216c28383b425361e5d144594bf85a7e0'], + }), + ('packaging', '20.4', { + 'checksums': ['4357f74f47b9c12db93624a82154e9b120fa8293699949152b22065d556079f8'], + }), + (name, version, { + 'modulename': 'dask_ml', + 'sources': ['dask-ml-%(version)s.tar.gz'], + 'checksums': ['6369d3934192bcc1923fcee84c3fb8fbcceca102137901070ba3f1d9e386cce4'], + }), +] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/d/Dask-ML/Dask-ML-2024.4.4-foss-2023a.eb b/easybuild/easyconfigs/d/Dask-ML/Dask-ML-2024.4.4-foss-2023a.eb new file mode 100644 index 00000000000..f4bdf4425ae --- /dev/null +++ b/easybuild/easyconfigs/d/Dask-ML/Dask-ML-2024.4.4-foss-2023a.eb @@ -0,0 +1,50 @@ +easyblock = 'PythonBundle' + +name = 'Dask-ML' +version = '2024.4.4' + +homepage = 'http://ml.dask.org/' +description = """ +Dask-ML provides scalable machine learning in Python using Dask alongside popular machine +learning libraries like Scikit-Learn, XGBoost, and others. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [('hatchling', '1.18.0')] + +dependencies = [ + ('Python', '3.11.3'), + ('scikit-learn', '1.3.1'), + ('dask', '2023.9.2'), + ('numba', '0.58.1'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('sparse', '0.15.4', { + # replace use of 'version_file' (which requires setuptools-scm >= 8.0) with 'write_to' + 'preinstallopts': "sed -i 's/^version_file/write_to/' pyproject.toml && ", + 'checksums': ['d4b1c57d24ff0f64f2fd5b5a95b49b7fb84ed207a26d7d58ce2764dcc5c72b84'], + }), + ('dask-glm', '0.3.2', { + 'checksums': ['c947a566866698a01d79978ae73233cb5e838ad5ead6085143582c5e930b9a4a'], + }), + ('distributed', '2023.9.2', { + 'checksums': ['b76b43be6a297c6cc6dc4eac7f5a05a8c6834aaf025ed37395d1d830448d540e'], + }), + ('multipledispatch', '1.0.0', { + 'checksums': ['5c839915465c68206c3e9c473357908216c28383b425361e5d144594bf85a7e0'], + }), + ('packaging', '24.1', { + 'checksums': ['026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002'], + }), + ('dask_ml', version, { + 'checksums': ['7956910a49e1e31944280fdb311adf245da11ef410d67deb7a05c67c7d0c4498'], + }), +] + +moduleclass = 'ai' 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/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/Delft3D/Delft3D-4.04.01-foss-2022a-FLOW.eb b/easybuild/easyconfigs/d/Delft3D/Delft3D-4.04.01-foss-2022a-FLOW.eb new file mode 100644 index 00000000000..c77445993d6 --- /dev/null +++ b/easybuild/easyconfigs/d/Delft3D/Delft3D-4.04.01-foss-2022a-FLOW.eb @@ -0,0 +1,88 @@ +easyblock = 'ConfigureMake' + +name = 'Delft3D' +_revision = '142633' +version = '4.04.01' +versionsuffix = '-FLOW' + +homepage = 'https://oss.deltares.nl/web/delft3d' +description = """ +Simulation of multi-dimensional hydrodynamic flows and transport phenomena, including +sediments. Delft3D-FLOW is part of Delft3D 4. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True} + +download_instructions = """ +There is no tarball provided; it needs to be created through an svn checkout: + 1. svn checkout https://svn.oss.deltares.nl/repos/delft3d/trunk@%s + 2. tar -czvf %%(name)s-%%(version)s.tgz trunk +""" % _revision + +sources = [SOURCE_TGZ] +patches = ['Delft3D-4.04.01_use-external-esmf.patch'] +checksums = [ + # Delft3D-4.04.01.tgz + None, + # Delft3D-4.04.01_use-external-esmf.patch' + '225d76fb3eea22e203f1a9f371b4fd07d75a8478de35a7428c1a1f85b344323c', +] + +builddependencies = [ + ('CMake', '3.24.3'), + ('libtool', '2.4.7'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('Ruby', '3.0.5'), + ('Autotools', '20220317'), + ('M4', '1.4.19'), +] + +dependencies = [ + ('netCDF-Fortran', '4.6.0'), + ('METIS', '5.1.0'), + ('PETSc', '3.17.4'), + ('expat', '2.4.8'), + ('ESMF', '8.3.0'), +] + +parallel = 1 + +start_dir = 'src' + +preconfigopts = 'export FCFLAGS="$FCFLAGS -fallow-argument-mismatch -I${CPATH//:/ -I}" && ' +preconfigopts += 'export FFLAGS="$FFLAGS -fallow-argument-mismatch -I${CPATH//:/ -I}" && ' +# syntax was made invalid in c++11 +preconfigopts += "sed -i 's/if (spec < 0)/if (spec == nullptr)/g' utils_lgpl/delftonline/src/delftonline/server.cpp && " +# avoid comparing logical with integer +preconfigopts += r"sed -i 's/if (has_umean \/= 0)/if (has_umean .neqv. .false.)/g' " +preconfigopts += "engines_gpl/flow2d3d/packages/flow2d3d_io/src/input/restart_trim_flow.f90 && " +preconfigopts += "sed -i -e 's/-recursive/-frecursive/g' -e 's/-traceback/-fbacktrace/g' configure.ac && " +# copy ESMF_RegridWeightGen_in_Delft3D-WAVE.sh script +preconfigopts += "cp third_party_open/esmf/lnx64/scripts/ESMF_RegridWeightGen_in_Delft3D-WAVE.sh . && " +# remove esmf precompiled binaries +preconfigopts += "rm -r third_party_open/esmf && libtoolize && " +preconfigopts += './autogen.sh && ' +preconfigopts += 'cd third_party_open/kdtree2 && ./autogen.sh && cd - && ' + +configopts = ' --with-netcdf' +configopts += ' --with-mpi --with-metis --with-petsc' + +# remove spurious double -l flags causing build failure +prebuildopts = "sed -i.backup 's/-l -l//g' libtool config.lt config.status && " + +install_cmd = 'make ds-install' + +postinstallcmds = ["cp %(start_dir)s/ESMF_RegridWeightGen_in_Delft3D-WAVE.sh %(installdir)s/bin/"] + +sanity_check_paths = { + 'files': ['bin/d_hydro', 'bin/ESMF_RegridWeightGen_in_Delft3D-WAVE.sh'], + 'dirs': ['lib', 'share'] +} + +sanity_check_commands = [ + 'd_hydro -? |grep Usage:', +] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/d/Delft3D/Delft3D-4.04.01_use-external-esmf.patch b/easybuild/easyconfigs/d/Delft3D/Delft3D-4.04.01_use-external-esmf.patch new file mode 100644 index 00000000000..c446d24a169 --- /dev/null +++ b/easybuild/easyconfigs/d/Delft3D/Delft3D-4.04.01_use-external-esmf.patch @@ -0,0 +1,110 @@ +Author: Jasper Grimm +Avoid installing the bundled ESMF, since this is compiled for CentOS 7 (and also fails +rpath sanity checks) +diff -Nru trunk.orig/src/configure.ac trunk/src/configure.ac +--- trunk.orig/src/configure.ac 2024-02-20 14:35:26.821778739 +0000 ++++ trunk/src/configure.ac 2024-02-20 14:43:47.108090829 +0000 +@@ -607,10 +607,6 @@ + plugins_lgpl/plugin_delftflow_traform/src/Makefile + scripts_lgpl/linux/Makefile + scripts_lgpl/Makefile +-third_party_open/esmf/lnx64/bin/Makefile +-third_party_open/esmf/lnx64/Makefile +-third_party_open/esmf/lnx64/scripts/Makefile +-third_party_open/esmf/Makefile + third_party_open/Makefile + third_party_open/md5/Makefile + third_party_open/md5/md5digest/Makefile +diff -Nru trunk.orig/src/third_party_open/esmf/lnx64/scripts/ESMF_RegridWeightGen_in_Delft3D-WAVE.sh trunk/src/third_party_open/esmf/lnx64/scripts/ESMF_RegridWeightGen_in_Delft3D-WAVE.sh +--- trunk.orig/src/third_party_open/esmf/lnx64/scripts/ESMF_RegridWeightGen_in_Delft3D-WAVE.sh 2024-02-20 14:35:27.449776542 +0000 ++++ trunk/src/third_party_open/esmf/lnx64/scripts/ESMF_RegridWeightGen_in_Delft3D-WAVE.sh 2024-02-21 11:53:47.816278292 +0000 +@@ -52,24 +52,24 @@ + scriptdirname=`readlink \-f \$0` + scriptdir=`dirname $scriptdirname` + D3D_HOME=$scriptdir/.. +-regridexec=$D3D_HOME/bin/ESMF_RegridWeightGen ++regridexec=$(which ESMF_RegridWeightGen) + # ESMF_regrid is build with old compilers etc. + # share/esmf optionally contains some library-versions especially for running this version of ESMF_regrid, + # both for RedHat 6.* and 7.* + +-if [ -f "/etc/redhat-release" ]; then +- grepOS=`cat /etc/redhat-release | grep -i "release 6"` +- if [ "$grepOS" != "" ]; then +- echo "RH 6: Using RH 6 libraries" >>esmf_sh.log +- export LD_LIBRARY_PATH=$D3D_HOME/share/delft3d/esmf/lnx64/bin:$D3D_HOME/lib:$LD_LIBRARY_PATH +- else +- echo "using RH 7 libraries" >>esmf_sh.log +- export LD_LIBRARY_PATH=$D3D_HOME/share/delft3d/esmf/lnx64/bin_COS7:$D3D_HOME/lib:$LD_LIBRARY_PATH +- fi +-else +- echo "ERROR: ESMF_RegridWeightGen_in_Delft3D-WAVE.sh only implemented for CentOS 6 and 7." +- exit +-fi ++# if [ -f "/etc/redhat-release" ]; then ++# grepOS=`cat /etc/redhat-release | grep -i "release 6"` ++# if [ "$grepOS" != "" ]; then ++# echo "RH 6: Using RH 6 libraries" >>esmf_sh.log ++# export LD_LIBRARY_PATH=$D3D_HOME/share/delft3d/esmf/lnx64/bin:$D3D_HOME/lib:$LD_LIBRARY_PATH ++# else ++# echo "using RH 7 libraries" >>esmf_sh.log ++# export LD_LIBRARY_PATH=$D3D_HOME/share/delft3d/esmf/lnx64/bin_COS7:$D3D_HOME/lib:$LD_LIBRARY_PATH ++# fi ++# else ++# echo "ERROR: ESMF_RegridWeightGen_in_Delft3D-WAVE.sh only implemented for CentOS 6 and 7." ++# exit ++# fi + + + echo Executing batchscript "ESMF_RegridWeightGen_in_Delft3D-WAVE.sh" for Delft3D-WAVE >>esmf_sh.log +diff -Nru trunk.orig/src/third_party_open/Makefile.am trunk/src/third_party_open/Makefile.am +--- trunk.orig/src/third_party_open/Makefile.am 2024-02-20 14:35:27.045777956 +0000 ++++ trunk/src/third_party_open/Makefile.am 2024-02-20 14:43:31.552143270 +0000 +@@ -19,7 +19,6 @@ + endif + + SUBDIRS = \ +- esmf \ + triangle \ + version_number \ + libsigwatch \ +@@ -28,39 +27,3 @@ + kdtree2 \ + md5 \ + $(MAYBE_FORTRANGIS) +-nobase_dist_pkgdata_DATA = \ +- esmf/lnx64/bin/libcilkrts.so.5 \ +- esmf/lnx64/bin/libdl.so.2 \ +- esmf/lnx64/bin/libesmf.so \ +- esmf/lnx64/bin/libgcc_s.so.1 \ +- esmf/lnx64/bin/libhdf5.so.8 \ +- esmf/lnx64/bin/libhdf5_hl.so.8 \ +- esmf/lnx64/bin/libifcore.so.5 \ +- esmf/lnx64/bin/libifport.so.5 \ +- esmf/lnx64/bin/libimf.so \ +- esmf/lnx64/bin/libintlc.so.5 \ +- esmf/lnx64/bin/libiomp5.so \ +- esmf/lnx64/bin/libirc.so \ +- esmf/lnx64/bin/libirng.so \ +- esmf/lnx64/bin/libm.so.6 \ +- esmf/lnx64/bin/libnetcdf.so.7 \ +- esmf/lnx64/bin/libnetcdff.so.6 \ +- esmf/lnx64/bin/librt.so.1 \ +- esmf/lnx64/bin/libsvml.so \ +- esmf/lnx64/bin/libz.so.1 \ +- esmf/lnx64/bin_COS7/libcilkrts.so.5 \ +- esmf/lnx64/bin_COS7/libesmf.so \ +- esmf/lnx64/bin_COS7/libhdf5.so.200 \ +- esmf/lnx64/bin_COS7/libhdf5_hl.so.200 \ +- esmf/lnx64/bin_COS7/libifcoremt.so.5 \ +- esmf/lnx64/bin_COS7/libifport.so.5 \ +- esmf/lnx64/bin_COS7/libimf.so \ +- esmf/lnx64/bin_COS7/libintlc.so.5 \ +- esmf/lnx64/bin_COS7/libiomp5.so \ +- esmf/lnx64/bin_COS7/libirc.so \ +- esmf/lnx64/bin_COS7/libirng.so \ +- esmf/lnx64/bin_COS7/libnetcdf.so.7 \ +- esmf/lnx64/bin_COS7/libnetcdf.so.18 \ +- esmf/lnx64/bin_COS7/libnetcdff.so.6 \ +- esmf/lnx64/bin_COS7/libsvml.so +- diff --git a/easybuild/easyconfigs/d/DeltaLake/DeltaLake-0.15.1-gfbf-2023a.eb b/easybuild/easyconfigs/d/DeltaLake/DeltaLake-0.15.1-gfbf-2023a.eb new file mode 100644 index 00000000000..e3342fac4f6 --- /dev/null +++ b/easybuild/easyconfigs/d/DeltaLake/DeltaLake-0.15.1-gfbf-2023a.eb @@ -0,0 +1,873 @@ +easyblock = 'CargoPythonPackage' + +name = 'DeltaLake' +version = '0.15.1' + +homepage = 'https://delta-io.github.io/delta-rs/' +description = """Native Delta Lake Python binding based on delta-rs with Pandas integration. +The Delta Lake project aims to unlock the power of the Deltalake for as many +users and projects as possible by providing native low-level APIs aimed at +developers and integrators, as well as a high-level operations API that lets +you query, inspect, and operate your Delta Lake with ease.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +sources = [SOURCELOWER_TAR_GZ] +patches = ['DeltaLake-0.15.1_remove-obsolete-pyarrow-hotfix.patch'] +checksums = [ + {'deltalake-0.15.1.tar.gz': '77ca8e239297c7db99ae0dd4c13097550f4dca64d6b6f9bd493d9084fdf25fb3'}, + {'addr2line-0.21.0.tar.gz': '8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb'}, + {'adler-1.0.2.tar.gz': 'f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe'}, + {'ahash-0.8.7.tar.gz': '77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01'}, + {'aho-corasick-1.1.2.tar.gz': 'b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0'}, + {'alloc-no-stdlib-2.0.4.tar.gz': 'cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3'}, + {'alloc-stdlib-0.2.2.tar.gz': '94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece'}, + {'allocator-api2-0.2.16.tar.gz': '0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5'}, + {'android-tzdata-0.1.1.tar.gz': 'e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0'}, + {'android_system_properties-0.1.5.tar.gz': '819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311'}, + {'anes-0.1.6.tar.gz': '4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299'}, + {'anstyle-1.0.4.tar.gz': '7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87'}, + {'anyhow-1.0.79.tar.gz': '080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca'}, + {'arrayref-0.3.7.tar.gz': '6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545'}, + {'arrayvec-0.7.4.tar.gz': '96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711'}, + {'arrow-49.0.0.tar.gz': '5bc25126d18a012146a888a0298f2c22e1150327bd2765fc76d710a556b2d614'}, + {'arrow-arith-49.0.0.tar.gz': '34ccd45e217ffa6e53bbb0080990e77113bdd4e91ddb84e97b77649810bcf1a7'}, + {'arrow-array-49.0.0.tar.gz': '6bda9acea48b25123c08340f3a8ac361aa0f74469bb36f5ee9acf923fce23e9d'}, + {'arrow-buffer-49.0.0.tar.gz': '01a0fc21915b00fc6c2667b069c1b64bdd920982f426079bc4a7cab86822886c'}, + {'arrow-cast-49.0.0.tar.gz': '5dc0368ed618d509636c1e3cc20db1281148190a78f43519487b2daf07b63b4a'}, + {'arrow-csv-49.0.0.tar.gz': '2e09aa6246a1d6459b3f14baeaa49606cfdbca34435c46320e14054d244987ca'}, + {'arrow-data-49.0.0.tar.gz': '907fafe280a3874474678c1858b9ca4cb7fd83fb8034ff5b6d6376205a08c634'}, + {'arrow-ipc-49.0.0.tar.gz': '79a43d6808411886b8c7d4f6f7dd477029c1e77ffffffb7923555cc6579639cd'}, + {'arrow-json-49.0.0.tar.gz': 'd82565c91fd627922ebfe2810ee4e8346841b6f9361b87505a9acea38b614fee'}, + {'arrow-ord-49.0.0.tar.gz': '9b23b0e53c0db57c6749997fd343d4c0354c994be7eca67152dd2bdb9a3e1bb4'}, + {'arrow-row-49.0.0.tar.gz': '361249898d2d6d4a6eeb7484be6ac74977e48da12a4dd81a708d620cc558117a'}, + {'arrow-schema-49.0.0.tar.gz': '09e28a5e781bf1b0f981333684ad13f5901f4cd2f20589eab7cf1797da8fc167'}, + {'arrow-select-49.0.0.tar.gz': '4f6208466590960efc1d2a7172bc4ff18a67d6e25c529381d7f96ddaf0dc4036'}, + {'arrow-string-49.0.0.tar.gz': 'a4a48149c63c11c9ff571e50ab8f017d2a7cb71037a882b42f6354ed2da9acc7'}, + {'async-compression-0.4.5.tar.gz': 'bc2d0cfb2a7388d34f590e76686704c494ed7aaceed62ee1ba35cbf363abc2a5'}, + {'async-trait-0.1.77.tar.gz': 'c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'aws-config-1.1.1.tar.gz': '11382bd8ac4c6c182a9775990935f96c916a865f1414486595f18eb8cfa9d90b'}, + {'aws-credential-types-1.1.1.tar.gz': '70a1629320d319dc715c6189b172349186557e209d2a7b893ff3d14efd33a47c'}, + {'aws-http-0.60.1.tar.gz': '30e4199d5d62ab09be6a64650c06cc5c4aa45806fed4c74bc4a5c8eaf039a6fa'}, + {'aws-runtime-1.1.1.tar.gz': '87116d357c905b53f1828d15366363fd27b330a0393cbef349e653f686d36bad'}, + {'aws-sdk-glue-1.11.0.tar.gz': 'addd517d95ed93ff34963f59f9878c29554036051e64599219f62d8508cfc131'}, + {'aws-sdk-sso-1.9.0.tar.gz': 'da9d9a8ac4cdb8df39f9777fd41e15a9ae0d0b622b00909ae0322b4d2f9e6ac8'}, + {'aws-sdk-ssooidc-1.9.0.tar.gz': '56ba4a42aa91acecd5ca43b330b5c8eb7f8808d720b6a6f796a35faa302fc73d'}, + {'aws-sdk-sts-1.9.0.tar.gz': '8e3c7c3dcec7cccd24a13953eedf0f2964c2d728d22112744274cf0098ad2e35'}, + {'aws-sigv4-1.1.1.tar.gz': 'd222297ca90209dc62245f0a490355795f29de362eb5c19caea4f7f55fe69078'}, + {'aws-smithy-async-1.1.1.tar.gz': '1e9f65000917e3aa94c259d67fe01fa9e4cd456187d026067d642436e6311a81'}, + {'aws-smithy-http-0.60.1.tar.gz': 'e4e816425a6b9caea4929ac97d0cb33674849bd5f0086418abc0d02c63f7a1bf'}, + {'aws-smithy-json-0.60.1.tar.gz': '8ab3f6d49e08df2f8d05e1bb5b68998e1e67b76054d3c43e7b954becb9a5e9ac'}, + {'aws-smithy-query-0.60.1.tar.gz': '0f94a7a3aa509ff9e8b8d80749851d04e5eee0954c43f2e7d6396c4740028737'}, + {'aws-smithy-runtime-1.1.1.tar.gz': '8da5b0a3617390e769576321816112f711c13d7e1114685e022505cf51fe5e48'}, + {'aws-smithy-runtime-api-1.1.1.tar.gz': '2404c9eb08bfe9af255945254d9afc69a367b7ee008b8db75c05e3bca485fc65'}, + {'aws-smithy-types-1.1.1.tar.gz': '2aba8136605d14ac88f57dc3a693a9f8a4eab4a3f52bc03ff13746f0cd704e97'}, + {'aws-smithy-xml-0.60.1.tar.gz': '2e8f03926587fc881b12b102048bb04305bf7fb8c83e776f0ccc51eaa2378263'}, + {'aws-types-1.1.1.tar.gz': '4e5d5ee29077e0fcd5ddd0c227b521a33aaf02434b7cdba1c55eec5c1f18ac47'}, + {'backoff-0.4.0.tar.gz': 'b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1'}, + {'backtrace-0.3.69.tar.gz': '2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837'}, + {'base64-0.13.1.tar.gz': '9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8'}, + {'base64-0.21.5.tar.gz': '35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9'}, + {'base64-simd-0.8.0.tar.gz': '339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'bitflags-2.4.1.tar.gz': '327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07'}, + {'blake2-0.10.6.tar.gz': '46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe'}, + {'blake3-1.5.0.tar.gz': '0231f06152bf547e9c2b5194f247cd97aacf6dcd8b15d8e5ec0663f64580da87'}, + {'block-buffer-0.9.0.tar.gz': '4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4'}, + {'block-buffer-0.10.4.tar.gz': '3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71'}, + {'brotli-3.4.0.tar.gz': '516074a47ef4bce09577a3b379392300159ce5b1ba2e501ff1c819950066100f'}, + {'brotli-decompressor-2.5.1.tar.gz': '4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f'}, + {'bumpalo-3.14.0.tar.gz': '7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec'}, + {'bytemuck-1.14.0.tar.gz': '374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6'}, + {'byteorder-1.5.0.tar.gz': '1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b'}, + {'bytes-1.5.0.tar.gz': 'a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223'}, + {'bytes-utils-0.1.4.tar.gz': '7dafe3a8757b027e2be6e4e5601ed563c55989fcf1546e933c66c8eb3a058d35'}, + {'bzip2-0.4.4.tar.gz': 'bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8'}, + {'bzip2-sys-0.1.11+1.0.8.tar.gz': '736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc'}, + {'cast-0.3.0.tar.gz': '37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5'}, + {'cc-1.0.83.tar.gz': 'f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'chrono-0.4.31.tar.gz': '7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38'}, + {'chrono-tz-0.8.5.tar.gz': '91d7b79e99bfaa0d47da0687c43aa3b7381938a62ad3a6498599039321f660b7'}, + {'chrono-tz-build-0.2.1.tar.gz': '433e39f13c9a060046954e0592a8d0a4bcb1040125cbf91cb8ee58964cfb350f'}, + {'ciborium-0.2.1.tar.gz': 'effd91f6c78e5a4ace8a5d3c0b6bfaec9e2baaef55f3efc00e45fb2e477ee926'}, + {'ciborium-io-0.2.1.tar.gz': 'cdf919175532b369853f5d5e20b26b43112613fd6fe7aee757e35f7a44642656'}, + {'ciborium-ll-0.2.1.tar.gz': 'defaa24ecc093c77630e6c15e17c51f5e187bf35ee514f4e2d67baaa96dae22b'}, + {'clap-4.4.13.tar.gz': '52bdc885e4cacc7f7c9eedc1ef6da641603180c783c41a15c264944deeaab642'}, + {'clap_builder-4.4.12.tar.gz': 'fb7fb5e4e979aec3be7791562fcba452f94ad85e954da024396433e0e25a79e9'}, + {'clap_lex-0.6.0.tar.gz': '702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1'}, + {'comfy-table-7.1.0.tar.gz': '7c64043d6c7b7a4c58e39e7efccfdea7b93d885a795d0c054a69dbbf4dd52686'}, + {'const-random-0.1.17.tar.gz': '5aaf16c9c2c612020bcfd042e170f6e32de9b9d75adb5277cdbbd2e2c8c8299a'}, + {'const-random-macro-0.1.16.tar.gz': 'f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e'}, + {'constant_time_eq-0.3.0.tar.gz': 'f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2'}, + {'core-foundation-0.9.4.tar.gz': '91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f'}, + {'core-foundation-sys-0.8.6.tar.gz': '06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f'}, + {'cpufeatures-0.2.12.tar.gz': '53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504'}, + {'crc32fast-1.3.2.tar.gz': 'b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d'}, + {'criterion-0.5.1.tar.gz': 'f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f'}, + {'criterion-plot-0.5.0.tar.gz': '6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1'}, + {'crossbeam-deque-0.8.4.tar.gz': 'fca89a0e215bab21874660c67903c5f143333cab1da83d041c7ded6053774751'}, + {'crossbeam-epoch-0.9.17.tar.gz': '0e3681d554572a651dda4186cd47240627c3d0114d45a95f6ad27f2f22e7548d'}, + {'crossbeam-utils-0.8.18.tar.gz': 'c3a430a770ebd84726f584a90ee7f020d28db52c6d02138900f22341f866d39c'}, + {'crunchy-0.2.2.tar.gz': '7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7'}, + {'crypto-common-0.1.6.tar.gz': '1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3'}, + {'crypto-mac-0.11.1.tar.gz': 'b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714'}, + {'csv-1.3.0.tar.gz': 'ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe'}, + {'csv-core-0.1.11.tar.gz': '5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70'}, + {'ct-logs-0.8.0.tar.gz': 'c1a816186fa68d9e426e3cb4ae4dff1fcd8e4a2c34b781bf7a822574a0d0aac8'}, + {'ctor-0.2.6.tar.gz': '30d2b3721e861707777e3195b0158f950ae6dc4a27e4d02ff9f67e3eb3de199e'}, + {'dashmap-5.5.3.tar.gz': '978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856'}, + {'datafusion-34.0.0.tar.gz': '193fd1e7628278d0641c5122860f9a7fd6a1d77d055838d12f55d15bbe28d4d0'}, + {'datafusion-common-34.0.0.tar.gz': '548bc49c4a489e3de474813831ea556dc9d368f9ed8d867b1493da42e8e9f613'}, + {'datafusion-execution-34.0.0.tar.gz': 'ecc865657ffcf4da5ff08bdc6436a9a833bc0aa96c3254c8d18ab8a0ad4e437d'}, + {'datafusion-expr-34.0.0.tar.gz': '33c473f72d8d81a532e63f6e562ed66dd9209dfd8e433d9712abd42444ee161e'}, + {'datafusion-optimizer-34.0.0.tar.gz': 'cb6218318001d2f6783b7fffa17592318f65f26609d7aab605a3dd0c7c2e2618'}, + {'datafusion-physical-expr-34.0.0.tar.gz': '9e1ca7e35ca22f9dc506c2375b92054b03ccf91afe25c0a90b395a1473a09735'}, + {'datafusion-physical-plan-34.0.0.tar.gz': 'ddde97adefcca3a55257c646ffee2a95b6cac66f74d1146a6e3a6dbb37830631'}, + {'datafusion-proto-34.0.0.tar.gz': '344700ad4505ffcab6ba0715188ce317ad44e024fe1c5dc7267762113a9dcdf8'}, + {'datafusion-sql-34.0.0.tar.gz': 'a60d9d6460a64fddb8663db41da97e6b8b0bf79da42f997ebe81722731eaf0e5'}, + {'deranged-0.3.11.tar.gz': 'b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4'}, + {'diff-0.1.13.tar.gz': '56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8'}, + {'digest-0.9.0.tar.gz': 'd3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066'}, + {'digest-0.10.7.tar.gz': '9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292'}, + {'dirs-next-2.0.0.tar.gz': 'b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1'}, + {'dirs-sys-next-0.1.2.tar.gz': '4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d'}, + {'doc-comment-0.3.3.tar.gz': 'fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10'}, + {'dotenvy-0.15.7.tar.gz': '1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b'}, + {'either-1.9.0.tar.gz': 'a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07'}, + {'encoding_rs-0.8.33.tar.gz': '7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1'}, + {'env_logger-0.10.1.tar.gz': '95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece'}, + {'equivalent-1.0.1.tar.gz': '5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5'}, + {'errno-0.3.8.tar.gz': 'a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245'}, + {'fastrand-2.0.1.tar.gz': '25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5'}, + {'fix-hidden-lifetime-bug-0.2.5.tar.gz': 'd4ae9c2016a663983d4e40a9ff967d6dcac59819672f0b47f2b17574e99c33c8'}, + {'fix-hidden-lifetime-bug-proc_macros-0.2.5.tar.gz': + 'e4c81935e123ab0741c4c4f0d9b8377e5fb21d3de7e062fa4b1263b1fbcba1ea'}, + {'fixedbitset-0.4.2.tar.gz': '0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80'}, + {'flatbuffers-23.5.26.tar.gz': '4dac53e22462d78c16d64a1cd22371b54cc3fe94aa15e7886a2fa6e5d1ab8640'}, + {'flate2-1.0.28.tar.gz': '46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e'}, + {'fnv-1.0.7.tar.gz': '3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1'}, + {'foreign-types-0.3.2.tar.gz': 'f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1'}, + {'foreign-types-shared-0.1.1.tar.gz': '00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b'}, + {'form_urlencoded-1.2.1.tar.gz': 'e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456'}, + {'fs_extra-1.3.0.tar.gz': '42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c'}, + {'futures-0.3.30.tar.gz': '645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0'}, + {'futures-channel-0.3.30.tar.gz': 'eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78'}, + {'futures-core-0.3.30.tar.gz': 'dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d'}, + {'futures-executor-0.3.30.tar.gz': 'a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d'}, + {'futures-io-0.3.30.tar.gz': 'a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1'}, + {'futures-macro-0.3.30.tar.gz': '87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac'}, + {'futures-sink-0.3.30.tar.gz': '9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5'}, + {'futures-task-0.3.30.tar.gz': '38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004'}, + {'futures-util-0.3.30.tar.gz': '3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48'}, + {'generic-array-0.14.7.tar.gz': '85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a'}, + {'getrandom-0.2.11.tar.gz': 'fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f'}, + {'gimli-0.28.1.tar.gz': '4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253'}, + {'glob-0.3.1.tar.gz': 'd2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b'}, + {'h2-0.3.22.tar.gz': '4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178'}, + {'half-1.8.2.tar.gz': 'eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7'}, + {'half-2.3.1.tar.gz': 'bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872'}, + {'hashbrown-0.14.3.tar.gz': '290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'hermit-abi-0.3.3.tar.gz': 'd77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7'}, + {'hex-0.4.3.tar.gz': '7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70'}, + {'hmac-0.11.0.tar.gz': '2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b'}, + {'hmac-0.12.1.tar.gz': '6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e'}, + {'http-0.2.11.tar.gz': '8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb'}, + {'http-body-0.4.6.tar.gz': '7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2'}, + {'httparse-1.8.0.tar.gz': 'd897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904'}, + {'httpdate-1.0.3.tar.gz': 'df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9'}, + {'humantime-2.1.0.tar.gz': '9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4'}, + {'hyper-0.14.28.tar.gz': 'bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80'}, + {'hyper-rustls-0.22.1.tar.gz': '5f9f7a97316d44c0af9b0301e65010573a853a9fc97046d7331d7f6bc0fd5a64'}, + {'hyper-rustls-0.24.2.tar.gz': 'ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590'}, + {'hyper-tls-0.5.0.tar.gz': 'd6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905'}, + {'iana-time-zone-0.1.59.tar.gz': 'b6a67363e2aa4443928ce15e57ebae94fd8949958fd1223c4cfc0cd473ad7539'}, + {'iana-time-zone-haiku-0.1.2.tar.gz': 'f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f'}, + {'idna-0.5.0.tar.gz': '634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6'}, + {'indexmap-2.1.0.tar.gz': 'd530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f'}, + {'indoc-2.0.4.tar.gz': '1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8'}, + {'instant-0.1.12.tar.gz': '7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c'}, + {'integer-encoding-3.0.4.tar.gz': '8bb03732005da905c88227371639bf1ad885cc712789c011c31c5fb3ab3ccf02'}, + {'ipnet-2.9.0.tar.gz': '8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3'}, + {'is-terminal-0.4.10.tar.gz': '0bad00257d07be169d870ab665980b06cdb366d792ad690bf2e76876dc503455'}, + {'itertools-0.10.5.tar.gz': 'b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473'}, + {'itertools-0.11.0.tar.gz': 'b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57'}, + {'itertools-0.12.0.tar.gz': '25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0'}, + {'itoa-1.0.10.tar.gz': 'b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c'}, + {'jobserver-0.1.27.tar.gz': '8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d'}, + {'js-sys-0.3.66.tar.gz': 'cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'lexical-core-0.8.5.tar.gz': '2cde5de06e8d4c2faabc400238f9ae1c74d5412d03a7bd067645ccbc47070e46'}, + {'lexical-parse-float-0.8.5.tar.gz': '683b3a5ebd0130b8fb52ba0bdc718cc56815b6a097e28ae5a6997d0ad17dc05f'}, + {'lexical-parse-integer-0.8.6.tar.gz': '6d0994485ed0c312f6d965766754ea177d07f9c00c9b82a5ee62ed5b47945ee9'}, + {'lexical-util-0.8.5.tar.gz': '5255b9ff16ff898710eb9eb63cb39248ea8a5bb036bea8085b1a767ff6c4e3fc'}, + {'lexical-write-float-0.8.5.tar.gz': 'accabaa1c4581f05a3923d1b4cfd124c329352288b7b9da09e766b0668116862'}, + {'lexical-write-integer-0.8.5.tar.gz': 'e1b6f3d1f4422866b68192d62f77bc5c700bee84f3069f2469d7bc8c77852446'}, + {'libc-0.2.152.tar.gz': '13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7'}, + {'libm-0.2.8.tar.gz': '4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058'}, + {'libredox-0.0.1.tar.gz': '85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8'}, + {'linux-raw-sys-0.4.12.tar.gz': 'c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456'}, + {'lock_api-0.4.11.tar.gz': '3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45'}, + {'log-0.4.20.tar.gz': 'b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f'}, + {'lz4_flex-0.11.1.tar.gz': '3ea9b256699eda7b0387ffbc776dd625e28bde3918446381781245b7a50349d8'}, + {'lzma-sys-0.1.20.tar.gz': '5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27'}, + {'maplit-1.0.2.tar.gz': '3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d'}, + {'md-5-0.9.1.tar.gz': '7b5a279bb9607f9f53c22d496eade00d138d1bdcccd07d74650387cf94942a15'}, + {'md-5-0.10.6.tar.gz': 'd89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf'}, + {'memchr-2.7.1.tar.gz': '523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149'}, + {'memoffset-0.9.0.tar.gz': '5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c'}, + {'mime-0.3.17.tar.gz': '6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a'}, + {'miniz_oxide-0.7.1.tar.gz': 'e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7'}, + {'mio-0.8.10.tar.gz': '8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09'}, + {'native-tls-0.2.11.tar.gz': '07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e'}, + {'num-0.4.1.tar.gz': 'b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af'}, + {'num-bigint-0.4.4.tar.gz': '608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0'}, + {'num-complex-0.4.4.tar.gz': '1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214'}, + {'num-integer-0.1.45.tar.gz': '225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9'}, + {'num-iter-0.1.43.tar.gz': '7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252'}, + {'num-rational-0.4.1.tar.gz': '0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0'}, + {'num-traits-0.2.17.tar.gz': '39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c'}, + {'num_cpus-1.16.0.tar.gz': '4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43'}, + {'object-0.32.2.tar.gz': 'a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441'}, + {'object_store-0.8.0.tar.gz': '2524735495ea1268be33d200e1ee97455096a0846295a21548cd2f3541de7050'}, + {'once_cell-1.19.0.tar.gz': '3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92'}, + {'oorandom-11.1.3.tar.gz': '0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575'}, + {'opaque-debug-0.3.0.tar.gz': '624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5'}, + {'openssl-0.10.62.tar.gz': '8cde4d2d9200ad5909f8dac647e29482e07c3a35de8a13fce7c9c7747ad9f671'}, + {'openssl-macros-0.1.1.tar.gz': 'a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c'}, + {'openssl-probe-0.1.5.tar.gz': 'ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf'}, + {'openssl-src-300.2.1+3.2.0.tar.gz': '3fe476c29791a5ca0d1273c697e96085bbabbbea2ef7afd5617e78a4b40332d3'}, + {'openssl-sys-0.9.98.tar.gz': 'c1665caf8ab2dc9aef43d1c0023bd904633a6a05cb30b0ad59bec2ae986e57a7'}, + {'ordered-float-2.10.1.tar.gz': '68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c'}, + {'outref-0.5.1.tar.gz': '4030760ffd992bef45b0ae3f10ce1aba99e33464c90d14dd7c039884963ddc7a'}, + {'parking_lot-0.12.1.tar.gz': '3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f'}, + {'parking_lot_core-0.9.9.tar.gz': '4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e'}, + {'parquet-49.0.0.tar.gz': 'af88740a842787da39b3d69ce5fbf6fce97d20211d3b299fee0a0da6430c74d4'}, + {'parse-zoneinfo-0.3.0.tar.gz': 'c705f256449c60da65e11ff6626e0c16a0a0b96aaa348de61376b249bc340f41'}, + {'paste-1.0.14.tar.gz': 'de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c'}, + {'percent-encoding-2.3.1.tar.gz': 'e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e'}, + {'petgraph-0.6.4.tar.gz': 'e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9'}, + {'phf-0.11.2.tar.gz': 'ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc'}, + {'phf_codegen-0.11.2.tar.gz': 'e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a'}, + {'phf_generator-0.11.2.tar.gz': '48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0'}, + {'phf_shared-0.11.2.tar.gz': '90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b'}, + {'pin-project-lite-0.2.13.tar.gz': '8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58'}, + {'pin-utils-0.1.0.tar.gz': '8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184'}, + {'pkg-config-0.3.28.tar.gz': '69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a'}, + {'plotters-0.3.5.tar.gz': 'd2c224ba00d7cadd4d5c660deaf2098e5e80e07846537c51f9cfa4be50c1fd45'}, + {'plotters-backend-0.3.5.tar.gz': '9e76628b4d3a7581389a35d5b6e2139607ad7c75b17aed325f210aa91f4a9609'}, + {'plotters-svg-0.3.5.tar.gz': '38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab'}, + {'powerfmt-0.2.0.tar.gz': '439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391'}, + {'ppv-lite86-0.2.17.tar.gz': '5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de'}, + {'pretty_assertions-1.4.0.tar.gz': 'af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66'}, + {'pretty_env_logger-0.5.0.tar.gz': '865724d4dbe39d9f3dd3b52b88d859d66bcb2d6a0acfd5ea68a65fb66d4bdc1c'}, + {'proc-macro2-1.0.76.tar.gz': '95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c'}, + {'prost-0.12.3.tar.gz': '146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a'}, + {'prost-derive-0.12.3.tar.gz': 'efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e'}, + {'pyo3-0.20.2.tar.gz': '9a89dc7a5850d0e983be1ec2a463a171d20990487c3cfcd68b5363f1ee3d6fe0'}, + {'pyo3-build-config-0.20.2.tar.gz': '07426f0d8fe5a601f26293f300afd1a7b1ed5e78b2a705870c5f30893c5163be'}, + {'pyo3-ffi-0.20.2.tar.gz': 'dbb7dec17e17766b46bca4f1a4215a85006b4c2ecde122076c562dd058da6cf1'}, + {'pyo3-macros-0.20.2.tar.gz': '05f738b4e40d50b5711957f142878cfa0f28e054aa0ebdfc3fd137a843f74ed3'}, + {'pyo3-macros-backend-0.20.2.tar.gz': '0fc910d4851847827daf9d6cdd4a823fbdaab5b8818325c5e97a86da79e8881f'}, + {'quick-xml-0.31.0.tar.gz': '1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33'}, + {'quote-1.0.35.tar.gz': '291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef'}, + {'rand-0.8.5.tar.gz': '34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404'}, + {'rand_chacha-0.3.1.tar.gz': 'e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88'}, + {'rand_core-0.6.4.tar.gz': 'ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c'}, + {'rayon-1.8.0.tar.gz': '9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1'}, + {'rayon-core-1.12.0.tar.gz': '5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed'}, + {'redox_syscall-0.4.1.tar.gz': '4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa'}, + {'redox_users-0.4.4.tar.gz': 'a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4'}, + {'regex-1.10.2.tar.gz': '380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343'}, + {'regex-automata-0.4.3.tar.gz': '5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f'}, + {'regex-lite-0.1.5.tar.gz': '30b661b2f27137bdbc16f00eda72866a92bb28af1753ffbd56744fb6e2e9cd8e'}, + {'regex-syntax-0.8.2.tar.gz': 'c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f'}, + {'reqwest-0.11.23.tar.gz': '37b1ae8d9ac08420c66222fb9096fc5de435c3c48542bc5336c51892cffafb41'}, + {'retain_mut-0.1.7.tar.gz': '8c31b5c4033f8fdde8700e4657be2c497e7288f01515be52168c631e2e4d4086'}, + {'ring-0.16.20.tar.gz': '3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc'}, + {'ring-0.17.7.tar.gz': '688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74'}, + {'roaring-0.10.2.tar.gz': '6106b5cf8587f5834158895e9715a3c6c9716c8aefab57f1f7680917191c7873'}, + {'rusoto_core-0.47.0.tar.gz': '5b4f000e8934c1b4f70adde180056812e7ea6b1a247952db8ee98c94cd3116cc'}, + {'rusoto_credential-0.47.0.tar.gz': '6a46b67db7bb66f5541e44db22b0a02fed59c9603e146db3a9e633272d3bac2f'}, + {'rusoto_dynamodb-0.47.0.tar.gz': '7935e1f9ca57c4ee92a4d823dcd698eb8c992f7e84ca21976ae72cd2b03016e7'}, + {'rusoto_signature-0.47.0.tar.gz': '6264e93384b90a747758bcc82079711eacf2e755c3a8b5091687b5349d870bcc'}, + {'rusoto_sts-0.47.0.tar.gz': '4e7edd42473ac006fd54105f619e480b0a94136e7f53cf3fb73541363678fd92'}, + {'rustc-demangle-0.1.23.tar.gz': 'd626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76'}, + {'rustc_version-0.4.0.tar.gz': 'bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366'}, + {'rustix-0.38.28.tar.gz': '72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316'}, + {'rustls-0.19.1.tar.gz': '35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7'}, + {'rustls-0.21.10.tar.gz': 'f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba'}, + {'rustls-native-certs-0.5.0.tar.gz': '5a07b7c1885bd8ed3831c289b7870b13ef46fe0e856d288c30d9cc17d75a2092'}, + {'rustls-native-certs-0.6.3.tar.gz': 'a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00'}, + {'rustls-pemfile-1.0.4.tar.gz': '1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c'}, + {'rustls-webpki-0.101.7.tar.gz': '8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765'}, + {'rustversion-1.0.14.tar.gz': '7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4'}, + {'ryu-1.0.16.tar.gz': 'f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c'}, + {'same-file-1.0.6.tar.gz': '93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502'}, + {'schannel-0.1.23.tar.gz': 'fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534'}, + {'scopeguard-1.2.0.tar.gz': '94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49'}, + {'sct-0.6.1.tar.gz': 'b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce'}, + {'sct-0.7.1.tar.gz': 'da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414'}, + {'security-framework-2.9.2.tar.gz': '05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de'}, + {'security-framework-sys-2.9.1.tar.gz': 'e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a'}, + {'semver-1.0.21.tar.gz': 'b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0'}, + {'seq-macro-0.3.5.tar.gz': 'a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4'}, + {'serde-1.0.195.tar.gz': '63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02'}, + {'serde_derive-1.0.195.tar.gz': '46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c'}, + {'serde_json-1.0.111.tar.gz': '176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4'}, + {'serde_urlencoded-0.7.1.tar.gz': 'd3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd'}, + {'serial_test-2.0.0.tar.gz': '0e56dd856803e253c8f298af3f4d7eb0ae5e23a737252cd90bb4f3b435033b2d'}, + {'serial_test_derive-2.0.0.tar.gz': '91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f'}, + {'sha2-0.9.9.tar.gz': '4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800'}, + {'sha2-0.10.8.tar.gz': '793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8'}, + {'shlex-1.2.0.tar.gz': 'a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380'}, + {'signal-hook-registry-1.4.1.tar.gz': 'd8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1'}, + {'siphasher-0.3.11.tar.gz': '38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d'}, + {'slab-0.4.9.tar.gz': '8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67'}, + {'smallvec-1.11.2.tar.gz': '4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970'}, + {'snafu-0.7.5.tar.gz': 'e4de37ad025c587a29e8f3f5605c00f70b98715ef90b9061a815b9e59e9042d6'}, + {'snafu-derive-0.7.5.tar.gz': '990079665f075b699031e9c08fd3ab99be5029b96f3b78dc0709e8f77e4efebf'}, + {'snap-1.1.1.tar.gz': '1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b'}, + {'socket2-0.5.5.tar.gz': '7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9'}, + {'spin-0.5.2.tar.gz': '6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d'}, + {'spin-0.9.8.tar.gz': '6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67'}, + {'sqlparser-0.40.0.tar.gz': '7c80afe31cdb649e56c0d9bb5503be9166600d68a852c38dd445636d126858e5'}, + {'sqlparser_derive-0.2.2.tar.gz': '01b2e185515564f15375f593fb966b5718bc624ba77fe49fa4616ad619690554'}, + {'static_assertions-1.1.0.tar.gz': 'a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f'}, + {'strum-0.25.0.tar.gz': '290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125'}, + {'strum_macros-0.25.3.tar.gz': '23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0'}, + {'subtle-2.4.1.tar.gz': '6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601'}, + {'syn-1.0.109.tar.gz': '72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237'}, + {'syn-2.0.48.tar.gz': '0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f'}, + {'system-configuration-0.5.1.tar.gz': 'ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7'}, + {'system-configuration-sys-0.5.0.tar.gz': 'a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9'}, + {'target-lexicon-0.12.13.tar.gz': '69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae'}, + {'tempfile-3.9.0.tar.gz': '01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa'}, + {'termcolor-1.4.0.tar.gz': 'ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449'}, + {'thiserror-1.0.56.tar.gz': 'd54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad'}, + {'thiserror-impl-1.0.56.tar.gz': 'fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471'}, + {'thrift-0.17.0.tar.gz': '7e54bc85fc7faa8bc175c4bab5b92ba8d9a3ce893d0e9f42cc455c8ab16a9e09'}, + {'time-0.3.31.tar.gz': 'f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e'}, + {'time-core-0.1.2.tar.gz': 'ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3'}, + {'time-macros-0.2.16.tar.gz': '26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f'}, + {'tiny-keccak-2.0.2.tar.gz': '2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237'}, + {'tinytemplate-1.2.1.tar.gz': 'be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc'}, + {'tinyvec-1.6.0.tar.gz': '87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50'}, + {'tinyvec_macros-0.1.1.tar.gz': '1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20'}, + {'tokio-1.35.1.tar.gz': 'c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104'}, + {'tokio-macros-2.2.0.tar.gz': '5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b'}, + {'tokio-native-tls-0.3.1.tar.gz': 'bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2'}, + {'tokio-rustls-0.22.0.tar.gz': 'bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6'}, + {'tokio-rustls-0.24.1.tar.gz': 'c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081'}, + {'tokio-util-0.7.10.tar.gz': '5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15'}, + {'tower-service-0.3.2.tar.gz': 'b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52'}, + {'tracing-0.1.40.tar.gz': 'c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef'}, + {'tracing-attributes-0.1.27.tar.gz': '34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7'}, + {'tracing-core-0.1.32.tar.gz': 'c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54'}, + {'try-lock-0.2.5.tar.gz': 'e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b'}, + {'twox-hash-1.6.3.tar.gz': '97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675'}, + {'typenum-1.17.0.tar.gz': '42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825'}, + {'unicode-bidi-0.3.14.tar.gz': '6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416'}, + {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'}, + {'unicode-normalization-0.1.22.tar.gz': '5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921'}, + {'unicode-segmentation-1.10.1.tar.gz': '1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36'}, + {'unicode-width-0.1.11.tar.gz': 'e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85'}, + {'unindent-0.2.3.tar.gz': 'c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce'}, + {'untrusted-0.7.1.tar.gz': 'a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a'}, + {'untrusted-0.9.0.tar.gz': '8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1'}, + {'url-2.5.0.tar.gz': '31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633'}, + {'urlencoding-2.1.3.tar.gz': 'daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da'}, + {'utime-0.3.1.tar.gz': '91baa0c65eabd12fcbdac8cc35ff16159cab95cae96d0222d6d0271db6193cef'}, + {'uuid-1.6.1.tar.gz': '5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560'}, + {'vcpkg-0.2.15.tar.gz': 'accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426'}, + {'version_check-0.9.4.tar.gz': '49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f'}, + {'vsimd-0.8.0.tar.gz': '5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64'}, + {'walkdir-2.4.0.tar.gz': 'd71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee'}, + {'want-0.3.1.tar.gz': 'bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e'}, + {'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}, + {'wasm-bindgen-0.2.89.tar.gz': '0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e'}, + {'wasm-bindgen-backend-0.2.89.tar.gz': '1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826'}, + {'wasm-bindgen-futures-0.4.39.tar.gz': 'ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12'}, + {'wasm-bindgen-macro-0.2.89.tar.gz': '0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2'}, + {'wasm-bindgen-macro-support-0.2.89.tar.gz': 'f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283'}, + {'wasm-bindgen-shared-0.2.89.tar.gz': '7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f'}, + {'wasm-streams-0.3.0.tar.gz': 'b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7'}, + {'web-sys-0.3.66.tar.gz': '50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f'}, + {'webpki-0.21.4.tar.gz': 'b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea'}, + {'webpki-roots-0.25.3.tar.gz': '1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10'}, + {'winapi-0.3.9.tar.gz': '5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419'}, + {'winapi-i686-pc-windows-gnu-0.4.0.tar.gz': 'ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6'}, + {'winapi-util-0.1.6.tar.gz': 'f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596'}, + {'winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz': '712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f'}, + {'windows-core-0.52.0.tar.gz': '33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9'}, + {'windows-sys-0.48.0.tar.gz': '677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9'}, + {'windows-sys-0.52.0.tar.gz': '282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d'}, + {'windows-targets-0.48.5.tar.gz': '9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c'}, + {'windows-targets-0.52.0.tar.gz': '8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd'}, + {'windows_aarch64_gnullvm-0.48.5.tar.gz': '2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8'}, + {'windows_aarch64_gnullvm-0.52.0.tar.gz': 'cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea'}, + {'windows_aarch64_msvc-0.48.5.tar.gz': 'dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc'}, + {'windows_aarch64_msvc-0.52.0.tar.gz': 'bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef'}, + {'windows_i686_gnu-0.48.5.tar.gz': 'a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e'}, + {'windows_i686_gnu-0.52.0.tar.gz': 'a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313'}, + {'windows_i686_msvc-0.48.5.tar.gz': '8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406'}, + {'windows_i686_msvc-0.52.0.tar.gz': 'ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a'}, + {'windows_x86_64_gnu-0.48.5.tar.gz': '53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e'}, + {'windows_x86_64_gnu-0.52.0.tar.gz': '3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd'}, + {'windows_x86_64_gnullvm-0.48.5.tar.gz': '0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc'}, + {'windows_x86_64_gnullvm-0.52.0.tar.gz': '1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e'}, + {'windows_x86_64_msvc-0.48.5.tar.gz': 'ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538'}, + {'windows_x86_64_msvc-0.52.0.tar.gz': 'dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04'}, + {'winreg-0.50.0.tar.gz': '524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1'}, + {'xml-rs-0.8.19.tar.gz': '0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a'}, + {'xmlparser-0.13.6.tar.gz': '66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4'}, + {'xz2-0.1.7.tar.gz': '388c44dc09d76f1536602ead6d325eb532f5c122f17782bd57fb47baeeb767e2'}, + {'yansi-0.5.1.tar.gz': '09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec'}, + {'z85-3.0.5.tar.gz': '2a599daf1b507819c1121f0bf87fa37eb19daac6aff3aefefd4e6e2e0f2020fc'}, + {'zerocopy-0.7.32.tar.gz': '74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be'}, + {'zerocopy-derive-0.7.32.tar.gz': '9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6'}, + {'zeroize-1.7.0.tar.gz': '525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d'}, + {'zstd-0.13.0.tar.gz': 'bffb3309596d527cfcba7dfc6ed6052f1d39dfbd7c867aa2e865e4a449c10110'}, + {'zstd-safe-7.0.0.tar.gz': '43747c7422e2924c11144d5229878b98180ef8b06cca4ab5af37afc8a8d8ea3e'}, + {'zstd-sys-2.0.9+zstd.1.5.5.tar.gz': '9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656'}, + {'DeltaLake-0.15.1_remove-obsolete-pyarrow-hotfix.patch': + 'd4f06aa704c9ae8af72f119550145513a85d851214a8c09bbcaca7a3685613c4'}, +] + +crates = [ + ('addr2line', '0.21.0'), + ('adler', '1.0.2'), + ('ahash', '0.8.7'), + ('aho-corasick', '1.1.2'), + ('alloc-no-stdlib', '2.0.4'), + ('alloc-stdlib', '0.2.2'), + ('allocator-api2', '0.2.16'), + ('android-tzdata', '0.1.1'), + ('android_system_properties', '0.1.5'), + ('anes', '0.1.6'), + ('anstyle', '1.0.4'), + ('anyhow', '1.0.79'), + ('arrayref', '0.3.7'), + ('arrayvec', '0.7.4'), + ('arrow', '49.0.0'), + ('arrow-arith', '49.0.0'), + ('arrow-array', '49.0.0'), + ('arrow-buffer', '49.0.0'), + ('arrow-cast', '49.0.0'), + ('arrow-csv', '49.0.0'), + ('arrow-data', '49.0.0'), + ('arrow-ipc', '49.0.0'), + ('arrow-json', '49.0.0'), + ('arrow-ord', '49.0.0'), + ('arrow-row', '49.0.0'), + ('arrow-schema', '49.0.0'), + ('arrow-select', '49.0.0'), + ('arrow-string', '49.0.0'), + ('async-compression', '0.4.5'), + ('async-trait', '0.1.77'), + ('autocfg', '1.1.0'), + ('aws-config', '1.1.1'), + ('aws-credential-types', '1.1.1'), + ('aws-http', '0.60.1'), + ('aws-runtime', '1.1.1'), + ('aws-sdk-glue', '1.11.0'), + ('aws-sdk-sso', '1.9.0'), + ('aws-sdk-ssooidc', '1.9.0'), + ('aws-sdk-sts', '1.9.0'), + ('aws-sigv4', '1.1.1'), + ('aws-smithy-async', '1.1.1'), + ('aws-smithy-http', '0.60.1'), + ('aws-smithy-json', '0.60.1'), + ('aws-smithy-query', '0.60.1'), + ('aws-smithy-runtime', '1.1.1'), + ('aws-smithy-runtime-api', '1.1.1'), + ('aws-smithy-types', '1.1.1'), + ('aws-smithy-xml', '0.60.1'), + ('aws-types', '1.1.1'), + ('backoff', '0.4.0'), + ('backtrace', '0.3.69'), + ('base64', '0.13.1'), + ('base64', '0.21.5'), + ('base64-simd', '0.8.0'), + ('bitflags', '1.3.2'), + ('bitflags', '2.4.1'), + ('blake2', '0.10.6'), + ('blake3', '1.5.0'), + ('block-buffer', '0.9.0'), + ('block-buffer', '0.10.4'), + ('brotli', '3.4.0'), + ('brotli-decompressor', '2.5.1'), + ('bumpalo', '3.14.0'), + ('bytemuck', '1.14.0'), + ('byteorder', '1.5.0'), + ('bytes', '1.5.0'), + ('bytes-utils', '0.1.4'), + ('bzip2', '0.4.4'), + ('bzip2-sys', '0.1.11+1.0.8'), + ('cast', '0.3.0'), + ('cc', '1.0.83'), + ('cfg-if', '1.0.0'), + ('chrono', '0.4.31'), + ('chrono-tz', '0.8.5'), + ('chrono-tz-build', '0.2.1'), + ('ciborium', '0.2.1'), + ('ciborium-io', '0.2.1'), + ('ciborium-ll', '0.2.1'), + ('clap', '4.4.13'), + ('clap_builder', '4.4.12'), + ('clap_lex', '0.6.0'), + ('comfy-table', '7.1.0'), + ('const-random', '0.1.17'), + ('const-random-macro', '0.1.16'), + ('constant_time_eq', '0.3.0'), + ('core-foundation', '0.9.4'), + ('core-foundation-sys', '0.8.6'), + ('cpufeatures', '0.2.12'), + ('crc32fast', '1.3.2'), + ('criterion', '0.5.1'), + ('criterion-plot', '0.5.0'), + ('crossbeam-deque', '0.8.4'), + ('crossbeam-epoch', '0.9.17'), + ('crossbeam-utils', '0.8.18'), + ('crunchy', '0.2.2'), + ('crypto-common', '0.1.6'), + ('crypto-mac', '0.11.1'), + ('csv', '1.3.0'), + ('csv-core', '0.1.11'), + ('ct-logs', '0.8.0'), + ('ctor', '0.2.6'), + ('dashmap', '5.5.3'), + ('datafusion', '34.0.0'), + ('datafusion-common', '34.0.0'), + ('datafusion-execution', '34.0.0'), + ('datafusion-expr', '34.0.0'), + ('datafusion-optimizer', '34.0.0'), + ('datafusion-physical-expr', '34.0.0'), + ('datafusion-physical-plan', '34.0.0'), + ('datafusion-proto', '34.0.0'), + ('datafusion-sql', '34.0.0'), + ('deranged', '0.3.11'), + ('diff', '0.1.13'), + ('digest', '0.9.0'), + ('digest', '0.10.7'), + ('dirs-next', '2.0.0'), + ('dirs-sys-next', '0.1.2'), + ('doc-comment', '0.3.3'), + ('dotenvy', '0.15.7'), + ('either', '1.9.0'), + ('encoding_rs', '0.8.33'), + ('env_logger', '0.10.1'), + ('equivalent', '1.0.1'), + ('errno', '0.3.8'), + ('fastrand', '2.0.1'), + ('fix-hidden-lifetime-bug', '0.2.5'), + ('fix-hidden-lifetime-bug-proc_macros', '0.2.5'), + ('fixedbitset', '0.4.2'), + ('flatbuffers', '23.5.26'), + ('flate2', '1.0.28'), + ('fnv', '1.0.7'), + ('foreign-types', '0.3.2'), + ('foreign-types-shared', '0.1.1'), + ('form_urlencoded', '1.2.1'), + ('fs_extra', '1.3.0'), + ('futures', '0.3.30'), + ('futures-channel', '0.3.30'), + ('futures-core', '0.3.30'), + ('futures-executor', '0.3.30'), + ('futures-io', '0.3.30'), + ('futures-macro', '0.3.30'), + ('futures-sink', '0.3.30'), + ('futures-task', '0.3.30'), + ('futures-util', '0.3.30'), + ('generic-array', '0.14.7'), + ('getrandom', '0.2.11'), + ('gimli', '0.28.1'), + ('glob', '0.3.1'), + ('h2', '0.3.22'), + ('half', '1.8.2'), + ('half', '2.3.1'), + ('hashbrown', '0.14.3'), + ('heck', '0.4.1'), + ('hermit-abi', '0.3.3'), + ('hex', '0.4.3'), + ('hmac', '0.11.0'), + ('hmac', '0.12.1'), + ('http', '0.2.11'), + ('http-body', '0.4.6'), + ('httparse', '1.8.0'), + ('httpdate', '1.0.3'), + ('humantime', '2.1.0'), + ('hyper', '0.14.28'), + ('hyper-rustls', '0.22.1'), + ('hyper-rustls', '0.24.2'), + ('hyper-tls', '0.5.0'), + ('iana-time-zone', '0.1.59'), + ('iana-time-zone-haiku', '0.1.2'), + ('idna', '0.5.0'), + ('indexmap', '2.1.0'), + ('indoc', '2.0.4'), + ('instant', '0.1.12'), + ('integer-encoding', '3.0.4'), + ('ipnet', '2.9.0'), + ('is-terminal', '0.4.10'), + ('itertools', '0.10.5'), + ('itertools', '0.11.0'), + ('itertools', '0.12.0'), + ('itoa', '1.0.10'), + ('jobserver', '0.1.27'), + ('js-sys', '0.3.66'), + ('lazy_static', '1.4.0'), + ('lexical-core', '0.8.5'), + ('lexical-parse-float', '0.8.5'), + ('lexical-parse-integer', '0.8.6'), + ('lexical-util', '0.8.5'), + ('lexical-write-float', '0.8.5'), + ('lexical-write-integer', '0.8.5'), + ('libc', '0.2.152'), + ('libm', '0.2.8'), + ('libredox', '0.0.1'), + ('linux-raw-sys', '0.4.12'), + ('lock_api', '0.4.11'), + ('log', '0.4.20'), + ('lz4_flex', '0.11.1'), + ('lzma-sys', '0.1.20'), + ('maplit', '1.0.2'), + ('md-5', '0.9.1'), + ('md-5', '0.10.6'), + ('memchr', '2.7.1'), + ('memoffset', '0.9.0'), + ('mime', '0.3.17'), + ('miniz_oxide', '0.7.1'), + ('mio', '0.8.10'), + ('native-tls', '0.2.11'), + ('num', '0.4.1'), + ('num-bigint', '0.4.4'), + ('num-complex', '0.4.4'), + ('num-integer', '0.1.45'), + ('num-iter', '0.1.43'), + ('num-rational', '0.4.1'), + ('num-traits', '0.2.17'), + ('num_cpus', '1.16.0'), + ('object', '0.32.2'), + ('object_store', '0.8.0'), + ('once_cell', '1.19.0'), + ('oorandom', '11.1.3'), + ('opaque-debug', '0.3.0'), + ('openssl', '0.10.62'), + ('openssl-macros', '0.1.1'), + ('openssl-probe', '0.1.5'), + ('openssl-src', '300.2.1+3.2.0'), + ('openssl-sys', '0.9.98'), + ('ordered-float', '2.10.1'), + ('outref', '0.5.1'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.9'), + ('parquet', '49.0.0'), + ('parse-zoneinfo', '0.3.0'), + ('paste', '1.0.14'), + ('percent-encoding', '2.3.1'), + ('petgraph', '0.6.4'), + ('phf', '0.11.2'), + ('phf_codegen', '0.11.2'), + ('phf_generator', '0.11.2'), + ('phf_shared', '0.11.2'), + ('pin-project-lite', '0.2.13'), + ('pin-utils', '0.1.0'), + ('pkg-config', '0.3.28'), + ('plotters', '0.3.5'), + ('plotters-backend', '0.3.5'), + ('plotters-svg', '0.3.5'), + ('powerfmt', '0.2.0'), + ('ppv-lite86', '0.2.17'), + ('pretty_assertions', '1.4.0'), + ('pretty_env_logger', '0.5.0'), + ('proc-macro2', '1.0.76'), + ('prost', '0.12.3'), + ('prost-derive', '0.12.3'), + ('pyo3', '0.20.2'), + ('pyo3-build-config', '0.20.2'), + ('pyo3-ffi', '0.20.2'), + ('pyo3-macros', '0.20.2'), + ('pyo3-macros-backend', '0.20.2'), + ('quick-xml', '0.31.0'), + ('quote', '1.0.35'), + ('rand', '0.8.5'), + ('rand_chacha', '0.3.1'), + ('rand_core', '0.6.4'), + ('rayon', '1.8.0'), + ('rayon-core', '1.12.0'), + ('redox_syscall', '0.4.1'), + ('redox_users', '0.4.4'), + ('regex', '1.10.2'), + ('regex-automata', '0.4.3'), + ('regex-lite', '0.1.5'), + ('regex-syntax', '0.8.2'), + ('reqwest', '0.11.23'), + ('retain_mut', '0.1.7'), + ('ring', '0.16.20'), + ('ring', '0.17.7'), + ('roaring', '0.10.2'), + ('rusoto_core', '0.47.0'), + ('rusoto_credential', '0.47.0'), + ('rusoto_dynamodb', '0.47.0'), + ('rusoto_signature', '0.47.0'), + ('rusoto_sts', '0.47.0'), + ('rustc-demangle', '0.1.23'), + ('rustc_version', '0.4.0'), + ('rustix', '0.38.28'), + ('rustls', '0.19.1'), + ('rustls', '0.21.10'), + ('rustls-native-certs', '0.5.0'), + ('rustls-native-certs', '0.6.3'), + ('rustls-pemfile', '1.0.4'), + ('rustls-webpki', '0.101.7'), + ('rustversion', '1.0.14'), + ('ryu', '1.0.16'), + ('same-file', '1.0.6'), + ('schannel', '0.1.23'), + ('scopeguard', '1.2.0'), + ('sct', '0.6.1'), + ('sct', '0.7.1'), + ('security-framework', '2.9.2'), + ('security-framework-sys', '2.9.1'), + ('semver', '1.0.21'), + ('seq-macro', '0.3.5'), + ('serde', '1.0.195'), + ('serde_derive', '1.0.195'), + ('serde_json', '1.0.111'), + ('serde_urlencoded', '0.7.1'), + ('serial_test', '2.0.0'), + ('serial_test_derive', '2.0.0'), + ('sha2', '0.9.9'), + ('sha2', '0.10.8'), + ('shlex', '1.2.0'), + ('signal-hook-registry', '1.4.1'), + ('siphasher', '0.3.11'), + ('slab', '0.4.9'), + ('smallvec', '1.11.2'), + ('snafu', '0.7.5'), + ('snafu-derive', '0.7.5'), + ('snap', '1.1.1'), + ('socket2', '0.5.5'), + ('spin', '0.5.2'), + ('spin', '0.9.8'), + ('sqlparser', '0.40.0'), + ('sqlparser_derive', '0.2.2'), + ('static_assertions', '1.1.0'), + ('strum', '0.25.0'), + ('strum_macros', '0.25.3'), + ('subtle', '2.4.1'), + ('syn', '1.0.109'), + ('syn', '2.0.48'), + ('system-configuration', '0.5.1'), + ('system-configuration-sys', '0.5.0'), + ('target-lexicon', '0.12.13'), + ('tempfile', '3.9.0'), + ('termcolor', '1.4.0'), + ('thiserror', '1.0.56'), + ('thiserror-impl', '1.0.56'), + ('thrift', '0.17.0'), + ('time', '0.3.31'), + ('time-core', '0.1.2'), + ('time-macros', '0.2.16'), + ('tiny-keccak', '2.0.2'), + ('tinytemplate', '1.2.1'), + ('tinyvec', '1.6.0'), + ('tinyvec_macros', '0.1.1'), + ('tokio', '1.35.1'), + ('tokio-macros', '2.2.0'), + ('tokio-native-tls', '0.3.1'), + ('tokio-rustls', '0.22.0'), + ('tokio-rustls', '0.24.1'), + ('tokio-util', '0.7.10'), + ('tower-service', '0.3.2'), + ('tracing', '0.1.40'), + ('tracing-attributes', '0.1.27'), + ('tracing-core', '0.1.32'), + ('try-lock', '0.2.5'), + ('twox-hash', '1.6.3'), + ('typenum', '1.17.0'), + ('unicode-bidi', '0.3.14'), + ('unicode-ident', '1.0.12'), + ('unicode-normalization', '0.1.22'), + ('unicode-segmentation', '1.10.1'), + ('unicode-width', '0.1.11'), + ('unindent', '0.2.3'), + ('untrusted', '0.7.1'), + ('untrusted', '0.9.0'), + ('url', '2.5.0'), + ('urlencoding', '2.1.3'), + ('utime', '0.3.1'), + ('uuid', '1.6.1'), + ('vcpkg', '0.2.15'), + ('version_check', '0.9.4'), + ('vsimd', '0.8.0'), + ('walkdir', '2.4.0'), + ('want', '0.3.1'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('wasm-bindgen', '0.2.89'), + ('wasm-bindgen-backend', '0.2.89'), + ('wasm-bindgen-futures', '0.4.39'), + ('wasm-bindgen-macro', '0.2.89'), + ('wasm-bindgen-macro-support', '0.2.89'), + ('wasm-bindgen-shared', '0.2.89'), + ('wasm-streams', '0.3.0'), + ('web-sys', '0.3.66'), + ('webpki', '0.21.4'), + ('webpki-roots', '0.25.3'), + ('winapi', '0.3.9'), + ('winapi-i686-pc-windows-gnu', '0.4.0'), + ('winapi-util', '0.1.6'), + ('winapi-x86_64-pc-windows-gnu', '0.4.0'), + ('windows-core', '0.52.0'), + ('windows-sys', '0.48.0'), + ('windows-sys', '0.52.0'), + ('windows-targets', '0.48.5'), + ('windows-targets', '0.52.0'), + ('windows_aarch64_gnullvm', '0.48.5'), + ('windows_aarch64_gnullvm', '0.52.0'), + ('windows_aarch64_msvc', '0.48.5'), + ('windows_aarch64_msvc', '0.52.0'), + ('windows_i686_gnu', '0.48.5'), + ('windows_i686_gnu', '0.52.0'), + ('windows_i686_msvc', '0.48.5'), + ('windows_i686_msvc', '0.52.0'), + ('windows_x86_64_gnu', '0.48.5'), + ('windows_x86_64_gnu', '0.52.0'), + ('windows_x86_64_gnullvm', '0.48.5'), + ('windows_x86_64_gnullvm', '0.52.0'), + ('windows_x86_64_msvc', '0.48.5'), + ('windows_x86_64_msvc', '0.52.0'), + ('winreg', '0.50.0'), + ('xml-rs', '0.8.19'), + ('xmlparser', '0.13.6'), + ('xz2', '0.1.7'), + ('yansi', '0.5.1'), + ('z85', '3.0.5'), + ('zerocopy', '0.7.32'), + ('zerocopy-derive', '0.7.32'), + ('zeroize', '1.7.0'), + ('zstd', '0.13.0'), + ('zstd-safe', '7.0.0'), + ('zstd-sys', '2.0.9+zstd.1.5.5'), +] + +builddependencies = [ + ('maturin', '1.4.0', '-Rust-1.75.0'), + ('Perl', '5.36.1'), # needed by crate openssl-sys +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Arrow', '14.0.1'), +] + +use_pip = True +use_pip_extras = "pandas" +sanity_pip_check = True +download_dep_fail = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/d/DeltaLake/DeltaLake-0.15.1_remove-obsolete-pyarrow-hotfix.patch b/easybuild/easyconfigs/d/DeltaLake/DeltaLake-0.15.1_remove-obsolete-pyarrow-hotfix.patch new file mode 100644 index 00000000000..89e3f66ddea --- /dev/null +++ b/easybuild/easyconfigs/d/DeltaLake/DeltaLake-0.15.1_remove-obsolete-pyarrow-hotfix.patch @@ -0,0 +1,43 @@ +Security vulnerability CVE-2023-47248 is already fixed upstream since Arrow 14.0.1 +see https://github.com/pitrou/pyarrow-hotfix?tab=readme-ov-file#description +author: Alex Domingo (Vrije Universiteit Brussel) +--- PKG-INFO.orig 2024-01-31 10:24:17.114114000 +0100 ++++ PKG-INFO 2024-01-31 10:22:43.428088000 +0100 +@@ -8,7 +8,6 @@ + Classifier: Programming Language :: Python :: 3.11 + Classifier: Programming Language :: Python :: 3.12 + Requires-Dist: pyarrow >=8 +-Requires-Dist: pyarrow-hotfix + Requires-Dist: pandas ; extra == 'pandas' + Requires-Dist: mypy ; extra == 'devel' + Requires-Dist: ruff >=0.1.5 ; extra == 'devel' +--- pyproject.toml.orig 2024-01-31 10:24:37.004732357 +0100 ++++ pyproject.toml 2024-01-31 01:13:56.729671621 +0100 +@@ -19,7 +19,6 @@ + ] + dependencies = [ + "pyarrow>=8", +- "pyarrow-hotfix", + ] + + [project.optional-dependencies] +--- deltalake/table.py.orig 2024-01-31 10:25:17.340707000 +0100 ++++ deltalake/table.py 2024-01-31 10:22:13.865436632 +0100 +@@ -25,7 +25,6 @@ + import pyarrow + import pyarrow.dataset as ds + import pyarrow.fs as pa_fs +-import pyarrow_hotfix # noqa: F401; addresses CVE-2023-47248; # type: ignore + from pyarrow.dataset import ( + Expression, + FileSystemDataset, +--- python/deltalake/table.py.orig 2024-01-31 10:25:28.723000000 +0100 ++++ python/deltalake/table.py 2024-01-31 10:22:00.855595977 +0100 +@@ -25,7 +25,6 @@ + import pyarrow + import pyarrow.dataset as ds + import pyarrow.fs as pa_fs +-import pyarrow_hotfix # noqa: F401; addresses CVE-2023-47248; # type: ignore + from pyarrow.dataset import ( + Expression, + FileSystemDataset, diff --git a/easybuild/easyconfigs/d/DendroPy/DendroPy-4.6.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/d/DendroPy/DendroPy-4.6.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..1241b1fec41 --- /dev/null +++ b/easybuild/easyconfigs/d/DendroPy/DendroPy-4.6.1-GCCcore-12.3.0.eb @@ -0,0 +1,43 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2013-2014 The Cyprus Institute +# Authors:: Thekla Loizou +# License:: MIT/GPL +# $Id$ +# +## +easyblock = 'PythonPackage' + +name = 'DendroPy' +version = '4.6.1' + +homepage = 'https://dendropy.org/' +description = """A Python library for phylogenetics and phylogenetic computing: +reading, writing, simulation, processing and manipulation of phylogenetic trees +(phylogenies) and characters.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['26fcbe1cb5831301e8f1f2e15a0563620f0b8e29e6d409dd6a2a7c957dd64c16'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('Python', '3.11.3')] + +download_dep_fail = True +use_pip = True + +fix_python_shebang_for = ['bin/*.py'] + +sanity_check_paths = { + 'files': ['bin/sumlabels.py', 'bin/sumtrees.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["sumtrees.py --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/Deprecated/Deprecated-1.2.14-foss-2023a.eb b/easybuild/easyconfigs/d/Deprecated/Deprecated-1.2.14-foss-2023a.eb new file mode 100644 index 00000000000..803a1996c30 --- /dev/null +++ b/easybuild/easyconfigs/d/Deprecated/Deprecated-1.2.14-foss-2023a.eb @@ -0,0 +1,29 @@ +# author: Denis Kristak (INUITS) +# update: Pavel Tománek (INUITS) + +easyblock = 'PythonBundle' + +name = 'Deprecated' +version = '1.2.14' + +homepage = 'https://github.com/tantale/deprecated' +description = "If you need to mark a function or a method as deprecated, you can use the @deprecated decorator." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('wrapt', '1.15.0'), +] + + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/Dice/Dice-20240702-foss-2023a.eb b/easybuild/easyconfigs/d/Dice/Dice-20240702-foss-2023a.eb new file mode 100644 index 00000000000..56756b3f99f --- /dev/null +++ b/easybuild/easyconfigs/d/Dice/Dice-20240702-foss-2023a.eb @@ -0,0 +1,51 @@ +easyblock = 'MakeCp' + +name = 'Dice' +version = '20240702' +_commit = '0f52b62' + +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': '2023a'} +toolchainopts = {'cstd': 'c++14', 'pic': True} + +github_account = 'sanshar' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%s.tar.gz' % _commit, 'filename': SOURCE_TAR_GZ}] +patches = ['Dice-20240101_deprecated-global-placeholders.patch'] +checksums = [ + {'Dice-20240702.tar.gz': '3fe36938642ebf7886231290655c1a2d1fdd256e2bc7e9375669c574c406fc23'}, + {'Dice-20240101_deprecated-global-placeholders.patch': + 'fbf4037e928a57e737faed95dc7d6e1e5cdb8cee8db48503268d250a34c12ccc'}, +] + +builddependencies = [ + ('Eigen', '3.4.0'), + ('git', '2.41.0', '-nodocs'), +] + +dependencies = [ + ('Boost.MPI', '1.82.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/DjVuLibre/DjVuLibre-3.5.28-GCCcore-12.3.0.eb b/easybuild/easyconfigs/d/DjVuLibre/DjVuLibre-3.5.28-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..355a9996fbc --- /dev/null +++ b/easybuild/easyconfigs/d/DjVuLibre/DjVuLibre-3.5.28-GCCcore-12.3.0.eb @@ -0,0 +1,43 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'ConfigureMake' + +name = 'DjVuLibre' +version = '3.5.28' + +homepage = 'http://djvu.sourceforge.net/' +description = """ +DjVuLibre is an open source (GPL'ed) implementation of DjVu, including viewers, +browser plugins, decoders, simple encoders, and utilities. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['http://downloads.sourceforge.net/djvu'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['fcd009ea7654fde5a83600eb80757bd3a76998e47d13c66b54c8db849f8f2edc'] + +builddependencies = [ + ('binutils', '2.40'), + ('libiconv', '1.17'), +] + +dependencies = [ + ('libjpeg-turbo', '2.1.5.1'), + ('LibTIFF', '4.5.0'), +] + +_bins = ['bin/%s' % x for x in ['any2djvu', 'bzz', 'c44', 'cjb2', 'cpaldjvu', 'csepdjvu', 'ddjvu', 'djvm', 'djvmcvt', + 'djvudigital', 'djvudump', 'djvuextract', 'djvumake', 'djvups', 'djvused', 'djvuserve', + 'djvutoxml', 'djvutxt', 'djvuxmlparser']] +_incs = ['include/libdjvu/%s' % x for x in ['ddjvuapi.h', 'miniexp.h']] +_libs = ['lib/%s' % x for x in ['lib%%(namelower)s.%s' % SHLIB_EXT, 'pkgconfig/ddjvuapi.pc']] + +sanity_check_paths = { + 'files': _bins + _incs + _libs, + 'dirs': [], +} + +sanity_check_commands = ["ddjvu --help 2>&1 | grep 'Usage: ddjvu'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.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.17-GCCcore-9.3.0.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.17-GCCcore-9.3.0.eb index 3d72f0970bd..065a4b2b89a 100644 --- a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.17-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.17-GCCcore-9.3.0.eb @@ -1,3 +1,5 @@ +easyblock = 'CMakeMake' + name = 'Doxygen' version = '1.8.17' @@ -25,4 +27,11 @@ dependencies = [('libiconv', '1.16')] configopts = "-DICONV_DIR=$EBROOTLIBICONV -DICONV_IN_GLIBC=OFF" +sanity_check_paths = { + 'files': ["bin/doxygen"], + 'dirs': [], +} + +sanity_check_commands = ["doxygen --help"] + moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.20-GCCcore-10.2.0.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.20-GCCcore-10.2.0.eb index f972f6c1aab..245da267460 100644 --- a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.20-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.20-GCCcore-10.2.0.eb @@ -1,3 +1,5 @@ +easyblock = 'CMakeMake' + name = 'Doxygen' version = '1.8.20' @@ -25,4 +27,11 @@ dependencies = [('libiconv', '1.16')] configopts = "-DICONV_DIR=$EBROOTLIBICONV -DICONV_IN_GLIBC=OFF" +sanity_check_paths = { + 'files': ["bin/doxygen"], + 'dirs': [], +} + +sanity_check_commands = ["doxygen --help"] + moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.1-GCCcore-10.3.0.eb index 1601d6a560f..e54e7e928c8 100644 --- a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.1-GCCcore-10.3.0.eb @@ -1,3 +1,5 @@ +easyblock = 'CMakeMake' + name = 'Doxygen' version = '1.9.1' @@ -20,9 +22,17 @@ builddependencies = [ ('CMake', '3.20.1'), ('flex', '2.6.4'), ('pkg-config', '0.29.2'), + ('Python', '3.9.5', '-bare'), ] dependencies = [('libiconv', '1.16')] configopts = "-DICONV_DIR=$EBROOTLIBICONV -DICONV_IN_GLIBC=OFF" +sanity_check_paths = { + 'files': ["bin/doxygen"], + 'dirs': [], +} + +sanity_check_commands = ["doxygen --help"] + moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.1-GCCcore-11.2.0.eb index 394f61d368a..ac945a27c93 100644 --- a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.1-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.1-GCCcore-11.2.0.eb @@ -1,3 +1,5 @@ +easyblock = 'CMakeMake' + name = 'Doxygen' version = '1.9.1' @@ -20,9 +22,17 @@ builddependencies = [ ('CMake', '3.21.1'), ('flex', '2.6.4'), ('pkg-config', '0.29.2'), + ('Python', '3.9.6', '-bare'), ] dependencies = [('libiconv', '1.16')] configopts = "-DICONV_DIR=$EBROOTLIBICONV -DICONV_IN_GLIBC=OFF" +sanity_check_paths = { + 'files': ["bin/doxygen"], + 'dirs': [], +} + +sanity_check_commands = ["doxygen --help"] + moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.4-GCCcore-11.3.0.eb index b6669466085..55abc873d23 100644 --- a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.4-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.4-GCCcore-11.3.0.eb @@ -1,3 +1,5 @@ +easyblock = 'CMakeMake' + name = 'Doxygen' version = '1.9.4' @@ -20,6 +22,7 @@ builddependencies = [ ('CMake', '3.23.1'), ('flex', '2.6.4'), ('pkgconf', '1.8.0'), + ('Python', '3.10.4', '-bare'), ] dependencies = [ @@ -28,4 +31,11 @@ dependencies = [ configopts = "-DICONV_DIR=$EBROOTLIBICONV -DICONV_IN_GLIBC=OFF" +sanity_check_paths = { + 'files': ["bin/doxygen"], + 'dirs': [], +} + +sanity_check_commands = ["doxygen --help"] + moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.5-GCCcore-12.2.0.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.5-GCCcore-12.2.0.eb index 35b262f3df8..290047978c1 100644 --- a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.5-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.5-GCCcore-12.2.0.eb @@ -1,3 +1,5 @@ +easyblock = 'CMakeMake' + name = 'Doxygen' version = '1.9.5' @@ -20,6 +22,7 @@ builddependencies = [ ('CMake', '3.24.3'), ('flex', '2.6.4'), ('pkgconf', '1.9.3'), + ('Python', '3.10.8', '-bare'), ] dependencies = [ @@ -28,4 +31,11 @@ dependencies = [ configopts = "-DICONV_DIR=$EBROOTLIBICONV -DICONV_IN_GLIBC=OFF" +sanity_check_paths = { + 'files': ["bin/doxygen"], + 'dirs': [], +} + +sanity_check_commands = ["doxygen --help"] + moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.7-GCCcore-12.3.0.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.7-GCCcore-12.3.0.eb index 26007e7a823..49b8eccc8d2 100644 --- a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.7-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.7-GCCcore-12.3.0.eb @@ -1,3 +1,5 @@ +easyblock = 'CMakeMake' + name = 'Doxygen' version = '1.9.7' @@ -20,6 +22,7 @@ builddependencies = [ ('CMake', '3.26.3'), ('flex', '2.6.4'), ('pkgconf', '1.9.5'), + ('Python', '3.11.3'), ] dependencies = [ @@ -28,4 +31,11 @@ dependencies = [ configopts = "-DICONV_DIR=$EBROOTLIBICONV -DICONV_IN_GLIBC=OFF" +sanity_check_paths = { + 'files': ["bin/doxygen"], + 'dirs': [], +} + +sanity_check_commands = ["doxygen --help"] + moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.8-GCCcore-13.2.0.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.8-GCCcore-13.2.0.eb index e6c21e1dd18..1370a8b32bf 100644 --- a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.8-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.8-GCCcore-13.2.0.eb @@ -1,3 +1,5 @@ +easyblock = 'CMakeMake' + name = 'Doxygen' version = '1.9.8' @@ -20,6 +22,7 @@ builddependencies = [ ('CMake', '3.27.6'), ('flex', '2.6.4'), ('pkgconf', '2.0.3'), + ('Python', '3.11.5'), ] dependencies = [ @@ -28,4 +31,11 @@ dependencies = [ configopts = "-DICONV_DIR=$EBROOTLIBICONV -DICONV_IN_GLIBC=OFF" +sanity_check_paths = { + 'files': ["bin/doxygen"], + 'dirs': [], +} + +sanity_check_commands = ["doxygen --help"] + moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/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-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/dask/dask-2024.9.1-gfbf-2024a.eb b/easybuild/easyconfigs/d/dask/dask-2024.9.1-gfbf-2024a.eb new file mode 100644 index 00000000000..93df8dc002f --- /dev/null +++ b/easybuild/easyconfigs/d/dask/dask-2024.9.1-gfbf-2024a.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonBundle' + +name = 'dask' +version = '2024.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': 'gfbf', 'version': '2024a'} + +dependencies = [ + ('Python', '3.12.3'), + ('Python-bundle-PyPI', '2024.06'), + ('SciPy-bundle', '2024.05'), + ('PyYAML', '6.0.2'), + ('bokeh', '3.6.0'), +] + +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': ['06eccc6a68d2882bcd9de24548fa96e8d0da7fbfff0baed3f3c2a526b73dfbb4'], + }), + ('distributed', version, { + 'checksums': ['4d573d89ff4fdde0dd96ad5cfdb843ce8ecef8caf002435bc60d14414dc1e819'], + }), + ('docrep', '0.3.2', { + 'checksums': ['ed8a17e201abd829ef8da78a0b6f4d51fb99a4cbd0554adbed3309297f964314'], + }), + ('dask-jobqueue', '0.8.5', { + 'checksums': ['f6923f9d7ff894b96efbf706118b2cd37fd37751d567e91c22dfd3e2eaa93202'], + }), +] + +sanity_check_paths = { + 'files': ['bin/dask-%s' % x for x in ['scheduler', 'ssh', 'worker']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["dask-scheduler --help"] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/d/datalad/datalad-0.19.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/d/datalad/datalad-0.19.5-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..9648e348963 --- /dev/null +++ b/easybuild/easyconfigs/d/datalad/datalad-0.19.5-GCCcore-12.3.0.eb @@ -0,0 +1,75 @@ +easyblock = 'PythonBundle' + +name = 'datalad' +version = "0.19.5" + +homepage = 'https://www.datalad.org/' +description = "DataLad is a free and open source distributed data management system that keeps track of your data, \ +creates structure, ensures reproducibility, supports collaboration, \ +and integrates with widely used data infrastructure." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.40'), + ('hatchling', '1.18.0'), + ('poetry', '1.5.1') +] + +dependencies = [ + ('git-annex', '10.20230802'), + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('tqdm', '4.66.1'), + ('PLY', '3.11'), + ('scikit-build', '0.17.6'), +] + +use_pip = True + +exts_list = [ + ('humanize', '4.8.0', { + 'checksums': ['9783373bf1eec713a770ecaa7c2d7a7902c98398009dfa3d8a2df91eec9311e8'], + }), + ('fasteners', '0.19', { + 'checksums': ['b4f37c3ac52d8a445af3a66bce57b33b5e90b97c696b7b984f530cf8f0ded09c'], + }), + ('patool', '2.0.0', { + 'modulename': 'patoolib', + 'checksums': ['1dd48cd48043fc78ebf88b8ea5b00d5123fba50a6a9d11182fbcfd677681cab5'], + }), + ('annexremote', '1.6.4', { + 'checksums': ['da4198a25b36c699216fd5f1e93ba0e655e167b6822b64284a4bf90388ea69ae'], + }), + ('looseversion', '1.3.0', { + 'checksums': ['ebde65f3f6bb9531a81016c6fef3eb95a61181adc47b7f949e9c0ea47911669e'], + }), + ('boto', '2.49.0', { + 'checksums': ['ea0d3b40a2d852767be77ca343b58a9e3a4b00d9db440efb8da74b4e58025e5a'], + }), + ('python-gitlab', '4.4.0', { + 'modulename': 'gitlab', + 'checksums': ['1d117bf7b433ae8255e5d74e72c660978f50ee85eb62248c9fb52ef43c3e3814'], + }), + ('iso8601', '2.1.0', { + 'checksums': ['6b1d3829ee8921c4301998c909f7829fa9ed3cbdac0d3b16af2d743aed1ba8df'], + }), + (name, version, { + 'checksums': ['639cdd5ede96f614933e017f65ddb01f17637ab7bf700005ea0ac7835cc2b905'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/datalad'], + 'dirs': [], +} + +sanity_check_commands = [ + "datalad --help", + "datalad --version", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/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/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/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-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.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-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/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/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/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/dftd4/dftd4-3.7.0-gfbf-2023b.eb b/easybuild/easyconfigs/d/dftd4/dftd4-3.7.0-gfbf-2023b.eb new file mode 100644 index 00000000000..2f5ef00ad89 --- /dev/null +++ b/easybuild/easyconfigs/d/dftd4/dftd4-3.7.0-gfbf-2023b.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': 'gfbf', 'version': '2023b'} +toolchainopts = {'openmp': True} + +github_account = 'dftd4' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['f00b244759eff2c4f54b80a40673440ce951b6ddfa5eee1f46124297e056f69c'] + +builddependencies = [ + ('CMake', '3.27.6'), + ('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/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.8-GCCcore-13.2.0.eb b/easybuild/easyconfigs/d/dill/dill-0.3.8-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..0cc0fb8820c --- /dev/null +++ b/easybuild/easyconfigs/d/dill/dill-0.3.8-GCCcore-13.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.8' + +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': '13.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.5'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'data' 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.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.12-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/d/dm-haiku/dm-haiku-0.0.12-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..f66f10ec557 --- /dev/null +++ b/easybuild/easyconfigs/d/dm-haiku/dm-haiku-0.0.12-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,50 @@ +# update 0.0.12: Thomas Hoffmann (EMBL) +easyblock = 'PythonBundle' + +name = 'dm-haiku' +version = '0.0.12' +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': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('jax', '0.4.25', versionsuffix), # required by jmp, also provides absl-py + ('PyYAML', '6.0'), + ('CUDA', '12.1.1', '', SYSTEM), + ('tensorstore', '0.1.65'), + ('protobuf-python', '4.24.0'), + ('Optax', '0.2.2', versionsuffix), +] + +use_pip = True + +exts_list = [ + ('jmp', '0.0.4', { + 'checksums': ['5dfeb0fd7c7a9f72a70fff0aab9d0cbfae32a809c02f4037ff3485ceb33e1730'], + }), + ('flax', '0.8.4', { + 'checksums': ['968683f850198e1aa5eb2d9d1e20bead880ef7423c14f042db9d60848cb1c90b'], + }), + ('nest_asyncio', '1.6.0', { + 'checksums': ['6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe'], + }), + ('orbax_checkpoint', '0.5.18', { + 'modulename': 'orbax.checkpoint', + 'preinstallopts': """sed -i 's/jax >= 0.4.25/&\\*/g' pyproject.toml &&""", + 'checksums': ['29f5d311b412760bd6a2fecab3bdbf75407bc00dc6d0457d19478258ecc8fa6d'], + }), + (name, version, { + 'modulename': 'haiku', + 'checksums': ['ba0b3acf71433156737fe342c486da11727e5e6c9e054245f4f9b8f0b53eb608'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/dm-haiku/dm-haiku-0.0.13-foss-2023a.eb b/easybuild/easyconfigs/d/dm-haiku/dm-haiku-0.0.13-foss-2023a.eb new file mode 100644 index 00000000000..532f9092e79 --- /dev/null +++ b/easybuild/easyconfigs/d/dm-haiku/dm-haiku-0.0.13-foss-2023a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'dm-haiku' +version = '0.0.13' + +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': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('jax', '0.4.25'), # required by jmp, also provides absl-py +] + +use_pip = True + +exts_list = [ + ('jmp', '0.0.4', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['6aa7adbddf2bd574b28c7faf6e81a735eb11f53386447896909c6968dc36807d'], + }), + ('dm_haiku', version, { + 'modulename': 'haiku', + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['ee9562c68a059f146ad07f555ca591cb8c11ef751afecc38353863562bd23f43'], + }), +] + +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-tree/dm-tree-0.1.8-GCCcore-12.3.0.eb b/easybuild/easyconfigs/d/dm-tree/dm-tree-0.1.8-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..bf55444d006 --- /dev/null +++ b/easybuild/easyconfigs/d/dm-tree/dm-tree-0.1.8-GCCcore-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'dm-tree' +version = '0.1.8' + +homepage = 'https://github.com/deepmind/tree' +description = """dm-tree provides tree, a library for working with nested data structures. In a way, +tree generalizes the builtin map function which only supports flat sequences, and +allows to apply a function to each "leaf" preserving the overall structure.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['0fcaabbb14e7980377439e7140bd05552739ca5e515ecb3119f234acee4b9430'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] +dependencies = [('Python', '3.11.3')] + +download_dep_fail = True + +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'tree'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/dorado/dorado-0.5.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..378a9deec6b --- /dev/null +++ b/easybuild/easyconfigs/d/dorado/dorado-0.6.1-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,97 @@ +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'), + ('patchelf', '0.18.0'), +] + +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" ' + +# disable CMake fiddling with RPATH when EasyBuild is configured to use RPATH linking +configopts += "$(if %(rpath_enabled)s; then " +configopts += "echo '-DCMAKE_SKIP_INSTALL_RPATH=YES -DCMAKE_SKIP_RPATH=YES'; fi) " + +# CUDA libraries that are copied to installdir need to be patched to have an RPATH section +# when EasyBuild is configured to use RPATH linking (required to pass RPATH sanity check); +# by default, CMake sets RUNPATH to '$ORIGIN' rather than RPATH (but that's disabled above) +postinstallcmds = [ + "if %(rpath_enabled)s; then " + " for lib in $(ls %(installdir)s/lib/lib{cu,nv}*.so*); do " + " echo setting RPATH in $lib;" + " patchelf --force-rpath --set-rpath '$ORIGIN' $lib;" + " done;" + "fi", +] + +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..9927f0492b4 --- /dev/null +++ b/easybuild/easyconfigs/d/dorado/dorado-0.7.3-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,106 @@ +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'), + ('patchelf', '0.18.0'), +] + +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) + ' ' + +# disable CMake fiddling with RPATH when EasyBuild is configured to use RPATH linking +configopts += "$(if %(rpath_enabled)s; then " +configopts += "echo '-DCMAKE_SKIP_INSTALL_RPATH=YES -DCMAKE_SKIP_RPATH=YES'; fi) " + +# CUDA libraries that are copied to installdir need to be patched to have an RPATH section +# when EasyBuild is configured to use RPATH linking (required to pass RPATH sanity check); +# by default, CMake sets RUNPATH to '$ORIGIN' rather than RPATH (but that's disabled above) +postinstallcmds = [ + "if %(rpath_enabled)s; then " + " for lib in $(ls %(installdir)s/lib/lib{cu,nv}*.so*); do " + " echo setting RPATH in $lib;" + " patchelf --force-rpath --set-rpath '$ORIGIN' $lib;" + " done;" + "fi", +] + +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..778c00e0d6e --- /dev/null +++ b/easybuild/easyconfigs/d/dorado/dorado-0.8.0-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,105 @@ +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'), + ('patchelf', '0.18.0'), +] + +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) + ' ' + +# disable CMake fiddling with RPATH when EasyBuild is configured to use RPATH linking +configopts += "$(if %(rpath_enabled)s; then " +configopts += "echo '-DCMAKE_SKIP_INSTALL_RPATH=YES -DCMAKE_SKIP_RPATH=YES'; fi) " + +# CUDA libraries that are copied to installdir need to be patched to have an RPATH section +# when EasyBuild is configured to use RPATH linking (required to pass RPATH sanity check); +# by default, CMake sets RUNPATH to '$ORIGIN' rather than RPATH (but that's disabled above) +postinstallcmds = [ + "if %(rpath_enabled)s; then " + " for lib in $(ls %(installdir)s/lib/lib{cu,nv}*.so*); do " + " echo setting RPATH in $lib;" + " patchelf --force-rpath --set-rpath '$ORIGIN' $lib;" + " done;" + "fi", +] + +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/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/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/double-conversion/double-conversion-3.3.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/d/double-conversion/double-conversion-3.3.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..c4b5780f6ee --- /dev/null +++ b/easybuild/easyconfigs/d/double-conversion/double-conversion-3.3.0-GCCcore-13.3.0.eb @@ -0,0 +1,36 @@ + +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.3.0'} + +source_urls = ['https://github.com/google/%(name)s/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['04ec44461850abbf33824da84978043b22554896b552c5fd11a9c5ae4b4d296e'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.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/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/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/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-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-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/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/ELPA/ELPA-2024.05.001-foss-2024a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2024.05.001-foss-2024a.eb new file mode 100644 index 00000000000..8dcbc6ed3f2 --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2024.05.001-foss-2024a.eb @@ -0,0 +1,46 @@ +# # +# 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 = '2024.05.001' +local_version = version.replace('.', '_') + +homepage = 'https://elpa.mpcdf.mpg.de/' +description = "Eigenvalue SoLvers for Petaflop-Applications." + +toolchain = {'name': 'foss', 'version': '2024a'} +toolchainopts = {'openmp': True, 'usempi': True} + +source_urls = ['https://gitlab.mpcdf.mpg.de/elpa/elpa/-/archive/release_%s/' % local_version] +sources = ['{}-release_{}.tar.gz'.format('%(namelower)s', local_version)] +patches = [ + '%(name)s-2023.05.001_fix_hardcoded_perl_path.patch', + '%(name)s-2023.05.001_fix_AVX512_support.patch', +] +checksums = [ + {'elpa-release_2024_05_001.tar.gz': '5e0c685536869bb91c230d70cac5e779ff418575681836f240b3e64e10b23f3e'}, + {'ELPA-2023.05.001_fix_hardcoded_perl_path.patch': + '0548105065777a2ed07dde306636251c4f96e555a801647564de37d1ddd7b0b5'}, + {'ELPA-2023.05.001_fix_AVX512_support.patch': 'ecf08b64fe1da432a218040fa45d4ecfbb3269d58cb018b12da5a2d854bf96be'}, +] + +builddependencies = [ + ('Autotools', '20231222'), + ('Python', '3.12.3'), + ('Perl', '5.38.2'), +] + +preconfigopts = './autogen.sh && export LDFLAGS="-lm $LDFLAGS" && 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/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.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/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/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.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.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.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.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/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/EVidenceModeler/EVidenceModeler-2.0.0_set-correct-CFlags-for-ParaFly.patch b/easybuild/easyconfigs/e/EVidenceModeler/EVidenceModeler-2.0.0_set-correct-CFlags-for-ParaFly.patch new file mode 100644 index 00000000000..3920012f0c7 --- /dev/null +++ b/easybuild/easyconfigs/e/EVidenceModeler/EVidenceModeler-2.0.0_set-correct-CFlags-for-ParaFly.patch @@ -0,0 +1,14 @@ +take into account $CFLAGS and $CXXFLAGS set in build environment when building ParaFly +author: Lara Peeters (HPC-UGent) +diff -ru EVidenceModeler.orig/Makefile EVidenceModeler/Makefile +--- EVidenceModeler.orig/Makefile 2024-10-10 09:25:20.000000000 +0200 ++++ EVidenceModeler/Makefile 2024-10-16 10:58:57.509308850 +0200 +@@ -6,7 +6,7 @@ + CC = gcc + + parafly: +- cd plugins/ParaFly && sh ./configure --prefix=`pwd` CXX=$(CXX) CC=$(CC) CFLAGS="-fopenmp" CXXFLAGS="-fopenmp" && $(MAKE) install ++ cd plugins/ParaFly && sh ./configure --prefix=`pwd` CXX=$(CXX) CC=$(CC) CFLAGS="$(CFLAGS) -fopenmp" CXXFLAGS="$(CXXFLAGS) -fopenmp" && $(MAKE) install + + + diff --git a/easybuild/easyconfigs/e/EVidenceModeler/EVidenceModeler-2.1.0-foss-2023a.eb b/easybuild/easyconfigs/e/EVidenceModeler/EVidenceModeler-2.1.0-foss-2023a.eb new file mode 100644 index 00000000000..62454399723 --- /dev/null +++ b/easybuild/easyconfigs/e/EVidenceModeler/EVidenceModeler-2.1.0-foss-2023a.eb @@ -0,0 +1,47 @@ +easyblock = 'Tarball' + +name = 'EVidenceModeler' +version = '2.1.0' + +homepage = 'https://github.com/EVidenceModeler/EVidenceModeler' +description = """ EVM provides a flexible and intuitive framework for +combining diverse evidence types into a single automated gene structure annotation system.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [{ + 'filename': '%(name)s-v%(version)s.tar.gz', + 'git_config': { + 'url': 'https://github.com/EVidenceModeler', + 'repo_name': '%(name)s', + 'tag': '%(name)s-v%(version)s', + 'recursive': True, + } +}] +patches = ['EVidenceModeler-2.0.0_set-correct-CFlags-for-ParaFly.patch'] +checksums = [ + None, # EVidenceModeler-v2.1.0.tar.gz + '619fc54db10fad3638daa177373c19c9ba4b69dcb80585822bfa9b2500f57d13', + # EVidenceModeler-2.0.0_set-correct-CFlags-for-ParaFly.patch +] + +dependencies = [ + ('PASA', '2.5.3',), +] + +# Install ParaFly +postinstallcmds = ["cd %(installdir)s && rm plugins/ParaFly/bin/ParaFly && make"] + +sanity_check_paths = { + 'files': ['EVidenceModeler', 'plugins/ParaFly/bin/ParaFly'], + 'dirs': ['plugins/ParaFly', 'testing'], +} + +modextrapaths = { + 'EVM_HOME': '', + 'PATH': '', +} + +sanity_check_commands = ["EVidenceModeler -h 2>&1 | grep 'Evidence Modeler'"] + +moduleclass = 'bio' 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/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/EpiSCORE/EpiSCORE-0.9.5-20220621-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/e/EpiSCORE/EpiSCORE-0.9.5-20220621-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..0f291cf4317 --- /dev/null +++ b/easybuild/easyconfigs/e/EpiSCORE/EpiSCORE-0.9.5-20220621-foss-2022a-R-4.2.1.eb @@ -0,0 +1,30 @@ +easyblock = 'RPackage' + +name = 'EpiSCORE' +local_commit = '4f7daef' +# see DESCRIPTION to determine version, +# but also take date of last commit into account (since version isn't always bumped) +version = '0.9.5-20220621' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/aet21/EpiSCORE' +description = "Epigenetic cell-type deconvolution from Single-Cell Omic Reference profiles" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/aet21/EpiSCORE/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['85ce52efe0555295ceaab79518244bcbea8c3b7d454f84c74b99e577f56e1481'] + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), + ('presto', '1.0.0-20230113', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/EveryBeam/EveryBeam-0.5.2-foss-2023b.eb b/easybuild/easyconfigs/e/EveryBeam/EveryBeam-0.5.2-foss-2023b.eb new file mode 100644 index 00000000000..bec1bf004e7 --- /dev/null +++ b/easybuild/easyconfigs/e/EveryBeam/EveryBeam-0.5.2-foss-2023b.eb @@ -0,0 +1,49 @@ +easyblock = 'CMakeMake' + +name = 'EveryBeam' +version = '0.5.2' + +homepage = 'https://everybeam.readthedocs.io/' +description = """Library that provides the antenna response pattern for several instruments, +such as LOFAR (and LOBES), SKA (OSKAR), MWA, JVLA, etc.""" + +toolchain = {'name': 'foss', 'version': '2023b'} + +sources = [ + { + 'filename': '%(name)s-v%(version)s.tar.gz', + # Repo uses git submodules, which are not included in the release tarballs. + # Thus, we let EasyBuild download directly from the git repository. + 'git_config': { + 'url': 'https://git.astron.nl/RD', + 'repo_name': '%(name)s', + 'tag': 'v%(version)s', + 'clone_into': '%(name)s', + 'recursive': True + } + }, +] +checksums = [None] + +builddependencies = [ + ('CMake', '3.27.6'), + ('wget', '1.21.4'), +] +dependencies = [ + ('casacore', '3.5.0'), + ('Boost', '1.83.0'), + ('CFITSIO', '4.3.1'), + ('WCSLIB', '7.11'), + ('GSL', '2.7'), + ('HDF5', '1.14.3'), + ('Python', '3.11.5'), + ('libxml2', '2.11.5'), +] + + +sanity_check_paths = { + 'files': ['include/%(name)s/beamformer.h', 'lib/libeverybeam.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/e/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/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-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-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-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/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/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.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-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/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-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.12-foss-2023a.eb b/easybuild/easyconfigs/e/eggnog-mapper/eggnog-mapper-2.1.12-foss-2023a.eb new file mode 100644 index 00000000000..4937c8bba74 --- /dev/null +++ b/easybuild/easyconfigs/e/eggnog-mapper/eggnog-mapper-2.1.12-foss-2023a.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.12' + +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': '2023a'} + +github_account = 'eggnogdb' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['b3c53fb0e606a5cfec75cbc84f7c215f57f43ce00d8e50f449513acdad76da73'] + +dependencies = [ + ('Python', '3.11.3'), + ('Biopython', '1.83'), + ('HMMER', '3.4'), + ('DIAMOND', '2.1.8'), + ('prodigal', '2.6.3'), + ('wget', '1.24.5'), + ('MMseqs2', '14-7e284'), + ('XlsxWriter', '3.1.3'), +] + +# 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/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 index a18dab2ce62..b9f4dea04b5 100644 --- 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 @@ -15,11 +15,11 @@ checksums = ['b2b04ad6081a3b227080c9bf5e3ace7160357ff03043cd66cc5b2319eb7031d1'] builddependencies = [ ('binutils', '2.40'), + ('hatchling', '1.18.0'), ] dependencies = [ ('Python', '3.11.3'), - ('hatchling', '1.18.0'), ] download_dep_fail = True 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/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/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/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..45d4f74af79 --- /dev/null +++ b/easybuild/easyconfigs/e/epiScanpy/epiScanpy-0.4.0-foss-2023a.eb @@ -0,0 +1,51 @@ +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'} + +builddependencies = [ + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Seaborn', '0.13.2'), + ('scanpy', '1.9.8'), # includes anndata + ('Pysam', '0.22.0'), + ('scikit-learn', '1.3.1'), + ('statsmodels', '0.14.1'), + ('numba', '0.58.1'), + ('python-igraph', '0.11.4'), + ('tbb', '2021.11.0'), +] + +exts_list = [ + ('bamnostic', '1.1.10', { + 'checksums': ['2f7e7e5cb693c5f933c5b5c3fde49c6c8dee62b608ebd13a4604401573e37017'], + }), + ('legacy_api_wrap', '1.4', { + 'checksums': ['92dfa274cedb26d6e6f70fac85c856fbdcc05058066656d76a665fb4bf11b785'], + }), + ('kneed', '0.8.5', { + 'checksums': ['a4847ac4f1d04852fea278d5de7aa8bfdc3beb7fbca4a182fec0f0efee43f4b1'], + }), + ('episcanpy', version, { + # strip out tbb as required dependency, to ensure that 'pip check' passes + 'preinstallopts': "sed -i 's/tbb//' requirements.txt && ", + 'checksums': ['95739149db60521b0a14e4579f8ba87d410126ffb7b916abbc2d1aff3df40ce3'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/evince/evince-45.0-GCC-12.3.0.eb b/easybuild/easyconfigs/e/evince/evince-45.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..1e47ac5530e --- /dev/null +++ b/easybuild/easyconfigs/e/evince/evince-45.0-GCC-12.3.0.eb @@ -0,0 +1,63 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'MesonNinja' + +name = 'evince' +version = '45.0' + +homepage = 'https://wiki.gnome.org/Apps/Evince' +description = """Evince is a document viewer for multiple document formats. The + goal of evince is to replace the multiple document viewers that exist on the + GNOME Desktop with a single simple application. +""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://ftp.gnome.org/pub/GNOME/sources/%(name)s/45'] +sources = [SOURCE_TAR_XZ] +checksums = ['d18647d4275cbddf0d32817b1d04e307342a85be914ec4dad2d8082aaf8aa4a8'] + +builddependencies = [ + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.5'), + ('GI-DocGen', '2023.3'), + ('CMake', '3.26.3'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('GLib', '2.77.1'), + ('GTK3', '3.24.37'), + ('libhandy', '1.8.2'), + ('ITSTool', '2.0.7'), + ('Gdk-Pixbuf', '2.42.10'), + ('cairo', '1.17.8'), + ('zlib', '1.2.13'), + ('GObject-Introspection', '1.76.1'), + ('GStreamer', '1.22.5'), + ('gspell', '1.12.2'), + ('libspectre', '0.2.12'), + ('libarchive', '3.6.2'), + ('poppler', '23.09.0'), + ('Ghostscript', '10.01.2'), + ('LibTIFF', '4.5.0'), + ('libgxps', '0.3.2'), + ('DBus', '1.15.4'), + ('DjVuLibre', '3.5.28'), + ('desktop-file-utils', '0.27'), + # optional: kpathsea (path searching library for TeX-related files) +] + +_bins = ['bin/%%(name)s%s' % x for x in ['', '-previewer', '-thumbnailer']] +_incs = ['include/evince', 'lib/evince', 'lib/pkgconfig'] +_libs = ['lib/%s.%s' % (x, SHLIB_EXT) for x in ['libevdocument3', 'libevview3']] + ['libexec/evinced'] + +sanity_check_paths = { + 'files': _bins + _libs, + 'dirs': _incs, +} + +sanity_check_commands = ['%(name)s --help'] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/e/exiv2/exiv2-0.28.3-GCCcore-13.3.0.eb b/easybuild/easyconfigs/e/exiv2/exiv2-0.28.3-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..fba04816180 --- /dev/null +++ b/easybuild/easyconfigs/e/exiv2/exiv2-0.28.3-GCCcore-13.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'exiv2' +version = '0.28.3' + +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': '13.3.0'} + +source_urls = ['https://github.com/Exiv2/exiv2/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['1315e17d454bf4da3cc0edb857b1d2c143670f3485b537d0f946d9ed31d87b70'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), +] + +dependencies = [ + ('expat', '2.6.2'), + ('Brotli', '1.1.0'), + ('inih', '58'), +] + +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.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.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/FASTA/FASTA-36.3.8i-GCC-12.3.0.eb b/easybuild/easyconfigs/f/FASTA/FASTA-36.3.8i-GCC-12.3.0.eb new file mode 100644 index 00000000000..58fd687455a --- /dev/null +++ b/easybuild/easyconfigs/f/FASTA/FASTA-36.3.8i-GCC-12.3.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.3.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/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/FFAVES/FFAVES-2022.11.1-foss-2022a.eb b/easybuild/easyconfigs/f/FFAVES/FFAVES-2022.11.1-foss-2022a.eb new file mode 100644 index 00000000000..27f977391e0 --- /dev/null +++ b/easybuild/easyconfigs/f/FFAVES/FFAVES-2022.11.1-foss-2022a.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'FFAVES' +version = '2022.11.1' +local_commit = '2c1fa89' + +homepage = 'https://github.com/aradley/FFAVES' +description = """Functional Feature Amplification Via Entropy Sorting (FFAVES). +Use FFAVES to amplify the signal of groups of co-regulating genes in an unsupervised, multivariate manner. +By amplifying the signal of genes with correlated expression, while filtering out genes that are randomly expressed, +we can identify a subset of genes more predictive of different cell types. +The output of FFAVES can then be used in our second algorithm, entropy sort feature weighting (ESFW), +to create a ranked list of genes that are most likely to pertain to distinct +sub-populations of cells in an scRNA-seq dataset. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('dill', '0.3.8', { + 'checksums': ['3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca'], + }), + ('multiprocess', '0.70.16', { + 'checksums': ['161af703d4652a0e1410be6abccecde4a7ddffd19341be0a7011b94aeb171ac1'], + }), + (name, version, { + 'preinstallopts': "sed -i 's/==/>=/' requirements.txt && ", + 'source_urls': ['https://github.com/aradley/FFAVES/archive/'], + 'sources': [{'download_filename': '2c1fa89.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['b833cc26cc60ad44c48d1b5712ce32b0ceb7f8d7876c06466514f79d357e4f83'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['ffaves.py', 'get_gprof', 'get_objgraph', 'undill']], + 'dirs': ['lib/python%(pyshortver)s/site-packages/'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.2.0-foss-2016a.eb b/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.2.0-foss-2016a.eb index d03b85f906a..9b777550c09 100644 --- a/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.2.0-foss-2016a.eb +++ b/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.2.0-foss-2016a.eb @@ -17,19 +17,19 @@ description = "Finite Field Linear Algebra Subroutines / Package" toolchain = {'version': '2016a', 'name': 'foss'} -sources = ['v%(version)s.zip'] source_urls = ['https://github.com/linbox-team/fflas-ffpack/archive'] +sources = ['v%(version)s.zip'] +checksums = ['4110e72004f88e9d6f90e503129a4ef7a3bd55b55aec992e109b3647a8445fa2'] builddependencies = [ ('Autotools', '20150215'), ] dependencies = [ - ('GMP', '6.1.0'), ('Givaro', '4.0.1'), ] preconfigopts = "env NOCONFIGURE=1 ./autogen.sh && " -configopts = '--with-gmp=$EBROOTGMP --with-givaro=$EBROOTGIVARO' +configopts = '--with-givaro=$EBROOTGIVARO' configopts += ' --with-blas-cflags="-I$BLAS_INC_DIR" --with-blas-libs="-L$BLAS_LIB_DIR $LIBBLAS" --enable-openmp' sanity_check_paths = { diff --git a/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.5.0-gfbf-2022a.eb b/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.5.0-gfbf-2022a.eb index 75c22cfa096..be9707946a7 100644 --- a/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.5.0-gfbf-2022a.eb +++ b/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.5.0-gfbf-2022a.eb @@ -21,13 +21,13 @@ source_urls = ['https://github.com/linbox-team/fflas-ffpack/releases/download/v% sources = [SOURCELOWER_TAR_GZ] checksums = ['dafb4c0835824d28e4f823748579be6e4c8889c9570c6ce9cce1e186c3ebbb23'] +builddependencies = [('pkgconf', '1.8.0')] dependencies = [ - ('GMP', '6.2.1'), ('Givaro', '4.2.0'), ] configopts = '--with-blas-libs="$LIBBLAS_MT" --with-blas-cflags="-I$BLAS_INC_DIR" ' -configopts += '--with-gmp=$EBROOTGMP --with-givaro=$EBROOTGIVARO --enable-openmp' +configopts += '--enable-openmp' buildopts = " && make autotune " diff --git a/easybuild/easyconfigs/f/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-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/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/FFmpeg/FFmpeg-5.0.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-5.0.1-GCCcore-11.3.0.eb index 5f6462eec21..6a468c1f81d 100644 --- 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 @@ -33,7 +33,7 @@ dependencies = [ 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' +configopts += '--enable-libfribidi --enable-sdl2 --disable-htmlpages' sanity_check_paths = { 'files': ['bin/ff%s' % x for x in ['mpeg', 'probe', 'play']] + 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 index b06aee26953..dfe40032efc 100644 --- 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 @@ -33,7 +33,7 @@ dependencies = [ 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' +configopts += '--enable-libfribidi --enable-sdl2 --disable-htmlpages' sanity_check_paths = { 'files': ['bin/ff%s' % x for x in ['mpeg', 'probe', 'play']] + 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 index 4f5fb4a0bc5..caa80fed59d 100644 --- 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 @@ -33,7 +33,7 @@ dependencies = [ 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' +configopts += '--enable-libfribidi --enable-sdl2 --disable-htmlpages' sanity_check_paths = { 'files': ['bin/ff%s' % x for x in ['mpeg', 'probe', 'play']] + 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 index fab8972c089..c75695951f6 100644 --- 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 @@ -33,7 +33,7 @@ dependencies = [ 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' +configopts += '--enable-libfribidi --enable-sdl2 --disable-htmlpages' sanity_check_paths = { 'files': ['bin/ff%s' % x for x in ['mpeg', 'probe', 'play']] + 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/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.9.2-foss-2022b.eb b/easybuild/easyconfigs/f/FLANN/FLANN-1.9.2-foss-2022b.eb new file mode 100644 index 00000000000..ce4946fff26 --- /dev/null +++ b/easybuild/easyconfigs/f/FLANN/FLANN-1.9.2-foss-2022b.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.2' + +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': '2022b'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/mariusmuja/flann/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['e26829bb0017f317d9cc45ab83ddcb8b16d75ada1ae07157006c1e7d601c8824'] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('lz4', '1.9.4'), +] + +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/FLANN/FLANN-1.9.2-foss-2023a.eb b/easybuild/easyconfigs/f/FLANN/FLANN-1.9.2-foss-2023a.eb new file mode 100644 index 00000000000..37143785fe1 --- /dev/null +++ b/easybuild/easyconfigs/f/FLANN/FLANN-1.9.2-foss-2023a.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 + +easyblock = 'CMakeMake' + +name = 'FLANN' +version = '1.9.2' + +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': '2023a'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/mariusmuja/flann/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['e26829bb0017f317d9cc45ab83ddcb8b16d75ada1ae07157006c1e7d601c8824'] + +builddependencies = [('CMake', '3.26.3')] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('lz4', '1.9.4'), +] + +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/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/FLINT/FLINT-3.1.2-gfbf-2024a.eb b/easybuild/easyconfigs/f/FLINT/FLINT-3.1.2-gfbf-2024a.eb new file mode 100644 index 00000000000..970496a35d0 --- /dev/null +++ b/easybuild/easyconfigs/f/FLINT/FLINT-3.1.2-gfbf-2024a.eb @@ -0,0 +1,45 @@ +easyblock = 'CMakeMake' + +name = 'FLINT' +version = '3.1.2' + +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': '2024a'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.flintlib.org'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['fdb3a431a37464834acff3bdc145f4fe8d0f951dd5327c4c6f93f4cbac5c2700'] + +builddependencies = [ + ('CMake', '3.29.3'), + ('Python', '3.12.3'), +] + +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.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/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/FSL/FSL-6.0.5.1-foss-2021a.eb b/easybuild/easyconfigs/f/FSL/FSL-6.0.5.1-foss-2021a.eb index 490c55164b6..418940cf74a 100644 --- a/easybuild/easyconfigs/f/FSL/FSL-6.0.5.1-foss-2021a.eb +++ b/easybuild/easyconfigs/f/FSL/FSL-6.0.5.1-foss-2021a.eb @@ -52,30 +52,38 @@ dependencies = [ ('GSL', '2.7'), ('Qwt', '6.2.0'), ('h5py', '3.2.1'), + ('NiBabel', '3.2.1'), ] -modextrapaths = {'PYTHONPATH': ['fsl/lib/python%(pyshortver)s/site-packages']} - -# The executable files 'imglob' and 'imcp' come from fslpy exts_defaultclass = 'PythonPackage' exts_default_options = { + 'buildininstalldir': False, + 'source_urls': [PYPI_LOWER_SOURCE], 'download_dep_fail': True, 'use_pip': True, } exts_list = [ + ('dataclasses', '0.8', { + 'checksums': ['8479067f342acf957dc82ec415d355ab5edb7e7646b90dc6e2fd1d96ad084c97'], + 'preinstallopts': "sed -i '/python_requires/d' setup.py && ", + }), + # The executable files 'imglob' and 'imcp' come from fslpy ('fslpy', '3.5.3', { - 'installopts': '--prefix=%(installdir)s/fsl', - 'source_urls': ['https://pypi.python.org/packages/source/f/fslpy/'], 'checksums': ['f80ef8b7b49f475bfb71946619d33c118a7cbbe106c72f7777aaf14d9e261530'], + 'installopts': '--prefix=%(installdir)s/fsl', }), ] +modextrapaths = { + 'PYTHONPATH': ['fsl/lib/python%(pyshortver)s/site-packages', 'lib/python%(pyshortver)s/site-packages'], +} + modextravars = { 'FSLOUTPUTTYPE': 'NIFTI_GZ', 'FSLMULTIFILEQUIT': 'TRUE', 'FSLTCLSH': 'tclsh', - 'FSLWISH': 'wish8.6' + 'FSLWISH': 'wish8.6', } moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FUSE/FUSE-3.14.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/FUSE/FUSE-3.14.1-GCCcore-11.3.0.eb index 856159422b1..f82d2647ceb 100644 --- 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 @@ -18,13 +18,15 @@ builddependencies = [ ('binutils', '2.38'), ] -# -Dutils=True only works as root -configopts = '-Dutils=False' +# 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': ['lib64/libfuse%%(version_major)s.%s' % SHLIB_EXT, - 'lib64/pkgconfig/fuse%(version_major)s.pc'], - 'dirs': ['include/fuse%(version_major)s'], + '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 index 1be42749206..b16a0debad6 100644 --- 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 @@ -18,13 +18,15 @@ builddependencies = [ ('binutils', '2.39') ] -# -Dutils=True only works as root -configopts = '-Dutils=False' +# 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': ['lib64/libfuse%%(version_major)s.%s' % SHLIB_EXT, - 'lib64/pkgconfig/fuse%(version_major)s.pc'], - 'dirs': ['include/fuse%(version_major)s'], + '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/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..1a9b1727bba --- /dev/null +++ b/easybuild/easyconfigs/f/Faiss/Faiss-1.7.4-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,70 @@ +# 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 + ]) +] + +modextrapaths = {'LD_LIBRARY_PATH': "lib/python%(pyshortver)s/site-packages/faiss"} + +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/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/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/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/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.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/FloPy/FloPy-3.8.2-gfbf-2023a.eb b/easybuild/easyconfigs/f/FloPy/FloPy-3.8.2-gfbf-2023a.eb new file mode 100644 index 00000000000..50f72e07c0d --- /dev/null +++ b/easybuild/easyconfigs/f/FloPy/FloPy-3.8.2-gfbf-2023a.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonBundle' + +name = 'FloPy' +version = '3.8.2' +homepage = 'https://flopy.readthedocs.io' + +description = "FloPy is a Python package to create, run, and post-process MODFLOW-based models" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), +] + +exts_list = [ + ('flopy', version, { + 'checksums': ['0ce2941f4095df2ca1d510f28df57224bdeb90636a3f3beeb199f09f635ddc62'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'geo' 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/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/FreeImage/FreeImage-3.18.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/f/FreeImage/FreeImage-3.18.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..3a9b6a21f3a --- /dev/null +++ b/easybuild/easyconfigs/f/FreeImage/FreeImage-3.18.0-GCCcore-12.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'FreeImage' +version = '3.18.0' + +homepage = 'http://freeimage.sourceforge.net' +description = """FreeImage is an Open Source library project for developers who would like to support popular graphics +image formats like PNG, BMP, JPEG, TIFF and others as needed by today's multimedia applications. FreeImage is easy to +use, fast, multithreading safe.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'cstd': 'c++14'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(name)s3180.zip'] +patches = ['%(name)s-%(version)s-fix-makefile.patch'] +checksums = [ + 'f41379682f9ada94ea7b34fe86bf9ee00935a3147be41b6569c9605a53e438fd', # FreeImage3180.zip + '3eaa1eb9562ccfd0cb95a37879bb7e3e8c745166596d75af529478181ef006a0', # %(name)s-%(version)s-fix-makefile.patch +] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('zlib', '1.2.13')] + +skipsteps = ['configure'] + +buildopts = ['', '-f Makefile.fip'] + +installopts = [ + "INCDIR=%(installdir)s/include INSTALLDIR=%(installdir)s/lib", + "-f Makefile.fip INCDIR=%(installdir)s/include INSTALLDIR=%(installdir)s/lib", +] + +_incs = ['include/FreeImage%s.h' % x for x in ['', 'Plus']] +_libs = ['lib/libfreeimage%s.%s' % (x, y) for x in ['', 'plus'] for y in ['a', SHLIB_EXT]] + +sanity_check_paths = { + 'files': _incs + _libs, + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.10-GCCcore-10.2.0.eb b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.10-GCCcore-10.2.0.eb index 40e6ff91575..c0dd7325a8b 100644 --- a/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.10-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.10-GCCcore-10.2.0.eb @@ -23,8 +23,6 @@ builddependencies = [ ('pkg-config', '0.29.2'), ] -configopts = '--disable-docs' - sanity_check_paths = { 'files': ['bin/%(namelower)s', 'include/%(namelower)s/%(namelower)s.h', 'lib/lib%%(namelower)s.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.10-GCCcore-10.3.0.eb b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.10-GCCcore-10.3.0.eb index a278d8bd820..5dd93a16d83 100644 --- a/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.10-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.10-GCCcore-10.3.0.eb @@ -24,8 +24,6 @@ builddependencies = [ ('pkg-config', '0.29.2'), ] -configopts = '--disable-docs' - sanity_check_paths = { 'files': ['bin/%(namelower)s', 'include/%(namelower)s/%(namelower)s.h', 'lib/lib%%(namelower)s.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.10-GCCcore-11.2.0.eb b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.10-GCCcore-11.2.0.eb index 4a4084cbfb1..89ac34d49c8 100644 --- a/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.10-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.10-GCCcore-11.2.0.eb @@ -21,8 +21,6 @@ builddependencies = [ ('pkg-config', '0.29.2'), ] -configopts = '--disable-docs' - sanity_check_paths = { 'files': ['bin/%(namelower)s', 'include/%(namelower)s/%(namelower)s.h', 'lib/lib%%(namelower)s.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.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/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/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/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/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/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-2023.4.0-gfbf-2022b.eb b/easybuild/easyconfigs/f/fastparquet/fastparquet-2023.4.0-gfbf-2022b.eb index 2320c4b7539..95fbef237e5 100644 --- a/easybuild/easyconfigs/f/fastparquet/fastparquet-2023.4.0-gfbf-2022b.eb +++ b/easybuild/easyconfigs/f/fastparquet/fastparquet-2023.4.0-gfbf-2022b.eb @@ -1,4 +1,4 @@ -easyblock = 'PythonBundle' +easyblock = 'CargoPythonBundle' name = 'fastparquet' version = '2023.4.0' @@ -12,12 +12,77 @@ 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'), - ('maturin', '1.1.0'), +] + +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 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-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/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.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-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/fineRADstructure/fineRADstructure-20210514-GCC-12.3.0.eb b/easybuild/easyconfigs/f/fineRADstructure/fineRADstructure-20210514-GCC-12.3.0.eb new file mode 100644 index 00000000000..77c8fd539f6 --- /dev/null +++ b/easybuild/easyconfigs/f/fineRADstructure/fineRADstructure-20210514-GCC-12.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'fineRADstructure' +version = '20210514' + +homepage = 'http://cichlid.gurdon.cam.ac.uk/fineRADstructure.html' +description = "A package for population structure inference from RAD-seq data" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/millanek/fineRADstructure/archive/'] +sources = [{'download_filename': '5896b9e.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['4f22232bb79dd7b589a1c8a389d7cca23372ea52f55205392ce9ce8f80aea5b2'] + +dependencies = [ + ('GSL', '2.7'), +] + + +_bins = ['finestructure', 'RADpainter'] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _bins], + 'dirs': [], +} +sanity_check_commands = ["%s -h" % x for x in _bins] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/fio/fio-3.36-GCCcore-12.3.0.eb b/easybuild/easyconfigs/f/fio/fio-3.36-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b8f16f6e6be --- /dev/null +++ b/easybuild/easyconfigs/f/fio/fio-3.36-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'fio' +version = '3.36' + +homepage = 'https://github.com/axboe/fio' +docurls = 'https://fio.readthedocs.io/en/latest/index.html' +description = 'Flexible I/O tester' + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'axboe' +source_urls = [GITHUB_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b34b8f3c5cd074c09ea487ffe3f444e95565c214b34a73042f35b00cbaab0e17'] + +builddependencies = [ + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': ['bin/fio'], + 'dirs': ['bin', 'man', 'share'], +} + +sanity_check_commands = ['fio -h'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/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/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-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-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.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/flit/flit-3.9.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/f/flit/flit-3.9.0-GCCcore-12.3.0.eb index 15b9ad83d78..a19ba324250 100644 --- 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 @@ -17,11 +17,8 @@ dependencies = [ ('Python', '3.11.3'), ] -exts_default_options = { - 'download_dep_fail': True, - 'sanity_pip_check': True, - 'use_pip': True, -} +sanity_pip_check = True +use_pip = True exts_list = [ ('idna', '3.4', { 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 index 79b1a625e7e..9ef1de6c8b7 100644 --- 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 @@ -18,11 +18,8 @@ dependencies = [ ('Python', '3.11.5'), ] -exts_default_options = { - 'download_dep_fail': True, - 'sanity_pip_check': True, - 'use_pip': True, -} +sanity_pip_check = True +use_pip = True exts_list = [ ('idna', '3.4', { 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/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-11.0.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/f/fmt/fmt-11.0.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..cfb38383787 --- /dev/null +++ b/easybuild/easyconfigs/f/fmt/fmt-11.0.2-GCCcore-13.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' + +name = 'fmt' +version = '11.0.2' + +homepage = 'http://fmtlib.net/' +description = "fmt (formerly cppformat) is an open-source formatting library." + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/fmtlib/fmt/releases/download/%(version)s/'] +sources = ['fmt-%(version)s.zip'] +checksums = ['40fc58bebcf38c759e11a7bd8fdc163507d2423ef5058bba7f26280c5b9c5465'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), +] + +sanity_check_paths = { + 'files': ['lib/libfmt.a'], + 'dirs': ['include/fmt', 'lib/cmake'], +} + +moduleclass = 'lib' 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/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-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/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/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.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/freud-analysis/freud-analysis-2.6.2-foss-2021a.eb b/easybuild/easyconfigs/f/freud-analysis/freud-analysis-2.6.2-foss-2021a.eb new file mode 100644 index 00000000000..8274a709f9f --- /dev/null +++ b/easybuild/easyconfigs/f/freud-analysis/freud-analysis-2.6.2-foss-2021a.eb @@ -0,0 +1,46 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonBundle' + +name = 'freud-analysis' +version = '2.6.2' + +homepage = 'https://github.com/glotzerlab/freud' +description = """The freud Python library provides a simple, flexible, powerful set of tools for analyzing trajectories +obtained from molecular dynamics or Monte Carlo simulations. High performance, parallelized C++ is used to compute +standard tools such as radial distribution functions, correlation functions, order parameters, and clusters, as well as +original analysis methods including potentials of mean force and torque (PMFTs) and local environment matching. The +freud library supports many input formats and outputs NumPy arrays, enabling integration with the scientific Python +ecosystem for many typical materials science workflows.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + ('pkg-config', '0.29.2'), + ('CMake', '3.20.1'), + ('scikit-build', '0.11.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('tbb', '2020.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('rowan', '1.3.0.post1', { + 'source_urls': ['https://pypi.python.org/packages/source/r/rowan'], + 'checksums': ['8f1d0e3279f80c6ae1ee68a90955301853b5586f64e42ba4c27d85504d525e4f'], + }), + (name, version, { + 'modulename': 'freud', + 'source_urls': ['https://pypi.python.org/packages/source/f/freud-analysis'], + 'checksums': ['1cc1b95a8a386e0ac7162246b42be800cfdaf335684a614aae02841aa4df6614'], + }), +] + +moduleclass = 'vis' 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-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/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/funannotate/funannotate-1.8.13-foss-2021b.eb b/easybuild/easyconfigs/f/funannotate/funannotate-1.8.13-foss-2021b.eb index 78068a53cc2..18991c61de3 100644 --- a/easybuild/easyconfigs/f/funannotate/funannotate-1.8.13-foss-2021b.eb +++ b/easybuild/easyconfigs/f/funannotate/funannotate-1.8.13-foss-2021b.eb @@ -9,6 +9,7 @@ description = """funannotate is a pipeline for genome annotation (built specific 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'), @@ -17,6 +18,41 @@ dependencies = [ ('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 @@ -38,7 +74,10 @@ sanity_check_paths = { 'dirs': [], } -sanity_check_commands = ["funannotate --help 2>&1 | grep 'Usage:[ ]*funannotate'"] +sanity_check_commands = [ + "funannotate --help 2>&1 | grep 'Usage:[ ]*funannotate'", + "funannotate check --show-versions", +] sanity_pip_check = True diff --git a/easybuild/easyconfigs/f/funannotate/funannotate-1.8.17-foss-2023a.eb b/easybuild/easyconfigs/f/funannotate/funannotate-1.8.17-foss-2023a.eb new file mode 100644 index 00000000000..ed9d5580415 --- /dev/null +++ b/easybuild/easyconfigs/f/funannotate/funannotate-1.8.17-foss-2023a.eb @@ -0,0 +1,94 @@ +easyblock = 'PythonBundle' + +name = 'funannotate' +version = '1.8.17' + +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': '2023a'} + +# see also https://github.com/nextgenusfs/funannotate/blob/master/docs/dependencies.rst +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Biopython', '1.83'), + ('GOATOOLS', '1.4.5'), + ('matplotlib', '3.7.2'), + ('scikit-learn', '1.3.1'), + ('Seaborn', '0.13.2'), + ('tbl2asn', '20230713'), + ('DBD-mysql', '4.050'), + ('CodingQuarry', '2.0'), + ('Trinity', '2.15.2'), + ('AUGUSTUS', '3.5.0'), + ('BamTools', '2.5.2'), + ('BEDTools', '2.31.0'), + ('BLAST+', '2.14.1'), # provides makeblastdb, tblastn + ('BLAT', '3.7'), + ('DIAMOND', '2.1.8'), + ('eggnog-mapper', '2.1.12'), + ('ETE', '3.1.3'), + ('Exonerate', '2.4.0'), + ('FASTA', '36.3.8i'), + ('GlimmerHMM', '3.0.4c'), + ('GMAP-GSNAP', '2023-04-20'), # provides gmap + ('GeneMark-ET', '4.72'), # provides gmes_petap.pl + ('HISAT2', '2.2.1'), + ('HMMER', '3.4'), # provides hmmscan, hmmsearch + ('kallisto', '0.51.1'), + ('MAFFT', '7.520', '-with-extensions'), + ('minimap2', '2.26'), + ('pigz', '2.8'), + ('Proteinortho', '6.3.2'), + ('Kent_tools', '468'), # provides pslCDnaFilter + ('Salmon', '1.10.3'), + ('SAMtools', '1.18'), + ('SignalP', '6.0h', '-fast'), + ('SNAP-HMM', '20221022'), + ('StringTie', '2.2.3'), + ('tRNAscan-SE', '2.0.12'), + ('tantan', '50'), + ('trimAl', '1.4.1'), + ('Trimmomatic', '0.39', '-Java-11', SYSTEM), + ('BioPerl', '1.7.8'), + ('EVidenceModeler', '2.1.0'), +] + +use_pip = True + +exts_list = [ + ('distro', '1.9.0', { + 'checksums': ['2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed'], + }), + ('natsort', '8.4.0', { + 'checksums': ['45312c4a0e5507593da193dedd04abb1469253b601ecaf63445ad80f0a1ea581'], + }), + (name, version, { + 'checksums': ['bdadfd7a5636383c1c40c26dab37c5908a77e8c4064adced84f1ba9e86187a04'], + 'preinstallopts': ( + """sed -i 's|REQUIRES_PYTHON = ">=3.6.0, <3.10"|REQUIRES_PYTHON = ">=3.6.0"|' setup.py && """ + """sed -i 's|"biopython<1.80",|"biopython",|' setup.py && """ + ) + }), +] + +sanity_check_paths = { + 'files': ['bin/funannotate'], + 'dirs': [], +} + +modextrapaths = { + 'GENEMARK_PATH': '$EBROOTGENEMARKMINET', +} + +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/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/GATE/GATE-9.4-foss-2023a.eb b/easybuild/easyconfigs/g/GATE/GATE-9.4-foss-2023a.eb new file mode 100644 index 00000000000..6fd245d2079 --- /dev/null +++ b/easybuild/easyconfigs/g/GATE/GATE-9.4-foss-2023a.eb @@ -0,0 +1,29 @@ +name = 'GATE' +version = '9.4' + +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': '2023a'} + +source_urls = ['https://github.com/OpenGATE/Gate/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['96c53f6ab1b25c0e540d8f9564bce0049371b378de80a7118a0ff8834c6c117c'] + +builddependencies = [ + ('CMake', '3.26.3'), +] +dependencies = [ + ('Geant4', '11.2.2'), + ('CLHEP', '2.4.7.1'), + ('ROOT', '6.30.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/GATK/GATK-4.3.0.0-GCCcore-12.3.0-Java-11.eb b/easybuild/easyconfigs/g/GATK/GATK-4.3.0.0-GCCcore-12.3.0-Java-11.eb new file mode 100644 index 00000000000..c5247c1cf5a --- /dev/null +++ b/easybuild/easyconfigs/g/GATK/GATK-4.3.0.0-GCCcore-12.3.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 +# Modified for version 4.4.0.0 by: Thomas Eylenbosch / Gluo NV +## + +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': '12.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.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/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/GCCcore/GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-10.3.0.eb index 7f9079c65c0..26437d79b56 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-10.3.0.eb @@ -17,7 +17,6 @@ source_urls = [ 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies 'https://gcc.gnu.org/pub/gcc/infrastructure/', # HTTPS mirror for GCC dependencies 'https://libisl.sourceforge.io/', # fallback URL for isl - 'http://isl.gforge.inria.fr/', # original HTTP source for ISL 'https://sourceware.org/pub/newlib/', # for newlib 'https://github.com/MentorEmbedded/nvptx-tools/archive', # for nvptx-tools ] diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.1.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.1.0.eb index b89321338eb..b9512e90cc6 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.1.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.1.0.eb @@ -17,7 +17,6 @@ source_urls = [ 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies 'https://gcc.gnu.org/pub/gcc/infrastructure/', # HTTPS mirror for GCC dependencies 'https://libisl.sourceforge.io/', # fallback URL for isl - 'http://isl.gforge.inria.fr/', # original HTTP source for ISL 'https://sourceware.org/pub/newlib/', # for newlib 'https://github.com/MentorEmbedded/nvptx-tools/archive', # for nvptx-tools ] diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.2.0.eb index 56cebe7e95f..69d454317bb 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.2.0.eb @@ -17,7 +17,6 @@ source_urls = [ 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies 'https://gcc.gnu.org/pub/gcc/infrastructure/', # HTTPS mirror for GCC dependencies 'https://libisl.sourceforge.io/', # fallback URL for isl - 'http://isl.gforge.inria.fr/', # original HTTP source for ISL 'https://sourceware.org/pub/newlib/', # for newlib 'https://github.com/MentorEmbedded/nvptx-tools/archive', # for nvptx-tools ] diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-12.1.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.1.0.eb index bfbba25110c..38ef50f122c 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-12.1.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.1.0.eb @@ -38,6 +38,7 @@ patches = [ 'GCCcore-12.1.0_fix-Wuninitialized-in-AVX-headers.patch', 'GCCcore-12.2.0_fix-avx512-misoptimization.patch', 'GCCcore-12.2.0_fix-vectorizer.patch', + 'GCCcore-12.x_riscv_multiarch_support.patch', ] checksums = [ {'gcc-12.1.0.tar.gz': 'e88a004a14697bbbaba311f38a938c716d9a652fd151aaaa4cf1b5b99b90e2de'}, @@ -57,6 +58,7 @@ checksums = [ {'GCCcore-12.2.0_fix-avx512-misoptimization.patch': 'bb3db707727b9975b0005346ef04230a96b3ad896f004a34262a82a244b5d436'}, {'GCCcore-12.2.0_fix-vectorizer.patch': '0b76fc379308fd189ee39c4a3a49facacf8ede08dbec4280f289341083f1632b'}, + {'GCCcore-12.x_riscv_multiarch_support.patch': '92fc2b17b6943611a657904500fbf3db8160eddbcea320828d4a50a885e2778f'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.2.0.eb index 77c3d798705..50d5b1bcd9c 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.2.0.eb @@ -39,6 +39,7 @@ patches = [ 'GCCcore-12.2.0_fix-avx512-misoptimization.patch', 'GCCcore-12.2.0_fix-vectorizer.patch', 'GCCcore-12.2.0_improve-cuda-compatibility.patch', + 'GCCcore-12.x_riscv_multiarch_support.patch', ] checksums = [ {'gcc-12.2.0.tar.gz': 'ac6b317eb4d25444d87cf29c0d141dedc1323a1833ec9995211b13e1a851261c'}, @@ -60,6 +61,7 @@ checksums = [ {'GCCcore-12.2.0_fix-vectorizer.patch': '0b76fc379308fd189ee39c4a3a49facacf8ede08dbec4280f289341083f1632b'}, {'GCCcore-12.2.0_improve-cuda-compatibility.patch': '91d00122554b56381592229398540e63baa26d03633292a7fdf338407a4a62d5'}, + {'GCCcore-12.x_riscv_multiarch_support.patch': '92fc2b17b6943611a657904500fbf3db8160eddbcea320828d4a50a885e2778f'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.3.0.eb index 91dd99aa90d..222f1b68dc8 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.3.0.eb @@ -36,6 +36,8 @@ patches = [ 'GCCcore-12.1.0_fix-double-destruct.patch', 'GCCcore-12.2.0_fix-avx512-misoptimization.patch', 'GCCcore-12.2.0_improve-cuda-compatibility.patch', + 'GCCcore-12.x_riscv_multiarch_support.patch', + 'GCCcore-13.2.0_fix_slp_and_loop_mask_len.patch', ] checksums = [ {'gcc-12.3.0.tar.gz': '11275aa7bb34cd8ab101d01b341015499f8d9466342a2574ece93f954d92273b'}, @@ -52,6 +54,9 @@ checksums = [ 'bb3db707727b9975b0005346ef04230a96b3ad896f004a34262a82a244b5d436'}, {'GCCcore-12.2.0_improve-cuda-compatibility.patch': '91d00122554b56381592229398540e63baa26d03633292a7fdf338407a4a62d5'}, + {'GCCcore-12.x_riscv_multiarch_support.patch': '92fc2b17b6943611a657904500fbf3db8160eddbcea320828d4a50a885e2778f'}, + {'GCCcore-13.2.0_fix_slp_and_loop_mask_len.patch': + 'e1d63e04bf494a2f79346ac7454372f117b63288cc18c68876a5b8bdc453cf88'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-12.x_riscv_multiarch_support.patch b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.x_riscv_multiarch_support.patch new file mode 100644 index 00000000000..ba981cea95c --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.x_riscv_multiarch_support.patch @@ -0,0 +1,33 @@ +https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=47f95bc4be4eb14730ab3eaaaf8f6e71fda47690 +https://gcc.gnu.org/PR106271 + +From 47f95bc4be4eb14730ab3eaaaf8f6e71fda47690 Mon Sep 17 00:00:00 2001 +From: Raphael Moreira Zinsly +Date: Tue, 22 Aug 2023 11:37:04 -0600 +Subject: [PATCH] RISC-V: Add multiarch support on riscv-linux-gnu + +This adds multiarch support to the RISC-V port so that bootstraps work with +Debian out-of-the-box. Without this patch the stage1 compiler is unable to +find headers/libraries when building the stage1 runtime. + +This is functionally (and possibly textually) equivalent to Debian's fix for +the same problem. + +gcc/ + * config/riscv/t-linux: Add MULTIARCH_DIRNAME. +--- + gcc/config/riscv/t-linux | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/gcc/config/riscv/t-linux b/gcc/config/riscv/t-linux +index 216d2776a18..a6f64f88d25 100644 +--- a/gcc/config/riscv/t-linux ++++ b/gcc/config/riscv/t-linux +@@ -1,3 +1,5 @@ + # Only XLEN and ABI affect Linux multilib dir names, e.g. /lib32/ilp32d/ + MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES))) + MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES)) ++ ++MULTIARCH_DIRNAME := $(call if_multiarch,$(firstword $(subst -, ,$(target)))-linux-gnu) +-- +2.39.3 diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-13.1.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-13.1.0.eb index 6b8e8a19de6..d44266b72bf 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-13.1.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-13.1.0.eb @@ -35,6 +35,8 @@ patches = [ 'GCCcore-9.3.0_gmp-c99.patch', 'GCCcore-12.1.0_fix-double-destruct.patch', 'GCCcore-12.2.0_fix-avx512-misoptimization.patch', + 'GCCcore-12.x_riscv_multiarch_support.patch', + 'GCCcore-13.2.0_fix_slp_and_loop_mask_len.patch', ] checksums = [ {'gcc-13.1.0.tar.gz': 'bacd4c614d8bd5983404585e53478d467a254249e0f1bb747c8bc6d787bd4fa2'}, @@ -49,6 +51,9 @@ checksums = [ {'GCCcore-12.1.0_fix-double-destruct.patch': '2e09c125318b6c15ec60f1807d77fb7d1f32b64a4e5d1c9a3da89ba2ca738d35'}, {'GCCcore-12.2.0_fix-avx512-misoptimization.patch': 'bb3db707727b9975b0005346ef04230a96b3ad896f004a34262a82a244b5d436'}, + {'GCCcore-12.x_riscv_multiarch_support.patch': '92fc2b17b6943611a657904500fbf3db8160eddbcea320828d4a50a885e2778f'}, + {'GCCcore-13.2.0_fix_slp_and_loop_mask_len.patch': + 'e1d63e04bf494a2f79346ac7454372f117b63288cc18c68876a5b8bdc453cf88'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-13.2.0.eb index 85c2772cbfa..2876160159d 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-13.2.0.eb @@ -35,6 +35,9 @@ patches = [ 'GCCcore-9.3.0_gmp-c99.patch', 'GCCcore-12.1.0_fix-double-destruct.patch', 'GCCcore-12.2.0_fix-avx512-misoptimization.patch', + 'GCCcore-13.2.0_fix_slp_and_loop_mask_len.patch', + 'GCCcore-12.x_riscv_multiarch_support.patch', + 'GCCcore-13.2.0_fix-unguarded-is_convertible-builtin.patch', ] checksums = [ {'gcc-13.2.0.tar.gz': '8cb4be3796651976f94b9356fa08d833524f62420d6292c5033a9a26af315078'}, @@ -49,6 +52,11 @@ checksums = [ {'GCCcore-12.1.0_fix-double-destruct.patch': '2e09c125318b6c15ec60f1807d77fb7d1f32b64a4e5d1c9a3da89ba2ca738d35'}, {'GCCcore-12.2.0_fix-avx512-misoptimization.patch': 'bb3db707727b9975b0005346ef04230a96b3ad896f004a34262a82a244b5d436'}, + {'GCCcore-13.2.0_fix_slp_and_loop_mask_len.patch': + 'e1d63e04bf494a2f79346ac7454372f117b63288cc18c68876a5b8bdc453cf88'}, + {'GCCcore-12.x_riscv_multiarch_support.patch': '92fc2b17b6943611a657904500fbf3db8160eddbcea320828d4a50a885e2778f'}, + {'GCCcore-13.2.0_fix-unguarded-is_convertible-builtin.patch': + '8650d6d4f41e32e9f5f23272d27a6d6adce3cd46ff44483f160b1d3bd92b1dbd'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-13.2.0_fix-unguarded-is_convertible-builtin.patch b/easybuild/easyconfigs/g/GCCcore/GCCcore-13.2.0_fix-unguarded-is_convertible-builtin.patch new file mode 100644 index 00000000000..4e752516115 --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-13.2.0_fix-unguarded-is_convertible-builtin.patch @@ -0,0 +1,43 @@ +Source: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113241 + +From 4c66513656775d551db36b53c253cf236f0eeba8 Mon Sep 17 00:00:00 2001 +From: Jonathan Wakely +Date: Fri, 5 Jan 2024 12:03:22 +0000 +Subject: [PATCH] libstdc++: Do not use __is_convertible unconditionally + [PR113241] + +The new __is_convertible built-in should only be used after checking +that it's supported. + +libstdc++-v3/ChangeLog: + + PR libstdc++/113241 + * include/std/type_traits (is_convertible_v): Guard use of + built-in with preprocessor check. + +(cherry picked from commit 57fa5b60bbbf8038b8a699d2bcebd2a9b2e29aa4) +--- + libstdc++-v3/include/std/type_traits | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include/std/type_traits +index 2bd607a8b8f..2b05e371953 100644 +--- a/libstdc++-v3/include/std/type_traits ++++ b/libstdc++-v3/include/std/type_traits +@@ -3359,8 +3359,13 @@ template + #endif + template + inline constexpr bool is_base_of_v = __is_base_of(_Base, _Derived); ++#if __has_builtin(__is_convertible) + template + inline constexpr bool is_convertible_v = __is_convertible(_From, _To); ++#else ++template ++ inline constexpr bool is_convertible_v = is_convertible<_From, _To>::value; ++#endif + template + inline constexpr bool is_invocable_v = is_invocable<_Fn, _Args...>::value; + template +-- +2.39.3 + diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-13.2.0_fix_slp_and_loop_mask_len.patch b/easybuild/easyconfigs/g/GCCcore/GCCcore-13.2.0_fix_slp_and_loop_mask_len.patch new file mode 100644 index 00000000000..909afb10f3f --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-13.2.0_fix_slp_and_loop_mask_len.patch @@ -0,0 +1,114 @@ +This patch fixes an issue where the tree-vectorization fails due to an internal compiler error in [60/11858] +compute_live_loop_exits on SVE capable AARCH64 architectures +First encountered on a neoverse_v1 build at https://github.com/EESSI/software-layer/pull/479#issuecomment-1957091774 +Upstream issue https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111478 +Upstream fix from https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=e5f1956498251a4973d52c8aad3faf34d0443169 +Known to work are 13.2.1, 14.0, so the fix probably already made it in there + +The second patch is a dependency to make the first one work, as it implements the *-operator used in last_stmt = *si + +From: Richard Biener +Date: Fri, 10 Nov 2023 11:39:11 +0000 (+0100) +Subject: tree-optimization/110221 - SLP and loop mask/len +X-Git-Url: https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff_plain;h=e5f1956498251a4973d52c8aad3faf34d0443169;hp=a5922427c29fad177251d89cc946d1c5bfc135eb + +tree-optimization/110221 - SLP and loop mask/len + +The following fixes the issue that when SLP stmts are internal defs +but appear invariant because they end up only using invariant defs +then they get scheduled outside of the loop. This nice optimization +breaks down when loop masks or lens are applied since those are not +explicitly tracked as dependences. The following makes sure to never +schedule internal defs outside of the vectorized loop when the +loop uses masks/lens. + + PR tree-optimization/110221 + * tree-vect-slp.cc (vect_schedule_slp_node): When loop + masking / len is applied make sure to not schedule + intenal defs outside of the loop. + + * gfortran.dg/pr110221.f: New testcase. +--- + +diff --git a/gcc/testsuite/gfortran.dg/pr110221.f b/gcc/testsuite/gfortran.dg/pr110221.f +new file mode 100644 +index 000000000000..8b57384313a7 +--- /dev/null ++++ b/gcc/testsuite/gfortran.dg/pr110221.f +@@ -0,0 +1,17 @@ ++C PR middle-end/68146 ++C { dg-do compile } ++C { dg-options "-O2 -w" } ++C { dg-additional-options "-mavx512f --param vect-partial-vector-usage=2" { target avx512f } } ++ SUBROUTINE CJYVB(V,Z,V0,CBJ,CDJ,CBY,CYY) ++ IMPLICIT DOUBLE PRECISION (A,B,G,O-Y) ++ IMPLICIT COMPLEX*16 (C,Z) ++ DIMENSION CBJ(0:*),CDJ(0:*),CBY(0:*) ++ N=INT(V) ++ CALL GAMMA2(VG,GA) ++ DO 65 K=1,N ++ CBY(K)=CYY ++65 CONTINUE ++ CDJ(0)=V0/Z*CBJ(0)-CBJ(1) ++ DO 70 K=1,N ++70 CDJ(K)=-(K+V0)/Z*CBJ(K)+CBJ(K-1) ++ END +diff --git a/gcc/tree-vect-slp.cc b/gcc/tree-vect-slp.cc +index 3e5814c3a319..80e279d8f506 100644 +--- a/gcc/tree-vect-slp.cc ++++ b/gcc/tree-vect-slp.cc +@@ -9081,6 +9081,16 @@ vect_schedule_slp_node (vec_info *vinfo, + /* Emit other stmts after the children vectorized defs which is + earliest possible. */ + gimple *last_stmt = NULL; ++ if (auto loop_vinfo = dyn_cast (vinfo)) ++ if (LOOP_VINFO_FULLY_MASKED_P (loop_vinfo) ++ || LOOP_VINFO_FULLY_WITH_LENGTH_P (loop_vinfo)) ++ { ++ /* But avoid scheduling internal defs outside of the loop when ++ we might have only implicitly tracked loop mask/len defs. */ ++ gimple_stmt_iterator si ++ = gsi_after_labels (LOOP_VINFO_LOOP (loop_vinfo)->header); ++ last_stmt = *si; ++ } + bool seen_vector_def = false; + FOR_EACH_VEC_ELT (SLP_TREE_CHILDREN (node), i, child) + if (SLP_TREE_DEF_TYPE (child) == vect_internal_def) + + +From c39cdd9e654540f74cd2478019c40f1611554a44 Mon Sep 17 00:00:00 2001 +From: Richard Biener +Date: Tue, 18 Apr 2023 16:58:26 +0200 +Subject: [PATCH] Add operator* to gimple_stmt_iterator and gphi_iterator + +This allows STL style iterator dereference. It's the same +as gsi_stmt () or .phi (). + + * gimple-iterator.h (gimple_stmt_iterator::operator*): Add. + (gphi_iterator::operator*): Likewise. +--- + gcc/gimple-iterator.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/gcc/gimple-iterator.h b/gcc/gimple-iterator.h +index 38352aa95af62..b709923f00dfa 100644 +--- a/gcc/gimple-iterator.h ++++ b/gcc/gimple-iterator.h +@@ -24,6 +24,8 @@ along with GCC; see the file COPYING3. If not see + + struct gimple_stmt_iterator + { ++ gimple *operator * () const { return ptr; } ++ + /* Sequence node holding the current statement. */ + gimple_seq_node ptr; + +@@ -38,6 +40,8 @@ struct gimple_stmt_iterator + /* Iterator over GIMPLE_PHI statements. */ + struct gphi_iterator : public gimple_stmt_iterator + { ++ gphi *operator * () const { return as_a (ptr); } ++ + gphi *phi () const + { + return as_a (ptr); diff --git a/easybuild/easyconfigs/g/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/GCTA/GCTA-1.94.1-gfbf-2023a.eb b/easybuild/easyconfigs/g/GCTA/GCTA-1.94.1-gfbf-2023a.eb new file mode 100644 index 00000000000..ce5b24cd584 --- /dev/null +++ b/easybuild/easyconfigs/g/GCTA/GCTA-1.94.1-gfbf-2023a.eb @@ -0,0 +1,70 @@ +# Author: Jasper Grimm (UoY) +# Updated to 1.94.1. J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMakeCp' + +name = 'GCTA' +version = '1.94.1' +_plink_commit = '3744540' + +homepage = 'https://yanglab.westlake.edu.cn/software/gcta/' +description = """ +GCTA (Genome-wide Complex Trait Analysis) is a software package, which was + initially developed to estimate the proportion of phenotypic variance explained + by all genome-wide SNPs for a complex trait but has been extensively extended + for many other analyses of data from genome-wide association studies (GWASs). +""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +sources = [ + { + 'source_urls': ['https://github.com/jianyangqt/gcta/archive'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }, + { + 'source_urls': ['https://github.com/zhilizheng/plink-ng/archive'], + 'download_filename': '%s.tar.gz' % _plink_commit, + 'filename': 'plink-ng-%s.tar.gz' % _plink_commit, + 'extract_cmd': "tar xzvf %%s --strip-components 1 -C gcta-%s/submods/plink-ng" % version, + }, +] +patches = [ + 'GCTA-1.94.0beta_allow-BLAS-selection.patch', + 'GCTA-1.94.0beta_lapack-compatibility.patch', +] +checksums = [ + {'GCTA-1.94.1.tar.gz': 'd38841587bef016d7885cc1b3287d7ed0373bd370674130e814e2c5e6a90bfbf'}, + {'plink-ng-3744540.tar.gz': 'a7c70c237d49d64fc1668ced373036c09b41d7c61d0b8b24b47e2fb76474455d'}, + {'GCTA-1.94.0beta_allow-BLAS-selection.patch': '320a5d82d12cf453f1396b228723ac18dc98e32bc459394dd4d712fc16b24747'}, + {'GCTA-1.94.0beta_lapack-compatibility.patch': '643282a2e2c02fc683431b673a4623a498129870431481d33d33e19a509026ce'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), + # Eigen and SpectrA are header-only C++ libraries + ('Eigen', '3.4.0'), + ('SpectrA', '1.0.1'), +] + +dependencies = [ + ('Boost', '1.82.0'), + ('SQLite', '3.42.0'), + ('zstd', '1.5.5'), + ('GSL', '2.7'), +] + +preconfigopts = 'EIGEN3_INCLUDE_DIR=$EBROOTEIGEN/include SPECTRA_LIB=$EBROOTSPECTRA/include' +preconfigopts += ' BOOST_LIB=$EBROOTBOOST/include ' + +files_to_copy = [(['gcta64'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/gcta64'], + 'dirs': [], +} + +sanity_check_commands = ["gcta64 | grep -e 'Analysis started'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GD/GD-2.71-GCCcore-9.3.0.eb b/easybuild/easyconfigs/g/GD/GD-2.71-GCCcore-9.3.0.eb index a54301ab868..dbaba6f514a 100644 --- a/easybuild/easyconfigs/g/GD/GD-2.71-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/g/GD/GD-2.71-GCCcore-9.3.0.eb @@ -44,8 +44,8 @@ exts_list = [ ] sanity_check_paths = { - 'files': ['bin/bdf2gdfont.pl', 'lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/%(name)s.pm'], - 'dirs': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/%(name)s'], + 'files': ['bin/bdf2gdfont.pl', 'lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi/%(name)s.pm'], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi/%(name)s'], } modextrapaths = { diff --git a/easybuild/easyconfigs/g/GD/GD-2.73-GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/GD/GD-2.73-GCCcore-10.3.0.eb index bf13eba9f37..d796bd89fa9 100644 --- a/easybuild/easyconfigs/g/GD/GD-2.73-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/g/GD/GD-2.73-GCCcore-10.3.0.eb @@ -46,8 +46,8 @@ exts_list = [ ] sanity_check_paths = { - 'files': ['bin/bdf2gdfont.pl', 'lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/%(name)s.pm'], - 'dirs': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/%(name)s'], + 'files': ['bin/bdf2gdfont.pl', 'lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi/%(name)s.pm'], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi/%(name)s'], } modextrapaths = { diff --git a/easybuild/easyconfigs/g/GD/GD-2.75-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GD/GD-2.75-GCCcore-11.3.0.eb index d889cb7d1f5..fa02d657bb3 100644 --- a/easybuild/easyconfigs/g/GD/GD-2.75-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/g/GD/GD-2.75-GCCcore-11.3.0.eb @@ -46,8 +46,8 @@ exts_list = [ ] sanity_check_paths = { - 'files': ['bin/bdf2gdfont.pl', 'lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/%(name)s.pm'], - 'dirs': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/%(name)s'], + 'files': ['bin/bdf2gdfont.pl', 'lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi/%(name)s.pm'], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi/%(name)s'], } modextrapaths = { diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-foss-2018a-Python-3.6.4.eb b/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-foss-2018a-Python-3.6.4.eb index 2e8050c472a..c7f37f1aa94 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-foss-2018a-Python-3.6.4.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-foss-2018a-Python-3.6.4.eb @@ -39,7 +39,7 @@ configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ --with-hdf5=$EBR configopts += ' --with-xml2=$EBROOTLIBXML2 --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' -configopts += ' --with-libgeotiff=$EBROOTLIBGEOTIFF' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF' modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-foss-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-foss-2018b-Python-2.7.15.eb index a3955f02fc6..f7577ef499c 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-foss-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-foss-2018b-Python-2.7.15.eb @@ -39,7 +39,7 @@ configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ --with-hdf5=$EBR configopts += ' --with-xml2=$EBROOTLIBXML2 --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' -configopts += ' --with-libgeotiff=$EBROOTLIBGEOTIFF' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF' modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-foss-2018b-Python-3.6.6.eb index 4d5e8a3b166..450fe377a43 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-foss-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-foss-2018b-Python-3.6.6.eb @@ -39,7 +39,7 @@ configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ --with-hdf5=$EBR configopts += ' --with-xml2=$EBROOTLIBXML2 --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' -configopts += ' --with-libgeotiff=$EBROOTLIBGEOTIFF' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF' modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-intel-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-intel-2018b-Python-3.6.6.eb index 2523cf04fa3..663815587cf 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-intel-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-2.2.3-intel-2018b-Python-3.6.6.eb @@ -39,7 +39,7 @@ configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ --with-hdf5=$EBR configopts += ' --with-xml2=$EBROOTLIBXML2 --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' -configopts += ' --with-libgeotiff=$EBROOTLIBGEOTIFF' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF' modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-foss-2019a-Python-2.7.15.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-foss-2019a-Python-2.7.15.eb index 5eb2654fceb..5e3bbcfce52 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-foss-2019a-Python-2.7.15.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-foss-2019a-Python-2.7.15.eb @@ -42,7 +42,7 @@ configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ --with-hdf5=$EBR configopts += ' --with-xml2=$EBROOTLIBXML2 --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' -configopts += ' --with-libgeotiff=$EBROOTLIBGEOTIFF' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF' modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-foss-2019a-Python-3.7.2.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-foss-2019a-Python-3.7.2.eb index c40f8400229..4d2a96f6f1c 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-foss-2019a-Python-3.7.2.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-foss-2019a-Python-3.7.2.eb @@ -42,7 +42,7 @@ configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ --with-hdf5=$EBR configopts += ' --with-xml2=$EBROOTLIBXML2 --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' -configopts += ' --with-libgeotiff=$EBROOTLIBGEOTIFF' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF' modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-intel-2019a-Python-2.7.15.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-intel-2019a-Python-2.7.15.eb index 0aa81a50d9a..1352000d7b6 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-intel-2019a-Python-2.7.15.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-intel-2019a-Python-2.7.15.eb @@ -46,7 +46,7 @@ configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ --with-hdf5=$EBR configopts += ' --with-xml2=$EBROOTLIBXML2 --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' -configopts += ' --with-libgeotiff=$EBROOTLIBGEOTIFF' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF' prebuildopts = "export LDSHARED='icc -shared' && " modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-intel-2019a-Python-3.7.2.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-intel-2019a-Python-3.7.2.eb index 141c37f1165..9bcb96c48ae 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-intel-2019a-Python-3.7.2.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.0-intel-2019a-Python-3.7.2.eb @@ -46,7 +46,7 @@ configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ --with-hdf5=$EBR configopts += ' --with-xml2=$EBROOTLIBXML2 --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' -configopts += ' --with-libgeotiff=$EBROOTLIBGEOTIFF' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF' prebuildopts = "export LDSHARED='icc -shared' && " modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.2-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.2-foss-2019b-Python-3.7.4.eb index 1d2268d9ecd..9080eca50a1 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.2-foss-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.2-foss-2019b-Python-3.7.4.eb @@ -45,7 +45,7 @@ configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ --with-hdf5=$EBR configopts += ' --with-xml2=$EBROOTLIBXML2 --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' -configopts += ' --with-libgeotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.2-fosscuda-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.2-fosscuda-2019b-Python-3.7.4.eb index 8cbf568debb..233ccbc1518 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.2-fosscuda-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.2-fosscuda-2019b-Python-3.7.4.eb @@ -46,7 +46,7 @@ configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ --with-hdf5=$EBR configopts += ' --with-xml2=$EBROOTLIBXML2 --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' -configopts += ' --with-libgeotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' # GPU support configopts += ' --with-opencl=yes' diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.2-intel-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.2-intel-2019b-Python-3.7.4.eb index 34d6ebadafb..b63353818cb 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.2-intel-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.2-intel-2019b-Python-3.7.4.eb @@ -45,7 +45,7 @@ configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ --with-hdf5=$EBR configopts += ' --with-xml2=$EBROOTLIBXML2 --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' -configopts += ' --with-libgeotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' prebuildopts = "export LDSHARED='icc -shared' && " diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.4-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.4-foss-2020a-Python-3.8.2.eb index e30c6613eda..761fe352c83 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.4-foss-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.4-foss-2020a-Python-3.8.2.eb @@ -48,7 +48,7 @@ configopts += ' --with-hdf5=$EBROOTHDF5 --with-netcdf=$EBROOTNETCDF' configopts += ' --with-xml2=$EBROOTLIBXML2 --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' -configopts += ' --with-libgeotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.4-intel-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.4-intel-2020a-Python-3.8.2.eb index 572bd3e1396..107318804f2 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.4-intel-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.4-intel-2020a-Python-3.8.2.eb @@ -48,7 +48,7 @@ configopts += ' --without-hdf4 --with-hdf5=$EBROOTHDF5 --with-netcdf=$EBROOTNETC configopts += ' --with-xml2=$EBROOTLIBXML2 --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' -configopts += ' --with-libgeotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' prebuildopts = 'export LDSHARED="$CC -shared" && ' diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.5.0-foss-2022a.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.5.0-foss-2022a.eb index 6babf890be5..e251ec038b9 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.5.0-foss-2022a.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.5.0-foss-2022a.eb @@ -33,7 +33,6 @@ dependencies = [ ('libxml2', '2.9.13'), ('libpng', '1.6.37'), ('libjpeg-turbo', '2.1.3'), - ('JasPer', '2.0.33'), ('LibTIFF', '4.3.0'), ('zlib', '1.2.12'), ('cURL', '7.83.0'), @@ -50,10 +49,12 @@ preconfigopts = r"sed -e 's/-llapack/\$LIBLAPACK/g' -i.eb configure && " configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ' configopts += ' --with-hdf5=$EBROOTHDF5 --with-netcdf=$EBROOTNETCDF' configopts += ' --with-xml2=yes --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' -configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' +configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE' configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' +maxparallel = 100 + modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} sanity_check_paths = { diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.6.2-foss-2022b.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.6.2-foss-2022b.eb index 7e3c17c850f..576d90e74d6 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.6.2-foss-2022b.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.6.2-foss-2022b.eb @@ -35,7 +35,6 @@ dependencies = [ ('libxml2', '2.10.3'), ('libpng', '1.6.38'), ('libjpeg-turbo', '2.1.4'), - ('JasPer', '4.0.0'), ('LibTIFF', '4.4.0'), ('zlib', '1.2.12'), ('cURL', '7.86.0'), @@ -62,9 +61,9 @@ dependencies = [ # common configopts for static, shared library builds _base_configopts = ' '.join([ '-DGDAL_USE_INTERNAL_LIBS=OFF', - '-DArrow_DIR=$EBROOTARROW', '-DGEOTIFF_INCLUDE_DIR=$EBROOTLIBGEOTIFF/include', '-DPython_ROOT=$EBROOTPYTHON', + '-DGDAL_USE_MYSQL=OFF', ]) # iterative build for both static and shared libraries diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.7.1-foss-2023a.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.7.1-foss-2023a.eb index 721bd3a5e34..88e35cd4db4 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.7.1-foss-2023a.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.7.1-foss-2023a.eb @@ -36,7 +36,6 @@ dependencies = [ ('libxml2', '2.11.4'), ('libpng', '1.6.39'), ('libjpeg-turbo', '2.1.5.1'), - ('JasPer', '4.0.0'), ('LibTIFF', '4.5.0'), ('zlib', '1.2.13'), ('cURL', '8.0.1'), @@ -62,7 +61,7 @@ dependencies = [ ] # iterative build for both static and shared libraries -local_configopts_common = "-DGDAL_USE_INTERNAL_LIBS=OFF -DArrow_DIR=$EBROOTARROW " +local_configopts_common = "-DGDAL_USE_INTERNAL_LIBS=OFF -DGDAL_USE_MYSQL=OFF " local_configopts_common += "-DGEOTIFF_INCLUDE_DIR=$EBROOTLIBGEOTIFF/include -DPython_ROOT=$EBROOTPYTHON " configopts = [ 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-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/GDGraph/GDGraph-1.56-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GDGraph/GDGraph-1.56-GCCcore-11.3.0.eb index 512c17dc89d..c2bce301db6 100644 --- a/easybuild/easyconfigs/g/GDGraph/GDGraph-1.56-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/g/GDGraph/GDGraph-1.56-GCCcore-11.3.0.eb @@ -53,12 +53,12 @@ exts_list = [ sanity_check_paths = { 'files': ['bin/bdf2gdfont.pl'], - 'dirs': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi', 'man'], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi', 'man'], } modextrapaths = {'PERL5LIB': [ 'lib/perl5/site_perl/%(perlver)s', - 'lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi', + 'lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi', ]} moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/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 c99c15a13e4..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 @@ -27,21 +27,21 @@ dependencies = [ ('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 index accc04a5bde..443bbdd4af7 100644 --- 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 @@ -27,21 +27,21 @@ dependencies = [ ('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-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 864159cc441..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 @@ -27,21 +27,21 @@ dependencies = [ ('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 index 7074317643e..b6d234c96b7 100644 --- 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 @@ -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.3.0.eb b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3-GCCcore-11.3.0.eb index 43ffd95b310..d155d8ae274 100644 --- 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 @@ -20,21 +20,21 @@ builddependencies = [ ('pkgconf', '1.8.0'), ] -# 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-12.2.0.eb b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3-GCCcore-12.2.0.eb index c9c58812cf5..44973308cfc 100644 --- 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 @@ -20,21 +20,21 @@ builddependencies = [ ('pkgconf', '1.9.3'), ] -# 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.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3.1-GCCcore-12.3.0.eb index 9eb358afb3f..b0c0227e952 100644 --- 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 @@ -20,21 +20,21 @@ builddependencies = [ ('pkgconf', '1.9.5'), ] -# 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.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.4-GCCcore-13.2.0.eb index d871eaf60d3..56d6902c8a7 100644 --- 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 @@ -20,21 +20,21 @@ builddependencies = [ ('pkgconf', '2.0.3'), ] -# 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.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/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.12.2-GCC-13.3.0.eb b/easybuild/easyconfigs/g/GEOS/GEOS-3.12.2-GCC-13.3.0.eb new file mode 100644 index 00000000000..6b174f0bf8a --- /dev/null +++ b/easybuild/easyconfigs/g/GEOS/GEOS-3.12.2-GCC-13.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'GEOS' +version = '3.12.2' + +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.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.osgeo.org/geos/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['34c7770bf0090ee88488af98767d08e779f124fa33437e0aabec8abd4609fec6'] + +builddependencies = [('CMake', '3.29.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', 'lib/libgeos_c.%s' % SHLIB_EXT, + 'include/geos.h'], + 'dirs': [], +} + +moduleclass = 'math' 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 index 4ae171a8b3c..e09ebe9ff50 100644 --- a/easybuild/easyconfigs/g/GHC/GHC-9.2.2-x86_64.eb +++ b/easybuild/easyconfigs/g/GHC/GHC-9.2.2-x86_64.eb @@ -53,7 +53,7 @@ components = [ '8c471fc2b1961a6e6e5981b7f7b3512e7fe58fcb04461aa4520157d4c1159998', '027f7bd5876b761b48db624ddbdd106fa1c535dfb2752ef5a0eddeb2a8896cfd', ], - 'preconfigopts': "export CPPFLAGS='-P' && ", + 'preconfigopts': 'export CPPFLAGS="-P" CXXFLAGS="$CXXFLAGS -std=c++14" && ', 'configopts': ' --with-shared --enable-overwrite --with-termlib=tinfo', }), (name, version, { diff --git a/easybuild/easyconfigs/g/GHC/GHC-9.4.6-x86_64.eb b/easybuild/easyconfigs/g/GHC/GHC-9.4.6-x86_64.eb new file mode 100644 index 00000000000..51f75cd3a9a --- /dev/null +++ b/easybuild/easyconfigs/g/GHC/GHC-9.4.6-x86_64.eb @@ -0,0 +1,84 @@ +# This is a binary install that requires a './configure' and 'make install' steps for GHC. +# We pull the centos7 binary tarball as is the one built against oldest system libs, +# making it upwards compatible with newer distros. +# +# To get a functional 'ghc' binary on the SYSTEM toolchain we need +# gmp headers and ncurses libtinfo.so.5, to avoid requiring extra OS deps for them +# we include them in this bundle. +# Binaries obtained with ghc do not require them, so it should be possible to use this bundle +# just as builddep among different toolchains. +# +# For details, see the PR discussion: +# https://github.com/easybuilders/easybuild-easyconfigs/pull/11310 + +easyblock = 'Bundle' + +name = 'GHC' +version = '9.4.6' +versionsuffix = '-x86_64' + +homepage = 'https://haskell.org/ghc/' +description = """The Glorious/Glasgow Haskell Compiler""" + +toolchain = SYSTEM + +builddependencies = [ + ('binutils', '2.40'), + ('M4', '1.4.19') +] + +default_easyblock = 'ConfigureMake' + +local_distro_tarball = 'centos7' + +default_component_specs = { + 'start_dir': '%(namelower)s-%(version)s', +} +components = [ + ('GMP', '6.2.1', { + 'source_urls': [GNU_SOURCE], + 'sources': [SOURCELOWER_TAR_BZ2], + 'checksums': ['eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c'], + 'configopts': ' --enable-cxx', + 'start_dir': '%(namelower)s-%(version)s', + }), + ('ncurses', '5.9', { + 'source_urls': [GNU_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'patches': [ + 'ncurses-%(version)s_configure_darwin.patch', + 'ncurses-%(version)s_fix-missing-const.patch', + ], + 'checksums': [ + '9046298fb440324c9d4135ecea7879ffed8546dd1b58e59430ea07a4633f563b', + '8c471fc2b1961a6e6e5981b7f7b3512e7fe58fcb04461aa4520157d4c1159998', + '027f7bd5876b761b48db624ddbdd106fa1c535dfb2752ef5a0eddeb2a8896cfd', + ], + 'preconfigopts': "export CPPFLAGS='-P -std=c++14' && ", + 'configopts': ' --with-shared --enable-overwrite --with-termlib=tinfo', + }), + (name, version, { + 'source_urls': ['https://downloads.haskell.org/~ghc/%(version)s/'], + 'sources': ['%%(namelower)s-%%(version)s-x86_64-%s-linux.tar.xz' % local_distro_tarball], + 'checksums': ['13bac0c0cbcfe75982d8b08c51dd5e50116d7760474a07b97bd82a0bd5c2ec18'], + # ghc-8.6.5-x86_64-centos7-linux.tar.xz + 'skipsteps': ['build'], + 'preinstallopts': 'LD_LIBRARY_PATH="%(installdir)s/lib:$LD_LIBRARY_PATH" ', + 'start_dir': '%(namelower)s-%(version)s-x86_64-unknown-linux', + }), +] + +local_ncurses_libs = ["form", "menu", "ncurses", "panel", "tinfo"] + +sanity_check_paths = { + 'files': ['lib/lib%s.%s' % (x, y) for x in ['gmp', 'gmpxx'] for y in [SHLIB_EXT, 'a']] + + ['include/gmp.h', 'include/gmpxx.h'] + + ['lib/lib%s%s.a' % (x, y) for x in local_ncurses_libs for y in ['', '_g']] + + ['lib/lib%s.%s' % (x, y) for x in local_ncurses_libs for y in [SHLIB_EXT]] + + ['bin/ghc', 'bin/ghci', 'bin/ghc-pkg', 'bin/runghc', 'bin/runhaskell'], + 'dirs': ['bin', 'lib', 'share', 'include'], +} + +sanity_check_commands = ['ghc --version'] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/g/GI-DocGen/GI-DocGen-2023.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/GI-DocGen/GI-DocGen-2023.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..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/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-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.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/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-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.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.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-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/GMAP-GSNAP/GMAP-GSNAP-2024-09-18-GCC-13.3.0.eb b/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2024-09-18-GCC-13.3.0.eb new file mode 100644 index 00000000000..25bc1f03a06 --- /dev/null +++ b/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2024-09-18-GCC-13.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 +# 2016-11-07 modified by: +# Adam Huffman +# The Francis Crick Institute + +easyblock = 'ConfigureMake' + +name = 'GMAP-GSNAP' +version = '2024-09-18' + +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': '13.3.0'} + +source_urls = ['http://research-pub.gene.com/gmap/src/'] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'GMAP-GSNAP-2024-09-18_fix-source-files-for-haswell.patch', +] +checksums = [ + {'gmap-gsnap-2024-09-18.tar.gz': '00d28c1a8c95295c8edd006cc0d1b5154cabe185de1f5a5dd8ccdb01fab38a18'}, + {'GMAP-GSNAP-2024-09-18_fix-source-files-for-haswell.patch': + 'a7ce5bbc83c16d7d4b5f79cf9d96311943fecb114ecab7c6a45e85e95ba54748'}, +] + +# 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.3.1'), +] + +# 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-2024-09-18_fix-source-files-for-haswell.patch b/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2024-09-18_fix-source-files-for-haswell.patch new file mode 100644 index 00000000000..05112c3e4b5 --- /dev/null +++ b/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2024-09-18_fix-source-files-for-haswell.patch @@ -0,0 +1,13 @@ +Fix source files for Haswell architecture +diff -ru gmap-2024-09-18.orig/src/select64-common.h gmap-2024-09-18/src/select64-common.h +--- gmap-2024-09-18.orig/src/select64-common.h 2023-10-26 02:31:15.000000000 +0200 ++++ gmap-2024-09-18/src/select64-common.h 2024-10-15 16:51:04.695772640 +0200 +@@ -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/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.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/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/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.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-23.9.1-foss-2023a.eb b/easybuild/easyconfigs/g/GPAW/GPAW-23.9.1-foss-2023a.eb index 25eca6c86b9..60828cc4f31 100644 --- a/easybuild/easyconfigs/g/GPAW/GPAW-23.9.1-foss-2023a.eb +++ b/easybuild/easyconfigs/g/GPAW/GPAW-23.9.1-foss-2023a.eb @@ -31,7 +31,7 @@ dependencies = [ ('libvdwxc', '0.4.0'), ('ELPA', '2023.05.001'), ('PyYAML', '6.0'), - ('GPAW-setups', '0.9.20000', '', SYSTEM), + ('GPAW-setups', '24.1.0', '', SYSTEM), ] prebuildopts = 'GPAW_CONFIG=doc/platforms/Linux/EasyBuild/config_foss.py' diff --git a/easybuild/easyconfigs/g/GPAW/GPAW-24.1.0-foss-2023a.eb b/easybuild/easyconfigs/g/GPAW/GPAW-24.1.0-foss-2023a.eb index 9c555311a5b..f8e05080924 100644 --- a/easybuild/easyconfigs/g/GPAW/GPAW-24.1.0-foss-2023a.eb +++ b/easybuild/easyconfigs/g/GPAW/GPAW-24.1.0-foss-2023a.eb @@ -31,7 +31,7 @@ dependencies = [ ('libvdwxc', '0.4.0'), ('ELPA', '2023.05.001'), ('PyYAML', '6.0'), - ('GPAW-setups', '0.9.20000', '', SYSTEM), + ('GPAW-setups', '24.1.0', '', SYSTEM), ] prebuildopts = 'GPAW_CONFIG=doc/platforms/Linux/EasyBuild/config_foss.py' diff --git a/easybuild/easyconfigs/g/GPAW/GPAW-24.1.0-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-foss-2024a.eb b/easybuild/easyconfigs/g/GPAW/GPAW-24.6.0-foss-2024a.eb new file mode 100644 index 00000000000..9b8721280c8 --- /dev/null +++ b/easybuild/easyconfigs/g/GPAW/GPAW-24.6.0-foss-2024a.eb @@ -0,0 +1,50 @@ +easyblock = "PythonPackage" + +name = 'GPAW' +version = '24.6.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': '2024a'} +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.12.3'), + ('Python-bundle-PyPI', '2024.06'), + ('SciPy-bundle', '2024.05'), + ('ASE', '3.23.0'), + ('libxc', '6.2.2'), + ('libvdwxc', '0.4.0'), + ('ELPA', '2024.05.001'), + ('PyYAML', '6.0.2'), + ('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/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/GRASP-suite/GRASP-suite-2023-05-09-Java-17.eb b/easybuild/easyconfigs/g/GRASP-suite/GRASP-suite-2023-05-09-Java-17.eb new file mode 100644 index 00000000000..8182799823d --- /dev/null +++ b/easybuild/easyconfigs/g/GRASP-suite/GRASP-suite-2023-05-09-Java-17.eb @@ -0,0 +1,38 @@ +easyblock = 'JAR' + +name = 'GRASP-suite' +version = '2023-05-09' +local_commit = '97cceec' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://github.com/bodenlab/GRASP-suite/' + +description = """GRASP-suite is a collection of tools and tutorials to perform and +analyse ancestral sequence reconstruction.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/bodenlab/GRASP-suite/raw/%s/content/project/graspcmd/archive/' % local_commit] +sources = [{ + "download_filename": "bnkit.jar", + "filename": "%(name)s-%(version)s.jar", +}] +checksums = ['7ee4cbc9f23857c8c7cf3e6bd0dde962d9a244974d955aac92212b5b5e29a385'] + +dependencies = [('Java', '17')] + +postinstallcmds = [ + "mkdir -p %(installdir)s/bin", + "echo '#!/bin/sh' > %(installdir)s/bin/grasp", + "echo 'java -jar -Xmx16g %(installdir)s/%(name)s-%(version)s.jar $@' >> %(installdir)s/bin/grasp", + "chmod a+rx %(installdir)s/bin/grasp" +] + +sanity_check_commands = ["grasp -h"] + +sanity_check_paths = { + 'files': ['bin/grasp', '%(name)s-%(version)s.jar'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GRASS/GRASS-7.8.3-fosscuda-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/g/GRASS/GRASS-7.8.3-fosscuda-2019b-Python-3.7.4.eb index 5d64776f29d..cfb982cda75 100644 --- a/easybuild/easyconfigs/g/GRASS/GRASS-7.8.3-fosscuda-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/g/GRASS/GRASS-7.8.3-fosscuda-2019b-Python-3.7.4.eb @@ -41,7 +41,6 @@ dependencies = [ ('PROJ', '6.2.1'), ('SQLite', '3.29.0'), ('freetype', '2.10.1'), - ('FFmpeg', '4.2.1'), ('LibTIFF', '4.0.10'), ('cairo', '1.16.0'), ('X11', '20190717'), @@ -52,21 +51,18 @@ dependencies = [ ] preconfigopts = "sed -e 's/-lblas/$LIBBLAS/g' -e 's/-llapack/$LIBLAPACK/g' -i configure && " -configopts = '--enable-64bit ' -configopts += '--enable-largefile=yes ' +configopts = '--enable-largefile=yes ' configopts += '--with-cairo=yes ' configopts += '--with-cxx ' -configopts += '--with-ffmpeg --with-ffmpeg-libs=$EBROOTFFMPEG/lib --with-ffmpeg-includes=$EBROOTFFMPEG/include/* ' configopts += '--with-fftw --with-fftw-libs=$EBROOTFFTW/lib --with-fftw-includes=$EBROOTFFTW/include ' configopts += '--with-freetype ' configopts += '--with-freetype-libs=$EBROOTFREETYPE/lib --with-freetype-includes=$EBROOTFREETYPE/include ' configopts += '--with-geos=$EBROOTGEOS/bin/geos-config ' -configopts += '--without-glw ' configopts += '--with-lapack ' -configopts += '--with-lapack-lib=$LAPACK_LIB_DIR ' +configopts += '--with-lapack-libs=$LAPACK_LIB_DIR ' configopts += '--with-lapack-includes=$LAPACK_INC_DIR ' configopts += '--with-blas ' -configopts += '--with-blas-lib=$BLAS_LIB_DIR ' +configopts += '--with-blas-libs=$BLAS_LIB_DIR ' configopts += '--with-blas-includes=$BLAS_INC_DIR ' configopts += '--with-netcdf=$EBROOTNETCDF/bin/nc-config ' configopts += '--without-odbc ' @@ -75,19 +71,17 @@ configopts += '--with-openmp ' configopts += '--with-png ' configopts += '--with-png-libs="$EBROOTLIBPNG/lib $EBROOTZLIB/lib" --with-png-includes=$EBROOTLIBPNG/include ' configopts += '--without-postgres ' -configopts += '--with-proj --with-proj-libs=$EBROOTPROJ/lib ' +configopts += '--with-proj-libs=$EBROOTPROJ/lib ' configopts += '--with-proj-includes=$EBROOTPROJ/include --with-proj-share=$EBROOTPROJ/share/proj ' configopts += '--with-pthread ' -configopts += '--with-python ' configopts += '--with-readline ' configopts += '--with-readline-libs=$EBROOTLIBREADLINE/lib --with-readline-includes=$EBROOTLIBREADLINE/include ' -configopts += '--with-spatialite ' configopts += '--with-sqlite ' configopts += '--with-tiff-libs=$EBROOTLIBTIFF/lib --with-tiff-includes=$EBROOTLIBTIFF/include ' configopts += '--with-wxwidgets=$EBROOTWXPYTHON/bin/wx-config ' configopts += '--with-x ' -configopts += '--with-zlib --with-zlib-libs=$EBROOTZLIB/lib --with-zlib-includes=$EBROOTZLIB/include ' -configopts += '--with-bzlib --with-bzlib-libs=$EBROOTBZIP2/lib --with-ibzlib-includes=$EBROOTBZIP2/include ' +configopts += '--with-zlib-libs=$EBROOTZLIB/lib --with-zlib-includes=$EBROOTZLIB/include ' +configopts += '--with-bzlib --with-bzlib-libs=$EBROOTBZIP2/lib --with-bzlib-includes=$EBROOTBZIP2/include ' configopts += '--with-zstd --with-zstd-libs=$EBROOTZSTD/lib --with-zstd-includes=$EBROOTZSTD/include ' sanity_check_paths = { diff --git a/easybuild/easyconfigs/g/GRASS/GRASS-8.2.0-foss-2021b.eb b/easybuild/easyconfigs/g/GRASS/GRASS-8.2.0-foss-2021b.eb index 064972b3a7c..97d62f13261 100644 --- a/easybuild/easyconfigs/g/GRASS/GRASS-8.2.0-foss-2021b.eb +++ b/easybuild/easyconfigs/g/GRASS/GRASS-8.2.0-foss-2021b.eb @@ -40,7 +40,6 @@ dependencies = [ ('PROJ', '8.1.0'), ('SQLite', '3.36'), ('freetype', '2.11.0'), - ('FFmpeg', '4.3.2'), ('LibTIFF', '4.3.0'), ('cairo', '1.16.0'), ('X11', '20210802'), @@ -52,21 +51,18 @@ dependencies = [ preconfigopts = "sed -e 's/-lblas/$LIBBLAS/g' -e 's/-llapack/$LIBLAPACK/g' -i configure && " -configopts = '--enable-64bit ' -configopts += '--enable-largefile=yes ' +configopts = '--enable-largefile=yes ' configopts += '--with-cairo=yes ' configopts += '--with-cxx ' -configopts += '--with-ffmpeg --with-ffmpeg-libs=$EBROOTFFMPEG/lib --with-ffmpeg-includes=$EBROOTFFMPEG/include/* ' configopts += '--with-fftw --with-fftw-libs=$EBROOTFFTW/lib --with-fftw-includes=$EBROOTFFTW/include ' configopts += '--with-freetype ' configopts += '--with-freetype-libs=$EBROOTFREETYPE/lib --with-freetype-includes=$EBROOTFREETYPE/include ' configopts += '--with-geos=$EBROOTGEOS/bin/geos-config ' -configopts += '--without-glw ' configopts += '--with-lapack ' -configopts += '--with-lapack-lib=$LAPACK_LIB_DIR ' +configopts += '--with-lapack-libs=$LAPACK_LIB_DIR ' configopts += '--with-lapack-includes=$LAPACK_INC_DIR ' configopts += '--with-blas ' -configopts += '--with-blas-lib=$BLAS_LIB_DIR ' +configopts += '--with-blas-libs=$BLAS_LIB_DIR ' configopts += '--with-blas-includes=$BLAS_INC_DIR ' configopts += '--with-netcdf=$EBROOTNETCDF/bin/nc-config ' configopts += '--without-odbc ' @@ -75,19 +71,17 @@ configopts += '--with-openmp ' configopts += '--with-png ' configopts += '--with-png-libs="$EBROOTLIBPNG/lib $EBROOTZLIB/lib" --with-png-includes=$EBROOTLIBPNG/include ' configopts += '--without-postgres ' -configopts += '--with-proj --with-proj-libs=$EBROOTPROJ/lib ' +configopts += '--with-proj-libs=$EBROOTPROJ/lib ' configopts += '--with-proj-includes=$EBROOTPROJ/include --with-proj-share=$EBROOTPROJ/share/proj ' configopts += '--with-pthread ' -configopts += '--with-python ' configopts += '--with-readline ' configopts += '--with-readline-libs=$EBROOTLIBREADLINE/lib --with-readline-includes=$EBROOTLIBREADLINE/include ' -configopts += '--with-spatialite ' configopts += '--with-sqlite ' configopts += '--with-tiff-libs=$EBROOTLIBTIFF/lib --with-tiff-includes=$EBROOTLIBTIFF/include ' configopts += '--with-wxwidgets=$EBROOTWXWIDGET/bin/wx-config ' configopts += '--with-x ' -configopts += '--with-zlib --with-zlib-libs=$EBROOTZLIB/lib --with-zlib-includes=$EBROOTZLIB/include ' -configopts += '--with-bzlib --with-bzlib-libs=$EBROOTBZIP2/lib --with-ibzlib-includes=$EBROOTBZIP2/include ' +configopts += '--with-zlib-libs=$EBROOTZLIB/lib --with-zlib-includes=$EBROOTZLIB/include ' +configopts += '--with-bzlib --with-bzlib-libs=$EBROOTBZIP2/lib --with-bzlib-includes=$EBROOTBZIP2/include ' configopts += '--with-zstd --with-zstd-libs=$EBROOTZSTD/lib --with-zstd-includes=$EBROOTZSTD/include ' postinstallcmds = [ diff --git a/easybuild/easyconfigs/g/GROMACS-LS/GROMACS-LS-2016.3-foss-2023a.eb b/easybuild/easyconfigs/g/GROMACS-LS/GROMACS-LS-2016.3-foss-2023a.eb new file mode 100644 index 00000000000..e47a07b97f8 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS-LS/GROMACS-LS-2016.3-foss-2023a.eb @@ -0,0 +1,49 @@ +easyblock = 'EB_GROMACS' + +name = 'GROMACS-LS' +version = '2016.3' + +homepage = 'https://vanegaslab.org/software' +description = """ +GROMACS-LS and the MDStress library enable the calculation of local +stress fields from molecular dynamics simulations. + +This is a double precision only CPU only build. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'openmp': True, 'usempi': True} + +source_urls = ['https://vanegaslab.org/files'] +sources = ['gromacs-ls-2016.3-12282019.tar.gz'] +patches = [ + 'GROMACS-LS-2016.3_fix_typo.patch', +] +checksums = [ + {'gromacs-ls-2016.3-12282019.tar.gz': '20f4d4f255800432be188abe41b7fec923cacc5fc895914b3beac0808ddf1919'}, + {'GROMACS-LS-2016.3_fix_typo.patch': '4b9945476405a358bc64784984c51f08ab1aa3a598fb981b2dad8e0c61665fe0'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('MDStress', '20191228'), +] + +# GROMACS-LS can only be built with double precision +single_precision = False + +# GROMACS-LS can only handle hwloc version < 2 +configopts = '-DGMX_HWLOC=OFF' + +# The tests have not been rewritten to handle the mdstress changes +skipsteps = ['test'] + +sanity_check_paths = { + 'files': ['bin/gmx_LS', 'lib/libgromacs_LS.a'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GROMACS-LS/GROMACS-LS-2016.3_fix_typo.patch b/easybuild/easyconfigs/g/GROMACS-LS/GROMACS-LS-2016.3_fix_typo.patch new file mode 100644 index 00000000000..2529da617ed --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS-LS/GROMACS-LS-2016.3_fix_typo.patch @@ -0,0 +1,38 @@ +Fix a couple of smaller problems + +Åke Sandgren, 2024-11-07 +diff -ru gromacs-ls-2016.3.orig/cmake/gmxTestCXX11.cmake gromacs-ls-2016.3/cmake/gmxTestCXX11.cmake +--- gromacs-ls-2016.3.orig/cmake/gmxTestCXX11.cmake 2019-12-28 15:42:21.000000000 +0100 ++++ gromacs-ls-2016.3/cmake/gmxTestCXX11.cmake 2024-11-07 10:45:40.060210373 +0100 +@@ -49,7 +49,7 @@ + elseif(CYGWIN) + set(CXX11_CXX_FLAG "-std=gnu++0x") #required for strdup + else() +- set(CXX11_CXX_FLAG "-std=c++0x") ++ set(CXX11_CXX_FLAG "-std=c++11") + endif() + CHECK_CXX_COMPILER_FLAG("${CXX11_CXX_FLAG}" CXXFLAG_STD_CXX0X) + if(NOT CXXFLAG_STD_CXX0X) +diff -ru gromacs-ls-2016.3.orig/src/gromacs/mdlib/minimize.cpp gromacs-ls-2016.3/src/gromacs/mdlib/minimize.cpp +--- gromacs-ls-2016.3.orig/src/gromacs/mdlib/minimize.cpp 2019-12-28 15:42:28.000000000 +0100 ++++ gromacs-ls-2016.3/src/gromacs/mdlib/minimize.cpp 2024-11-07 10:55:06.668206192 +0100 +@@ -54,6 +54,7 @@ + + #include + #include ++#include + + #include "gromacs/commandline/filenm.h" + #include "gromacs/domdec/domdec.h" +diff -ru gromacs-ls-2016.3.orig/src/programs/mdrun/runner.cpp gromacs-ls-2016.3/src/programs/mdrun/runner.cpp +--- gromacs-ls-2016.3.orig/src/programs/mdrun/runner.cpp 2019-12-28 15:42:30.000000000 +0100 ++++ gromacs-ls-2016.3/src/programs/mdrun/runner.cpp 2024-11-07 10:33:22.588969615 +0100 +@@ -175,7 +175,7 @@ + int localsspatialatom; + int localsdispcor; + int localspbc; +- real localsmindihang; ++ real localsmindihangle; + unsigned long Flags; + }; + 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-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-PLUMED-2.9.2.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.3-foss-2023b-PLUMED-2.9.2.eb new file mode 100644 index 00000000000..9743e8a09a2 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.3-foss-2023b-PLUMED-2.9.2.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 = '2024.3' +_plumedver = '2.9.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 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-2023.3_skip_test_for_plumed.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'}, + {'GROMACS-2023.3_skip_test_for_plumed.patch': '6c541ee74f71f6a63950134d9d0e3afb176a2e25e76e017b4d1986a59163c083'}, +] + +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'), + ('PLUMED', _plumedver), +] + +# PLUMED 2.9.2 is compatible with GROMACS 2024.2; 2024.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" && ', + 'checksums': ['c746c6498c73a75913d7fcb01c13cc001d4bcb82999e9bf91d63578565ed1a1f'], + }), +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', +} + +moduleclass = 'bio' 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/GROMACS/GROMACS-2024.4-foss-2023b-CUDA-12.4.0.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.4-foss-2023b-CUDA-12.4.0.eb new file mode 100644 index 00000000000..d93065bbed6 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.4-foss-2023b-CUDA-12.4.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 = '2024.4' +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': '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.4.tar.gz': 'ac618ece2e58afa86b536c5a2c4fcb937f0760318f12d18f10346b6bdebd86a8'}, + {'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 = [ + ('CUDA', '12.4.0', '', SYSTEM), + ('UCX-CUDA', '1.15.0', versionsuffix), + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), + ('networkx', '3.2.1'), + ('mpi4py', '3.1.5'), +] + +# be a bit more forgiving w.r.t. timeouts for GROMACS test suite, +# see also https://gitlab.com/gromacs/gromacs/-/issues/5062 +configopts = "-DGMX_TEST_TIMEOUT_FACTOR=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.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/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/GSL/GSL-2.8-GCC-13.3.0.eb b/easybuild/easyconfigs/g/GSL/GSL-2.8-GCC-13.3.0.eb new file mode 100644 index 00000000000..251304ed936 --- /dev/null +++ b/easybuild/easyconfigs/g/GSL/GSL-2.8-GCC-13.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'GSL' +version = '2.8' + +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.3.0'} +toolchainopts = {'unroll': True, 'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['6a99eeed15632c6354895b1dd542ed5a855c0f15d9ad1326c6fe2b2c9e423190'] + +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-base/GST-plugins-base-1.24.8-GCC-13.3.0.eb b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.24.8-GCC-13.3.0.eb new file mode 100644 index 00000000000..13311a9a434 --- /dev/null +++ b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.24.8-GCC-13.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'MesonNinja' + +name = 'GST-plugins-base' +version = '1.24.8' + +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': '13.3.0'} + +source_urls = ['https://gstreamer.freedesktop.org/src/gst-plugins-base'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['10fb31743750ccd498d3933e8aaecda563ebc65596a6ab875b47ee936e4b9599'] + +builddependencies = [ + ('Meson', '1.4.0'), + ('Ninja', '1.12.1'), + ('GObject-Introspection', '1.80.1'), + ('gettext', '0.22.5'), + ('pkgconf', '2.2.0'), + ('Bison', '3.8.2'), +] + +dependencies = [ + ('zlib', '1.3.1'), + ('GLib', '2.80.4'), + ('GStreamer', '1.24.8'), + ('Gdk-Pixbuf', '2.42.11'), + ('X11', '20240607'), + ('Mesa', '24.1.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/GStreamer/GStreamer-1.24.8-GCC-13.3.0.eb b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.24.8-GCC-13.3.0.eb new file mode 100644 index 00000000000..5c3ef3f7b45 --- /dev/null +++ b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.24.8-GCC-13.3.0.eb @@ -0,0 +1,47 @@ +easyblock = 'MesonNinja' + +name = 'GStreamer' +version = '1.24.8' + +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': '13.3.0'} + +source_urls = ['https://%(namelower)s.freedesktop.org/src/%(namelower)s'] +sources = [SOURCELOWER_TAR_XZ] +patches = ['%(name)s-1.24_fix_bad_suid.patch'] +checksums = ['b807dbf36c5d2b3ce1c604133ed0c737350f9523ce4d8d644a1177c5f9d6ded3', # gstreamer-1.24.8.tar.xz + 'e40c8b195cc9d44f2d9b92e57608e097ef8dac6fa761c5610fcb836f88610cb1', # %(name)s-1.24_fix_bad_suid.patch + ] + +builddependencies = [ + ('Meson', '1.4.0'), + ('Ninja', '1.12.1'), + ('Perl', '5.38.2'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('GObject-Introspection', '1.80.1'), + ('gettext', '0.22.5'), + ('pkgconf', '2.2.0'), +] +dependencies = [ + ('Python', '3.12.3'), + ('zlib', '1.3.1'), + ('GMP', '6.3.0'), + ('GSL', '2.8'), + ('GLib', '2.80.4'), + ('libunwind', '1.8.1'), + ('elfutils', '0.191'), +] + + +sanity_check_paths = { + 'files': [], + 'dirs': ['include', 'share', 'libexec'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.24_fix_bad_suid.patch b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.24_fix_bad_suid.patch new file mode 100644 index 00000000000..c7497079889 --- /dev/null +++ b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.24_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 +Stefan Wolfsheimer, upated to version 1.24.8 + +--- gstreamer-1.24.8.orig/libs/gst/helpers/ptp/ptp_helper_post_install.sh 2024-09-19 12:01:21.000000000 +0200 ++++ gstreamer-1.24.8/libs/gst/helpers/ptp/ptp_helper_post_install.sh 2024-10-22 17:43:55.971711002 +0200 +@@ -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_sys_nice,cap_net_bind_service,cap_net_admin+ep $ptp_helper" +- $setcap cap_sys_nice,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/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..a8f48c5966b --- /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), + ('skani', '0.2.2'), + ('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 6b3ef66990e..b4bf155e5eb 100644 --- a/easybuild/easyconfigs/g/GTK+/GTK+-3.24.13-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/g/GTK+/GTK+-3.24.13-GCCcore-8.3.0.eb @@ -44,7 +44,7 @@ components = [ (name, version, { 'source_urls': [FTPGNOME_SOURCE], 'checksums': ['4c775c38cf1e3c534ef0ca52ca6c7a890fe169981af66141c713e054e68930a9'], - 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes --disable-visibility ", + 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes", }), ('hicolor-icon-theme', '0.17', { 'source_urls': ['https://icon-theme.freedesktop.org/releases/'], diff --git a/easybuild/easyconfigs/g/GTK+/GTK+-3.24.17-GCCcore-9.3.0.eb b/easybuild/easyconfigs/g/GTK+/GTK+-3.24.17-GCCcore-9.3.0.eb index 9397344d1d9..0358455beba 100644 --- a/easybuild/easyconfigs/g/GTK+/GTK+-3.24.17-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/g/GTK+/GTK+-3.24.17-GCCcore-9.3.0.eb @@ -44,7 +44,7 @@ components = [ (name, version, { 'source_urls': [FTPGNOME_SOURCE], 'checksums': ['f210255b221cb0f0db3e7b21399983b715c9dda6eb1e5c2f7fdf38f4f1b6bac0'], - 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes --disable-visibility ", + 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes", }), ('hicolor-icon-theme', '0.17', { 'source_urls': ['https://icon-theme.freedesktop.org/releases/'], diff --git a/easybuild/easyconfigs/g/GTK+/GTK+-3.24.23-GCCcore-10.2.0.eb b/easybuild/easyconfigs/g/GTK+/GTK+-3.24.23-GCCcore-10.2.0.eb index 9eaad73eab7..627eb4f9fe9 100644 --- a/easybuild/easyconfigs/g/GTK+/GTK+-3.24.23-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/g/GTK+/GTK+-3.24.23-GCCcore-10.2.0.eb @@ -44,7 +44,7 @@ components = [ (name, version, { 'source_urls': [FTPGNOME_SOURCE], 'checksums': ['5d864d248357a2251545b3387b35942de5f66e4c66013f0962eb5cb6f8dae2b1'], - 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes --disable-visibility ", + 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes", }), ('hicolor-icon-theme', '0.17', { 'source_urls': ['https://icon-theme.freedesktop.org/releases/'], diff --git a/easybuild/easyconfigs/g/GTK+/GTK+-3.24.8-GCCcore-8.2.0.eb b/easybuild/easyconfigs/g/GTK+/GTK+-3.24.8-GCCcore-8.2.0.eb index a5c540dc54c..c001cac630a 100644 --- a/easybuild/easyconfigs/g/GTK+/GTK+-3.24.8-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/g/GTK+/GTK+-3.24.8-GCCcore-8.2.0.eb @@ -33,7 +33,7 @@ dependencies = [ ('FriBidi', '1.0.5'), ] -configopts = "--disable-silent-rules --disable-glibtest --enable-introspection=yes --disable-visibility " +configopts = "--disable-silent-rules --disable-glibtest --enable-introspection=yes" sanity_check_paths = { 'files': ['bin/gtk-update-icon-cache', 'lib/libgtk-%%(version_major)s.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/g/GTK3/GTK3-3.24.29-GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.29-GCCcore-10.3.0.eb index 646bff77c6a..764e62264ce 100644 --- a/easybuild/easyconfigs/g/GTK3/GTK3-3.24.29-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.29-GCCcore-10.3.0.eb @@ -44,7 +44,7 @@ components = [ ('GTK+', version, { 'source_urls': [FTPGNOME_SOURCE], 'checksums': ['f57ec4ade8f15cab0c23a80dcaee85b876e70a8823d9105f067ce335a8268caa'], - 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes --disable-visibility ", + 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes", }), ('hicolor-icon-theme', '0.17', { 'source_urls': ['https://icon-theme.freedesktop.org/releases/'], diff --git a/easybuild/easyconfigs/g/GTK3/GTK3-3.24.31-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.31-GCCcore-11.2.0.eb index f4bdb729cdb..3e7711b6758 100644 --- a/easybuild/easyconfigs/g/GTK3/GTK3-3.24.31-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.31-GCCcore-11.2.0.eb @@ -42,7 +42,7 @@ default_component_specs = { components = [ ('GTK+', version, { 'source_urls': [FTPGNOME_SOURCE], - 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes --disable-visibility ", + 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes", 'checksums': ['423c3e7fdb4c459ee889e35fd4d71fd2623562541c1041b11c07e5ad1ff10bf9'], }), ('hicolor-icon-theme', '0.17', { diff --git a/easybuild/easyconfigs/g/GTK3/GTK3-3.24.33-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.33-GCCcore-11.3.0.eb index ec127c882ec..46df16bd25a 100644 --- a/easybuild/easyconfigs/g/GTK3/GTK3-3.24.33-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.33-GCCcore-11.3.0.eb @@ -42,7 +42,7 @@ default_component_specs = { components = [ ('GTK+', version, { 'source_urls': [FTPGNOME_SOURCE], - 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes --disable-visibility ", + 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes", 'checksums': ['588b06522e25d1579e989b6f9d8a1bdbf2fe13cde01a04e904ff346a225e7801'], }), ('hicolor-icon-theme', '0.17', { diff --git a/easybuild/easyconfigs/g/GTK3/GTK3-3.24.35-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.35-GCCcore-12.2.0.eb index f00f26786b0..09011131966 100644 --- a/easybuild/easyconfigs/g/GTK3/GTK3-3.24.35-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.35-GCCcore-12.2.0.eb @@ -45,7 +45,7 @@ components = [ 'checksums': ['ec10fe6d712ef0b3c63b5f932639c9d1ae99fce94f500f6f06965629fef60bd1'], # fix packaging issue, see https://gitlab.gnome.org/GNOME/gtk/-/issues/5355 'preconfigopts': "mv testsuite/gtk/gtkresources.c gtk/ && ", - 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes --disable-visibility ", + 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes", }), ('hicolor-icon-theme', '0.17', { 'source_urls': ['https://icon-theme.freedesktop.org/releases/'], diff --git a/easybuild/easyconfigs/g/GTK3/GTK3-3.24.42-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.42-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..2df9a346d4a --- /dev/null +++ b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.42-GCCcore-13.3.0.eb @@ -0,0 +1,72 @@ +easyblock = 'Bundle' + +name = 'GTK3' +version = '3.24.42' + +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.3.0'} + +builddependencies = [ + ('binutils', '2.42'), + ('Autotools', '20231222'), + ('Meson', '1.4.0'), + ('Ninja', '1.12.1'), + ('pkgconf', '2.2.0'), + ('GObject-Introspection', '1.80.1'), +] + +dependencies = [ + ('ATK', '2.38.0'), + ('at-spi2-atk', '2.38.0'), + ('cairo', '1.18.0'), + ('Gdk-Pixbuf', '2.42.11'), + ('GLib', '2.80.4'), + ('Pango', '1.54.0'), + ('libepoxy', '1.5.10'), + ('X11', '20240607'), + ('FriBidi', '1.0.15'), + ('Wayland', '1.23.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': ['50f89f615092d4dd01bbd759719f8bd380e5f149f6fd78a94725e2de112377e2'], + }), + ('hicolor-icon-theme', '0.18', { + 'easyblock': 'MesonNinja', + 'source_urls': ['https://icon-theme.freedesktop.org/releases/'], + 'checksums': ['db0e50a80aa3bf64bb45cbca5cf9f75efd9348cf2ac690b907435238c3cf81d7'], + }), + ('adwaita-icon-theme', '47.0', { + 'source_urls': ['https://ftp.gnome.org/pub/GNOME/sources/%(namelower)s/%(version_major)s'], + 'checksums': ['ad088a22958cb8469e41d9f1bba0efb27e586a2102213cd89cc26db2e002bdfe'], + }), +] + +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/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 index 1a801d89090..212a640042c 100644 --- 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 @@ -26,9 +26,14 @@ dependencies = [ ('PAGAN2', '1.53_20230824', '-linux64', SYSTEM), ] +files_to_copy = ['programs', 'www'] + _bins = ['isEqualTree', 'msa_set_score', 'removeTaxa', 'semphy'] -files_to_copy = [(['programs/%s/%s' % (x, x) for x in _bins], 'bin'), 'www'] +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], 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.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/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-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/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/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/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/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/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/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/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-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-12.3.0.eb b/easybuild/easyconfigs/g/GlimmerHMM/GlimmerHMM-3.0.4c-GCC-12.3.0.eb new file mode 100644 index 00000000000..ad435033f81 --- /dev/null +++ b/easybuild/easyconfigs/g/GlimmerHMM/GlimmerHMM-3.0.4c-GCC-12.3.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': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://ccb.jhu.edu/software/%(namelower)s/dl'] +sources = [SOURCE_TAR_GZ] +checksums = ['31ee2ceb8f31338205b2de626d83d0f92d2cd55a04d48a6803193a2d0ad1b4a3'] + +dependencies = [ + ('Perl', '5.36.1'), +] + +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 index 7959aad80fa..e4e9eeba6c6 100644 --- a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8-intel-2021a.eb +++ b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8-intel-2021a.eb @@ -14,8 +14,8 @@ sources = ['v%(version)s/ga-%(version)s.tar.gz'] checksums = ['64df7d1ea4053d24d84ca361e67a6f51c7b17ed7d626cb18a9fbc759f4a078ac'] configopts = ' --with-mpi --enable-i8' -configopts += ' --with-blas8="-L$MLROOT/lib/intel64 -lmkl_sequential -lmkl_intel_ilp64"' -configopts += ' --with-scalapack8="L$MKLROOT/lib/intel64 -lmkl_scalapack_ilp64 -lmkl_intel_ilp64 ' +configopts += ' --with-blas8="-L$MKLROOT/lib/intel64 -lmkl_sequential -lmkl_intel_ilp64"' +configopts += ' --with-scalapack="-L$MKLROOT/lib/intel64 -lmkl_scalapack_ilp64 -lmkl_intel_ilp64 ' configopts += '-lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_ilp64 -lpthread -lm -ldl"' # select armci network as (Comex) MPI-1 two-sided diff --git a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.1-intel-2022a.eb b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.1-intel-2022a.eb index f2b34303ae9..5015406bc10 100644 --- a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.1-intel-2022a.eb +++ b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.1-intel-2022a.eb @@ -14,8 +14,8 @@ sources = ['v%(version)s/ga-%(version)s.tar.gz'] checksums = ['844639b52444f839854cf9735203a76a9052fd485f2d4eae70d21d03a7ecaade'] configopts = ' --with-mpi --enable-i8' -configopts += ' --with-blas8="-L$MLROOT/lib/intel64 -lmkl_sequential -lmkl_intel_ilp64"' -configopts += ' --with-scalapack8="L$MKLROOT/lib/intel64 -lmkl_scalapack_ilp64 -lmkl_intel_ilp64 ' +configopts += ' --with-blas8="-L$MKLROOT/lib/intel64 -lmkl_sequential -lmkl_intel_ilp64"' +configopts += ' --with-scalapack="-L$MKLROOT/lib/intel64 -lmkl_scalapack_ilp64 -lmkl_intel_ilp64 ' configopts += '-lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_ilp64 -lpthread -lm -ldl"' # select armci network as (Comex) MPI-1 two-sided diff --git a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.2-intel-2022a.eb b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.2-intel-2022a.eb index 435986d2ef9..9c3e9f7dbf8 100644 --- a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.2-intel-2022a.eb +++ b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.2-intel-2022a.eb @@ -14,8 +14,8 @@ sources = ['v%(version)s/ga-%(version)s.tar.gz'] checksums = ['51599e4abfe36f05cecfaffa33be19efbe9e9fa42d035fd3f866469b663c22a2'] configopts = ' --with-mpi --enable-i8' -configopts += ' --with-blas8="-L$MLROOT/lib/intel64 -lmkl_sequential -lmkl_intel_ilp64"' -configopts += ' --with-scalapack8="L$MKLROOT/lib/intel64 -lmkl_scalapack_ilp64 -lmkl_intel_ilp64 ' +configopts += ' --with-blas8="-L$MKLROOT/lib/intel64 -lmkl_sequential -lmkl_intel_ilp64"' +configopts += ' --with-scalapack="-L$MKLROOT/lib/intel64 -lmkl_scalapack_ilp64 -lmkl_intel_ilp64 ' configopts += '-lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_ilp64 -lpthread -lm -ldl"' # select armci network as (Comex) MPI-1 two-sided diff --git a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.2-intel-2023a.eb b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.2-intel-2023a.eb index 04f7174a29a..f3e14181a88 100644 --- a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.2-intel-2023a.eb +++ b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.2-intel-2023a.eb @@ -14,8 +14,8 @@ sources = ['v%(version)s/ga-%(version)s.tar.gz'] checksums = ['51599e4abfe36f05cecfaffa33be19efbe9e9fa42d035fd3f866469b663c22a2'] configopts = ' --with-mpi --enable-i8' -configopts += ' --with-blas8="-L$MLROOT/lib/intel64 -lmkl_sequential -lmkl_intel_ilp64"' -configopts += ' --with-scalapack8="L$MKLROOT/lib/intel64 -lmkl_scalapack_ilp64 -lmkl_intel_ilp64 ' +configopts += ' --with-blas8="-L$MKLROOT/lib/intel64 -lmkl_sequential -lmkl_intel_ilp64"' +configopts += ' --with-scalapack="-L$MKLROOT/lib/intel64 -lmkl_scalapack_ilp64 -lmkl_intel_ilp64 ' configopts += '-lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_ilp64 -lpthread -lm -ldl"' # select armci network as (Comex) MPI-1 two-sided diff --git a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.2-intel-2024a.eb b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.2-intel-2024a.eb new file mode 100644 index 00000000000..40829149482 --- /dev/null +++ b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.2-intel-2024a.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': '2024a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/%(name)s/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/GnuTLS/GnuTLS-3.7.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.2-GCCcore-10.3.0.eb index fad3ae66a6f..4ace65def06 100644 --- a/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.2-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.2-GCCcore-10.3.0.eb @@ -17,14 +17,17 @@ source_urls = ['https://www.gnupg.org/ftp/gcrypt/gnutls/v%(version_major_minor)s sources = [SOURCELOWER_TAR_XZ] checksums = ['646e6c5a9a185faa4cea796d378a1ba8e1148dbb197ca6605f95986a25af2752'] -builddependencies = [('binutils', '2.36.1')] +builddependencies = [ + ('binutils', '2.36.1'), + ('pkgconf', '1.8.0'), +] dependencies = [ ('GMP', '6.2.1'), ('nettle', '3.7.2'), ('Guile', '2.2.7'), ('libtasn1', '4.17.0'), - ('libidn', '1.36'), + ('libidn2', '2.3.0'), ('p11-kit', '0.24.0'), ('zlib', '1.2.11'), ('zstd', '1.4.9'), @@ -32,7 +35,8 @@ dependencies = [ configopts = "--with-guile-site-dir=%(installdir)s/lib/guile --enable-openssl-compatibility " configopts += "--with-guile-site-ccache-dir=%(installdir)s/lib/guile/site-ccache " -configopts += "--with-guile-extension-dir=%(installdir)s/lib/guile/extensions" +configopts += "--with-guile-extension-dir=%(installdir)s/lib/guile/extensions " +configopts += "--with-idn --with-p11-kit --without-tpm" sanity_check_paths = { 'files': ['bin/%s' % x for x in ['certtool', 'gnutls-cli', 'gnutls-cli-debug', diff --git a/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.3-GCCcore-11.2.0.eb index ea03e7cd2dc..bd61ab588dd 100644 --- a/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.3-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.3-GCCcore-11.2.0.eb @@ -17,14 +17,17 @@ source_urls = ['https://www.gnupg.org/ftp/gcrypt/gnutls/v%(version_major_minor)s sources = [SOURCELOWER_TAR_XZ] checksums = ['fc59c43bc31ab20a6977ff083029277a31935b8355ce387b634fa433f8f6c49a'] -builddependencies = [('binutils', '2.37')] +builddependencies = [ + ('binutils', '2.37'), + ('pkgconf', '1.8.0'), +] dependencies = [ ('GMP', '6.2.1'), ('nettle', '3.7.3'), ('Guile', '3.0.7'), ('libtasn1', '4.18.0'), - ('libidn', '1.38'), + ('libidn2', '2.3.2'), ('p11-kit', '0.24.1'), ('zlib', '1.2.11'), ('zstd', '1.5.0'), @@ -32,7 +35,8 @@ dependencies = [ configopts = "--with-guile-site-dir=%(installdir)s/lib/guile --enable-openssl-compatibility " configopts += "--with-guile-site-ccache-dir=%(installdir)s/lib/guile/site-ccache " -configopts += "--with-guile-extension-dir=%(installdir)s/lib/guile/extensions" +configopts += "--with-guile-extension-dir=%(installdir)s/lib/guile/extensions " +configopts += "--with-idn --with-p11-kit --without-tpm --without-tpm2" sanity_check_paths = { 'files': ['bin/%s' % x for x in ['certtool', 'gnutls-cli', 'gnutls-cli-debug', diff --git a/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.8-GCCcore-11.3.0.eb index 8660253cc57..259078c2228 100644 --- a/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.8-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.8-GCCcore-11.3.0.eb @@ -17,14 +17,17 @@ source_urls = ['https://www.gnupg.org/ftp/gcrypt/gnutls/v%(version_major_minor)s sources = [SOURCELOWER_TAR_XZ] checksums = ['c58ad39af0670efe6a8aee5e3a8b2331a1200418b64b7c51977fb396d4617114'] -builddependencies = [('binutils', '2.38')] +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] dependencies = [ ('GMP', '6.2.1'), ('nettle', '3.8'), ('Guile', '3.0.8'), ('libtasn1', '4.19.0'), - ('libidn', '1.41'), + ('libidn2', '2.3.2'), ('p11-kit', '0.24.1'), ('zlib', '1.2.12'), ('zstd', '1.5.2'), @@ -32,7 +35,8 @@ dependencies = [ configopts = "--with-guile-site-dir=%(installdir)s/lib/guile --enable-openssl-compatibility " configopts += "--with-guile-site-ccache-dir=%(installdir)s/lib/guile/site-ccache " -configopts += "--with-guile-extension-dir=%(installdir)s/lib/guile/extensions" +configopts += "--with-guile-extension-dir=%(installdir)s/lib/guile/extensions " +configopts += "--with-idn --with-p11-kit --with-zlib --with-zstd --without-brotli --without-tpm --without-tpm2" sanity_check_paths = { 'files': ['bin/%s' % x for x in ['certtool', 'gnutls-cli', 'gnutls-cli-debug', diff --git a/easybuild/easyconfigs/g/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.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/Gradio/Gradio-4.19.0-gfbf-2023a.eb b/easybuild/easyconfigs/g/Gradio/Gradio-4.19.0-gfbf-2023a.eb new file mode 100644 index 00000000000..3f949981b52 --- /dev/null +++ b/easybuild/easyconfigs/g/Gradio/Gradio-4.19.0-gfbf-2023a.eb @@ -0,0 +1,119 @@ +easyblock = 'PythonBundle' + +name = 'Gradio' +version = '4.19.0' + +homepage = "https://www.gradio.app" +description = """ +Gradio is an open-source Python package that allows you to quickly build a demo or web +application for your machine learning model, API, or any arbitrary Python function. +""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +builddependencies = [ + ('binutils', '2.40'), + ('Rust', '1.75.0'), + ('maturin', '1.4.0', '-Rust-1.75.0'), + ('hatchling', '1.18.0'), + ('poetry', '1.5.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('PyYAML', '6.0'), + ('pydantic', '2.5.3'), + ('matplotlib', '3.7.2'), + ('Pillow', '10.0.0'), + ('tqdm', '4.66.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('aiofiles', '23.2.1', { + 'checksums': ['84ec2218d8419404abcb9f0c02df3f34c6e0a68ed41072acfb1cef5cbc29051a'], + }), + ('toolz', '0.12.1', { + 'checksums': ['ecca342664893f177a13dac0e6b41cbd8ac25a358e5f215316d43e2100224f4d'], + }), + ('altair', '5.2.0', { + 'checksums': ['2ad7f0c8010ebbc46319cc30febfb8e59ccf84969a201541c207bc3a4fa6cf81'], + }), + ('starlette', '0.36.3', { + 'checksums': ['90a671733cfb35771d8cc605e0b679d23b992f8dcfad48cc60b38cb29aeb7080'], + }), + ('typing-extensions', '4.8.0', { + 'source_tmpl': 'typing_extensions-%(version)s.tar.gz', + 'checksums': ['df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef'], + }), + ('fastapi', '0.109.2', { + 'checksums': ['f3817eac96fe4f65a2ebb4baa000f394e55f5fccdaf7f75250804bc58f354f73'], + }), + ('ffmpy', '0.3.2', { + 'checksums': ['475ebfff1044661b8d969349dbcd2db9bf56d3ee78c0627e324769b49a27a78f'], + }), + ('websockets', '11.0.3', { + 'checksums': ['88fc51d9a26b10fc331be344f1781224a375b78488fc343620184e95a4b27016'], + }), + ('gradio-client', '0.10.0', { + 'source_tmpl': 'gradio_client-%(version)s.tar.gz', + 'checksums': ['feaee70f18363d76f81a7d25fc3456f40ed5f92417e642c8f1bf86dc65e3a981'], + }), + ('huggingface-hub', '0.20.3', { + 'source_tmpl': 'huggingface_hub-%(version)s.tar.gz', + 'checksums': ['94e7f8e074475fbc67d6a71957b678e1b4a74ff1b64a644fd6cbb83da962d05d'], + }), + ('orjson', '3.9.14', { + 'checksums': ['06fb40f8e49088ecaa02f1162581d39e2cf3fd9dbbfe411eb2284147c99bad79'], + }), + ('pydub', '0.25.1', { + 'checksums': ['980a33ce9949cab2a569606b65674d748ecbca4f0796887fd6f46173a7b0d30f'], + }), + ('python-multipart', '0.0.9', { + 'modulename': 'multipart', + 'source_tmpl': 'python_multipart-%(version)s.tar.gz', + 'checksums': ['03f54688c663f1b7977105f021043b0793151e4cb1c1a9d4a11fc13d622c4026'], + }), + ('ruff', '0.2.1', { + 'checksums': ['3b42b5d8677cd0c72b99fcaf068ffc62abb5a19e71b4a3b9cfa50658a0af02f1'], + }), + ('typer', '0.9.0', { + 'checksums': ['50922fd79aea2f4751a8e0408ff10d2662bd0c8bbfa84755a699f3bada2978b2'], + }), + ('h11', '0.14.0', { + 'checksums': ['8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d'], + }), + ('uvicorn', '0.27.1', { + 'checksums': ['3d9a267296243532db80c83a959a3400502165ade2c1338dea4e67915fd4745a'], + }), + ('anyio', '4.2.0', { + 'checksums': ['e1875bb4b4e2de1669f4bc7869b6d3f54231cdced71605e6e64c9be77e3be50f'], + }), + ('httpcore', '1.0.3', { + 'checksums': ['5c0f9546ad17dac4d0772b0808856eb616eb8b48ce94f49ed819fd6982a8a544'], + }), + ('sniffio', '1.3.0', { + 'checksums': ['e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101'], + }), + ('httpx', '0.26.0', { + 'checksums': ['451b55c30d5185ea6b23c2c793abf9bb237d2a7dfb901ced6ff69ad37ec1dfaf'], + }), + ('importlib-resources', '6.1.1', { + 'source_tmpl': 'importlib_resources-%(version)s.tar.gz', + 'checksums': ['3893a00122eafde6894c59914446a512f728a0c1a45f9bb9b63721b6bacf0b4a'], + }), + ('Jinja2', '3.1.3', { + 'checksums': ['ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90'], + }), + ('tomlkit', '0.12.0', { + 'checksums': ['01f0477981119c7d8ee0f67ebe0297a7c95b14cf9f4b102b45486deb77018716'], + }), + ('gradio', version, { + 'checksums': ['e77e3ce8a4113865abd1dcf92cc9426d9da4896e0a6fd2824a0c90ec751dd442'], + }), +] + +moduleclass = 'ai' 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/Graphene/Graphene-1.10.8-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/Graphene/Graphene-1.10.8-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..d2ff38adec0 --- /dev/null +++ b/easybuild/easyconfigs/g/Graphene/Graphene-1.10.8-GCCcore-13.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': '13.3.0'} + +github_account = 'ebassi' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['922dc109d2dc5dc56617a29bd716c79dd84db31721a8493a13a5f79109a4a4ed'] + +builddependencies = [ + ('Meson', '1.4.0'), + ('Ninja', '1.12.1'), + ('pkgconf', '2.2.0'), + ('GObject-Introspection', '1.80.1'), + ('binutils', '2.42'), +] +dependencies = [('GLib', '2.80.4')] + +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.45-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/GraphicsMagick/GraphicsMagick-1.3.45-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..63340e41506 --- /dev/null +++ b/easybuild/easyconfigs/g/GraphicsMagick/GraphicsMagick-1.3.45-GCCcore-13.3.0.eb @@ -0,0 +1,51 @@ +easyblock = 'ConfigureMake' + +name = 'GraphicsMagick' +version = '1.3.45' + +homepage = 'http://www.graphicsmagick.org/' +description = """GraphicsMagick is the swiss army knife of image processing.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = [ + SOURCEFORGE_SOURCE, + 'ftp://ftp.graphicsmagick.org/pub/GraphicsMagick/%(version_major_minor)s/', +] +sources = [SOURCE_TAR_XZ] +patches = [ + 'GraphicsMagick_pkgconfig_libtiff.patch' +] +checksums = [ + {'GraphicsMagick-1.3.45.tar.xz': 'dcea5167414f7c805557de2d7a47a9b3147bcbf617b91f5f0f4afe5e6543026b'}, + {'GraphicsMagick_pkgconfig_libtiff.patch': '25b4c5361f30e23c809a078ac4b26e670d2b8341496323480037e2095d969294'}, +] + +builddependencies = [ + ('binutils', '2.42'), + ('Autotools', '20231222'), +] + +dependencies = [ + ('X11', '20240607'), + ('bzip2', '1.0.8'), + ('freetype', '2.13.2'), + ('libpng', '1.6.43'), + ('libjpeg-turbo', '3.0.1'), + ('LibTIFF', '4.6.0'), + ('libxml2', '2.12.7'), + ('XZ', '5.4.5'), + ('zlib', '1.3.1'), + ('Ghostscript', '10.03.1'), +] + +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/Greenlet/Greenlet-2.0.2-foss-2022a.eb b/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-GCCcore-11.3.0.eb similarity index 90% rename from easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-foss-2022a.eb rename to easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-GCCcore-11.3.0.eb index 580d4e0bffd..83d43fa2522 100644 --- a/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-foss-2022a.eb +++ b/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-GCCcore-11.3.0.eb @@ -12,8 +12,9 @@ A "greenlet", on the other hand, is a still more primitive notion of micro-threa scheduling; coroutines, in other words. This is useful when you want to control exactly when your code runs. """ -toolchain = {'name': 'foss', 'version': '2022a'} +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +builddependencies = [('binutils', '2.38')] dependencies = [('Python', '3.10.4')] use_pip = True diff --git a/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-foss-2022b.eb b/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-GCCcore-12.2.0.eb similarity index 90% rename from easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-foss-2022b.eb rename to easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-GCCcore-12.2.0.eb index 41e17923eb3..5c3a5d69c9d 100644 --- a/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-foss-2022b.eb +++ b/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-GCCcore-12.2.0.eb @@ -12,8 +12,9 @@ A "greenlet", on the other hand, is a still more primitive notion of micro-threa scheduling; coroutines, in other words. This is useful when you want to control exactly when your code runs. """ -toolchain = {'name': 'foss', 'version': '2022b'} +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +builddependencies = [('binutils', '2.39')] dependencies = [('Python', '3.10.8')] use_pip = True diff --git a/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-foss-2023a.eb b/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-GCCcore-12.3.0.eb similarity index 90% rename from easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-foss-2023a.eb rename to easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-GCCcore-12.3.0.eb index 29d04a9e7b5..f65f36ac930 100644 --- a/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-foss-2023a.eb +++ b/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-GCCcore-12.3.0.eb @@ -12,8 +12,9 @@ A "greenlet", on the other hand, is a still more primitive notion of micro-threa scheduling; coroutines, in other words. This is useful when you want to control exactly when your code runs. """ -toolchain = {'name': 'foss', 'version': '2023a'} +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +builddependencies = [('binutils', '2.40')] dependencies = [('Python', '3.11.3')] use_pip = True 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/gubbins/gubbins-2.4.0.eb b/easybuild/easyconfigs/g/Gubbins/Gubbins-2.4.0.eb similarity index 98% rename from easybuild/easyconfigs/g/gubbins/gubbins-2.4.0.eb rename to easybuild/easyconfigs/g/Gubbins/Gubbins-2.4.0.eb index c209965f2eb..7b9bbd1be45 100644 --- a/easybuild/easyconfigs/g/gubbins/gubbins-2.4.0.eb +++ b/easybuild/easyconfigs/g/Gubbins/Gubbins-2.4.0.eb @@ -10,7 +10,7 @@ easyblock = 'Conda' -name = 'gubbins' +name = 'Gubbins' version = '2.4.0' homepage = 'https://sanger-pathogens.github.io/gubbins' 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..99c52d785fd --- /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 -s -c "import gubbins"', + 'PIP_DISABLE_PIP_VERSION_CHECK=true python -s -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/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/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/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/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.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.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/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-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 index 44cc04085ae..b74e4bba675 100644 --- 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 @@ -8,10 +8,11 @@ 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'), - ('poetry', '1.5.1'), ('protobuf-python', '4.24.0'), ] 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-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.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/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.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/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/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-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.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.2.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/gflags/gflags-2.2.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..042dd4fdbf0 --- /dev/null +++ b/easybuild/easyconfigs/g/gflags/gflags-2.2.2-GCCcore-12.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': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/gflags/gflags/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['34af2f15cf7367513b352bdcd2493ab14ce43692d2dcd9dfc499492966c64dcf'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.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/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-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-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/git-annex/git-annex-10.20230802-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/git-annex/git-annex-10.20230802-GCCcore-12.2.0.eb index e5c29a0e6bb..0e64dba099a 100644 --- a/easybuild/easyconfigs/g/git-annex/git-annex-10.20230802-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/g/git-annex/git-annex-10.20230802-GCCcore-12.2.0.eb @@ -10,11 +10,13 @@ power and distributed nature of git to bear on your large files with git-annex." toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +builddependencies = [('binutils', '2.39')] + dependencies = [ ('GHC', '9.2.2', '-x86_64', SYSTEM), - ('GCC', '12.2.0', '', SYSTEM), ('Stack', '2.11.1', '-x86_64', SYSTEM), ('git', '2.38.1', '-nodocs'), + ('libnsl', '2.0.0'), ] sources = [{ @@ -28,7 +30,7 @@ sources = [{ checksums = [None] -prebuildopts = "stack setup && stack build && " +prebuildopts = "export STACK_ROOT=$(mktemp -d) && stack setup && stack build && " buildopts = "install-bins BUILDER=stack PREFIX=%(builddir)s" files_to_copy = [ 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.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.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/glew/glew-2.2.0-GCCcore-12.2.0-egl.eb b/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-12.2.0-egl.eb new file mode 100644 index 00000000000..7babe095c23 --- /dev/null +++ b/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-12.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': '12.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.39')] + +dependencies = [ + ('Mesa', '22.2.4'), + ('X11', '20221110'), +] + +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/glog/glog-0.6.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/glog/glog-0.6.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..e3742d09ea3 --- /dev/null +++ b/easybuild/easyconfigs/g/glog/glog-0.6.0-GCCcore-12.2.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': '12.2.0'} +toolchainopts = {'cstd': 'c++11'} + +source_urls = ['https://github.com/google/glog/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8a83bf982f37bb70825df71a9709fa90ea9f4447fb3c099e1d720a439d88bad6'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +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.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.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/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-6.0.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/gnuplot/gnuplot-6.0.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..e27fc37776f --- /dev/null +++ b/easybuild/easyconfigs/g/gnuplot/gnuplot-6.0.1-GCCcore-13.3.0.eb @@ -0,0 +1,51 @@ +easyblock = 'ConfigureMake' + +name = 'gnuplot' +version = '6.0.1' + +homepage = 'http://gnuplot.sourceforge.net' +description = "Portable interactive, function plotting utility" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [('https://sourceforge.net/projects/%(name)s/files/%(name)s/%(version)s', 'download')] +sources = [SOURCE_TAR_GZ] +checksums = ['e85a660c1a2a1808ff24f7e69981ffcbac66a45c9dcf711b65610b26ea71379a'] + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), + ('Autotools', '20231222'), +] +dependencies = [ + ('ncurses', '6.5'), + ('cairo', '1.18.0'), + ('libjpeg-turbo', '3.0.1'), + ('libpng', '1.6.43'), + ('libgd', '2.3.3'), + ('Pango', '1.54.0'), + ('libcerf', '2.4'), + ('X11', '20240607'), + ('Qt6', '6.7.2'), + ('Lua', '5.4.7'), +] + +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" && ' + +# fix undefined reference to symbol 'libiconv_open' +preconfigopts += ' export LDFLAGS="-Wl,--copy-dt-needed-entries" && ' + +configopts = "--without-latex --disable-wxwidgets" + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +# make sure that pdf terminal type is available +sanity_check_commands = ["%(name)s -e 'set terminal pdf'"] + +moduleclass = 'vis' 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.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-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.16-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/gperftools/gperftools-2.16-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..1a31ffabd1b --- /dev/null +++ b/easybuild/easyconfigs/g/gperftools/gperftools-2.16-GCCcore-13.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'gperftools' +version = '2.16' + +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.3.0'} + +github_account = '%(name)s' +source_urls = [GITHUB_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['737be182b4e42f5c7f595da2a7aa59ce0489a73d336d0d16847f2aa52d5221b4'] + +builddependencies = [ + ('Autotools', '20231222'), + ('binutils', '2.42'), +] +dependencies = [ + ('libunwind', '1.8.1'), +] + +preconfigopts = "autoreconf -f -i && " +configopts = '--enable-libunwind' + +sanity_check_paths = { + 'files': ['bin/pprof', 'lib/libprofiler.a', 'lib/libprofiler.%s' % SHLIB_EXT, + 'lib/libtcmalloc.a', 'lib/libtcmalloc.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/graph-tool/graph-tool-2.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-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/groff/groff-1.23.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/groff/groff-1.23.0-GCCcore-13.2.0.eb index f280bc24144..dccb74c587a 100644 --- a/easybuild/easyconfigs/g/groff/groff-1.23.0-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/g/groff/groff-1.23.0-GCCcore-13.2.0.eb @@ -18,8 +18,6 @@ builddependencies = [ ('M4', '1.4.19'), ] -configopts = '--with-doc=no' - sanity_check_paths = { 'files': ['bin/groff', 'bin/nroff', 'bin/troff'], 'dirs': ['lib/groff', 'share'], diff --git a/easybuild/easyconfigs/g/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.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/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/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.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/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-EOS2/HDF-EOS2-3.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/h/HDF-EOS2/HDF-EOS2-3.0-GCCcore-11.3.0.eb index 6faf7065a64..58e32a5f2b2 100644 --- a/easybuild/easyconfigs/h/HDF-EOS2/HDF-EOS2-3.0-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/h/HDF-EOS2/HDF-EOS2-3.0-GCCcore-11.3.0.eb @@ -28,7 +28,9 @@ dependencies = [ preconfigopts = 'export CC="$EBROOTHDF/bin/h4cc -Df2cFortran" && ' -configopts = "--with-szlib=$EBROOTSZIP --enable-install-include" +# `--enable-install-include`` mentioned at https://hdfeos.org/software/hdfeos.php +# but not available, likely the default and the option removed. Recheck in next release! +configopts = "--with-szlib=$EBROOTSZIP " sanity_check_paths = { 'files': ['include/HdfEosDef.h', 'lib/libGctp.a', 'lib/libhdfeos.a'], diff --git a/easybuild/easyconfigs/h/HDF/HDF-4.2.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 index fc36bb04673..7acaaafc09d 100644 --- 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 @@ -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': '11.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-11.3.0.eb b/easybuild/easyconfigs/h/HDF/HDF-4.2.15-GCCcore-11.3.0.eb index 682e5e20b6c..4af8d274164 100644 --- 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 @@ -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': '11.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-12.2.0.eb b/easybuild/easyconfigs/h/HDF/HDF-4.2.15-GCCcore-12.2.0.eb index f0286cd30bd..abab2d962f5 100644 --- 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 @@ -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': '12.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-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 index 453ca292d42..175aaba4731 100644 --- 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 @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'HDF' version = '4.2.16-2' -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 storing and managing data between machines. @@ -12,7 +12,7 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '12.3.0'} toolchainopts = {'pic': True} -source_urls = ['http://www.hdfgroup.org/ftp/%(name)s/releases/%(name)s%(version)s/src/'] +source_urls = ['http://support.hdfgroup.org/ftp/%(name)s/releases/%(name)s%(version)s/src/'] sources = [SOURCELOWER_TAR_GZ] checksums = [ 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 index d24dbfac77e..fd9d8d3d4ea 100644 --- 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 @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'HDF' version = '4.2.16' -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': '12.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 = ['2bd48dcefb5ab4829fba27dca6fad20b842d495dfd64944b2412b2b0968bf167'] diff --git a/easybuild/easyconfigs/h/HDF/HDF-4.3.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/h/HDF/HDF-4.3.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..de3ac32380a --- /dev/null +++ b/easybuild/easyconfigs/h/HDF/HDF-4.3.0-GCCcore-13.3.0.eb @@ -0,0 +1,58 @@ +easyblock = 'ConfigureMake' + +name = 'HDF' +version = '4.3.0' + +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.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/HDFGroup/hdf4/archive/refs/tags/'] +sources = ['%(namelower)s%(version)s.tar.gz'] +checksums = ['a6639a556650e6ea8632a17b8188a69de844bdff54ce121a1fd5b92c8dd06cb1'] + +builddependencies = [ + ('binutils', '2.42'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('libjpeg-turbo', '3.0.1'), + ('Szip', '2.1.1'), + ('zlib', '1.3.1'), + ('libtirpc', '1.3.5'), +] + +preconfigopts = "LIBS='-ltirpc' " + +local_common_configopts = '--with-szlib=$EBROOTSZIP CFLAGS="$CFLAGS -I$EBROOTLIBTIRPC/include/tirpc" ' +local_common_configopts += '--includedir=%(installdir)s/include/%(namelower)s ' + +configopts = [ + local_common_configopts, + # Cannot build shared libraries and Fortran... + # https://trac.osgeo.org/gdal/wiki/HDF#IncompatibilitywithNetCDFLibraries + # netcdf must be disabled to allow HDF to be used by GDAL + local_common_configopts + "--enable-shared --disable-fortran --disable-netcdf", +] + + +sanity_check_paths = { + 'files': ['bin/h4cc', 'bin/ncdump', 'lib/libdf.a', 'lib/libhdf4.settings', 'lib/libmfhdf.a', 'lib/libmfhdf.so'], + 'dirs': ['include/%(namelower)s'], +} + +sanity_check_commands = [ + "h4cc --help", + "ncdump -V", +] + +modextrapaths = {'CPATH': 'include/%(namelower)s'} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.14.3-gompi-2023b.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.3-gompi-2023b.eb index f2aab3663a3..5cb05f4a4a1 100644 --- a/easybuild/easyconfigs/h/HDF5/HDF5-1.14.3-gompi-2023b.eb +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.3-gompi-2023b.eb @@ -12,7 +12,11 @@ toolchainopts = {'pic': True, 'usempi': True} source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['09cdb287aa7a89148c1638dd20891fdbae08102cf433ef128fd345338aa237c7'] +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' 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 index 77fa0c12ab9..e180d8619ee 100644 --- a/easybuild/easyconfigs/h/HDF5/HDF5-1.14.3-iimpi-2023b.eb +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.3-iimpi-2023b.eb @@ -12,7 +12,11 @@ toolchainopts = {'pic': True, 'usempi': True} source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['09cdb287aa7a89148c1638dd20891fdbae08102cf433ef128fd345338aa237c7'] +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' 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/HDF5/HDF5-1.14.5-gompi-2024a.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.5-gompi-2024a.eb new file mode 100644 index 00000000000..59171962924 --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.5-gompi-2024a.eb @@ -0,0 +1,27 @@ +name = 'HDF5' +# Note: Odd minor releases are only RCs and should not be used. +version = '1.14.5' + +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': '2024a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/HDFGroup/hdf5/archive'] +sources = ['hdf5_%(version)s.tar.gz'] +checksums = ['c83996dc79080a34e7b5244a1d5ea076abfd642ec12d7c25388e2fdd81d26350'] + +dependencies = [ + ('zlib', '1.3.1'), + ('Szip', '2.1.1'), +] + +postinstallcmds = [ + 'sed -i -r "s, -I[^[:space:]]+H5FDsubfiling , -I%(installdir)s/include ,g" %(installdir)s/bin/h5c++', + 'sed -i -r "s, -I[^[:space:]]+H5FDsubfiling , -I%(installdir)s/include ,g" %(installdir)s/bin/h5pcc', +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.14.5-iimpi-2024a.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.5-iimpi-2024a.eb new file mode 100644 index 00000000000..153463a2234 --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.5-iimpi-2024a.eb @@ -0,0 +1,26 @@ +name = 'HDF5' +# Note: Odd minor releases are only RCs and should not be used. +version = '1.14.5' + +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': '2024a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/HDFGroup/hdf5/archive'] +sources = ['hdf5_%(version)s.tar.gz'] +checksums = ['c83996dc79080a34e7b5244a1d5ea076abfd642ec12d7c25388e2fdd81d26350'] + +# 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.3.1'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' 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.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/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/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/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/HPDBSCAN/HPDBSCAN-20210826-foss-2020b.eb b/easybuild/easyconfigs/h/HPDBSCAN/HPDBSCAN-20210826-foss-2020b.eb index b96581acb3c..5a0f068b7d1 100644 --- a/easybuild/easyconfigs/h/HPDBSCAN/HPDBSCAN-20210826-foss-2020b.eb +++ b/easybuild/easyconfigs/h/HPDBSCAN/HPDBSCAN-20210826-foss-2020b.eb @@ -12,7 +12,11 @@ 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'}] -checksums = ['52ff343f77aeea5a425a911d88a57314c6bc877c18209eb53819d114421a868d'] +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'), 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.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-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/HPX/HPX-1.10.0-foss-2024a.eb b/easybuild/easyconfigs/h/HPX/HPX-1.10.0-foss-2024a.eb new file mode 100644 index 00000000000..110ca403b7c --- /dev/null +++ b/easybuild/easyconfigs/h/HPX/HPX-1.10.0-foss-2024a.eb @@ -0,0 +1,78 @@ +# # +# Author: Benjamin Czaja (benjamin.czaja@surf.nl) +# Institute: SURF(sara) +# +# # +easyblock = 'CMakeNinja' + +name = 'HPX' +version = '1.10.0' + +homepage = 'http://stellar-group.org/libraries/hpx/' +description = """HPX (High Performance ParalleX) is a general purpose C++ runtime system + for parallel and distributed applications of any scale.""" + +toolchain = {'name': 'foss', 'version': '2024a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/STEllAR-GROUP/%(namelower)s/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['5720ed7d2460fa0b57bd8cb74fa4f70593fe8675463897678160340526ec3c19'] + +builddependencies = [ + ('CMake', '3.29.3'), + ('Ninja', '1.12.1'), + ('pkgconf', '2.2.0'), +] +dependencies = [ + ('HDF5', '1.14.5'), + ('Boost', '1.85.0'), + ('hwloc', '2.10.0'), + ('gperftools', '2.16'), +] + +configopts = '-DCMAKE_CXX_COMPILER=g++ ' +configopts += '-DHPX_WITH_MALLOC=tcmalloc ' +configopts += '-DHPX_WITH_HWLOC=TRUE ' +configopts += '-DHPX_WITH_GOOGLE_PERFTOOLS=TRUE ' +configopts += '-DHPX_WITH_NETWORKING=TRUE ' +configopts += '-DHPX_WITH_PARCELPORT_TCP=FALSE ' +configopts += '-DHPX_WITH_PARCELPORT_MPI=TRUE ' +configopts += '-DHPX_WITH_TESTS=FALSE ' +configopts += '-DHPX_WITH_EXAMPLES=TRUE ' +# configopts += '-DHPX_WITH_MAX_CPU_COUNT=128' #this should be handled by a hook for the system +# configopts += '-DHPX_WITH_MAX_CPU_COUNT=' + os.cpu_count() +configopts += '-DHPX_WITH_FETCH_ASIO=TRUE ' + +bin_lib_subdirs = ['lib/%(namelower)s/'] + +local_lib_names = [ + 'libhpx_accumulator.%s' % SHLIB_EXT, + 'libhpx_cancelable_action.%s' % SHLIB_EXT, + 'libhpx_component_storage.%s' % SHLIB_EXT, + 'libhpx_core.%s' % SHLIB_EXT, + 'libhpx_iostreams.%s' % SHLIB_EXT, + 'libhpx_jacobi.%s' % SHLIB_EXT, + 'libhpx_nqueen.%s' % SHLIB_EXT, + 'libhpx_partitioned_vector.%s' % SHLIB_EXT, + 'libhpx_process.%s' % SHLIB_EXT, + 'libhpx_random_mem_access.%s' % SHLIB_EXT, + 'libhpx_simple_central_tuplespace.%s' % SHLIB_EXT, + 'libhpx.%s' % SHLIB_EXT, + 'libhpx_startup_shutdown.%s' % SHLIB_EXT, + 'libhpx_template_accumulator.%s' % SHLIB_EXT, + 'libhpx_template_function_accumulator.%s' % SHLIB_EXT, + 'libhpx_throttle.%s' % SHLIB_EXT, + 'libhpx_unordered.%s' % SHLIB_EXT, +] + +sanity_check_paths = { + 'files': ['lib/%s' % lib for lib in local_lib_names] + + ['include/asio.hpp', 'include/hpx/hpx.hpp'] + + ['bin/hpxcxx', 'bin/hpxrun.py'], + 'dirs': ['bin', 'lib'] + bin_lib_subdirs, +} + +modextrapaths = {'LD_LIBRARY_PATH': bin_lib_subdirs} + +moduleclass = 'math' 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.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/HTSlib/HTSlib-1.21-GCC-13.3.0.eb b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.21-GCC-13.3.0.eb new file mode 100644 index 00000000000..2f35f9fa5a2 --- /dev/null +++ b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.21-GCC-13.3.0.eb @@ -0,0 +1,41 @@ +# 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 +# Updated to 1.21 jpecar EMBL + +easyblock = 'ConfigureMake' + +name = 'HTSlib' +version = '1.21' + +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.3.0'} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['84b510e735f4963641f26fd88c8abdee81ff4cb62168310ae716636aac0f1823'] + +# cURL added for S3 support +dependencies = [ + ('zlib', '1.3.1'), + ('bzip2', '1.0.8'), + ('XZ', '5.4.5'), + ('cURL', '8.7.1'), +] + + +sanity_check_paths = { + 'files': ['bin/bgzip', 'bin/tabix', 'lib/libhts.%s' % SHLIB_EXT], + 'dirs': [], +} + +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/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/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/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/Highway/Highway-1.0.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-11.3.0.eb index 987a76bd0c1..9202b5b1d43 100644 --- 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 @@ -12,7 +12,11 @@ toolchain = {'name': 'GCCcore', 'version': '11.3.0'} source_urls = ['https://github.com/google/highway/archive/refs/tags/'] sources = ['%(version)s.tar.gz'] -checksums = ['566fc77315878473d9a6bd815f7de78c73734acdcb745c3dde8579560ac5440e'] +patches = ['Highway-1.0.3_disable_AVX3_DL.patch'] +checksums = [ + '566fc77315878473d9a6bd815f7de78c73734acdcb745c3dde8579560ac5440e', + {'Highway-1.0.3_disable_AVX3_DL.patch': '5729765a75c42551056f95f24fc81031293066253978548c573d06eb33bf9853'}, +] builddependencies = [ ('binutils', '2.38'), 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 index f1833e66b17..198469448b6 100644 --- 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 @@ -12,7 +12,11 @@ toolchain = {'name': 'GCCcore', 'version': '12.2.0'} source_urls = ['https://github.com/google/highway/archive/refs/tags/'] sources = ['%(version)s.tar.gz'] -checksums = ['566fc77315878473d9a6bd815f7de78c73734acdcb745c3dde8579560ac5440e'] +patches = ['Highway-1.0.3_disable_AVX3_DL.patch'] +checksums = [ + '566fc77315878473d9a6bd815f7de78c73734acdcb745c3dde8579560ac5440e', + {'Highway-1.0.3_disable_AVX3_DL.patch': '5729765a75c42551056f95f24fc81031293066253978548c573d06eb33bf9853'}, +] builddependencies = [ ('binutils', '2.39'), 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-12.3.0.eb b/easybuild/easyconfigs/h/Highway/Highway-1.0.4-GCCcore-12.3.0.eb index a05239847d3..993087b828c 100644 --- 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 @@ -12,7 +12,13 @@ toolchain = {'name': 'GCCcore', 'version': '12.3.0'} source_urls = ['https://github.com/google/highway/archive/refs/tags/'] sources = ['%(version)s.tar.gz'] -checksums = ['faccd343935c9e98afd1016e9d20e0b8b89d908508d1af958496f8c2d3004ac2'] +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'), 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.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/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/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 index 8e8e8c7f705..50fe19e455a 100644 --- a/easybuild/easyconfigs/h/h4toh5/h4toh5-2.2.3-gompi-2020b.eb +++ b/easybuild/easyconfigs/h/h4toh5/h4toh5-2.2.3-gompi-2020b.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': '2020b'} -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.5-gompi-2022a.eb b/easybuild/easyconfigs/h/h4toh5/h4toh5-2.2.5-gompi-2022a.eb index 1a825bc8ed8..28d67776a1b 100644 --- a/easybuild/easyconfigs/h/h4toh5/h4toh5-2.2.5-gompi-2022a.eb +++ b/easybuild/easyconfigs/h/h4toh5/h4toh5-2.2.5-gompi-2022a.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'h4toh5' version = '2.2.5' -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.""" 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/hatch-jupyter-builder/hatch-jupyter-builder-0.9.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/h/hatch-jupyter-builder/hatch-jupyter-builder-0.9.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..071c33cd4b1 --- /dev/null +++ b/easybuild/easyconfigs/h/hatch-jupyter-builder/hatch-jupyter-builder-0.9.1-GCCcore-12.3.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': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.3'), + ('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/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/hatch-jupyter-builder/hatch-jupyter-builder-0.9.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/h/hatch-jupyter-builder/hatch-jupyter-builder-0.9.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..f4483b94edd --- /dev/null +++ b/easybuild/easyconfigs/h/hatch-jupyter-builder/hatch-jupyter-builder-0.9.1-GCCcore-13.3.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.3.0'} + +builddependencies = [ + ('binutils', '2.42'), +] +dependencies = [ + ('Python', '3.12.3'), + ('hatchling', '1.24.2'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('hatch_nodejs_version', '0.3.2', { + 'checksums': ['8a7828d817b71e50bbbbb01c9bfc0b329657b7900c56846489b9c958de15b54c'], + }), + ('hatch_jupyter_builder', version, { + '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 index 85919d3f2b7..0913e467088 100644 --- a/easybuild/easyconfigs/h/hatchling/hatchling-1.18.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/h/hatchling/hatchling-1.18.0-GCCcore-12.3.0.eb @@ -21,18 +21,6 @@ use_pip = True sanity_pip_check = True exts_list = [ - ('tomli', '2.0.1', { - 'checksums': ['de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f'], - }), - ('packaging', '23.1', { - 'checksums': ['a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f'], - }), - ('setuptools_scm', '7.1.0', { - 'checksums': ['6c508345a771aad7d56ebff0e70628bf2b0ec7573762be9960214730de278f27'], - }), - ('typing_extensions', '4.6.3', { - 'checksums': ['d91d5919357fe7f681a9f2b5b4cb2a5f1ef0a1e9f59c4d8ff0d3491e05c0ffd5'], - }), ('pathspec', '0.11.1', { 'checksums': ['2798de800fa92780e33acca925945e9a19a133b715067cf165b8866c15a31687'], }), @@ -55,6 +43,10 @@ exts_list = [ ('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 = { diff --git a/easybuild/easyconfigs/h/hatchling/hatchling-1.18.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/h/hatchling/hatchling-1.18.0-GCCcore-13.2.0.eb index 765badccfff..a78cea4bf74 100644 --- a/easybuild/easyconfigs/h/hatchling/hatchling-1.18.0-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/h/hatchling/hatchling-1.18.0-GCCcore-13.2.0.eb @@ -21,18 +21,6 @@ use_pip = True sanity_pip_check = True exts_list = [ - ('tomli', '2.0.1', { - 'checksums': ['de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f'], - }), - ('packaging', '23.2', { - 'checksums': ['048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5'], - }), - ('setuptools-scm', '8.0.4', { - 'checksums': ['b5f43ff6800669595193fd09891564ee9d1d7dcb196cab4b2506d53a2e1c95c7'], - }), - ('typing_extensions', '4.8.0', { - 'checksums': ['df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef'], - }), ('pathspec', '0.11.2', { 'checksums': ['e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3'], }), @@ -55,6 +43,10 @@ exts_list = [ ('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 = { 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/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-2023b.eb b/easybuild/easyconfigs/h/hic-straw/hic-straw-1.3.1-foss-2023b.eb new file mode 100644 index 00000000000..4a9b159e99b --- /dev/null +++ b/easybuild/easyconfigs/h/hic-straw/hic-straw-1.3.1-foss-2023b.eb @@ -0,0 +1,29 @@ +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': '2023b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['fb0f878127f6b1d096303c67793477c83fddf3f4a1a8e29a9d92952634989876'] + +builddependencies = [('pybind11', '2.11.1')] + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('SciPy-bundle', '2023.11'), + ('cURL', '8.3.0'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +options = {'modulename': 'hicstraw'} + +moduleclass = 'bio' 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.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/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-gfbf-2023a.eb b/easybuild/easyconfigs/h/hmmlearn/hmmlearn-0.3.0-gfbf-2023a.eb new file mode 100644 index 00000000000..a975c36d225 --- /dev/null +++ b/easybuild/easyconfigs/h/hmmlearn/hmmlearn-0.3.0-gfbf-2023a.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'hmmlearn' +version = '0.3.0' + +homepage = 'https://github.com/hmmlearn/hmmlearn' +description = "hmmlearn is a set of algorithms for unsupervised learning and inference of Hidden Markov Models" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['d13a91ea3695df881465e3d36132d7eef4e84d483f4ba538a4b46e24b5ea100f'] + +dependencies = [ + ('Python', '3.11.3'), + ('scikit-learn', '1.3.1'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/h/hunspell/hunspell-1.7.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/h/hunspell/hunspell-1.7.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..785dc7f2320 --- /dev/null +++ b/easybuild/easyconfigs/h/hunspell/hunspell-1.7.2-GCCcore-12.3.0.eb @@ -0,0 +1,42 @@ +# Contribution from Imperial College London/UK +# uploaded by J. Sassmannshausen + +easyblock = 'ConfigureMake' + +name = 'hunspell' +version = '1.7.2' + +homepage = 'https://hunspell.github.io/' +description = """Hunspell is a spell checker and morphological analyzer +library and program designed for languages with rich morphology and +complex word compounding or character encoding.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/hunspell/hunspell/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['69fa312d3586c988789266eaf7ffc9861d9f6396c31fc930a014d551b59bbd6e'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.40'), + ('M4', '1.4.19'), +] + +dependencies = [ + ('gettext', '0.21.1'), +] + +preconfigopts = "autoreconf -vfi && " + +sanity_check_commands = [ + 'hunspell -h', +] + +sanity_check_paths = { + 'files': ['bin/hunspell', 'lib/libhunspell-%(version_major_minor)s.a', + 'lib/libhunspell-%%(version_major_minor)s.%s' % SHLIB_EXT, 'lib/pkgconfig/hunspell.pc'], + 'dirs': ['include/hunspell'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/hwloc/hwloc-2.0.2-GCCcore-8.2.0.eb b/easybuild/easyconfigs/h/hwloc/hwloc-2.0.2-GCCcore-8.2.0.eb index 72e874914ce..8cfa41cb0c5 100644 --- a/easybuild/easyconfigs/h/hwloc/hwloc-2.0.2-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/h/hwloc/hwloc-2.0.2-GCCcore-8.2.0.eb @@ -35,8 +35,7 @@ dependencies = [ ('libpciaccess', '0.14'), ] -configopts = "--enable-libnuma=$EBROOTNUMACTL " -configopts += "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " +configopts = "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " sanity_check_paths = { 'files': ['bin/lstopo', 'include/hwloc/linux.h', diff --git a/easybuild/easyconfigs/h/hwloc/hwloc-2.0.3-GCCcore-8.3.0.eb b/easybuild/easyconfigs/h/hwloc/hwloc-2.0.3-GCCcore-8.3.0.eb index 78cc42f4ed7..c9c64f7bbfc 100644 --- a/easybuild/easyconfigs/h/hwloc/hwloc-2.0.3-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/h/hwloc/hwloc-2.0.3-GCCcore-8.3.0.eb @@ -35,8 +35,7 @@ dependencies = [ ('libpciaccess', '0.14'), ] -configopts = "--enable-libnuma=$EBROOTNUMACTL " -configopts += "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " +configopts = "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " sanity_check_paths = { 'files': ['bin/lstopo', 'include/hwloc/linux.h', diff --git a/easybuild/easyconfigs/h/hwloc/hwloc-2.1.0-GCCcore-9.2.0.eb b/easybuild/easyconfigs/h/hwloc/hwloc-2.1.0-GCCcore-9.2.0.eb index ed6d9b15b31..4abf2d989ab 100644 --- a/easybuild/easyconfigs/h/hwloc/hwloc-2.1.0-GCCcore-9.2.0.eb +++ b/easybuild/easyconfigs/h/hwloc/hwloc-2.1.0-GCCcore-9.2.0.eb @@ -35,8 +35,7 @@ dependencies = [ ('libpciaccess', '0.16'), ] -configopts = "--enable-libnuma=$EBROOTNUMACTL " -configopts += "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " +configopts = "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " sanity_check_paths = { 'files': ['bin/lstopo', 'include/hwloc/linux.h', diff --git a/easybuild/easyconfigs/h/hwloc/hwloc-2.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/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/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-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/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/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/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/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/IOR/IOR-4.0.0-gompi-2023b.eb b/easybuild/easyconfigs/i/IOR/IOR-4.0.0-gompi-2023b.eb new file mode 100644 index 00000000000..edc20007c6d --- /dev/null +++ b/easybuild/easyconfigs/i/IOR/IOR-4.0.0-gompi-2023b.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.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.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.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.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-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_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-12.3.0.eb b/easybuild/easyconfigs/i/ITSTool/ITSTool-2.0.7-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..6e664d89808 --- /dev/null +++ b/easybuild/easyconfigs/i/ITSTool/ITSTool-2.0.7-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'ITSTool' +version = '2.0.7' + +homepage = 'http://itstool.org/' +description = "ITS Tool allows you to translate your XML documents with PO files" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['http://files.itstool.org/itstool/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['6b9a7cd29a12bb95598f5750e8763cee78836a1a207f85b74d8b3275b27e87ca'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('libxml2-python', '2.11.4'), +] + +sanity_check_paths = { + 'files': ['bin/itstool'], + 'dirs': ['share/itstool/its', 'share/man'], +} +sanity_check_commands = ["itstool --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.0.11-14-GCCcore-10.3.0.eb b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.0.11-14-GCCcore-10.3.0.eb index d7f3007a2f9..f066d79bcb2 100644 --- a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.0.11-14-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.0.11-14-GCCcore-10.3.0.eb @@ -25,6 +25,8 @@ dependencies = [ ('LibTIFF', '4.2.0'), ('LittleCMS', '2.12'), ('Pango', '1.48.5'), + ('pixman', '0.40.0'), + ('FriBidi', '1.0.10'), ] builddependencies = [ diff --git a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.0-37-GCCcore-11.3.0.eb b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.0-37-GCCcore-11.3.0.eb index f4a6a273ca9..6a78cb9c5a9 100644 --- a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.0-37-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.0-37-GCCcore-11.3.0.eb @@ -21,6 +21,8 @@ dependencies = [ ('LibTIFF', '4.3.0'), ('LittleCMS', '2.13.1'), ('Pango', '1.50.7'), + ('pixman', '0.40.0'), + ('FriBidi', '1.0.12'), ] builddependencies = [ @@ -28,14 +30,18 @@ builddependencies = [ ('pkgconf', '1.8.0'), ] +preconfigopts = 'PKG_CONFIG=$EBROOTPKGCONF/bin/pkgconf' configopts = "--with-gslib --with-x" sanity_check_paths = { - 'files': [], - 'dirs': ['bin', 'etc/%(name)s-%(version_major)s', - 'include/%(name)s-%(version_major)s', 'lib', 'share'], + '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 index ff34f39886c..7d03b87d1d8 100644 --- a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.0-4-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.0-4-GCCcore-11.2.0.eb @@ -21,6 +21,8 @@ dependencies = [ ('LibTIFF', '4.3.0'), ('LittleCMS', '2.12'), ('Pango', '1.48.8'), + ('pixman', '0.40.0'), + ('FriBidi', '1.0.10'), ] builddependencies = [ @@ -28,14 +30,18 @@ builddependencies = [ ('pkg-config', '0.29.2'), ] +preconfigopts = 'PKG_CONFIG=$EBROOTPKGCONF/bin/pkgconf' configopts = "--with-gslib --with-x" sanity_check_paths = { - 'files': [], - 'dirs': ['bin', 'etc/%(name)s-%(version_major)s', - 'include/%(name)s-%(version_major)s', 'lib', 'share'], + '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 index 67ede6c655f..e758d987dfa 100644 --- a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.0-53-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.0-53-GCCcore-12.2.0.eb @@ -21,6 +21,8 @@ dependencies = [ ('LibTIFF', '4.4.0'), ('LittleCMS', '2.14'), ('Pango', '1.50.12'), + ('pixman', '0.42.2'), + ('FriBidi', '1.0.12'), ] builddependencies = [ @@ -28,14 +30,18 @@ builddependencies = [ ('pkgconf', '1.9.3'), ] +preconfigopts = 'PKG_CONFIG=$EBROOTPKGCONF/bin/pkgconf' configopts = "--with-gslib --with-x" sanity_check_paths = { - 'files': [], - 'dirs': ['bin', 'etc/%(name)s-%(version_major)s', - 'include/%(name)s-%(version_major)s', 'lib', 'share'], + '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 index 3b1b4500899..4fe1068022b 100644 --- a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.1-15-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.1-15-GCCcore-12.3.0.eb @@ -25,16 +25,22 @@ dependencies = [ ('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': [], - 'dirs': ['bin', 'etc/%(name)s-%(version_major)s', 'include/%(name)s-%(version_major)s', 'lib', 'share'], + '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/Infernal/Infernal-1.1.5-foss-2023a.eb b/easybuild/easyconfigs/i/Infernal/Infernal-1.1.5-foss-2023a.eb new file mode 100644 index 00000000000..7a89f4503eb --- /dev/null +++ b/easybuild/easyconfigs/i/Infernal/Infernal-1.1.5-foss-2023a.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.5" + +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': '2023a'} +toolchainopts = {'pic': True} + +source_urls = ['http://eddylab.org/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ad4ddae02f924ca7c85bc8c4a79c9f875af8df96aeb726702fa985cbe752497f'] + +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 index 11b56c0bc1c..494b031a5e1 100644 --- a/easybuild/easyconfigs/i/Inspector/Inspector-2021.4.0.eb +++ b/easybuild/easyconfigs/i/Inspector/Inspector-2021.4.0.eb @@ -10,7 +10,7 @@ description = """Intel Inspector is a dynamic memory and threading error toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/18239/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18239/'] sources = ['l_inspector_oneapi_p_%(version)s.266_offline.sh'] checksums = ['c8210cbcd0e07cc75e773249a5e4a02cf34894ec80a213939f3a20e6c5705274'] diff --git a/easybuild/easyconfigs/i/Inspector/Inspector-2022.0.0.eb b/easybuild/easyconfigs/i/Inspector/Inspector-2022.0.0.eb index 430cc62b2d4..22f082dd1f4 100644 --- a/easybuild/easyconfigs/i/Inspector/Inspector-2022.0.0.eb +++ b/easybuild/easyconfigs/i/Inspector/Inspector-2022.0.0.eb @@ -10,7 +10,7 @@ description = """Intel Inspector is a dynamic memory and threading error toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/18363/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18363/'] sources = ['l_inspector_oneapi_p_%(version)s.56_offline.sh'] checksums = ['79a0eb2ae3f1de1e3456076685680c468702922469c3fda3e074718fb0bea741'] diff --git a/easybuild/easyconfigs/i/Inspector/Inspector-2022.1.0.eb b/easybuild/easyconfigs/i/Inspector/Inspector-2022.1.0.eb index a7772259cc8..33515e7a8e5 100644 --- a/easybuild/easyconfigs/i/Inspector/Inspector-2022.1.0.eb +++ b/easybuild/easyconfigs/i/Inspector/Inspector-2022.1.0.eb @@ -10,7 +10,7 @@ description = """Intel Inspector is a dynamic memory and threading error toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/18712/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18712/'] sources = ['l_inspector_oneapi_p_%(version)s.123_offline.sh'] checksums = ['8551180aa30be3abea11308fb11ea9a296f0e056ab07d9254585448a0b23333e'] diff --git a/easybuild/easyconfigs/i/IntelClusterChecker/IntelClusterChecker-2021.5.0.eb b/easybuild/easyconfigs/i/IntelClusterChecker/IntelClusterChecker-2021.5.0.eb index 55107c33e8a..c0357dea2d0 100644 --- a/easybuild/easyconfigs/i/IntelClusterChecker/IntelClusterChecker-2021.5.0.eb +++ b/easybuild/easyconfigs/i/IntelClusterChecker/IntelClusterChecker-2021.5.0.eb @@ -13,7 +13,7 @@ can be identified and practical resolutions provided. toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/18359/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18359/'] sources = ['l_clck_p_%(version)s.560_offline.sh'] checksums = ['2b661eff4a87607fd29e21fe29883873c0a7216d7d0a99557dc48b6eae9adeb0'] 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/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/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/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/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/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-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-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.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/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/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-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 index 75ac380269e..71a9f0f37b9 100644 --- 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 @@ -11,7 +11,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'NVHPC', 'version': '21.2'} -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-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 index e07323d8ee3..570499af77d 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2020.4.304-gompic-2020b.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2020.4.304-gompic-2020b.eb @@ -11,7 +11,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'gompic', '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-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 index 60282631f05..2bb82fd3380 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2021.2.0-iompi-2021a.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2021.2.0-iompi-2021a.eb @@ -7,7 +7,7 @@ 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/'] +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.3.0-gompi-2021a.eb b/easybuild/easyconfigs/i/imkl/imkl-2021.3.0-gompi-2021a.eb index 07a876f213e..a4746816d23 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2021.3.0-gompi-2021a.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2021.3.0-gompi-2021a.eb @@ -10,7 +10,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/17901'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17901'] sources = ['l_onemkl_p_%(version)s.520_offline.sh'] checksums = ['a06e1cdbfd8becc63440b473b153659885f25a6e3c4dcb2907ad9cd0c3ad59ce'] 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 old mode 100755 new mode 100644 index a6e0651ef64..4f45be5badc --- a/easybuild/easyconfigs/i/imkl/imkl-2021.4.0-iompi-2021b.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2021.4.0-iompi-2021b.eb @@ -7,7 +7,7 @@ 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/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18222/'] sources = ['l_onemkl_p_%(version)s.640_offline.sh'] checksums = ['9ad546f05a421b4f439e8557fd0f2d83d5e299b0d9bd84bdd86be6feba0c3915'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2021.4.0.eb b/easybuild/easyconfigs/i/imkl/imkl-2021.4.0.eb index f3e3040b1ee..bacd9ba4607 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2021.4.0.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2021.4.0.eb @@ -7,7 +7,7 @@ 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/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18222/'] sources = ['l_onemkl_p_%(version)s.640_offline.sh'] checksums = ['9ad546f05a421b4f439e8557fd0f2d83d5e299b0d9bd84bdd86be6feba0c3915'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2022.0.1.eb b/easybuild/easyconfigs/i/imkl/imkl-2022.0.1.eb index 67a5563ac0b..c348328e0e4 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2022.0.1.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2022.0.1.eb @@ -7,7 +7,7 @@ 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/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18444/'] sources = ['l_onemkl_p_%(version)s.117_offline.sh'] checksums = ['22afafbe2f3762eca052ac21ec40b845ff2f3646077295c88c2f37f80a0cc160'] 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 index 2eb923c837e..955038d0fc1 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2022.1.0-gompi-2022a.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2022.1.0-gompi-2022a.eb @@ -10,7 +10,7 @@ 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/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18721/'] sources = ['l_onemkl_p_%(version)s.223_offline.sh'] checksums = ['4b325a3c4c56e52f4ce6c8fbb55d7684adc16425000afc860464c0f29ea4563e'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2022.1.0.eb b/easybuild/easyconfigs/i/imkl/imkl-2022.1.0.eb index c34d533cf35..b0653443859 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2022.1.0.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2022.1.0.eb @@ -7,7 +7,7 @@ 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/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18721/'] sources = ['l_onemkl_p_%(version)s.223_offline.sh'] checksums = ['4b325a3c4c56e52f4ce6c8fbb55d7684adc16425000afc860464c0f29ea4563e'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2022.2.0.eb b/easybuild/easyconfigs/i/imkl/imkl-2022.2.0.eb index 82776023871..a3c46807fc6 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2022.2.0.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2022.2.0.eb @@ -7,7 +7,7 @@ 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/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18898/'] sources = ['l_onemkl_p_%(version)s.8748_offline.sh'] checksums = ['07d7caedd4b9f025c6fd439a0d2c2f279b18ecbbb63cadb864f6c63c1ed942db'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2022.2.1.eb b/easybuild/easyconfigs/i/imkl/imkl-2022.2.1.eb index 3daf55958a3..f2a7a15068e 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2022.2.1.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2022.2.1.eb @@ -7,7 +7,7 @@ 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/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19038/'] sources = ['l_onemkl_p_%(version)s.16993_offline.sh'] checksums = ['eedd4b795720de776b1fc5f542ae0fac37ec235cdb567f7c2ee3182e73e3e59d'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2023.0.0.eb b/easybuild/easyconfigs/i/imkl/imkl-2023.0.0.eb index 4e6e5afb344..f29032bc3dd 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2023.0.0.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2023.0.0.eb @@ -7,7 +7,7 @@ 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/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19138/'] sources = ['l_onemkl_p_%(version)s.25398_offline.sh'] checksums = ['0d61188e91a57bdb575782eb47a05ae99ea8eebefee6b2dfe20c6708e16e9927'] 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 index 5e4f3cb8b1d..17ed1c0a2aa 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2023.1.0-gompi-2023a.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2023.1.0-gompi-2023a.eb @@ -10,7 +10,7 @@ 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/18721/'] +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'] 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.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 index 8a736821926..1507acd5413 100644 --- 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 @@ -10,7 +10,7 @@ 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'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17947'] sources = ['l_mpi_oneapi_p_%(version)s.294_offline.sh'] checksums = ['04c48f864ee4c723b1b4ca62f2bea8c04d5d7e3de19171fd62b17868bc79bc36'] 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 index a0c8a98edd8..24180258119 100644 --- 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 @@ -7,7 +7,7 @@ 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/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18186/'] sources = ['l_mpi_oneapi_p_%(version)s.441_offline.sh'] checksums = ['cc4b7072c61d0bd02b1c431b22d2ea3b84b967b59d2e587e77a9e7b2c24f2a29'] 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 index bee00810199..ea941c35ab2 100644 --- 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 @@ -7,7 +7,7 @@ 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/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18370/'] sources = ['l_mpi_oneapi_p_%(version)s.495_offline.sh'] checksums = ['3aae53fe77f7c6aac7a32b299c25d6ca9a00ba4e2d512a26edd90811e59e7471'] 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 index b1d328caa62..288c103cd03 100644 --- 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 @@ -7,7 +7,7 @@ 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/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18714/'] sources = ['l_mpi_oneapi_p_%(version)s.602_offline.sh'] checksums = ['e85db63788c434d43c1378e5e2bf7927a75d11aee8e6b78ee0d933da920977a6'] 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 index 8f400fabac4..2df8a69062f 100644 --- 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 @@ -7,7 +7,7 @@ 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/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18926/'] sources = ['l_mpi_oneapi_p_%(version)s.8711_offline.sh'] checksums = ['4eb1e1487b67b98857bc9b7b37bcac4998e0aa6d1b892b2c87b003bf84fb38e9'] 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 index 68aeb9beb63..aa2976fafaf 100644 --- 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 @@ -7,7 +7,7 @@ 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/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19010/'] sources = ['l_mpi_oneapi_p_%(version)s.16815_offline.sh'] checksums = ['90e7804f2367d457cd4cbf7aa29f1c5676287aa9b34f93e7c9a19e4b8583fff7'] 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 index 86153bb28f5..89dce35e1f2 100644 --- 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 @@ -7,7 +7,7 @@ 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/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19131/'] sources = ['l_mpi_oneapi_p_%(version)s.25329_offline.sh'] checksums = ['0fcb1171fc42fd4b2d863ae474c0b0f656b0fa1fdc1df435aa851ccd6d1eaaf7'] 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/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-58-GCCcore-13.3.0.eb b/easybuild/easyconfigs/i/inih/inih-58-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..0837277c267 --- /dev/null +++ b/easybuild/easyconfigs/i/inih/inih-58-GCCcore-13.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MesonNinja' + +name = 'inih' +version = '58' + +homepage = 'https://dri.freedesktop.org' +description = """Direct Rendering Manager runtime library.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/benhoyt/inih/archive/refs/tags/'] +sources = ['r%(version)s.tar.gz'] +checksums = ['e79216260d5dffe809bda840be48ab0eec7737b2bb9f02d2275c1b46344ea7b7'] + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), + ('Meson', '1.4.0'), + ('Ninja', '1.12.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 index efcc5a7498b..cececeebef0 100644 --- a/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2021.3.0.eb +++ b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2021.3.0.eb @@ -12,11 +12,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/17928/'], + '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/'], + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17959/'], 'filename': 'l_fortran-compiler_p_%(version)s.3168_offline.sh', }, ] 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 index b12d0b8bb3c..977bf5ced0e 100644 --- a/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2021.4.0.eb +++ b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2021.4.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/18209/'], + '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/'], + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18210/'], 'filename': 'l_fortran-compiler_p_%(version)s.3224_offline.sh', }, ] 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 index 56c8e9b5da4..967197cdfd7 100644 --- a/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.0.1.eb +++ b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.0.1.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/18435/'], + '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/'], + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18436/'], 'filename': 'l_fortran-compiler_p_%(version)s.70_offline.sh', }, ] 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 index b54023cfe84..011509935b0 100644 --- a/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.0.2.eb +++ b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.0.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/18478/'], + '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/'], + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18481/'], 'filename': 'l_fortran-compiler_p_%(version)s.83_offline.sh', }, ] 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 index f25617230ac..92ac06db492 100644 --- a/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.1.0.eb +++ b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.1.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/18717/'], + '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/'], + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18703/'], 'filename': 'l_fortran-compiler_p_%(version)s.134_offline.sh', }, ] 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 index 17262278b13..8c1390dae95 100644 --- a/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.2.0.eb +++ b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.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/18849/'], + '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/'], + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18909/'], 'filename': 'l_fortran-compiler_p_%(version)s.8773_offline.sh', }, ] 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 index a6ae8170105..e67292301d5 100644 --- a/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.2.1.eb +++ b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.2.1.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/19030/'], + '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/'], + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18998/'], 'filename': 'l_fortran-compiler_p_%(version)s.16992_offline.sh', }, ] 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 index 8d97d1ec3e5..f1e9b21f009 100644 --- a/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2023.0.0.eb +++ b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2023.0.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/19123/'], + '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/'], + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19105/'], 'filename': 'l_fortran-compiler_p_%(version)s.25394_offline.sh', }, ] 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-compilers/intel-compilers-2025.0.0.eb b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2025.0.0.eb new file mode 100644 index 00000000000..34a1074639e --- /dev/null +++ b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2025.0.0.eb @@ -0,0 +1,37 @@ +name = 'intel-compilers' +version = '2025.0.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html' +description = "Intel C, C++ & Fortran compilers" + +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/ac92f2bb-4818-4e53-a432-f8b34d502f23/' + ], + 'filename': 'intel-dpcpp-cpp-compiler-%(version)s.740_offline.sh', + }, + { + 'source_urls': [ + 'https://registrationcenter-download.intel.com/akdlm/IRC_NAS/69f79888-2d6c-4b20-999e-e99d72af68d4/' + ], + 'filename': 'intel-fortran-compiler-%(version)s.723_offline.sh', + }, +] +checksums = [ + {'intel-dpcpp-cpp-compiler-2025.0.0.740_offline.sh': + '04fadf63789acee731895e631db63f65a98b8279db3d0f48bdf0d81e6103bdd8'}, + {'intel-fortran-compiler-2025.0.0.723_offline.sh': + '2be6d607ce84f35921228595b118fbc516d28587cbc4e6dcf6b7219e5cd1a9a9'}, +] + +local_gccver = '14.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.42', '', ('GCCcore', local_gccver)), +] + +moduleclass = 'compiler' 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.1.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/i/intervaltree-python/intervaltree-python-3.1.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..5888f2f29d0 --- /dev/null +++ b/easybuild/easyconfigs/i/intervaltree-python/intervaltree-python-3.1.0-GCCcore-12.2.0.eb @@ -0,0 +1,34 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'PythonPackage' + +name = 'intervaltree-python' +_modname = 'intervaltree' +version = '3.1.0' + +homepage = 'https://github.com/chaimleib/intervaltree' +description = """A mutable, self-balancing interval tree. Queries may be by + point, by range overlap, or by range containment. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://pypi.python.org/packages/source/i/%s' % _modname] +sources = ['%s-%s.tar.gz' % (_modname, version)] +checksums = ['902b1b88936918f9b2a19e0e5eb7ccb430ae45cde4f39ea4b36932920d33952d'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': _modname} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/intervaltree-python/intervaltree-python-3.1.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/i/intervaltree-python/intervaltree-python-3.1.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..4934ceb72f3 --- /dev/null +++ b/easybuild/easyconfigs/i/intervaltree-python/intervaltree-python-3.1.0-GCCcore-12.3.0.eb @@ -0,0 +1,34 @@ +# Author: Jasper Grimm (UoY) +# Update: Petr Král (INUITS) + +easyblock = 'PythonPackage' + +name = 'intervaltree-python' +_modname = 'intervaltree' +version = '3.1.0' + +homepage = 'https://github.com/chaimleib/intervaltree' +description = """A mutable, self-balancing interval tree. Queries may be by + point, by range overlap, or by range containment. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://pypi.python.org/packages/source/i/%s' % _modname] +sources = ['%s-%s.tar.gz' % (_modname, version)] +checksums = ['902b1b88936918f9b2a19e0e5eb7ccb430ae45cde4f39ea4b36932920d33952d'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': _modname} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/intervaltree/intervaltree-0.1-GCCcore-12.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/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/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-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/itac/itac-2021.2.0.eb b/easybuild/easyconfigs/i/itac/itac-2021.2.0.eb index 3deaaa9e711..ea2cfcb2650 100644 --- a/easybuild/easyconfigs/i/itac/itac-2021.2.0.eb +++ b/easybuild/easyconfigs/i/itac/itac-2021.2.0.eb @@ -11,7 +11,7 @@ description = """The Intel Trace Collector is a low-overhead tracing library tha toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/17686/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17686/'] sources = ['l_itac_oneapi_p_%(version)s.152_offline.sh'] checksums = ['dca9d1cb2b77c43496009e191916e0d37c2e6606c228e37c11091778d038dd90'] diff --git a/easybuild/easyconfigs/i/itac/itac-2021.5.0.eb b/easybuild/easyconfigs/i/itac/itac-2021.5.0.eb index f9d10379c85..ea05e25db95 100644 --- a/easybuild/easyconfigs/i/itac/itac-2021.5.0.eb +++ b/easybuild/easyconfigs/i/itac/itac-2021.5.0.eb @@ -11,7 +11,7 @@ description = """The Intel Trace Collector is a low-overhead tracing library tha toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/18367/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18367/'] sources = ['l_itac_oneapi_p_%(version)s.370_offline.sh'] checksums = ['c2b31298d8b4069a62d9352873c7f6e17ce240ad7293f9bacdc6de3794675b58'] diff --git a/easybuild/easyconfigs/i/itac/itac-2021.6.0.eb b/easybuild/easyconfigs/i/itac/itac-2021.6.0.eb index 22e6230e15b..0f35b870046 100644 --- a/easybuild/easyconfigs/i/itac/itac-2021.6.0.eb +++ b/easybuild/easyconfigs/i/itac/itac-2021.6.0.eb @@ -11,7 +11,7 @@ description = """The Intel Trace Collector is a low-overhead tracing library tha toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/18694/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18694/'] sources = ['l_itac_oneapi_p_%(version)s.434_offline.sh'] checksums = ['1ecc2735da960041b051e377cadb9f6ab2f44e8aa44d0f642529a56a3cbba436'] diff --git a/easybuild/easyconfigs/j/JACUSA2helper/JACUSA2helper-1.9.9.9675-foss-2023a.eb b/easybuild/easyconfigs/j/JACUSA2helper/JACUSA2helper-1.9.9.9675-foss-2023a.eb new file mode 100644 index 00000000000..4b3003c89ec --- /dev/null +++ b/easybuild/easyconfigs/j/JACUSA2helper/JACUSA2helper-1.9.9.9675-foss-2023a.eb @@ -0,0 +1,36 @@ +easyblock = 'Bundle' + +name = 'JACUSA2helper' +version = '1.9.9.9675' + +homepage = 'https://dieterich-lab.github.io/JACUSA2helper/' +description = "Auxiliary R package for assessment of JACUSA2 results" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-CRAN', '2023.12'), + ('R-bundle-Bioconductor', '3.18', '-R-%(rver)s'), +] + +exts_defaultclass = 'RPackage' + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/dieterich-lab/JACUSA2helper/archive/refs/tags/'], + 'source_tmpl': 'v%(version)s.tar.gz', + 'checksums': ['5c8edb96a5691c7fb2895e50eb992ebe375f8d97234039da3f5540a7a9cb4816'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +sanity_check_commands = ['Rscript -e "library(%(name)s)"'] + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'bio' 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/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-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/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.402.eb b/easybuild/easyconfigs/j/Java/Java-8.402.eb new file mode 100644 index 00000000000..d130041813b --- /dev/null +++ b/easybuild/easyconfigs/j/Java/Java-8.402.eb @@ -0,0 +1,31 @@ +name = 'Java' +version = '8.402' +local_build = 'b06' + +homepage = 'http://openjdk.java.net' +description = """Java Platform, Standard Edition (Java SE) lets you develop and deploy +Java applications on desktops and servers.""" + +toolchain = SYSTEM + +local_tarball_tmpl = 'OpenJDK8U-jdk_%s_linux_hotspot_%%(version_major)su%%(version_minor)s%s.tar.gz' + +# Using the Adoptium Eclipse Temurin builds, recommended by https://whichjdk.com/#distributions + +source_urls = ['https://github.com/adoptium/temurin8-binaries/releases/download/' + 'jdk%%(version_major)su%%(version_minor)s-%s/' % local_build] +sources = [local_tarball_tmpl % ('%(jdkarch)s', local_build)] + +checksums = [ + { + local_tarball_tmpl % ('x64', local_build): + 'fcfd08abe39f18e719e391f2fc37b8ac1053075426d10efac4cbf8969e7aa55e', + local_tarball_tmpl % ('aarch64', local_build): + '241a72d6f0051de30c71e7ade95b34cd85a249c8e5925bcc7a95872bee81fd84', + local_tarball_tmpl % ('ppc64le', local_build): + '64bc05cdffe827c84000177dca2eb4ff0a8ff0021889bb75abff3639d4f51838', + + } +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Java/Java-8.eb b/easybuild/easyconfigs/j/Java/Java-8.eb index 854eccb56cb..759f3e84bbe 100644 --- a/easybuild/easyconfigs/j/Java/Java-8.eb +++ b/easybuild/easyconfigs/j/Java/Java-8.eb @@ -9,6 +9,6 @@ Java applications on desktops and servers.""" toolchain = SYSTEM -dependencies = [('Java', '%(version)s.362')] +dependencies = [('Java', '%(version)s.402')] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/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/Jellyfish/Jellyfish-2.3.1-GCC-12.3.0.eb b/easybuild/easyconfigs/j/Jellyfish/Jellyfish-2.3.1-GCC-12.3.0.eb new file mode 100644 index 00000000000..82821a0cc38 --- /dev/null +++ b/easybuild/easyconfigs/j/Jellyfish/Jellyfish-2.3.1-GCC-12.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.1' + +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.3.0'} + +source_urls = ['https://github.com/gmarcais/Jellyfish/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ee032b57257948ca0f0610883099267572c91a635eecbd88ae5d8974c2430fcd'] + +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/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-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/Judy/Judy-1.0.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/j/Judy/Judy-1.0.5-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..ad7805e7167 --- /dev/null +++ b/easybuild/easyconfigs/j/Judy/Judy-1.0.5-GCCcore-13.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': '13.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', '20231222'), + ('binutils', '2.42'), +] +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 index 6671e1cd4ff..6081619a331 100644 --- 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 @@ -11,21 +11,20 @@ toolchain = SYSTEM source_urls = ['https://julialang-s3.julialang.org/bin/linux/x64/%(version_major_minor)s/'] sources = ['%(namelower)s-%(version)s%(versionsuffix)s.tar.gz'] -checksums = ['a7298207f72f2b27b2ab1ce392a6ea37afbd1fbee0f1f8d190b054dcaba878fe'] +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', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], - 'dirs': ['bin', 'etc', 'include', 'lib', 'share'] + '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'] -modextrapaths_append = { - # Use default DEPOT_PATH where first entry is user's depot. - # JULIA_DEPOT_PATH must be set to be able to load other JuliaPackage modules and have - # those installations appended to DEPOT_PATH without disabling any of the default paths. - # Appending ':' to make sure we don't override the user's custom JULIA_DEPOT_PATH if set. - 'JULIA_DEPOT_PATH': ':', -} - moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.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 index 225d86de75a..17abf7d929c 100644 --- a/easybuild/easyconfigs/j/Julia/Julia-1.6.0-linux-aarch64.eb +++ b/easybuild/easyconfigs/j/Julia/Julia-1.6.0-linux-aarch64.eb @@ -15,20 +15,20 @@ toolchain = SYSTEM source_urls = ['https://julialang-s3.julialang.org/bin/linux/aarch64/%(version_major_minor)s/'] sources = ['%(namelower)s-%(version)s%(versionsuffix)s.tar.gz'] -checksums = ['0f496972d26cea88151204d03e6bd87702aa1ff983de3b1e4f320c48ef67325f'] +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', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], - 'dirs': ['bin', 'etc', 'include', 'lib', 'share'] + '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'] -modextravars = { - # Use default DEPOT_PATH where first entry is user's depot - # JULIA_DEPOT_PATH must be set to be able to load other JuliaPackage modules and have - # those installations appended to DEPOT_PATH without disabling any of the default paths - 'JULIA_DEPOT_PATH': ':', -} - moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.6.5-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.6.5-linux-x86_64.eb index 45b365aa65d..dd9ad4890db 100644 --- 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 @@ -19,20 +19,20 @@ 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 = ['b8fe23ee547254a2fe14be587284ed77c78c06c2d8e9aad5febce0d21cab8e2c'] +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', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], - 'dirs': ['bin', 'etc', 'include', 'lib', 'share'] + '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'] -modextravars = { - # Use default DEPOT_PATH where first entry is user's depot - # JULIA_DEPOT_PATH must be set to be able to load other JuliaPackage modules and have - # those installations appended to DEPOT_PATH without disabling any of the default paths - 'JULIA_DEPOT_PATH': ':', -} - moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.6.6-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.6.6-linux-x86_64.eb index 48c2259422e..03bdc16da5a 100644 --- 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 @@ -19,20 +19,19 @@ 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 = ['c25ff71a4242207ab2681a0fcc5df50014e9d99f814e77cacbc5027e20514945'] +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', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], - 'dirs': ['bin', 'etc', 'include', 'lib', 'share'] + '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'] -modextravars = { - # Use default DEPOT_PATH where first entry is user's depot - # JULIA_DEPOT_PATH must be set to be able to load other JuliaPackage modules and have - # those installations appended to DEPOT_PATH without disabling any of the default paths - 'JULIA_DEPOT_PATH': ':', -} - moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.6.7-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.6.7-linux-x86_64.eb index f5d1446913f..7046809d33d 100644 --- 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 @@ -19,20 +19,19 @@ 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 = ['6c4522d595e4cbcd00157ac458a72f8aec01757053d2073f99daa39e442b2a36'] +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', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], - 'dirs': ['bin', 'etc', 'include', 'lib', 'share'] + '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'] -modextravars = { - # Use default DEPOT_PATH where first entry is user's depot - # JULIA_DEPOT_PATH must be set to be able to load other JuliaPackage modules and have - # those installations appended to DEPOT_PATH without disabling any of the default paths - 'JULIA_DEPOT_PATH': ':', -} - moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.7.0-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.7.0-linux-x86_64.eb index ecc3020f4c0..39df361aa99 100644 --- 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 @@ -19,20 +19,19 @@ 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 = ['7299f3a638aec5e0b9e14eaf0e6221c4fe27189aa0b38ac5a36f03f0dc4c0d40'] +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', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], - 'dirs': ['bin', 'etc', 'include', 'lib', 'share'] + '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'] -modextravars = { - # Use default DEPOT_PATH where first entry is user's depot - # JULIA_DEPOT_PATH must be set to be able to load other JuliaPackage modules and have - # those installations appended to DEPOT_PATH without disabling any of the default paths - 'JULIA_DEPOT_PATH': ':', -} - moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.7.1-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.7.1-linux-x86_64.eb index b8b0a744c04..87f911a7da0 100644 --- 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 @@ -19,20 +19,19 @@ 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 = ['44658e9c7b45e2b9b5b59239d190cca42de05c175ea86bc346c294a8fe8d9f11'] +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', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], - 'dirs': ['bin', 'etc', 'include', 'lib', 'share'] + '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'] -modextravars = { - # Use default DEPOT_PATH where first entry is user's depot - # JULIA_DEPOT_PATH must be set to be able to load other JuliaPackage modules and have - # those installations appended to DEPOT_PATH without disabling any of the default paths - 'JULIA_DEPOT_PATH': ':', -} - moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.7.2-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.7.2-linux-x86_64.eb index e88e509e098..5e48ff39fbe 100644 --- 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 @@ -19,20 +19,19 @@ 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 = ['a75244724f3b2de0e7249c861fbf64078257c16fb4203be78f1cf4dd5973ba95'] +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', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], - 'dirs': ['bin', 'etc', 'include', 'lib', 'share'] + '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'] -modextravars = { - # Use default DEPOT_PATH where first entry is user's depot - # JULIA_DEPOT_PATH must be set to be able to load other JuliaPackage modules and have - # those installations appended to DEPOT_PATH without disabling any of the default paths - 'JULIA_DEPOT_PATH': ':', -} - moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.7.3-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.7.3-linux-x86_64.eb index dac9088825a..0f1649345d9 100644 --- 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 @@ -19,20 +19,19 @@ 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 = ['9b2f4fa12d92b4dcc5d11dc66fb118c47681a76d3df8da064cc97573f2f5c739'] +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', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], - 'dirs': ['bin', 'etc', 'include', 'lib', 'share'] + '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'] -modextravars = { - # Use default DEPOT_PATH where first entry is user's depot - # JULIA_DEPOT_PATH must be set to be able to load other JuliaPackage modules and have - # those installations appended to DEPOT_PATH without disabling any of the default paths - 'JULIA_DEPOT_PATH': ':', -} - moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.8.0-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.8.0-linux-x86_64.eb index c7f6214e4a8..701b6bcbde7 100644 --- 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 @@ -19,20 +19,19 @@ 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 = ['e80d732ccb7f79e000d798cb8b656dc3641ab59516d6e4e52e16765017892a00'] +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', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], - 'dirs': ['bin', 'etc', 'include', 'lib', 'share'] + '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'] -modextravars = { - # Use default DEPOT_PATH where first entry is user's depot - # JULIA_DEPOT_PATH must be set to be able to load other JuliaPackage modules and have - # those installations appended to DEPOT_PATH without disabling any of the default paths - 'JULIA_DEPOT_PATH': ':', -} - moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.8.2-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.8.2-linux-x86_64.eb index 37b817f557e..c85c5bdc291 100644 --- 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 @@ -19,20 +19,19 @@ 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 = ['671cf3a450b63a717e1eedd7f69087e3856f015b2e146cb54928f19a3c05e796'] +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', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], - 'dirs': ['bin', 'etc', 'include', 'lib', 'share'] + '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'] -modextravars = { - # Use default DEPOT_PATH where first entry is user's depot - # JULIA_DEPOT_PATH must be set to be able to load other JuliaPackage modules and have - # those installations appended to DEPOT_PATH without disabling any of the default paths - 'JULIA_DEPOT_PATH': ':', -} - moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.8.5-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.8.5-linux-x86_64.eb index 1d5fa47c96c..6e60397495d 100644 --- 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 @@ -19,20 +19,19 @@ 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 = ['e71a24816e8fe9d5f4807664cbbb42738f5aa9fe05397d35c81d4c5d649b9d05'] +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', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], - 'dirs': ['bin', 'etc', 'include', 'lib', 'share'] + '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'] -modextravars = { - # Use default DEPOT_PATH where first entry is user's depot - # JULIA_DEPOT_PATH must be set to be able to load other JuliaPackage modules and have - # those installations appended to DEPOT_PATH without disabling any of the default paths - 'JULIA_DEPOT_PATH': ':', -} - moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.9.0-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.9.0-linux-x86_64.eb index 2ee4230cbb9..2e89fb8640b 100644 --- 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 @@ -19,20 +19,19 @@ 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 = ['00c614466ef9809c2eb23480e38d196a2c577fff2730c4f83d135b913d473359'] +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', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], - 'dirs': ['bin', 'etc', 'include', 'lib', 'share'] + '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'] -modextravars = { - # Use default DEPOT_PATH where first entry is user's depot - # JULIA_DEPOT_PATH must be set to be able to load other JuliaPackage modules and have - # those installations appended to DEPOT_PATH without disabling any of the default paths - 'JULIA_DEPOT_PATH': ':', -} - moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.9.2-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.9.2-linux-x86_64.eb index a0d92b7aacb..fef2c5a347c 100644 --- 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 @@ -19,20 +19,19 @@ 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 = ['4c2d799f442d7fe718827b19da2bacb72ea041b9ce55f24eee7b1313f57c4383'] +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', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], - 'dirs': ['bin', 'etc', 'include', 'lib', 'share'] + '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'] -modextravars = { - # Use default DEPOT_PATH where first entry is user's depot - # JULIA_DEPOT_PATH must be set to be able to load other JuliaPackage modules and have - # those installations appended to DEPOT_PATH without disabling any of the default paths - 'JULIA_DEPOT_PATH': ':', -} - moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.9.3-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.9.3-linux-x86_64.eb index 7b207dc635c..1d0f85d9874 100644 --- 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 @@ -19,20 +19,19 @@ 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 = ['d76670cc9ba3e0fd4c1545dd3d00269c0694976a1176312795ebce1692d323d1'] +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', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], - 'dirs': ['bin', 'etc', 'include', 'lib', 'share'] + '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'] -modextravars = { - # Use default DEPOT_PATH where first entry is user's depot - # JULIA_DEPOT_PATH must be set to be able to load other JuliaPackage modules and have - # those installations appended to DEPOT_PATH without disabling any of the default paths - 'JULIA_DEPOT_PATH': ':', -} - moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/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-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..e58d22ce229 --- /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.2.1'), + ('jupyter-resource-usage', '1.0.2'), +] + +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 index a83e3042286..04740042f7a 100644 --- a/easybuild/easyconfigs/j/JupyterHub/JupyterHub-4.0.2-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/j/JupyterHub/JupyterHub-4.0.2-GCCcore-12.3.0.eb @@ -15,12 +15,12 @@ builddependencies = [ dependencies = [ ('Python', '3.11.3'), ('IPython', '8.14.0'), - ('Mako', '1.2.4'), + ('bcrypt', '4.0.1'), ('configurable-http-proxy', '4.5.6'), ('OpenSSL', '1.1', '', SYSTEM), ('tornado', '6.3.2'), - ('bcrypt', '4.0.1'), ('PycURL', '7.45.2'), # optional, recommended with large number of users + ('SQLAlchemy', '2.0.25'), ] sanity_pip_check = True @@ -35,18 +35,9 @@ exts_list = [ ('pamela', '1.1.0', { 'checksums': ['d4b139fe600e192e176a2a368059207a6bffa0e7879879b13f4fcba0163481be'], }), - ('greenlet', '2.0.2', { - 'checksums': ['e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0'], - }), ('async_generator', '1.10', { 'checksums': ['6ebb3d106c12920aaae42ccb6f787ef5eefdcdd166ea3d628fa8476abe712144'], }), - ('SQLAlchemy', '2.0.20', { - 'checksums': ['ca8a5ff2aa7f3ade6c498aaafce25b1eaeabe4e42b73e25519183e4566a16fc6'], - }), - ('alembic', '1.11.3', { - 'checksums': ['3db4ce81a9072e1b5aa44c2d202add24553182672a12daf21608d6f62a8f9cf9'], - }), ('oauthlib', '3.2.2', { 'checksums': ['9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918'], }), 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-4.0.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-4.0.3-GCCcore-12.2.0.eb index ce74a883802..aa4cce7aaca 100644 --- a/easybuild/easyconfigs/j/JupyterLab/JupyterLab-4.0.3-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-4.0.3-GCCcore-12.2.0.eb @@ -68,10 +68,7 @@ exts_list = [ sanity_check_commands = ["jupyter lab --help"] -modextrapaths = { - 'JUPYTER_PATH': 'share/jupyter', - 'JUPYTER_CONFIG_PATH': 'etc/jupyter', -} +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} modextravars = { # only one path allowed as JUPYTERLAB_DIR 'JUPYTERLAB_DIR': '%(installdir)s/share/jupyter/lab', diff --git a/easybuild/easyconfigs/j/JupyterLab/JupyterLab-4.0.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-4.0.5-GCCcore-12.3.0.eb index 19c7e8a6710..df819f0e4fc 100644 --- a/easybuild/easyconfigs/j/JupyterLab/JupyterLab-4.0.5-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-4.0.5-GCCcore-12.3.0.eb @@ -20,18 +20,8 @@ dependencies = [ ('jupyter-server', '2.7.2'), ] -# 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" -""" -sanity_pip_check = True use_pip = True +sanity_pip_check = True exts_list = [ ('json5', '0.9.14', { @@ -51,23 +41,28 @@ exts_list = [ }), ] -local_binaries = [ - 'jupyter-lab', - 'jupyter-labextension', - 'jupyter-labhub', -] sanity_check_paths = { - 'files': [], + 'files': ['bin/jupyter-lab', 'bin/jupyter-labextension', 'bin/jupyter-labhub'], 'dirs': ['etc/jupyter', 'share/jupyter'], } sanity_check_commands = ['jupyter lab --help'] -modextrapaths = { - 'JUPYTER_CONFIG_PATH': 'etc/jupyter', - 'JUPYTER_PATH': 'share/jupyter', +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} +modextravars = { + # only one path allowed as JUPYTERLAB_DIR + 'JUPYTERLAB_DIR': '%(installdir)s/share/jupyter/lab', } -modextravars = {'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/JupyterLab/JupyterLab-4.2.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-4.2.5-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..abe825dfa69 --- /dev/null +++ b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-4.2.5-GCCcore-13.3.0.eb @@ -0,0 +1,78 @@ +easyblock = 'PythonBundle' + +name = 'JupyterLab' +version = '4.2.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': '13.3.0'} + +builddependencies = [ + ('binutils', '2.42'), + ('hatch-jupyter-builder', '0.9.1'), +] +dependencies = [ + ('Python', '3.12.3'), + ('IPython', '8.28.0'), + ('jupyter-server', '2.14.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('json5', '0.9.25', { + 'checksums': ['548e41b9be043f9426776f05df8635a00fe06104ea51ed24b67f908856e151ae'], + }), + ('jupyterlab_server', '2.27.3', { + 'checksums': ['eb36caca59e74471988f0ae25c77945610b887f777255aa21f8065def9e51ed4'], + }), + ('jupyter-lsp', '2.2.5', { + 'checksums': ['793147a05ad446f809fd53ef1cd19a9f5256fd0a2d6b7ce943a982cb4f545001'], + }), + ('async-lru', '2.0.4', { + 'checksums': ['b8a59a5df60805ff63220b2a0c5b5393da5521b113cd5465a44eb037d81a5627'], + }), + ('h11', '0.14.0', { + 'checksums': ['8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d'], + }), + ('httpcore', '1.0.6', { + 'checksums': ['73f6dbd6eb8c21bbf7ef8efad555481853f5f6acdeaff1edb0694289269ee17f'], + }), + ('httpx', '0.27.2', { + 'checksums': ['f7c2be1d2f3c3c3160d441802406b206c2b76f5947b11115e6df10c6c65e66c2'], + }), + ('jupyterlab', version, { + 'checksums': ['ae7f3a1b8cb88b4f55009ce79fa7c06f99d70cd63601ee4aa91815d054f46f75'], + }), +] + +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 index 8fb29542706..ce1d02d63c1 100644 --- a/easybuild/easyconfigs/j/JupyterNotebook/JupyterNotebook-7.0.2-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/j/JupyterNotebook/JupyterNotebook-7.0.2-GCCcore-12.3.0.eb @@ -36,9 +36,6 @@ sanity_check_paths = { sanity_check_commands = ['jupyter notebook --help'] -modextrapaths = { - 'JUPYTER_CONFIG_PATH': 'etc/jupyter', - 'JUPYTER_PATH': 'share/jupyter', -} +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/JupyterNotebook/JupyterNotebook-7.0.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/j/JupyterNotebook/JupyterNotebook-7.0.3-GCCcore-12.2.0.eb index 2202fae1e72..afe231a13cf 100644 --- a/easybuild/easyconfigs/j/JupyterNotebook/JupyterNotebook-7.0.3-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/j/JupyterNotebook/JupyterNotebook-7.0.3-GCCcore-12.2.0.eb @@ -36,9 +36,6 @@ sanity_check_paths = { sanity_check_commands = ['jupyter notebook --help'] -modextrapaths = { - 'JUPYTER_CONFIG_PATH': 'etc/jupyter', - 'JUPYTER_PATH': 'share/jupyter', -} +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/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/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/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/jedi/jedi-0.18.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/jedi/jedi-0.18.1-GCCcore-11.3.0.eb index 5b2a8950603..daf043bb1a5 100644 --- 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 @@ -3,9 +3,11 @@ easyblock = 'PythonBundle' name = 'jedi' version = "0.18.1" -homepage = 'https://jedi.readthedocs.io/en/latest/' +homepage = 'https://github.com/davidhalter/jedi' description = """ - Jedi is a static analysis tool for Python that is typically used in IDEs/editors plugins. + Jedi - an awesome autocompletion, static analysis and refactoring library for Python. + It is typically used in IDEs/editors plugins. Jedi has a focus on autocompletion and goto functionality. + Other features include refactoring, code search and finding references. """ toolchain = {'name': 'GCCcore', 'version': '11.3.0'} @@ -29,9 +31,4 @@ exts_list = [ }), ] -sanity_check_paths = { - 'files': [], - 'dirs': ['lib'], -} - moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jedi/jedi-0.19.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/jedi/jedi-0.19.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..fcdb1b6305b --- /dev/null +++ b/easybuild/easyconfigs/j/jedi/jedi-0.19.0-GCCcore-12.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'jedi' +version = "0.19.0" + +homepage = 'https://github.com/davidhalter/jedi' +description = """ + Jedi - an awesome autocompletion, static analysis and refactoring library for Python. + It is typically used in IDEs/editors plugins. Jedi has a focus on autocompletion and goto functionality. + Other features include refactoring, code search and finding references. +""" + +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 = [ + ('parso', '0.8.3', { + 'checksums': ['8c07be290bb59f03588915921e29e8a50002acaf2cdc5fa0e0114f91709fafa0'], + }), + (name, version, { + 'checksums': ['bcf9894f1753969cbac8022a8c2eaee06bfa3724e4192470aaffe7eb6272b0c4'], + }), +] + +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 index eca3a2e905d..a0891f77c33 100644 --- 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 @@ -6,6 +6,8 @@ version = "0.19.1" homepage = 'https://github.com/davidhalter/jedi' description = """ Jedi - an awesome autocompletion, static analysis and refactoring library for Python. + It is typically used in IDEs/editors plugins. Jedi has a focus on autocompletion and goto functionality. + Other features include refactoring, code search and finding references. """ toolchain = {'name': 'GCCcore', 'version': '13.2.0'} @@ -29,9 +31,4 @@ exts_list = [ }), ] -sanity_check_paths = { - 'files': [], - 'dirs': ['lib/python3.11/site-packages/jedi'], -} - moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jedi/jedi-0.19.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/j/jedi/jedi-0.19.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..b477ad70774 --- /dev/null +++ b/easybuild/easyconfigs/j/jedi/jedi-0.19.1-GCCcore-13.3.0.eb @@ -0,0 +1,32 @@ +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.3.0'} + +builddependencies = [ + ('binutils', '2.42'), +] +dependencies = [ + ('Python', '3.12.3'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('parso', '0.8.3', { + 'checksums': ['8c07be290bb59f03588915921e29e8a50002acaf2cdc5fa0e0114f91709fafa0'], + }), + (name, version, { + 'checksums': ['cf0496f3651bc65d7174ac1b7d043eff454892c708a87d1b683e57b569927ffd'], + }), +] + +moduleclass = 'tools' 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/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/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.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/json-fortran/json-fortran-9.0.2-GCC-13.2.0.eb b/easybuild/easyconfigs/j/json-fortran/json-fortran-9.0.2-GCC-13.2.0.eb new file mode 100644 index 00000000000..3b32a332d54 --- /dev/null +++ b/easybuild/easyconfigs/j/json-fortran/json-fortran-9.0.2-GCC-13.2.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': '13.2.0'} + +source_urls = ['https://github.com/jacobwilliams/json-fortran/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['a599a77e406e59cdb7672d780e69156b6ce57cb8ce515d21d1744c4065a85976'] + +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/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-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-resource-usage/jupyter-resource-usage-1.0.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-1.0.0-GCCcore-12.3.0.eb index 02d3f79c0cb..0eadab83cb0 100644 --- a/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-1.0.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-1.0.0-GCCcore-12.3.0.eb @@ -35,6 +35,6 @@ sanity_check_paths = { } # Add the notebook extension to the search path for jupyter notebooks -modextrapaths = {'JUPYTER_PATH': 'share/jupyter/'} +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyter-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.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.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-3.2.2-GCCcore-12.2.0.eb index 2b029331d33..c2b3d7a52c4 100644 --- a/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-3.2.2-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-3.2.2-GCCcore-12.2.0.eb @@ -38,9 +38,6 @@ exts_list = [ }), ] -modextrapaths = { - 'JUPYTER_PATH': 'share/jupyter', - 'JUPYTER_CONFIG_PATH': 'etc/jupyter', -} +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-4.0.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-4.0.0-GCCcore-12.3.0.eb index 5c1a64b9090..96efada6218 100644 --- a/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-4.0.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-4.0.0-GCCcore-12.3.0.eb @@ -37,9 +37,6 @@ exts_list = [ }), ] -modextrapaths = { - 'JUPYTER_CONFIG_PATH': 'etc/jupyter', - 'JUPYTER_PATH': 'share/jupyter', -} +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyter-server-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-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.14.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/j/jupyter-server/jupyter-server-2.14.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..e7bc1dceeb0 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-server/jupyter-server-2.14.2-GCCcore-13.3.0.eb @@ -0,0 +1,185 @@ +easyblock = 'PythonBundle' + +name = 'jupyter-server' +version = "2.14.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': '13.3.0'} + +builddependencies = [ + ('binutils', '2.42'), + ('maturin', '1.6.0'), # needed by rpds_py + ('hatch-jupyter-builder', '0.9.1'), +] +dependencies = [ + ('Python', '3.12.3'), + ('IPython', '8.28.0'), + ('PyYAML', '6.0.2'), + ('PyZMQ', '26.2.0'), + ('tornado', '6.4.1'), + ('BeautifulSoup', '4.12.3'), # 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.21.0', { + 'checksums': ['96c83c606b71ff2b0a433c98889d275f51ffec6c5e267de37c7a2b5c9aa9233e'], + }), + ('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.20.0', { + 'checksums': ['3d48fc5300ee96f5d116f10fe6f28d938e6008f59a6a025c2649475b87f76a23'], + }), + ('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.3', { + 'checksums': ['35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419'], + }), + ('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.20.0', { + 'modulename': 'rpds', + 'checksums': ['d72a210824facfdaf8768cf2d7ca25a042c30320b3020de2fa04640920d4e121'], + }), + ('referencing', '0.35.1', { + 'checksums': ['25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c'], + }), + ('python-json-logger', '2.0.7', { + 'modulename': 'pythonjsonlogger', + 'checksums': ['23e7ec02d34237c5aa1e29a070193a4ea87583bb4e7f8fd06d3de8264c4b2e1c'], + }), + ('jsonschema_specifications', '2024.10.1', { + 'checksums': ['0f38b83639958ce1152d02a7f062902c41c8fd20d558b0c34344292d417ae272'], + }), + ('jsonschema', '4.23.0', { + 'checksums': ['d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4'], + }), + ('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': ['66095021aa9638ced276c248b1d81862e4c50f292d575920bbe960de1c56b12b'], + }), + ('jupyterlab_widgets', '3.0.13', { + 'checksums': ['a2966d385328c1942b683a8cd96b89b8dd82c8b8f81dda902bb2bc06d46f5bed'], + }), + ('widgetsnbextension', '4.0.13', { + 'checksums': ['ffcb67bc9febd10234a362795f643927f4e0c05d9342c727b65d2384f8feacb6'], + }), + ('comm', '0.2.2', { + 'checksums': ['3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e'], + }), + ('ipywidgets', '8.1.5', { + 'checksums': ['870e43b1a35656a80c18c9503bbf2d16802db1cb487eec6fab27d683381dde17'], + }), + # 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.5', { + 'checksums': ['f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215'], + }), + ('ipython_genutils', '0.2.0', { + 'checksums': ['eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8'], + }), + ('debugpy', '1.8.7', { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['57b00de1c8d2c84a61b90880f7e5b6deaf4c312ecbde3a0e8912f2a56c4ac9ae'], + }), +] + +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 index 371d6d3a26f..77484efe933 100644 --- a/easybuild/easyconfigs/j/jupyter-server/jupyter-server-2.7.0-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/j/jupyter-server/jupyter-server-2.7.0-GCCcore-12.2.0.eb @@ -61,7 +61,12 @@ exts_list = [ 'checksums': ['8b97c6c1e1681b78cbc9424b138d880f0803c2254c5ebaabdde57bb6c62093f2'], }), ('jupyter_core', '5.3.1', { - 'checksums': ['5ba5c7938a7f97a6b0481463f7ff0dbac7c15ba48cf46fa4035ca6e838aa1aba'], + 'patches': ['jupyter-core-5.3.1_fix_jupyter_path.patch'], + 'checksums': [ + {'jupyter_core-5.3.1.tar.gz': '5ba5c7938a7f97a6b0481463f7ff0dbac7c15ba48cf46fa4035ca6e838aa1aba'}, + {'jupyter-core-5.3.1_fix_jupyter_path.patch': + '030f1beb91987eb7519360c6d0b5c999f8843f00bca6a170f9ea5d3667ee61e5'}, + ], }), ('fastjsonschema', '2.17.1', { 'checksums': ['f4eeb8a77cef54861dbf7424ac8ce71306f12cbb086c45131bcba2c6a4f726e3'], @@ -168,10 +173,7 @@ exts_list = [ }), ] -modextrapaths = { - 'JUPYTER_PATH': 'share/jupyter', - 'JUPYTER_CONFIG_PATH': 'etc/jupyter', -} +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} sanity_check_paths = { 'files': [ diff --git a/easybuild/easyconfigs/j/jupyter-server/jupyter-server-2.7.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/jupyter-server/jupyter-server-2.7.2-GCCcore-12.3.0.eb index 76b36f7551f..9da7cc3f037 100644 --- a/easybuild/easyconfigs/j/jupyter-server/jupyter-server-2.7.2-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/j/jupyter-server/jupyter-server-2.7.2-GCCcore-12.3.0.eb @@ -16,7 +16,9 @@ builddependencies = [ ] 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'), @@ -53,7 +55,12 @@ exts_list = [ 'checksums': ['9502a3cca51f4fac40b5feca985b6703a5c1f6ad815588a7ca9e285b9dca6757'], }), ('jupyter_core', '5.3.1', { - 'checksums': ['5ba5c7938a7f97a6b0481463f7ff0dbac7c15ba48cf46fa4035ca6e838aa1aba'], + 'patches': ['jupyter-core-5.3.1_fix_jupyter_path.patch'], + 'checksums': [ + {'jupyter_core-5.3.1.tar.gz': '5ba5c7938a7f97a6b0481463f7ff0dbac7c15ba48cf46fa4035ca6e838aa1aba'}, + {'jupyter-core-5.3.1_fix_jupyter_path.patch': + '030f1beb91987eb7519360c6d0b5c999f8843f00bca6a170f9ea5d3667ee61e5'}, + ], }), ('fastjsonschema', '2.18.0', { 'checksums': ['e820349dd16f806e4bd1467a138dced9def4bc7d6213a34295272a6cac95b5bd'], @@ -182,9 +189,6 @@ sanity_check_paths = { sanity_check_commands = ['jupyter --help'] -modextrapaths = { - 'JUPYTER_CONFIG_PATH': 'etc/jupyter', - 'JUPYTER_PATH': 'share/jupyter', -} +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/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/jupyterlmod/jupyterlmod-4.0.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/jupyterlmod/jupyterlmod-4.0.3-GCCcore-12.3.0.eb index f3a22452bde..f096b4542fa 100644 --- a/easybuild/easyconfigs/j/jupyterlmod/jupyterlmod-4.0.3-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/j/jupyterlmod/jupyterlmod-4.0.3-GCCcore-12.3.0.eb @@ -37,9 +37,6 @@ sanity_check_paths = { 'dirs': ['lib/python%(pyshortver)s/site-packages', 'share/jupyter'], } -modextrapaths = { - 'JUPYTER_CONFIG_PATH': 'etc/jupyter', - 'JUPYTER_PATH': 'share/jupyter', -} +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyterlmod/jupyterlmod-5.2.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/j/jupyterlmod/jupyterlmod-5.2.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..2f0f8aabd7f --- /dev/null +++ b/easybuild/easyconfigs/j/jupyterlmod/jupyterlmod-5.2.1-GCCcore-13.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'jupyterlmod' +version = '5.2.1' + +# 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': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('JupyterNotebook', '7.2.0'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'sources': ['%(name)s-%(version)s-py3-none-any.whl'], + 'checksums': ['6f9c94d80b813792a6b63aeff5f2672f7d485ce43a7fd5bb7f6fce1c0907cad5'], + }), +] + +sanity_pip_check = True + +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-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/k/KMCLib/KMCLib-2.0-a2-foss-2023a-Python-2.7.18.eb b/easybuild/easyconfigs/k/KMCLib/KMCLib-2.0-a2-foss-2023a-Python-2.7.18.eb new file mode 100644 index 00000000000..12cf687bb00 --- /dev/null +++ b/easybuild/easyconfigs/k/KMCLib/KMCLib-2.0-a2-foss-2023a-Python-2.7.18.eb @@ -0,0 +1,51 @@ +easyblock = 'CMakeMake' + +name = 'KMCLib' +version = '2.0-a2' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/leetmaa/KMCLib' +description = """KMCLib - a general framework for lattice kinetic Monte Carlo (KMC) simulations""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/leetmaa/KMCLib/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['796620a67ad010df4b11734f703151c17441f82cef026f3d56386a34056d0213'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), + ('SWIG', '4.1.1'), +] + +dependencies = [ + ('Python', '2.7.18'), + ('numpy', '1.16.6', versionsuffix), +] + +start_dir = 'c++' + +preconfigopts = 'cd ../%(name)s-%(version)s/c++/externals && ' +preconfigopts += 'make CC="$CC" CXX="$CXX" CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" && cd - && ' + +prebuildopts = 'export CPATH=$EBROOTPYTHON/include/python%(pyshortver)s:$CPATH && ' + +buildopts = ' && cp wrap/Backend.py wrap/_Backend.so wrap/Custom.py wrap/_Custom.so' +buildopts += ' "%(builddir)s/%(name)s-%(version)s/python/src/KMCLib/Backend/"' + +test_cmd = 'export PYTHONPATH="%(builddir)s/%(name)s-%(version)s/python/src:$PYTHONPATH" && ' +test_cmd += 'python "%(builddir)s/%(name)s-%(version)s/python/unittest/utest.py"' + +install_cmd = 'cp -r "%(builddir)s/%(name)s-%(version)s/python/src/KMCLib" "%(installdir)s/"' + +modextrapaths = {'PYTHONPATH': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': ['KMCLib/Backend'], +} + +sanity_check_commands = ["python -c 'from KMCLib import *'"] + +moduleclass = 'math' 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.3.0.eb b/easybuild/easyconfigs/k/Kaleido/Kaleido-0.2.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..7413eeebb71 --- /dev/null +++ b/easybuild/easyconfigs/k/Kaleido/Kaleido-0.2.1-GCCcore-13.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': '13.3.0'} + +sources = ['%(namelower)s-%(version)s-py2.py3-none-manylinux1_%(arch)s.whl'] +checksums = ['aa21cf1bf1c78f8fa50a9f7d45e1003c387bd3d6fe0a767cfbbf344b95bdc3a8'] + +builddependencies = [ + ('binutils', '2.42'), +] +dependencies = [ + ('Python', '3.12.3'), +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'vis' 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-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/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/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/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/kallisto/kallisto-0.51.1-gompi-2023a.eb b/easybuild/easyconfigs/k/kallisto/kallisto-0.51.1-gompi-2023a.eb new file mode 100644 index 00000000000..ae831c08a64 --- /dev/null +++ b/easybuild/easyconfigs/k/kallisto/kallisto-0.51.1-gompi-2023a.eb @@ -0,0 +1,46 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'CMakeMake' + +name = 'kallisto' +version = '0.51.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': '2023a'} +toolchainopts = {'pic': True, 'usempi': True} + +github_account = 'pachterlab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['a8bcc23bca6ac758f15e30bb77e9e169e628beff2da3be2e34a53e1d42253516'] + +builddependencies = [ + ('Autotools', '20220317'), + ('CMake', '3.26.3'), + ('zlib', '1.2.13'), +] + +dependencies = [ + ('HDF5', '1.14.0'), + ('HTSlib', '1.18'), +] + +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.51.1-gompi-2023b.eb b/easybuild/easyconfigs/k/kallisto/kallisto-0.51.1-gompi-2023b.eb new file mode 100644 index 00000000000..68cf98992dd --- /dev/null +++ b/easybuild/easyconfigs/k/kallisto/kallisto-0.51.1-gompi-2023b.eb @@ -0,0 +1,46 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'CMakeMake' + +name = 'kallisto' +version = '0.51.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': '2023b'} +toolchainopts = {'pic': True, 'usempi': True} + +github_account = 'pachterlab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['a8bcc23bca6ac758f15e30bb77e9e169e628beff2da3be2e34a53e1d42253516'] + +builddependencies = [ + ('Autotools', '20220317'), + ('CMake', '3.27.6'), + ('zlib', '1.2.13'), +] + +dependencies = [ + ('HDF5', '1.14.3'), + ('HTSlib', '1.19.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/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-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/kyber/kyber-0.4.0-GCC-12.3.0.eb b/easybuild/easyconfigs/k/kyber/kyber-0.4.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..14fa1faab67 --- /dev/null +++ b/easybuild/easyconfigs/k/kyber/kyber-0.4.0-GCC-12.3.0.eb @@ -0,0 +1,452 @@ +easyblock = 'Cargo' + +name = 'kyber' +version = '0.4.0' + +homepage = 'https://github.com/wdecoster/kyber' +description = """Tool to quickly make a minimalistic 600x600 pixels + heatmap image of read length (log-transformed) and read accuracy.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/wdecoster/kyber/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['kyber-0.4.0_requirements.patch'] +checksums = [ + {'v0.4.0.tar.gz': '1a89538d2795e5f589fd18280de4443d3311454ed70f595b3e6611bd8d8811e1'}, + {'ab_glyph_rasterizer-0.1.8.tar.gz': 'c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046'}, + {'adler-1.0.2.tar.gz': 'f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe'}, + {'aho-corasick-0.7.20.tar.gz': 'cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac'}, + {'approx-0.5.1.tar.gz': 'cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'bio-types-0.13.0.tar.gz': 'dfa990f40a28735fa598dc3dd58d73e62e6b41458959d623903b927ba7b04c80'}, + {'bit_field-0.10.2.tar.gz': 'dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'bumpalo-3.12.0.tar.gz': '0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535'}, + {'bytemuck-1.13.1.tar.gz': '17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea'}, + {'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'}, + {'clap-4.5.0.tar.gz': '80c21025abd42669a92efc996ef13cfb2c5c627858421ea58d5c3b331a6c134f'}, + {'clap_builder-4.5.0.tar.gz': '458bf1f341769dfcf849846f65dffdf9146daa56bcd2a47cb4e1de9915567c99'}, + {'anstream-0.6.7.tar.gz': '4cd2405b3ac1faab2990b74d728624cd9fd115651fcecc7c2d8daf01376275ba'}, + {'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-3.0.2.tar.gz': '1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7'}, + {'colorchoice-1.0.0.tar.gz': 'acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7'}, + {'utf8parse-0.2.1.tar.gz': '711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a'}, + {'humantime-2.1.0.tar.gz': '9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4'}, + {'clap_derive-4.5.0.tar.gz': '307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47'}, + {'shlex-1.3.0.tar.gz': '0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64'}, + {'snapbox-0.4.16.tar.gz': '73145a30df4935f50a7b13c1882bce7d194d7071ad0bcc36e7cacbf9ef16e3ec'}, + {'escargot-0.5.7.tar.gz': 'f5584ba17d7ab26a8a7284f13e5bd196294dd2f2d79773cff29b9e9edef601a6'}, + {'dunce-1.0.4.tar.gz': '56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b'}, + {'content_inspector-0.2.4.tar.gz': 'b7bda66e858c683005a53a9a60c69a4aca7eeaa45d124526e389f7aec8e62f38'}, + {'filetime-0.2.22.tar.gz': 'd4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0'}, + {'normalize-line-endings-0.3.0.tar.gz': '61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be'}, + {'os_pipe-1.1.4.tar.gz': '0ae859aa07428ca9a929b936690f8b12dc5f11dd8c6992a18ca93919f28bc177'}, + {'similar-2.2.0.tar.gz': '62ac7f900db32bf3fd12e0117dd3dc4da74bc52ebaac97f39668446d89694803'}, + {'snapbox-macros-0.3.7.tar.gz': '78ccde059aad940984ff696fe8c280900f7ea71a6fb45fce65071a3f2c40b667'}, + {'tempfile-3.9.0.tar.gz': '01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa'}, + {'wait-timeout-0.2.0.tar.gz': '9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6'}, + {'walkdir-2.4.0.tar.gz': 'd71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee'}, + {'clap_lex-0.7.0.tar.gz': '98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce'}, + {'cmake-0.1.49.tar.gz': 'db34956e100b30725f2eb215f90d4871051239535632f84fea3bc92722c66b7c'}, + {'color_quant-1.1.0.tar.gz': '3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b'}, + {'conv-0.3.3.tar.gz': '78ff10625fd0ac447827aa30ea8b861fead473bb60aeb73af6c1c58caf0d1299'}, + {'crc32fast-1.3.2.tar.gz': 'b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d'}, + {'crossbeam-channel-0.5.7.tar.gz': 'cf2b3e8478797446514c91ef04bafcb59faba183e621ad488df88983cc14128c'}, + {'crossbeam-deque-0.8.3.tar.gz': 'ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef'}, + {'crossbeam-epoch-0.9.14.tar.gz': '46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695'}, + {'crossbeam-utils-0.8.15.tar.gz': '3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b'}, + {'crunchy-0.2.2.tar.gz': '7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7'}, + {'ctor-0.2.0.tar.gz': 'dd4056f63fce3b82d852c3da92b08ea59959890813a7f4ce9c0ff85b10cf301b'}, + {'curl-sys-0.4.60+curl-7.88.1.tar.gz': '717abe2cb465a5da6ce06617388a3980c9a2844196734bec8ccb8e575250f13f'}, + {'custom_derive-0.1.7.tar.gz': 'ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a01b9'}, + {'derive-new-0.5.9.tar.gz': '3418329ca0ad70234b9735dc4ceed10af4df60eff9c8e7b06cb5e520d92c3535'}, + {'either-1.8.1.tar.gz': '7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91'}, + {'env_logger-0.10.0.tar.gz': '85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0'}, + {'errno-0.2.8.tar.gz': 'f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1'}, + {'errno-dragonfly-0.1.2.tar.gz': 'aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf'}, + {'exr-1.6.3.tar.gz': 'bdd2162b720141a91a054640662d3edce3d50a944a50ffca5313cd951abb35b4'}, + {'flate2-1.0.25.tar.gz': 'a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841'}, + {'flume-0.10.14.tar.gz': '1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577'}, + {'form_urlencoded-1.1.0.tar.gz': 'a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8'}, + {'fs-utils-1.1.4.tar.gz': '6fc7a9dc005c944c98a935e7fd626faf5bf7e5a609f94bc13e42fc4a02e52593'}, + {'futures-core-0.3.27.tar.gz': '86d7a0c1aa76363dac491de0ee99faf6941128376f1cf96f07db7603b7de69dd'}, + {'futures-sink-0.3.27.tar.gz': 'ec93083a4aecafb2a80a885c9de1f0ccae9dbd32c2bb54b0c3a65690e0b8d2f2'}, + {'getrandom-0.1.16.tar.gz': '8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce'}, + {'getrandom-0.2.8.tar.gz': 'c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31'}, + {'gif-0.11.4.tar.gz': '3edd93c6756b4dfaf2709eafcc345ba2636565295c198a9cfbf75fa5e3e00b06'}, + {'glob-0.3.1.tar.gz': 'd2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b'}, + {'half-2.2.1.tar.gz': '02b4af3693f1b705df946e9fe5631932443781d0aabb423b62fcd4d73f6d2fd0'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'hermit-abi-0.2.6.tar.gz': 'ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7'}, + {'hermit-abi-0.3.1.tar.gz': 'fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286'}, + {'hts-sys-2.0.3.tar.gz': '0dba4fc406d3686926c84f98fd53026b625319d119e6056a40313862a6e3c4eb'}, + {'idna-0.3.0.tar.gz': 'e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6'}, + {'ieee754-0.2.6.tar.gz': '9007da9cacbd3e6343da136e98b0d2df013f553d35bdec8b518f07bea768e19c'}, + {'image-0.24.5.tar.gz': '69b7ea949b537b0fd0af141fff8c77690f2ce96f4f41f042ccb6c69c6c965945'}, + {'imageproc-0.23.0.tar.gz': 'b6aee993351d466301a29655d628bfc6f5a35a0d062b6160ca0808f425805fd7'}, + {'io-lifetimes-1.0.6.tar.gz': 'cfa919a82ea574332e2de6e74b4c36e74d41982b335080fa59d4ef31be20fdf3'}, + {'is-terminal-0.4.4.tar.gz': '21b6b32576413a8e69b90e952e4a026476040d81017b80445deda5f2d3921857'}, + {'itertools-0.10.5.tar.gz': 'b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473'}, + {'jobserver-0.1.26.tar.gz': '936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2'}, + {'jpeg-decoder-0.3.0.tar.gz': 'bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e'}, + {'js-sys-0.3.61.tar.gz': '445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'lebe-0.5.2.tar.gz': '03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8'}, + {'libc-0.2.140.tar.gz': '99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c'}, + {'libz-sys-1.1.8.tar.gz': '9702761c3935f8cc2f101793272e202c72b99da8f4224a19ddcf1279a6450bbf'}, + {'linear-map-1.2.0.tar.gz': 'bfae20f6b19ad527b550c223fddc3077a547fc70cda94b9b566575423fd303ee'}, + {'linux-raw-sys-0.1.4.tar.gz': 'f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4'}, + {'lock_api-0.4.9.tar.gz': '435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df'}, + {'log-0.4.17.tar.gz': 'abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e'}, + {'lzma-sys-0.1.20.tar.gz': '5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27'}, + {'matrixmultiply-0.3.2.tar.gz': 'add85d4dd35074e6fedc608f8c8f513a3548619a9024b751949ef0e8e45a4d84'}, + {'memchr-2.5.0.tar.gz': '2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d'}, + {'memoffset-0.8.0.tar.gz': 'd61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1'}, + {'miniz_oxide-0.6.2.tar.gz': 'b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa'}, + {'nalgebra-0.30.1.tar.gz': '4fb2d0de08694bed883320212c18ee3008576bfe8c306f4c3c4a58b4876998be'}, + {'nanorand-0.7.0.tar.gz': '6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3'}, + {'ndarray-0.15.6.tar.gz': 'adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32'}, + {'newtype_derive-0.1.6.tar.gz': 'ac8cd24d9f185bb7223958d8c1ff7a961b74b1953fd05dba7cc568a63b3861ec'}, + {'num-0.4.0.tar.gz': '43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606'}, + {'num-bigint-0.4.3.tar.gz': 'f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f'}, + {'num-complex-0.4.3.tar.gz': '02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d'}, + {'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.15.tar.gz': '578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd'}, + {'num_cpus-1.15.0.tar.gz': '0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b'}, + {'once_cell-1.17.1.tar.gz': 'b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3'}, + {'openssl-src-111.25.1+1.1.1t.tar.gz': '1ef9a9cc6ea7d9d5e7c4a913dc4b48d0e359eddf01af1dfec96ba7064b4aba10'}, + {'openssl-sys-0.9.81.tar.gz': '176be2629957c157240f68f61f2d0053ad3a4ecfdd9ebf1e6521d18d9635cf67'}, + {'os_str_bytes-6.4.1.tar.gz': '9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee'}, + {'owned_ttf_parser-0.15.2.tar.gz': '05e6affeb1632d6ff6a23d2cd40ffed138e82f1532571a26f527c8a284bb2fbb'}, + {'paste-1.0.12.tar.gz': '9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79'}, + {'percent-encoding-2.2.0.tar.gz': '478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e'}, + {'pin-project-1.0.12.tar.gz': 'ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc'}, + {'pin-project-internal-1.0.12.tar.gz': '069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55'}, + {'pkg-config-0.3.26.tar.gz': '6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160'}, + {'png-0.17.7.tar.gz': '5d708eaf860a19b19ce538740d2b4bdeeb8337fa53f7738455e706623ad5c638'}, + {'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.70.tar.gz': '39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b'}, + {'quick-error-1.2.3.tar.gz': 'a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0'}, + {'quote-1.0.26.tar.gz': '4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc'}, + {'rand-0.7.3.tar.gz': '6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03'}, + {'rand_chacha-0.2.2.tar.gz': 'f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402'}, + {'rand_core-0.5.1.tar.gz': '90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19'}, + {'rand_distr-0.2.2.tar.gz': '96977acbdd3a6576fb1d27391900035bf3863d4a16422973a409b488cf29ffb2'}, + {'rand_hc-0.2.0.tar.gz': 'ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c'}, + {'rawpointer-0.2.1.tar.gz': '60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3'}, + {'rayon-1.7.0.tar.gz': '1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b'}, + {'rayon-core-1.11.0.tar.gz': '4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d'}, + {'regex-1.7.1.tar.gz': '48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733'}, + {'regex-syntax-0.6.28.tar.gz': '456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848'}, + {'rust-htslib-0.43.1.tar.gz': '53881800f22b91fa893cc3f6d70e6e9aa96d200133bfe112e36aee37aad70bf5'}, + {'rustc_version-0.1.7.tar.gz': 'c5f5376ea5e30ce23c03eb77cbe4962b988deead10910c372b226388b594c084'}, + {'rustix-0.36.9.tar.gz': 'fd5c6ff11fecd55b40746d1995a02f2eb375bf8c00d192d521ee09f42bef37bc'}, + {'rusttype-0.9.3.tar.gz': '3ff8374aa04134254b7995b63ad3dc41c7f7236f69528b28553da7d72efaa967'}, + {'rustversion-1.0.12.tar.gz': '4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06'}, + {'safe_arch-0.6.0.tar.gz': '794821e4ccb0d9f979512f9c1973480123f9bd62a90d74ab0f9426fcf8f4a529'}, + {'scoped_threadpool-0.1.9.tar.gz': '1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8'}, + {'scopeguard-1.1.0.tar.gz': 'd29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd'}, + {'semver-0.1.20.tar.gz': 'd4f410fedcf71af0345d7607d246e7ad15faaadd49d240ee3b24e5dc21a820ac'}, + {'simba-0.7.3.tar.gz': '2f3fd720c48c53cace224ae62bef1bbff363a70c68c4802a78b5cc6159618176'}, + {'simd-adler32-0.3.5.tar.gz': '238abfbb77c1915110ad968465608b68e869e0772622c9656714e73e5a1a522f'}, + {'smallvec-1.10.0.tar.gz': 'a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0'}, + {'spin-0.9.6.tar.gz': 'b5d6e0250b93c8427a177b849d144a96d5acc57006149479403d7861ab721e34'}, + {'strsim-0.11.0.tar.gz': '5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01'}, + {'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'}, + {'thiserror-1.0.39.tar.gz': 'a5ab016db510546d856297882807df8da66a16fb8c4101cb8b30054b0d5b2d9c'}, + {'thiserror-impl-1.0.39.tar.gz': '5420d42e90af0c38c3290abcca25b9b3bdf379fc9f55c528f53a269d9c9a267e'}, + {'tiff-0.8.1.tar.gz': '7449334f9ff2baf290d55d73983a7d6fa15e01198faef72af07e2a8db851e471'}, + {'tinyvec-1.6.0.tar.gz': '87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50'}, + {'tinyvec_macros-0.1.1.tar.gz': '1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20'}, + {'ttf-parser-0.15.2.tar.gz': '7b3e06c9b9d80ed6b745c7159c40b311ad2916abb34a49e9be2653b90db0d8dd'}, + {'typenum-1.16.0.tar.gz': '497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba'}, + {'unicode-bidi-0.3.11.tar.gz': '524b68aca1d05e03fdf03fcdce2c6c94b6daf6d16861ddaa7e4f2b6638a9052c'}, + {'unicode-ident-1.0.8.tar.gz': 'e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4'}, + {'unicode-normalization-0.1.22.tar.gz': '5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921'}, + {'url-2.3.1.tar.gz': '0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643'}, + {'vcpkg-0.2.15.tar.gz': 'accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426'}, + {'version_check-0.9.4.tar.gz': '49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f'}, + {'wasi-0.9.0+wasi-snapshot-preview1.tar.gz': 'cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519'}, + {'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'}, + {'weezl-0.1.7.tar.gz': '9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb'}, + {'wide-0.7.8.tar.gz': 'b689b6c49d6549434bf944e6b0f39238cf63693cb7a147e9d887507fffa3b223'}, + {'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-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'}, + {'zune-inflate-0.2.51.tar.gz': 'a01728b79fb9b7e28a8c11f715e1cd8dc2cda7416a007d66cac55cebb3a8ac6b'}, + {'kyber-0.4.0_requirements.patch': '25c454d67914ccfe1f80ac4edf19629806c7d9d06135201053f73b0a4c10c0eb'}, +] + +crates = [ + ('ab_glyph_rasterizer', '0.1.8'), + ('adler', '1.0.2'), + ('aho-corasick', '0.7.20'), + ('approx', '0.5.1'), + ('autocfg', '1.1.0'), + ('bio-types', '0.13.0'), + ('bit_field', '0.10.2'), + ('bitflags', '1.3.2'), + ('bumpalo', '3.12.0'), + ('bytemuck', '1.13.1'), + ('byteorder', '1.4.3'), + ('bzip2-sys', '0.1.11+1.0.8'), + ('cc', '1.0.79'), + ('cfg-if', '1.0.0'), + ('clap', '4.5.0'), + ('clap_builder', '4.5.0'), + ('anstream', '0.6.7'), + ('anstyle', '1.0.2'), + ('anstyle-parse', '0.2.1'), + ('anstyle-query', '1.0.0'), + ('anstyle-wincon', '3.0.2'), + ('colorchoice', '1.0.0'), + ('utf8parse', '0.2.1'), + ('humantime', '2.1.0'), + ('clap_derive', '4.5.0'), + ('shlex', '1.3.0'), + ('snapbox', '0.4.16'), + ('escargot', '0.5.7'), + ('dunce', '1.0.4'), + ('content_inspector', '0.2.4'), + ('filetime', '0.2.22'), + ('normalize-line-endings', '0.3.0'), + ('os_pipe', '1.1.4'), + ('similar', '2.2.0'), + ('snapbox-macros', '0.3.7'), + ('tempfile', '3.9.0'), + ('wait-timeout', '0.2.0'), + ('walkdir', '2.4.0'), + ('clap_lex', '0.7.0'), + ('cmake', '0.1.49'), + ('color_quant', '1.1.0'), + ('conv', '0.3.3'), + ('crc32fast', '1.3.2'), + ('crossbeam-channel', '0.5.7'), + ('crossbeam-deque', '0.8.3'), + ('crossbeam-epoch', '0.9.14'), + ('crossbeam-utils', '0.8.15'), + ('crunchy', '0.2.2'), + ('ctor', '0.2.0'), + ('curl-sys', '0.4.60+curl-7.88.1'), + ('custom_derive', '0.1.7'), + ('derive-new', '0.5.9'), + ('either', '1.8.1'), + ('env_logger', '0.10.0'), + ('errno', '0.2.8'), + ('errno-dragonfly', '0.1.2'), + ('exr', '1.6.3'), + ('flate2', '1.0.25'), + ('flume', '0.10.14'), + ('form_urlencoded', '1.1.0'), + ('fs-utils', '1.1.4'), + ('futures-core', '0.3.27'), + ('futures-sink', '0.3.27'), + ('getrandom', '0.1.16'), + ('getrandom', '0.2.8'), + ('gif', '0.11.4'), + ('glob', '0.3.1'), + ('half', '2.2.1'), + ('heck', '0.4.1'), + ('hermit-abi', '0.2.6'), + ('hermit-abi', '0.3.1'), + ('hts-sys', '2.0.3'), + ('idna', '0.3.0'), + ('ieee754', '0.2.6'), + ('image', '0.24.5'), + ('imageproc', '0.23.0'), + ('io-lifetimes', '1.0.6'), + ('is-terminal', '0.4.4'), + ('itertools', '0.10.5'), + ('jobserver', '0.1.26'), + ('jpeg-decoder', '0.3.0'), + ('js-sys', '0.3.61'), + ('lazy_static', '1.4.0'), + ('lebe', '0.5.2'), + ('libc', '0.2.140'), + ('libz-sys', '1.1.8'), + ('linear-map', '1.2.0'), + ('linux-raw-sys', '0.1.4'), + ('lock_api', '0.4.9'), + ('log', '0.4.17'), + ('lzma-sys', '0.1.20'), + ('matrixmultiply', '0.3.2'), + ('memchr', '2.5.0'), + ('memoffset', '0.8.0'), + ('miniz_oxide', '0.6.2'), + ('nalgebra', '0.30.1'), + ('nanorand', '0.7.0'), + ('ndarray', '0.15.6'), + ('newtype_derive', '0.1.6'), + ('num', '0.4.0'), + ('num-bigint', '0.4.3'), + ('num-complex', '0.4.3'), + ('num-integer', '0.1.45'), + ('num-iter', '0.1.43'), + ('num-rational', '0.4.1'), + ('num-traits', '0.2.15'), + ('num_cpus', '1.15.0'), + ('once_cell', '1.17.1'), + ('openssl-src', '111.25.1+1.1.1t'), + ('openssl-sys', '0.9.81'), + ('os_str_bytes', '6.4.1'), + ('owned_ttf_parser', '0.15.2'), + ('paste', '1.0.12'), + ('percent-encoding', '2.2.0'), + ('pin-project', '1.0.12'), + ('pin-project-internal', '1.0.12'), + ('pkg-config', '0.3.26'), + ('png', '0.17.7'), + ('ppv-lite86', '0.2.17'), + ('proc-macro-error', '1.0.4'), + ('proc-macro-error-attr', '1.0.4'), + ('proc-macro2', '1.0.70'), + ('quick-error', '1.2.3'), + ('quote', '1.0.26'), + ('rand', '0.7.3'), + ('rand_chacha', '0.2.2'), + ('rand_core', '0.5.1'), + ('rand_distr', '0.2.2'), + ('rand_hc', '0.2.0'), + ('rawpointer', '0.2.1'), + ('rayon', '1.7.0'), + ('rayon-core', '1.11.0'), + ('regex', '1.7.1'), + ('regex-syntax', '0.6.28'), + ('rust-htslib', '0.43.1'), + ('rustc_version', '0.1.7'), + ('rustix', '0.36.9'), + ('rusttype', '0.9.3'), + ('rustversion', '1.0.12'), + ('safe_arch', '0.6.0'), + ('scoped_threadpool', '0.1.9'), + ('scopeguard', '1.1.0'), + ('semver', '0.1.20'), + ('simba', '0.7.3'), + ('simd-adler32', '0.3.5'), + ('smallvec', '1.10.0'), + ('spin', '0.9.6'), + ('strsim', '0.11.0'), + ('strum_macros', '0.24.3'), + ('syn', '1.0.109'), + ('syn', '2.0.12'), + ('termcolor', '1.2.0'), + ('thiserror', '1.0.39'), + ('thiserror-impl', '1.0.39'), + ('tiff', '0.8.1'), + ('tinyvec', '1.6.0'), + ('tinyvec_macros', '0.1.1'), + ('ttf-parser', '0.15.2'), + ('typenum', '1.16.0'), + ('unicode-bidi', '0.3.11'), + ('unicode-ident', '1.0.8'), + ('unicode-normalization', '0.1.22'), + ('url', '2.3.1'), + ('vcpkg', '0.2.15'), + ('version_check', '0.9.4'), + ('wasi', '0.9.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'), + ('weezl', '0.1.7'), + ('wide', '0.7.8'), + ('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-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'), + ('zune-inflate', '0.2.51'), +] + +builddependencies = [ + ('Rust', '1.75.0'), + ('CMake', '3.26.3'), +] + +dependencies = [ + ('bzip2', '1.0.8'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +sanity_check_commands = ["%(name)s --version"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/kyber/kyber-0.4.0_requirements.patch b/easybuild/easyconfigs/k/kyber/kyber-0.4.0_requirements.patch new file mode 100644 index 00000000000..4f59f4a0e8e --- /dev/null +++ b/easybuild/easyconfigs/k/kyber/kyber-0.4.0_requirements.patch @@ -0,0 +1,521 @@ +Use newer `proc-macro2` to avoid the `proc_macro_span_shrink` error. +see https://github.com/dtolnay/proc-macro2/issues/356 + https://github.com/rust-lang/rust/issues/113152 +Author: Petr Král (INUITS) +diff -u Cargo.lock.orig Cargo.lock +--- Cargo.lock.orig 2024-09-23 12:04:03.201953274 +0200 ++++ Cargo.lock 2024-10-15 11:28:46.785202683 +0200 +@@ -109,42 +109,256 @@ + + [[package]] + name = "clap" +-version = "4.1.8" ++version = "4.5.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c3d7ae14b20b94cb02149ed21a86c423859cbe18dc7ed69845cace50e52b40a5" ++checksum = "80c21025abd42669a92efc996ef13cfb2c5c627858421ea58d5c3b331a6c134f" + dependencies = [ +- "bitflags", ++ "clap_builder 4.5.0", + "clap_derive", +- "clap_lex", +- "is-terminal", +- "once_cell", +- "strsim", +- "termcolor", ++ "humantime", ++ "rustversion", ++ "shlex", ++ "snapbox", ++ "trybuild", ++ "trycmd", ++] ++ ++[[package]] ++name = "clap_builder" ++version = "4.5.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "458bf1f341769dfcf849846f65dffdf9146daa56bcd2a47cb4e1de9915567c99" ++dependencies = [ ++ "anstream", ++ "anstyle", ++ "backtrace", ++ "clap_lex 0.7.0", ++ "color-print", ++ "static_assertions", ++ "strsim 0.11.0", ++ "terminal_size 0.3.0", ++ "unic-emoji-char", ++ "unicase", ++ "unicode-width", + ] + + [[package]] ++name = "anstream" ++version = "0.6.7" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "4cd2405b3ac1faab2990b74d728624cd9fd115651fcecc7c2d8daf01376275ba" ++dependencies = [ ++ "anstyle", ++ "anstyle-parse", ++ "anstyle-query", ++ "anstyle-wincon", ++ "colorchoice", ++ "utf8parse", ++] ++ ++[[package]] ++name = "anstyle" ++version = "1.0.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "15c4c2c83f81532e5845a733998b6971faca23490340a418e9b72a3ec9de12ea" ++ ++[[package]] ++name = "anstyle-parse" ++version = "0.2.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" ++dependencies = [ ++ "utf8parse", ++] ++ ++[[package]] ++name = "anstyle-query" ++version = "1.0.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" ++dependencies = [ ++ "windows-sys 0.48.0", ++] ++ ++[[package]] ++name = "anstyle-wincon" ++version = "3.0.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" ++dependencies = [ ++ "anstyle", ++ "windows-sys 0.52.0", ++] ++ ++[[package]] ++name = "colorchoice" ++version = "1.0.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" ++ ++[[package]] ++name = "utf8parse" ++version = "0.2.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" ++ ++[[package]] ++name = "humantime" ++version = "2.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" ++ ++[[package]] + name = "clap_derive" +-version = "4.1.8" ++version = "4.5.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "44bec8e5c9d09e439c4335b1af0abaab56dcf3b94999a936e1bb47b9134288f0" ++checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47" + dependencies = [ + "heck", +- "proc-macro-error", + "proc-macro2", + "quote", +- "syn 1.0.109", ++ "syn 2.0.48", + ] + + [[package]] +-name = "clap_lex" +-version = "0.3.2" ++name = "shlex" ++version = "1.3.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" ++ ++[[package]] ++name = "snapbox" ++version = "0.4.16" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "73145a30df4935f50a7b13c1882bce7d194d7071ad0bcc36e7cacbf9ef16e3ec" ++dependencies = [ ++ "anstream", ++ "anstyle", ++ "content_inspector", ++ "dunce", ++ "escargot", ++ "filetime", ++ "libc", ++ "normalize-line-endings", ++ "os_pipe", ++ "similar", ++ "snapbox-macros", ++ "tempfile", ++ "wait-timeout", ++ "walkdir", ++ "windows-sys 0.52.0", ++] ++ ++[[package]] ++name = "escargot" ++version = "0.5.7" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f5584ba17d7ab26a8a7284f13e5bd196294dd2f2d79773cff29b9e9edef601a6" ++dependencies = [ ++ "log", ++ "once_cell", ++ "serde", ++ "serde_json", ++] ++ ++[[package]] ++name = "dunce" ++version = "1.0.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" ++ ++[[package]] ++name = "content_inspector" ++version = "0.2.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "b7bda66e858c683005a53a9a60c69a4aca7eeaa45d124526e389f7aec8e62f38" ++dependencies = [ ++ "memchr", ++] ++ ++[[package]] ++name = "filetime" ++version = "0.2.22" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0" ++dependencies = [ ++ "cfg-if", ++ "libc", ++ "redox_syscall 0.3.5", ++ "windows-sys 0.48.0", ++] ++ ++[[package]] ++name = "normalize-line-endings" ++version = "0.3.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" ++ ++[[package]] ++name = "os_pipe" ++version = "1.1.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "0ae859aa07428ca9a929b936690f8b12dc5f11dd8c6992a18ca93919f28bc177" ++dependencies = [ ++ "libc", ++ "windows-sys 0.48.0", ++] ++ ++[[package]] ++name = "similar" ++version = "2.2.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "62ac7f900db32bf3fd12e0117dd3dc4da74bc52ebaac97f39668446d89694803" ++ ++ ++[[package]] ++name = "snapbox-macros" ++version = "0.3.7" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "78ccde059aad940984ff696fe8c280900f7ea71a6fb45fce65071a3f2c40b667" ++dependencies = [ ++ "anstream", ++] ++ ++[[package]] ++name = "tempfile" ++version = "3.9.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "350b9cf31731f9957399229e9b2adc51eeabdfbe9d71d9a0552275fd12710d09" ++checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa" + dependencies = [ +- "os_str_bytes", ++ "cfg-if", ++ "fastrand", ++ "redox_syscall 0.4.1", ++ "rustix 0.38.30", ++ "windows-sys 0.52.0", ++] ++ ++[[package]] ++name = "wait-timeout" ++version = "0.2.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" ++dependencies = [ ++ "libc", ++] ++ ++[[package]] ++name = "walkdir" ++version = "2.4.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" ++dependencies = [ ++ "same-file", ++ "winapi-util", + ] + + [[package]] ++name = "clap_lex" ++version = "0.7.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" ++ ++[[package]] + name = "cmake" + version = "0.1.49" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -464,12 +678,6 @@ + ] + + [[package]] +-name = "humantime" +-version = "2.1.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +- +-[[package]] + name = "idna" + version = "0.3.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -959,9 +1167,9 @@ + + [[package]] + name = "proc-macro2" +-version = "1.0.52" ++version = "1.0.70" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "1d0e1ae9e836cc3beddd63db0df682593d7e2d3d891ae8c9083d2113e1744224" ++checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b" + dependencies = [ + "unicode-ident", + ] +@@ -1199,9 +1407,9 @@ + + [[package]] + name = "strsim" +-version = "0.10.0" ++version = "0.11.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" ++checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" + + [[package]] + name = "strum_macros" +@@ -1468,7 +1676,25 @@ + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" + dependencies = [ +- "windows-targets", ++ "windows-targets 0.42.2", ++] ++ ++[[package]] ++name = "windows-sys" ++version = "0.48.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" ++dependencies = [ ++ "windows-targets 0.48.5", ++] ++ ++[[package]] ++name = "windows-sys" ++version = "0.52.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" ++dependencies = [ ++ "windows-targets 0.52.0", + ] + + [[package]] +@@ -1477,13 +1703,43 @@ + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" + dependencies = [ +- "windows_aarch64_gnullvm", +- "windows_aarch64_msvc", +- "windows_i686_gnu", +- "windows_i686_msvc", +- "windows_x86_64_gnu", +- "windows_x86_64_gnullvm", +- "windows_x86_64_msvc", ++ "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", ++] ++ ++[[package]] ++name = "windows-targets" ++version = "0.48.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" ++dependencies = [ ++ "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", ++] ++ ++[[package]] ++name = "windows-targets" ++version = "0.52.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" ++dependencies = [ ++ "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", + ] + + [[package]] +@@ -1493,42 +1749,126 @@ + checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + + [[package]] ++name = "windows_aarch64_gnullvm" ++version = "0.48.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" ++ ++[[package]] ++name = "windows_aarch64_gnullvm" ++version = "0.52.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" ++ ++[[package]] + name = "windows_aarch64_msvc" + version = "0.42.2" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + + [[package]] ++name = "windows_aarch64_msvc" ++version = "0.48.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" ++ ++[[package]] ++name = "windows_aarch64_msvc" ++version = "0.52.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" ++ ++[[package]] + name = "windows_i686_gnu" + version = "0.42.2" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + + [[package]] ++name = "windows_i686_gnu" ++version = "0.48.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" ++ ++[[package]] ++name = "windows_i686_gnu" ++version = "0.52.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" ++ ++[[package]] + name = "windows_i686_msvc" + version = "0.42.2" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + + [[package]] ++name = "windows_i686_msvc" ++version = "0.48.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" ++ ++[[package]] ++name = "windows_i686_msvc" ++version = "0.52.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" ++ ++[[package]] + name = "windows_x86_64_gnu" + version = "0.42.2" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + + [[package]] ++name = "windows_x86_64_gnu" ++version = "0.48.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" ++ ++[[package]] ++name = "windows_x86_64_gnu" ++version = "0.52.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" ++ ++[[package]] + name = "windows_x86_64_gnullvm" + version = "0.42.2" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + + [[package]] ++name = "windows_x86_64_gnullvm" ++version = "0.48.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" ++ ++[[package]] ++name = "windows_x86_64_gnullvm" ++version = "0.52.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" ++ ++[[package]] + name = "windows_x86_64_msvc" + version = "0.42.2" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + + [[package]] ++name = "windows_x86_64_msvc" ++version = "0.48.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" ++ ++[[package]] ++name = "windows_x86_64_msvc" ++version = "0.52.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" ++ ++[[package]] + name = "zune-inflate" + version = "0.2.51" + source = "registry+https://github.com/rust-lang/crates.io-index" 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 index 1bb5846fed4..9e8668e6a50 100644 --- 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 @@ -25,9 +25,6 @@ dependencies = [('ncurses', '6.2')] preconfigopts = "autoconf && " -# configure is broken: add workaround to find libncurses... -configure_cmd_prefix = "FRONTEND_LDADD='-L${EBROOTNCURSES}/lib' " - sanity_check_paths = { 'files': ['bin/lame', 'include/lame/lame.h', 'lib/libmp3lame.%s' % SHLIB_EXT], 'dirs': [], 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 index f067051ffe7..5efdefb761f 100644 --- 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 @@ -25,9 +25,6 @@ dependencies = [('ncurses', '6.3')] preconfigopts = "autoconf && " -# configure is broken: add workaround to find libncurses... -configure_cmd_prefix = "FRONTEND_LDADD='-L${EBROOTNCURSES}/lib' " - sanity_check_paths = { 'files': ['bin/lame', 'include/lame/lame.h', 'lib/libmp3lame.%s' % SHLIB_EXT], 'dirs': [], 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 index 4008e0b3455..7d4bae408d5 100644 --- 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 @@ -25,9 +25,6 @@ dependencies = [('ncurses', '6.3')] preconfigopts = "autoconf && " -# configure is broken: add workaround to find libncurses... -configure_cmd_prefix = "FRONTEND_LDADD='-L${EBROOTNCURSES}/lib' " - sanity_check_paths = { 'files': ['bin/lame', 'include/lame/lame.h', 'lib/libmp3lame.%s' % SHLIB_EXT], 'dirs': [], 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 index 4573d76f947..a4c7dbd4278 100644 --- 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 @@ -25,9 +25,6 @@ dependencies = [('ncurses', '6.4')] preconfigopts = "autoconf && " -# configure is broken: add workaround to find libncurses... -configure_cmd_prefix = "FRONTEND_LDADD='-L${EBROOTNCURSES}/lib' " - sanity_check_paths = { 'files': ['bin/lame', 'include/lame/lame.h', 'lib/libmp3lame.%s' % SHLIB_EXT], 'dirs': [], 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 index 7b163dff699..1bffb9a1939 100644 --- 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 @@ -25,9 +25,6 @@ dependencies = [('ncurses', '6.4')] preconfigopts = "autoconf && " -# configure is broken: add workaround to find libncurses... -configure_cmd_prefix = "FRONTEND_LDADD='-L${EBROOTNCURSES}/lib' " - sanity_check_paths = { 'files': ['bin/lame', 'include/lame/lame.h', 'lib/libmp3lame.%s' % SHLIB_EXT], 'dirs': [], 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-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/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/LASTZ/LASTZ-1.04.22-GCC-12.3.0.eb b/easybuild/easyconfigs/l/LASTZ/LASTZ-1.04.22-GCC-12.3.0.eb new file mode 100644 index 00000000000..bd9b31a13ac --- /dev/null +++ b/easybuild/easyconfigs/l/LASTZ/LASTZ-1.04.22-GCC-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'LASTZ' +version = '1.04.22' + +homepage = 'https://github.com/lastz/lastz' +description = """ LASTZ is a program for aligning DNA sequences, a pairwise aligner. Originally designed to handle + sequences the size of human chromosomes and from different species, it is also useful for sequences produced by NGS + sequencing technologies such as Roche 454. +""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['4c829603ba4aed7ddf64255b528cd88850e4557382fca29580d3576c25c5054a'] + +skipsteps = ['configure'] + +buildopts = "allowBackToBackGaps=ON" + +installopts = 'installDir=%(installdir)s/bin' + +sanity_check_paths = { + 'files': ['bin/lastz', 'bin/lastz_D'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/LDC/LDC-1.36.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/LDC/LDC-1.36.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..9446457c803 --- /dev/null +++ b/easybuild/easyconfigs/l/LDC/LDC-1.36.0-GCCcore-12.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeNinja' + +name = 'LDC' +version = '1.36.0' + +homepage = 'https://wiki.dlang.org/LDC' +description = "The LLVM-based D Compiler" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/ldc-developers/ldc/releases/download/v%(version)s'] +sources = ['ldc-%(version)s-src.tar.gz'] +checksums = ['a00c79073123a887c17f446c7782a49556a3512a3d35ab676b7d53ae1bb8d6ef'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), + ('Ninja', '1.11.1'), + # building LDC from source requires LDC + ('LDC', '1.24.0', '-%(arch)s', SYSTEM), +] + +dependencies = [ + ('LLVM', '16.0.6'), +] + +configopts = "-DLLVM_ROOT_DIR=$EBROOTLLVM" + +sanity_check_paths = { + 'files': ['bin/ldc2', 'bin/ldmd2'], + 'dirs': ['include/d', 'lib'], +} + +sanity_check_commands = [ + "ldc2 --help", + "ldmd2 --help", +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/l/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/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/LERC/LERC-4.0.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/LERC/LERC-4.0.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..f4d5e9a50be --- /dev/null +++ b/easybuild/easyconfigs/l/LERC/LERC-4.0.0-GCCcore-13.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': '13.3.0'} + +source_urls = ['https://github.com/Esri/lerc/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['91431c2b16d0e3de6cbaea188603359f87caed08259a645fd5a3805784ee30a0'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.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/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/LIME/LIME-1.3.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/LIME/LIME-1.3.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..11dbbfa5025 --- /dev/null +++ b/easybuild/easyconfigs/l/LIME/LIME-1.3.2-GCCcore-12.3.0.eb @@ -0,0 +1,53 @@ +easyblock = 'ConfigureMake' + +name = "LIME" +version = "1.3.2" + +homepage = "http://usqcd-software.github.io/c-lime/" +description = """LIME (which can stand for Lattice QCD Interchange Message Encapsulation or more generally, +Large Internet Message Encapsulation) is a simple packaging scheme for combining records containing ASCII +and/or binary data. Its ancestors are the Unix cpio and tar formats and the Microsoft Corporation DIME +(Direct Internet Message Encapsulation) format. It is simpler and allows record sizes up to $2^{63}$ bytes, +making chunking unnecessary for the foreseeable future. Unlike tar and cpio, the records are not associated +with Unix files. They are identified only by a record-type (LIME type) character string, analogous to the +familiar MIME application type. The LIME software package consists of a C-language API for creating, reading, +writing, and manipulating LIME files and a small set of utilities for examining, packing and unpacking LIME files.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40') +] + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://usqcd-software.github.io/downloads/c-lime/'] + +checksums = ['db5c07a72a152244f94a84c8bcc7395ec6fa084b8979ca1c8788b99a2870c881'] + +buildopts = "all" + +sanity_check_paths = { + 'files': [ + "bin/lime_pack", + "bin/lime_unpack", + "bin/lime_contents", + "bin/lime_extract_record", + "bin/lime_extract_type", + "lib/liblime.a", + "include/dcap-overload.h", + "include/lime_binary_header.h", + "include/lime_config.h", + "include/lime_config_internal.h", + "include/lime_defs.h", + "include/lime_fixed_types.h", + "include/lime_fseeko.h", + "include/lime.h", + "include/lime_header.h", + "include/lime_reader.h", + "include/lime_utils.h", + "include/lime_writer.h", + ], + 'dirs': [], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/l/LIME/LIME-1.3.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/LIME/LIME-1.3.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..cd8ac72a902 --- /dev/null +++ b/easybuild/easyconfigs/l/LIME/LIME-1.3.2-GCCcore-13.2.0.eb @@ -0,0 +1,53 @@ +easyblock = 'ConfigureMake' + +name = "LIME" +version = "1.3.2" + +homepage = "http://usqcd-software.github.io/c-lime/" +description = """LIME (which can stand for Lattice QCD Interchange Message Encapsulation or more generally, +Large Internet Message Encapsulation) is a simple packaging scheme for combining records containing ASCII +and/or binary data. Its ancestors are the Unix cpio and tar formats and the Microsoft Corporation DIME +(Direct Internet Message Encapsulation) format. It is simpler and allows record sizes up to $2^{63}$ bytes, +making chunking unnecessary for the foreseeable future. Unlike tar and cpio, the records are not associated +with Unix files. They are identified only by a record-type (LIME type) character string, analogous to the +familiar MIME application type. The LIME software package consists of a C-language API for creating, reading, +writing, and manipulating LIME files and a small set of utilities for examining, packing and unpacking LIME files.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40') +] + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://usqcd-software.github.io/downloads/c-lime/'] + +checksums = ['db5c07a72a152244f94a84c8bcc7395ec6fa084b8979ca1c8788b99a2870c881'] + +buildopts = "all" + +sanity_check_paths = { + 'files': [ + "bin/lime_pack", + "bin/lime_unpack", + "bin/lime_contents", + "bin/lime_extract_record", + "bin/lime_extract_type", + "lib/liblime.a", + "include/dcap-overload.h", + "include/lime_binary_header.h", + "include/lime_config.h", + "include/lime_config_internal.h", + "include/lime_defs.h", + "include/lime_fixed_types.h", + "include/lime_fseeko.h", + "include/lime.h", + "include/lime_header.h", + "include/lime_reader.h", + "include/lime_utils.h", + "include/lime_writer.h", + ], + 'dirs': [], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/l/LIME/LIME-1.3.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/LIME/LIME-1.3.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..d36f23151c8 --- /dev/null +++ b/easybuild/easyconfigs/l/LIME/LIME-1.3.2-GCCcore-13.3.0.eb @@ -0,0 +1,53 @@ +easyblock = 'ConfigureMake' + +name = "LIME" +version = "1.3.2" + +homepage = "http://usqcd-software.github.io/c-lime/" +description = """LIME (which can stand for Lattice QCD Interchange Message Encapsulation or more generally, +Large Internet Message Encapsulation) is a simple packaging scheme for combining records containing ASCII +and/or binary data. Its ancestors are the Unix cpio and tar formats and the Microsoft Corporation DIME +(Direct Internet Message Encapsulation) format. It is simpler and allows record sizes up to $2^{63}$ bytes, +making chunking unnecessary for the foreseeable future. Unlike tar and cpio, the records are not associated +with Unix files. They are identified only by a record-type (LIME type) character string, analogous to the +familiar MIME application type. The LIME software package consists of a C-language API for creating, reading, +writing, and manipulating LIME files and a small set of utilities for examining, packing and unpacking LIME files.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +builddependencies = [ + ('binutils', '2.42') +] + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://usqcd-software.github.io/downloads/c-lime/'] + +checksums = ['db5c07a72a152244f94a84c8bcc7395ec6fa084b8979ca1c8788b99a2870c881'] + +buildopts = "all" + +sanity_check_paths = { + 'files': [ + "bin/lime_pack", + "bin/lime_unpack", + "bin/lime_contents", + "bin/lime_extract_record", + "bin/lime_extract_type", + "lib/liblime.a", + "include/dcap-overload.h", + "include/lime_binary_header.h", + "include/lime_config.h", + "include/lime_config_internal.h", + "include/lime_defs.h", + "include/lime_fixed_types.h", + "include/lime_fseeko.h", + "include/lime.h", + "include/lime_header.h", + "include/lime_reader.h", + "include/lime_utils.h", + "include/lime_writer.h", + ], + 'dirs': [], +} + +moduleclass = 'phys' 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-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/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/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.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/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/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/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/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 index 35889241c08..cf2d0aace66 100644 --- 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 @@ -47,6 +47,6 @@ sanity_check_paths = { 'dirs': ['lib/python%(pyshortver)s/site-packages'], } -sanity_check_commands = ["pip check"] +sanity_check_commands = ["PIP_DISABLE_PIP_VERSION_CHECK=true python -s -m 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/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/LibTIFF/LibTIFF-4.1.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.1.0-GCCcore-10.2.0.eb index f5661b09387..9e430cbd05e 100644 --- a/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.1.0-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.1.0-GCCcore-10.2.0.eb @@ -37,7 +37,7 @@ dependencies = [ ] configopts = "--enable-ld-version-script " -configopts += "--disable-webp --disable-libdeflate " +configopts += "--disable-webp " sanity_check_paths = { 'files': ['bin/tiffdump', 'bin/tiffinfo', 'include/tiff.h', 'lib/libtiff.a', 'lib/libtiff.%s' % SHLIB_EXT, diff --git a/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.1.0-GCCcore-8.3.0.eb b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.1.0-GCCcore-8.3.0.eb index 433c867d0d7..cea5f1c71e5 100644 --- a/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.1.0-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.1.0-GCCcore-8.3.0.eb @@ -37,7 +37,7 @@ dependencies = [ ] configopts = "--enable-ld-version-script " -configopts += "--disable-webp --disable-libdeflate " +configopts += "--disable-webp " sanity_check_paths = { 'files': ['bin/tiffdump', 'bin/tiffinfo', 'include/tiff.h', 'lib/libtiff.a', 'lib/libtiff.%s' % SHLIB_EXT, diff --git a/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.1.0-GCCcore-9.3.0.eb b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.1.0-GCCcore-9.3.0.eb index e6481f975cf..cf4eb2b08e9 100644 --- a/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.1.0-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.1.0-GCCcore-9.3.0.eb @@ -37,7 +37,7 @@ dependencies = [ ] configopts = "--enable-ld-version-script " -configopts += "--disable-webp --disable-libdeflate " +configopts += "--disable-webp " sanity_check_paths = { 'files': ['bin/tiffdump', 'bin/tiffinfo', 'include/tiff.h', 'lib/libtiff.a', 'lib/libtiff.%s' % SHLIB_EXT, diff --git a/easybuild/easyconfigs/l/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/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 index 316d77e98db..4a56e599763 100644 --- 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 @@ -20,11 +20,14 @@ 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 = [ - 'fd0466ce9eb6786b8c5bbe3d510e387ed44b198a163264dfd7e60b337e295fd9', # v2.7.2.tar.gz - 'b019e66a2a3dc7e83ee8a60aa1ae78955a8af4df90ab07b7e57d2ee004ce3677', # Libint-2.7.2_remove-test-permute.patch - '4dd7b2993b6fdebb57e5c14faa9bf46117ae42100c686ace82fe26b7cb0312ab', # Libint-2.7.2_remove-test-eri.patch + {'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 = [ 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 index 5ce194eec7a..cc27408e814 100644 --- 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 @@ -20,11 +20,14 @@ 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 = [ - 'fd0466ce9eb6786b8c5bbe3d510e387ed44b198a163264dfd7e60b337e295fd9', # v2.7.2.tar.gz - 'b019e66a2a3dc7e83ee8a60aa1ae78955a8af4df90ab07b7e57d2ee004ce3677', # Libint-2.7.2_remove-test-permute.patch - '4dd7b2993b6fdebb57e5c14faa9bf46117ae42100c686ace82fe26b7cb0312ab', # Libint-2.7.2_remove-test-eri.patch + {'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 = [ 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 index 6ff9830cca2..df4157f143d 100644 --- 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 @@ -20,11 +20,14 @@ 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 = [ - 'fd0466ce9eb6786b8c5bbe3d510e387ed44b198a163264dfd7e60b337e295fd9', # v2.7.2.tar.gz - 'b019e66a2a3dc7e83ee8a60aa1ae78955a8af4df90ab07b7e57d2ee004ce3677', # Libint-2.7.2_remove-test-permute.patch - '4dd7b2993b6fdebb57e5c14faa9bf46117ae42100c686ace82fe26b7cb0312ab', # Libint-2.7.2_remove-test-eri.patch + {'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 = [ 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/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 index b8c32471efc..36daa28511f 100644 --- a/easybuild/easyconfigs/l/LinBox/LinBox-1.7.0-gfbf-2022a.eb +++ b/easybuild/easyconfigs/l/LinBox/LinBox-1.7.0-gfbf-2022a.eb @@ -1,11 +1,5 @@ -## -# This file is an EasyBuild recipe; see https://github.com/easybuilders/easybuild -# # Copyright:: Copyright (c) 2016 Riccardo Murri -# Authors:: Riccardo Murri # License:: GPL -# -## easyblock = 'ConfigureMake' @@ -24,14 +18,14 @@ checksums = ['6d2159fd395be0298362dd37f6c696676237bc8e2757341fbc46520e3b466bcc'] dependencies = [ ('FFLAS-FFPACK', '2.5.0'), ('FLINT', '2.9.0'), - ('Givaro', '4.2.0'), ('IML', '1.0.5'), ('NTL', '11.5.1'), ] +builddependencies = [('pkgconf', '1.8.0')] -configopts = "--with-fflas-ffpack=$EBROOTFFLASMINFFPACK --with-flint=$EBROOTFLINT " -configopts += "--with-givaro=$EBROOTGIVARO --with-iml=$EBROOTIML --with-ntl=$EBROOTNTL " -configopts += "--enable-openmp --enable-shared " +configopts = "--with-flint=$EBROOTFLINT " +configopts += "--with-iml=$EBROOTIML --with-ntl=$EBROOTNTL " +configopts += "--enable-shared " sanity_check_paths = { 'files': ['bin/linbox-config', 'include/linbox/linbox-config.h'] + diff --git a/easybuild/easyconfigs/l/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.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/Longshot/Longshot-1.0.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/Longshot/Longshot-1.0.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..0a67a58490f --- /dev/null +++ b/easybuild/easyconfigs/l/Longshot/Longshot-1.0.0-GCCcore-12.3.0.eb @@ -0,0 +1,331 @@ +easyblock = 'Cargo' + +name = 'Longshot' +version = '1.0.0' + +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': '12.3.0'} + +crates = [ + ('addr2line', '0.24.2'), + ('adler2', '2.0.0'), + ('ahash', '0.7.8'), + ('aho-corasick', '1.1.3'), + ('android-tzdata', '0.1.1'), + ('android_system_properties', '0.1.5'), + ('ansi_term', '0.12.1'), + ('approx', '0.3.2'), + ('atty', '0.2.14'), + ('autocfg', '1.4.0'), + ('backtrace', '0.3.74'), + ('bio', '0.25.0'), + ('bio-types', '1.0.4'), + ('bit-set', '0.5.3'), + ('bit-vec', '0.6.3'), + ('bitflags', '1.3.2'), + ('bumpalo', '3.16.0'), + ('bv', '0.10.0'), + ('bytecount', '0.3.2'), + ('byteorder', '1.5.0'), + ('bzip2-sys', '0.1.11+1.0.8'), + ('cc', '1.1.30'), + ('cfg-if', '1.0.0'), + ('chrono', '0.4.38'), + ('clap', '2.34.0'), + ('cmake', '0.1.51'), + ('core-foundation-sys', '0.8.7'), + ('csv', '1.3.0'), + ('csv-core', '0.1.11'), + ('curl-sys', '0.4.77+curl-8.10.1'), + ('custom_derive', '0.1.7'), + ('derive-new', '0.5.9'), + ('derive-new', '0.6.0'), + ('either', '1.13.0'), + ('error-chain', '0.12.4'), + ('feature-probe', '0.1.1'), + ('fishers_exact', '1.0.1'), + ('fnv', '1.0.7'), + ('form_urlencoded', '1.2.1'), + ('fs-utils', '1.1.4'), + ('fuchsia-cprng', '0.1.1'), + ('fxhash', '0.2.1'), + ('getrandom', '0.2.15'), + ('gimli', '0.31.1'), + ('glob', '0.3.1'), + ('hashbrown', '0.11.2'), + ('heck', '0.5.0'), + ('hermit-abi', '0.1.19'), + ('hts-sys', '2.1.4'), + ('iana-time-zone', '0.1.61'), + ('iana-time-zone-haiku', '0.1.2'), + ('idna', '0.5.0'), + ('ieee754', '0.2.6'), + ('itertools', '0.7.11'), + ('itertools-num', '0.1.3'), + ('itoa', '1.0.11'), + ('jobserver', '0.1.32'), + ('js-sys', '0.3.72'), + ('lazy_static', '1.5.0'), + ('libc', '0.2.159'), + ('libz-sys', '1.1.20'), + ('linear-map', '1.2.0'), + ('log', '0.4.22'), + ('lzma-sys', '0.1.20'), + ('matrixmultiply', '0.1.15'), + ('memchr', '2.7.4'), + ('miniz_oxide', '0.8.0'), + ('multimap', '0.4.0'), + ('ndarray', '0.12.1'), + ('newtype_derive', '0.1.6'), + ('num-complex', '0.2.4'), + ('num-integer', '0.1.46'), + ('num-traits', '0.2.19'), + ('object', '0.36.5'), + ('once_cell', '1.20.2'), + ('openssl-src', '300.3.2+3.3.2'), + ('openssl-sys', '0.9.104'), + ('ordered-float', '1.1.1'), + ('percent-encoding', '2.3.1'), + ('pkg-config', '0.3.31'), + ('ppv-lite86', '0.2.20'), + ('proc-macro2', '1.0.88'), + ('quick-error', '1.2.3'), + ('quote', '1.0.37'), + ('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.11.0'), + ('regex-automata', '0.4.8'), + ('regex-syntax', '0.8.5'), + ('rust-htslib', '0.38.2'), + ('rustc-demangle', '0.1.24'), + ('rustc_version', '0.1.7'), + ('rustversion', '1.0.18'), + ('ryu', '1.0.18'), + ('semver', '0.1.20'), + ('serde', '1.0.210'), + ('serde_derive', '1.0.210'), + ('shlex', '1.3.0'), + ('statrs', '0.9.0'), + ('strsim', '0.8.0'), + ('strum_macros', '0.26.4'), + ('syn', '1.0.109'), + ('syn', '2.0.79'), + ('textwrap', '0.11.0'), + ('thiserror', '1.0.64'), + ('thiserror-impl', '1.0.64'), + ('tinyvec', '1.8.0'), + ('tinyvec_macros', '0.1.1'), + ('unicode-bidi', '0.3.17'), + ('unicode-ident', '1.0.13'), + ('unicode-normalization', '0.1.24'), + ('unicode-width', '0.1.14'), + ('url', '2.5.2'), + ('vcpkg', '0.2.15'), + ('vec_map', '0.8.2'), + ('version_check', '0.9.5'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('wasm-bindgen', '0.2.95'), + ('wasm-bindgen-backend', '0.2.95'), + ('wasm-bindgen-macro', '0.2.95'), + ('wasm-bindgen-macro-support', '0.2.95'), + ('wasm-bindgen-shared', '0.2.95'), + ('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.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'), + ('zerocopy', '0.7.35'), + ('zerocopy-derive', '0.7.35'), +] +source_urls = ['https://github.com/pjedge/longshot/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = [ + {'v1.0.0.tar.gz': 'f6981892beb966eef40986c46928301dec1fef38591cc291e00a546f9866c5e2'}, + {'addr2line-0.24.2.tar.gz': 'dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1'}, + {'adler2-2.0.0.tar.gz': '512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627'}, + {'ahash-0.7.8.tar.gz': '891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9'}, + {'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'}, + {'ansi_term-0.12.1.tar.gz': 'd52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2'}, + {'approx-0.3.2.tar.gz': 'f0e60b75072ecd4168020818c0107f2857bb6c4e64252d8d3983f6263b40a5c3'}, + {'atty-0.2.14.tar.gz': 'd9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8'}, + {'autocfg-1.4.0.tar.gz': 'ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26'}, + {'backtrace-0.3.74.tar.gz': '8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a'}, + {'bio-0.25.0.tar.gz': '83fb5223acf893048c6ad04e325eee1233882e76687615bf0d43a6dd9b8d6cc1'}, + {'bio-types-1.0.4.tar.gz': 'f4dcf54f8b7f51450207d54780bab09c05f30b8b0caa991545082842e466ad7e'}, + {'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.16.0.tar.gz': '79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c'}, + {'bv-0.10.0.tar.gz': '0d6ef54f583d35d34319ac74510aa2136929e97db601660b250178e7e68b1be4'}, + {'bytecount-0.3.2.tar.gz': 'f861d9ce359f56dbcb6e0c2a1cb84e52ad732cadb57b806adeb3c7668caccbd8'}, + {'byteorder-1.5.0.tar.gz': '1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b'}, + {'bzip2-sys-0.1.11+1.0.8.tar.gz': '736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc'}, + {'cc-1.1.30.tar.gz': 'b16803a61b81d9eabb7eae2588776c4c1e584b738ede45fdbb4c972cec1e9945'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'chrono-0.4.38.tar.gz': 'a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401'}, + {'clap-2.34.0.tar.gz': 'a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c'}, + {'cmake-0.1.51.tar.gz': 'fb1e43aa7fd152b1f968787f7dbcdeb306d1867ff373c69955211876c053f91a'}, + {'core-foundation-sys-0.8.7.tar.gz': '773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b'}, + {'csv-1.3.0.tar.gz': 'ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe'}, + {'csv-core-0.1.11.tar.gz': '5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70'}, + {'curl-sys-0.4.77+curl-8.10.1.tar.gz': 'f469e8a5991f277a208224f6c7ad72ecb5f986e36d09ae1f2c1bb9259478a480'}, + {'custom_derive-0.1.7.tar.gz': 'ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a01b9'}, + {'derive-new-0.5.9.tar.gz': '3418329ca0ad70234b9735dc4ceed10af4df60eff9c8e7b06cb5e520d92c3535'}, + {'derive-new-0.6.0.tar.gz': 'd150dea618e920167e5973d70ae6ece4385b7164e0d799fe7c122dd0a5d912ad'}, + {'either-1.13.0.tar.gz': '60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0'}, + {'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.2.1.tar.gz': 'e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456'}, + {'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.15.tar.gz': 'c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7'}, + {'gimli-0.31.1.tar.gz': '07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f'}, + {'glob-0.3.1.tar.gz': 'd2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b'}, + {'hashbrown-0.11.2.tar.gz': 'ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e'}, + {'heck-0.5.0.tar.gz': '2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea'}, + {'hermit-abi-0.1.19.tar.gz': '62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33'}, + {'hts-sys-2.1.4.tar.gz': 'e9f348d14cb4e50444e39fcd6b00302fe2ed2bc88094142f6278391d349a386d'}, + {'iana-time-zone-0.1.61.tar.gz': '235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220'}, + {'iana-time-zone-haiku-0.1.2.tar.gz': 'f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f'}, + {'idna-0.5.0.tar.gz': '634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6'}, + {'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.11.tar.gz': '49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b'}, + {'jobserver-0.1.32.tar.gz': '48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0'}, + {'js-sys-0.3.72.tar.gz': '6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9'}, + {'lazy_static-1.5.0.tar.gz': 'bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe'}, + {'libc-0.2.159.tar.gz': '561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5'}, + {'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'}, + {'matrixmultiply-0.1.15.tar.gz': 'dcad67dcec2d58ff56f6292582377e6921afdf3bfbd533e26fb8900ae575e002'}, + {'memchr-2.7.4.tar.gz': '78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3'}, + {'miniz_oxide-0.8.0.tar.gz': 'e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1'}, + {'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.46.tar.gz': '7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f'}, + {'num-traits-0.2.19.tar.gz': '071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841'}, + {'object-0.36.5.tar.gz': 'aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e'}, + {'once_cell-1.20.2.tar.gz': '1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775'}, + {'openssl-src-300.3.2+3.3.2.tar.gz': 'a211a18d945ef7e648cc6e0058f4c548ee46aab922ea203e0d30e966ea23647b'}, + {'openssl-sys-0.9.104.tar.gz': '45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741'}, + {'ordered-float-1.1.1.tar.gz': '3305af35278dd29f46fcdd139e0b1fbfae2153f0e5928b39b035542dd31e37b7'}, + {'percent-encoding-2.3.1.tar.gz': 'e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e'}, + {'pkg-config-0.3.31.tar.gz': '953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2'}, + {'ppv-lite86-0.2.20.tar.gz': '77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04'}, + {'proc-macro2-1.0.88.tar.gz': '7c3a7fc5db1e57d5a779a352c8cdb57b29aa4c40cc69c3a68a7fedc815fbf2f9'}, + {'quick-error-1.2.3.tar.gz': 'a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0'}, + {'quote-1.0.37.tar.gz': 'b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af'}, + {'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.11.0.tar.gz': '38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8'}, + {'regex-automata-0.4.8.tar.gz': '368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3'}, + {'regex-syntax-0.8.5.tar.gz': '2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c'}, + {'rust-htslib-0.38.2.tar.gz': '2aca6626496389f6e015e25433b85e2895ad3644b44de91167d847bf2d8c1a1c'}, + {'rustc-demangle-0.1.24.tar.gz': '719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f'}, + {'rustc_version-0.1.7.tar.gz': 'c5f5376ea5e30ce23c03eb77cbe4962b988deead10910c372b226388b594c084'}, + {'rustversion-1.0.18.tar.gz': '0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248'}, + {'ryu-1.0.18.tar.gz': 'f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f'}, + {'semver-0.1.20.tar.gz': 'd4f410fedcf71af0345d7607d246e7ad15faaadd49d240ee3b24e5dc21a820ac'}, + {'serde-1.0.210.tar.gz': 'c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a'}, + {'serde_derive-1.0.210.tar.gz': '243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f'}, + {'shlex-1.3.0.tar.gz': '0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64'}, + {'statrs-0.9.0.tar.gz': '7d8c8660e3867d1a0578cbf7fd9532f1368b7460bd00b080e2d4669618a9bec7'}, + {'strsim-0.8.0.tar.gz': '8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a'}, + {'strum_macros-0.26.4.tar.gz': '4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be'}, + {'syn-1.0.109.tar.gz': '72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237'}, + {'syn-2.0.79.tar.gz': '89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590'}, + {'textwrap-0.11.0.tar.gz': 'd326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060'}, + {'thiserror-1.0.64.tar.gz': 'd50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84'}, + {'thiserror-impl-1.0.64.tar.gz': '08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3'}, + {'tinyvec-1.8.0.tar.gz': '445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938'}, + {'tinyvec_macros-0.1.1.tar.gz': '1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20'}, + {'unicode-bidi-0.3.17.tar.gz': '5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893'}, + {'unicode-ident-1.0.13.tar.gz': 'e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe'}, + {'unicode-normalization-0.1.24.tar.gz': '5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956'}, + {'unicode-width-0.1.14.tar.gz': '7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af'}, + {'url-2.5.2.tar.gz': '22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c'}, + {'vcpkg-0.2.15.tar.gz': 'accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426'}, + {'vec_map-0.8.2.tar.gz': 'f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191'}, + {'version_check-0.9.5.tar.gz': '0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a'}, + {'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}, + {'wasm-bindgen-0.2.95.tar.gz': '128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e'}, + {'wasm-bindgen-backend-0.2.95.tar.gz': 'cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358'}, + {'wasm-bindgen-macro-0.2.95.tar.gz': 'e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56'}, + {'wasm-bindgen-macro-support-0.2.95.tar.gz': '26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68'}, + {'wasm-bindgen-shared-0.2.95.tar.gz': '65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d'}, + {'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.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'}, + {'zerocopy-0.7.35.tar.gz': '1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0'}, + {'zerocopy-derive-0.7.35.tar.gz': 'fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('Rust', '1.75.0'), + ('Clang', '16.0.6'), + ('Perl', '5.36.1'), + ('CMake', '3.26.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/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/Lua/Lua-5.4.7-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/Lua/Lua-5.4.7-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..98e622129cd --- /dev/null +++ b/easybuild/easyconfigs/l/Lua/Lua-5.4.7-GCCcore-13.3.0.eb @@ -0,0 +1,28 @@ +name = 'Lua' +version = '5.4.7' + +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.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.%(namelower)s.org/ftp/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['9fbf5e28ef86c69858f6d3d34eccc32e911c1a28b4120ff3e84aaa70cfbf1e30'] + +builddependencies = [ + ('binutils', '2.42'), +] +dependencies = [ + ('ncurses', '6.5'), + ('libreadline', '8.2'), +] + + +moduleclass = 'lang' 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/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/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/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/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/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-12.2.0.eb b/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..bc29e5b97e7 --- /dev/null +++ b/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-12.2.0.eb @@ -0,0 +1,34 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'CMakeMake' + +name = 'libaec' +version = '1.0.6' + +homepage = 'https://gitlab.dkrz.de/k202009/libaec' +description = """Libaec provides fast lossless compression of 1 up to 32 bit wide signed or unsigned integers +(samples). The library achieves best results for low entropy data as often encountered in space imaging +instrument data or numerical model output from weather or climate simulations. While floating point representations +are not directly supported, they can also be efficiently coded by grouping exponents and mantissa.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://gitlab.dkrz.de/k202009/%(namelower)s/-/archive/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['abab8c237d85c982bb4d6bde9b03c1f3d611dcacbd58bca55afac2496d61d4be'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.39'), +] + + +sanity_check_paths = { + 'files': ['bin/aec', 'include/%(name)s.h', 'include/szlib.h', + 'lib/libaec.a', 'lib/libaec.%s' % SHLIB_EXT], + 'dirs': ['share/man'], +} + +sanity_check_commands = ['aec --help'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..c458b8ac411 --- /dev/null +++ b/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-13.2.0.eb @@ -0,0 +1,34 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'CMakeMake' + +name = 'libaec' +version = '1.0.6' + +homepage = 'https://gitlab.dkrz.de/k202009/libaec' +description = """Libaec provides fast lossless compression of 1 up to 32 bit wide signed or unsigned integers +(samples). The library achieves best results for low entropy data as often encountered in space imaging +instrument data or numerical model output from weather or climate simulations. While floating point representations +are not directly supported, they can also be efficiently coded by grouping exponents and mantissa.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://gitlab.dkrz.de/k202009/%(namelower)s/-/archive/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['abab8c237d85c982bb4d6bde9b03c1f3d611dcacbd58bca55afac2496d61d4be'] + +builddependencies = [ + ('CMake', '3.27.6'), + ('binutils', '2.40'), +] + + +sanity_check_paths = { + 'files': ['bin/aec', 'include/%(name)s.h', 'include/szlib.h', + 'lib/libaec.a', 'lib/libaec.%s' % SHLIB_EXT], + 'dirs': ['share/man'], +} + +sanity_check_commands = ['aec --help'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/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/libaio/libaio-0.3.113-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libaio/libaio-0.3.113-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..b76bc3cecc4 --- /dev/null +++ b/easybuild/easyconfigs/l/libaio/libaio-0.3.113-GCCcore-13.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': '13.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.42')] + +_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.6.0_fix-tar-error-reporting.patch b/easybuild/easyconfigs/l/libarchive/libarchive-3.6.0_fix-tar-error-reporting.patch new file mode 100644 index 00000000000..57857d416a2 --- /dev/null +++ b/easybuild/easyconfigs/l/libarchive/libarchive-3.6.0_fix-tar-error-reporting.patch @@ -0,0 +1,27 @@ +see https://github.com/libarchive/libarchive/pull/2101 +From e200fd8abfb4cf895a1cab4d89b67e6eefe83942 Mon Sep 17 00:00:00 2001 +From: Ed Maste +Date: Fri, 29 Mar 2024 16:38:11 -0400 +Subject: [PATCH] tar: make error reporting more robust and use correct errno + +As discussed in #1609. +--- + tar/read.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/tar/read.c b/tar/read.c +index af3d3f423..a7f14a07b 100644 +--- a/tar/read.c ++++ b/tar/read.c +@@ -371,8 +371,9 @@ read_archive(struct bsdtar *bsdtar, char mode, struct archive *writer) + if (r != ARCHIVE_OK) { + if (!bsdtar->verbose) + safe_fprintf(stderr, "%s", archive_entry_pathname(entry)); +- fprintf(stderr, ": %s: ", archive_error_string(a)); +- fprintf(stderr, "%s", strerror(errno)); ++ safe_fprintf(stderr, ": %s: %s", ++ archive_error_string(a), ++ strerror(archive_errno(a))); + if (!bsdtar->verbose) + fprintf(stderr, "\n"); + bsdtar->return_value = 1; diff --git a/easybuild/easyconfigs/l/libarchive/libarchive-3.6.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libarchive/libarchive-3.6.1-GCCcore-11.3.0.eb index 2f0d0841e1b..770e79b1663 100644 --- a/easybuild/easyconfigs/l/libarchive/libarchive-3.6.1-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/l/libarchive/libarchive-3.6.1-GCCcore-11.3.0.eb @@ -13,7 +13,12 @@ toolchain = {'name': 'GCCcore', 'version': '11.3.0'} source_urls = ['https://www.libarchive.org/downloads/'] sources = [SOURCE_TAR_GZ] -checksums = ['c676146577d989189940f1959d9e3980d28513d74eedfbc6b7f15ea45fe54ee2'] +patches = ['libarchive-3.6.0_fix-tar-error-reporting.patch'] +checksums = [ + {'libarchive-3.6.1.tar.gz': 'c676146577d989189940f1959d9e3980d28513d74eedfbc6b7f15ea45fe54ee2'}, + {'libarchive-3.6.0_fix-tar-error-reporting.patch': + 'cf11f2d6e403cbb700f8ad1f67141f2a54884fa25e07d6a7919b0b6865d2cba2'}, +] builddependencies = [ ('binutils', '2.38'), diff --git a/easybuild/easyconfigs/l/libarchive/libarchive-3.6.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libarchive/libarchive-3.6.1-GCCcore-12.2.0.eb index 8cc05cbcb01..aa2a9c42b8d 100644 --- a/easybuild/easyconfigs/l/libarchive/libarchive-3.6.1-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/l/libarchive/libarchive-3.6.1-GCCcore-12.2.0.eb @@ -13,7 +13,12 @@ toolchain = {'name': 'GCCcore', 'version': '12.2.0'} source_urls = ['https://www.libarchive.org/downloads/'] sources = [SOURCE_TAR_GZ] -checksums = ['c676146577d989189940f1959d9e3980d28513d74eedfbc6b7f15ea45fe54ee2'] +patches = ['libarchive-3.6.0_fix-tar-error-reporting.patch'] +checksums = [ + {'libarchive-3.6.1.tar.gz': 'c676146577d989189940f1959d9e3980d28513d74eedfbc6b7f15ea45fe54ee2'}, + {'libarchive-3.6.0_fix-tar-error-reporting.patch': + 'cf11f2d6e403cbb700f8ad1f67141f2a54884fa25e07d6a7919b0b6865d2cba2'}, +] builddependencies = [ ('binutils', '2.39'), diff --git a/easybuild/easyconfigs/l/libarchive/libarchive-3.6.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libarchive/libarchive-3.6.2-GCCcore-12.3.0.eb index 3126faae1c5..0e1fd34ce1f 100644 --- a/easybuild/easyconfigs/l/libarchive/libarchive-3.6.2-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/l/libarchive/libarchive-3.6.2-GCCcore-12.3.0.eb @@ -13,7 +13,12 @@ toolchain = {'name': 'GCCcore', 'version': '12.3.0'} source_urls = ['https://www.libarchive.org/downloads/'] sources = [SOURCE_TAR_GZ] -checksums = ['ba6d02f15ba04aba9c23fd5f236bb234eab9d5209e95d1c4df85c44d5f19b9b3'] +patches = ['libarchive-3.6.0_fix-tar-error-reporting.patch'] +checksums = [ + {'libarchive-3.6.2.tar.gz': 'ba6d02f15ba04aba9c23fd5f236bb234eab9d5209e95d1c4df85c44d5f19b9b3'}, + {'libarchive-3.6.0_fix-tar-error-reporting.patch': + 'cf11f2d6e403cbb700f8ad1f67141f2a54884fa25e07d6a7919b0b6865d2cba2'}, +] builddependencies = [ ('binutils', '2.40'), @@ -25,6 +30,8 @@ dependencies = [ ('OpenSSL', '1.1', '', SYSTEM), ] +postinstallcmds = ["sed -i 's/iconv//g' %(installdir)s/lib/pkgconfig/libarchive.pc"] + sanity_check_paths = { 'files': ['include/archive.h', 'lib/libarchive.%s' % SHLIB_EXT], 'dirs': ['bin', 'share/man/man3'], diff --git a/easybuild/easyconfigs/l/libarchive/libarchive-3.6.2-GCCcore-13.1.0.eb b/easybuild/easyconfigs/l/libarchive/libarchive-3.6.2-GCCcore-13.1.0.eb index f0260cb95ae..086b414eec2 100644 --- a/easybuild/easyconfigs/l/libarchive/libarchive-3.6.2-GCCcore-13.1.0.eb +++ b/easybuild/easyconfigs/l/libarchive/libarchive-3.6.2-GCCcore-13.1.0.eb @@ -13,7 +13,12 @@ toolchain = {'name': 'GCCcore', 'version': '13.1.0'} source_urls = ['https://www.libarchive.org/downloads/'] sources = [SOURCE_TAR_GZ] -checksums = ['ba6d02f15ba04aba9c23fd5f236bb234eab9d5209e95d1c4df85c44d5f19b9b3'] +patches = ['libarchive-3.6.0_fix-tar-error-reporting.patch'] +checksums = [ + {'libarchive-3.6.2.tar.gz': 'ba6d02f15ba04aba9c23fd5f236bb234eab9d5209e95d1c4df85c44d5f19b9b3'}, + {'libarchive-3.6.0_fix-tar-error-reporting.patch': + 'cf11f2d6e403cbb700f8ad1f67141f2a54884fa25e07d6a7919b0b6865d2cba2'}, +] builddependencies = [ ('binutils', '2.40'), diff --git a/easybuild/easyconfigs/l/libarchive/libarchive-3.7.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libarchive/libarchive-3.7.2-GCCcore-13.2.0.eb index c31b668a246..8cfed22355c 100644 --- a/easybuild/easyconfigs/l/libarchive/libarchive-3.7.2-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/l/libarchive/libarchive-3.7.2-GCCcore-13.2.0.eb @@ -13,7 +13,12 @@ toolchain = {'name': 'GCCcore', 'version': '13.2.0'} source_urls = ['https://www.libarchive.org/downloads/'] sources = [SOURCE_TAR_GZ] -checksums = ['df404eb7222cf30b4f8f93828677890a2986b66ff8bf39dac32a804e96ddf104'] +patches = ['libarchive-3.6.0_fix-tar-error-reporting.patch'] +checksums = [ + {'libarchive-3.7.2.tar.gz': 'df404eb7222cf30b4f8f93828677890a2986b66ff8bf39dac32a804e96ddf104'}, + {'libarchive-3.6.0_fix-tar-error-reporting.patch': + 'cf11f2d6e403cbb700f8ad1f67141f2a54884fa25e07d6a7919b0b6865d2cba2'}, +] builddependencies = [ ('binutils', '2.40'), diff --git a/easybuild/easyconfigs/l/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-foss-2021a.eb b/easybuild/easyconfigs/l/libavif/libavif-0.11.1-GCCcore-10.3.0.eb similarity index 91% rename from easybuild/easyconfigs/l/libavif/libavif-0.11.1-foss-2021a.eb rename to easybuild/easyconfigs/l/libavif/libavif-0.11.1-GCCcore-10.3.0.eb index 2f4ed93c1c9..7ff457a5456 100644 --- a/easybuild/easyconfigs/l/libavif/libavif-0.11.1-foss-2021a.eb +++ b/easybuild/easyconfigs/l/libavif/libavif-0.11.1-GCCcore-10.3.0.eb @@ -11,7 +11,7 @@ description = """This library aims to be a friendly, portable C implementation o as described here: https://aomediacodec.github.io/av1-avif/ """ -toolchain = {'name': 'foss', 'version': '2021a'} +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} source_urls = ['https://github.com/AOMediaCodec/libavif/archive/'] sources = ['v%(version)s.tar.gz'] @@ -19,9 +19,7 @@ checksums = ['0eb49965562a0e5e5de58389650d434cff32af84c34185b6c9b7b2fccae06d4e'] builddependencies = [ ('CMake', '3.20.1'), -] - -dependencies = [ + ('binutils', '2.36.1'), ('NASM', '2.15.05'), ('Meson', '0.58.0'), ('Ninja', '1.10.2'), 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 index 2d5b1cc7ab9..ac67210e4c9 100644 --- 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 @@ -20,9 +20,6 @@ checksums = ['0eb49965562a0e5e5de58389650d434cff32af84c34185b6c9b7b2fccae06d4e'] builddependencies = [ ('CMake', '3.23.1'), ('binutils', '2.38'), -] - -dependencies = [ ('NASM', '2.15.05'), ('Meson', '0.62.1'), ('Ninja', '1.10.2'), diff --git a/easybuild/easyconfigs/l/libavif/libavif-0.11.1-foss-2022a.eb b/easybuild/easyconfigs/l/libavif/libavif-1.0.4-GCCcore-12.3.0.eb similarity index 70% rename from easybuild/easyconfigs/l/libavif/libavif-0.11.1-foss-2022a.eb rename to easybuild/easyconfigs/l/libavif/libavif-1.0.4-GCCcore-12.3.0.eb index b34d2a8449b..149561be6b0 100644 --- a/easybuild/easyconfigs/l/libavif/libavif-0.11.1-foss-2022a.eb +++ b/easybuild/easyconfigs/l/libavif/libavif-1.0.4-GCCcore-12.3.0.eb @@ -4,28 +4,26 @@ easyblock = 'CMakeMake' name = 'libavif' -version = '0.11.1' +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': 'foss', 'version': '2022a'} +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} source_urls = ['https://github.com/AOMediaCodec/libavif/archive/'] sources = ['v%(version)s.tar.gz'] -checksums = ['0eb49965562a0e5e5de58389650d434cff32af84c34185b6c9b7b2fccae06d4e'] +checksums = ['dc56708c83a4b934a8af2b78f67f866ba2fb568605c7cf94312acf51ee57d146'] builddependencies = [ - ('CMake', '3.23.1'), -] - -dependencies = [ - ('NASM', '2.15.05'), - ('Meson', '0.62.1'), - ('Ninja', '1.10.2'), - ('Rust', '1.60.0'), + ('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 = { 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-2.4-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libcerf/libcerf-2.4-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..2714c4d2765 --- /dev/null +++ b/easybuild/easyconfigs/l/libcerf/libcerf-2.4-GCCcore-13.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'libcerf' +version = '2.4' + +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': '13.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 = ['080b30ae564c3dabe3b89264522adaf5647ec754021572bee54929697b276cdc'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), + ('Perl', '5.38.2'), # required for pod2html +] + +sanity_check_paths = { + 'files': ['lib/libcerf.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'math' 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.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-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/libcroco/libcroco-0.6.13-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libcroco/libcroco-0.6.13-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..21b015fd6ed --- /dev/null +++ b/easybuild/easyconfigs/l/libcroco/libcroco-0.6.13-GCCcore-13.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libcroco' +version = '0.6.13' + +homepage = 'https://gitlab.gnome.org/Archive/libcroco' +description = """Libcroco is a standalone css2 parsing and manipulation library.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://download.gnome.org/sources/libcroco/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['767ec234ae7aa684695b3a735548224888132e063f92db585759b422570621d4'] + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), +] + +dependencies = [ + ('zlib', '1.3.1'), + ('libxml2', '2.12.7'), + ('GLib', '2.80.4'), +] + +sanity_check_paths = { + 'files': ['bin/csslint-%(version_major_minor)s', 'lib/libcroco-%%(version_major_minor)s.%s' % SHLIB_EXT, + 'lib/libcroco-%(version_major_minor)s.a'], + 'dirs': ['include/libcroco-%(version_major_minor)s', 'share'] +} + +moduleclass = 'lib' 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 index 237260a43f7..063ce985f47 100644 --- 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 @@ -9,14 +9,15 @@ description = """A C++ SDK which contains an implementation of DAP 2.0 and toolchain = {'name': 'GCCcore', 'version': '11.3.0'} -source_urls = ['https://www.opendap.org/pub/source/'] -sources = [SOURCE_TAR_GZ] -checksums = ['850debf6ee6991350bf31051308093bee35ddd2121e4002be7e130a319de1415'] +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 = [ @@ -27,6 +28,7 @@ dependencies = [ ('util-linux', '2.38'), ] +preconfigopts = "autoreconf -fi && " configopts = 'TIRPC_LIBS="-ltirpc"' sanity_check_paths = { 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 index e2bb8f718ab..c1cb33551f7 100644 --- 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 @@ -9,14 +9,15 @@ description = """A C++ SDK which contains an implementation of DAP 2.0 and toolchain = {'name': 'GCCcore', 'version': '10.3.0'} -source_urls = ['https://www.opendap.org/pub/source/'] -sources = [SOURCE_TAR_GZ] -checksums = ['6856813d0b29e70a36e8a53e9cf20ad680d21d615952263e9c6586704539e78c'] +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 = [ @@ -27,6 +28,7 @@ dependencies = [ ('util-linux', '2.36'), ] +preconfigopts = "autoreconf -fi && " configopts = 'TIRPC_LIBS="-ltirpc"' sanity_check_paths = { 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 index b48c3f1b6bc..1172b66d8f2 100644 --- 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 @@ -9,14 +9,15 @@ description = """A C++ SDK which contains an implementation of DAP 2.0 and toolchain = {'name': 'GCCcore', 'version': '11.2.0'} -source_urls = ['https://www.opendap.org/pub/source/'] -sources = [SOURCE_TAR_GZ] -checksums = ['65eb5c8f693cf74d58eece5eaa2e7c3c65f368926b1bffab0cf5b207757b94eb'] +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 = [ @@ -27,6 +28,7 @@ dependencies = [ ('util-linux', '2.37'), ] +preconfigopts = "autoreconf -fi && " configopts = 'TIRPC_LIBS="-ltirpc"' sanity_check_paths = { diff --git a/easybuild/easyconfigs/l/libdap/libdap-3.21.0-27-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libdap/libdap-3.21.0-27-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..707b32da095 --- /dev/null +++ b/easybuild/easyconfigs/l/libdap/libdap-3.21.0-27-GCCcore-13.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'libdap' +version = '3.21.0-27' + +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': '13.3.0'} + +source_urls = ['https://www.opendap.org/pub/source/'] +sources = [SOURCE_TAR_GZ] +checksums = ['b5b8229d3aa97fea9bba4a0b11b1ee1c6446bd5f7ad2cff591f86064f465eacf'] + +builddependencies = [ + ('binutils', '2.42'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('cURL', '8.7.1'), + ('libxml2', '2.12.7'), + ('libtirpc', '1.3.5'), + ('PCRE', '8.45'), + ('util-linux', '2.40'), +] + +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.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/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/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.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/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-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/libepoxy/libepoxy-1.5.10-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.10-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..bca992c268a --- /dev/null +++ b/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.10-GCCcore-13.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': '13.3.0'} + +github_account = 'anholt' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['a7ced37f4102b745ac86d6a70a9da399cc139ff168ba6b8002b4d8d43c900c15'] + +builddependencies = [ + ('binutils', '2.42'), + ('Meson', '1.4.0'), + ('Ninja', '1.12.1'), + ('pkgconf', '2.2.0'), +] + +dependencies = [ + ('X11', '20240607'), + ('Mesa', '24.1.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/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-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/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 80c3e4f2651..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 @@ -43,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] @@ -53,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.13.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.13.0-GCCcore-11.2.0.eb index bb2faf1ae40..35245b93a33 100644 --- 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 @@ -37,6 +37,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] @@ -47,7 +51,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.13.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.13.1-GCCcore-11.2.0.eb index 5059fe59d70..c6011eea6ec 100644 --- 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 @@ -37,6 +37,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] @@ -47,7 +51,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.13.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.13.2-GCCcore-11.2.0.eb index 9205e38e09d..14531d3108d 100644 --- 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 @@ -37,6 +37,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] @@ -47,7 +51,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.15.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.15.1-GCCcore-11.3.0.eb index f2d512f14d0..6c50cdb4a4b 100644 --- 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 @@ -37,6 +37,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] 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 index 97eacfc006e..31c4ac02fac 100644 --- 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 @@ -34,6 +34,10 @@ builddependencies = [ 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] 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 index a0acd145b4c..c1fa6c1cebb 100644 --- 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 @@ -34,6 +34,10 @@ builddependencies = [ 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] 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 index 3a1dce0b2dc..5d80c15a258 100644 --- 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 @@ -34,6 +34,10 @@ builddependencies = [ 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] 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 index 71cbe3216a6..4f17eb894d9 100644 --- a/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-10.2.0-serial.eb +++ b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-10.2.0-serial.eb @@ -13,8 +13,6 @@ source_urls = ['https://gitlab.com/siesta-project/libraries/libfdf/uploads/3eed9 sources = ['libfdf-%(version)s.tar.gz'] checksums = ['d7134ca665df94244f5bb35326b9f05aec6002c45cb1049816f33c22acf7dae0'] -configopts = ' --without-mpi ' - sanity_check_paths = { 'files': ['include/fdf.mod', 'lib/libfdf.a'], 'dirs': [''], diff --git a/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-10.3.0-serial.eb b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-10.3.0-serial.eb index 60424b615f6..d344b97e0a7 100644 --- a/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-10.3.0-serial.eb +++ b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-10.3.0-serial.eb @@ -13,8 +13,6 @@ source_urls = ['https://gitlab.com/siesta-project/libraries/libfdf/uploads/3eed9 sources = ['libfdf-%(version)s.tar.gz'] checksums = ['d7134ca665df94244f5bb35326b9f05aec6002c45cb1049816f33c22acf7dae0'] -configopts = ' --without-mpi ' - sanity_check_paths = { 'files': ['include/fdf.mod', 'lib/libfdf.a'], 'dirs': [''], diff --git a/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-11.2.0-serial.eb b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-11.2.0-serial.eb index 16305fbd339..df07567445e 100644 --- a/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-11.2.0-serial.eb +++ b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-11.2.0-serial.eb @@ -13,8 +13,6 @@ source_urls = ['https://gitlab.com/siesta-project/libraries/libfdf/uploads/3eed9 sources = ['libfdf-%(version)s.tar.gz'] checksums = ['d7134ca665df94244f5bb35326b9f05aec6002c45cb1049816f33c22acf7dae0'] -configopts = ' --without-mpi ' - sanity_check_paths = { 'files': ['include/fdf.mod', 'lib/libfdf.a'], 'dirs': [''], diff --git a/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-iccifort-2020.4.304-serial.eb b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-iccifort-2020.4.304-serial.eb index bb206d03e65..12c8f37583f 100644 --- a/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-iccifort-2020.4.304-serial.eb +++ b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-iccifort-2020.4.304-serial.eb @@ -13,8 +13,6 @@ source_urls = ['https://gitlab.com/siesta-project/libraries/libfdf/uploads/3eed9 sources = ['libfdf-%(version)s.tar.gz'] checksums = ['d7134ca665df94244f5bb35326b9f05aec6002c45cb1049816f33c22acf7dae0'] -configopts = ' --without-mpi ' - sanity_check_paths = { 'files': ['include/fdf.mod', 'lib/libfdf.a'], 'dirs': [''], diff --git a/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-intel-compilers-2021.2.0-serial.eb b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-intel-compilers-2021.2.0-serial.eb index f6a353357b6..8876b15d1d4 100644 --- a/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-intel-compilers-2021.2.0-serial.eb +++ b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-intel-compilers-2021.2.0-serial.eb @@ -13,8 +13,6 @@ source_urls = ['https://gitlab.com/siesta-project/libraries/libfdf/uploads/3eed9 sources = ['libfdf-%(version)s.tar.gz'] checksums = ['d7134ca665df94244f5bb35326b9f05aec6002c45cb1049816f33c22acf7dae0'] -configopts = ' --without-mpi ' - sanity_check_paths = { 'files': ['include/fdf.mod', 'lib/libfdf.a'], 'dirs': [''], diff --git a/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-intel-compilers-2021.4.0-serial.eb b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-intel-compilers-2021.4.0-serial.eb index 4277acce16f..a09baf53da1 100644 --- a/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-intel-compilers-2021.4.0-serial.eb +++ b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-intel-compilers-2021.4.0-serial.eb @@ -13,8 +13,6 @@ source_urls = ['https://gitlab.com/siesta-project/libraries/libfdf/uploads/3eed9 sources = ['libfdf-%(version)s.tar.gz'] checksums = ['d7134ca665df94244f5bb35326b9f05aec6002c45cb1049816f33c22acf7dae0'] -configopts = ' --without-mpi ' - sanity_check_paths = { 'files': ['include/fdf.mod', 'lib/libfdf.a'], 'dirs': [''], diff --git a/easybuild/easyconfigs/l/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/libffi/libffi-3.4.5.eb b/easybuild/easyconfigs/l/libffi/libffi-3.4.5.eb new file mode 100644 index 00000000000..df82da05952 --- /dev/null +++ b/easybuild/easyconfigs/l/libffi/libffi-3.4.5.eb @@ -0,0 +1,25 @@ +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 = SYSTEM +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/libffi/libffi/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['96fff4e589e3b239d888d9aa44b3ff30693c2ba1617f953925a70ddebcc102b2'] + +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.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/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/libgd/libgd-2.3.3-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libgd/libgd-2.3.3-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..2c03aa92105 --- /dev/null +++ b/easybuild/easyconfigs/l/libgd/libgd-2.3.3-GCCcore-13.3.0.eb @@ -0,0 +1,36 @@ +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.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/gd-%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['dd3f1f0bb016edcc0b2d082e8229c822ad1d02223511997c80461481759b1ed2'] + +builddependencies = [ + ('binutils', '2.42'), +] +dependencies = [ + ('fontconfig', '2.15.0'), + ('libjpeg-turbo', '3.0.1'), + ('libpng', '1.6.43'), + ('zlib', '1.3.1'), +] + +configopts = "--with-fontconfig=$EBROOTFONTCONFIG --with-jpeg=$EBROOTLIBJPEGMINTURBO " +configopts += "--with-png=$EBROOTLIBPNG --with-zlib=$EBROOTZLIB" + +sanity_check_paths = { + 'files': ['lib/%(name)s.a', 'lib/%(name)s.so'], + 'dirs': ['bin', 'include'], +} + +sanity_check_commands = ['webpng --help'] + +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/libgeotiff/libgeotiff-1.7.3-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libgeotiff/libgeotiff-1.7.3-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..41cba249999 --- /dev/null +++ b/easybuild/easyconfigs/l/libgeotiff/libgeotiff-1.7.3-GCCcore-13.3.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.3.0'} + +source_urls = ['https://download.osgeo.org/geotiff/libgeotiff'] +sources = [SOURCE_TAR_GZ] +checksums = ['ba23a3a35980ed3de916e125c739251f8e3266be07540200125a307d7cf5a704'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('PROJ', '9.4.1'), + ('libjpeg-turbo', '3.0.1'), + ('zlib', '1.3.1'), + ('SQLite', '3.45.3'), + ('LibTIFF', '4.6.0'), + ('cURL', '8.7.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/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.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.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/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/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.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/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-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 index 35de4049393..c39bc3b974a 100644 --- 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 @@ -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.1.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.1.3-GCCcore-11.3.0.eb index e88b1b5987f..9f8f5bac2bb 100644 --- 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 @@ -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.1.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.1.4-GCCcore-12.2.0.eb index 0117bb716bf..b372bc82f3f 100644 --- 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 @@ -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.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 index db21ae7cbeb..f1608484f69 100644 --- 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 @@ -27,7 +27,11 @@ dependencies = [ ('NASM', '2.16.01'), ] -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-3.0.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-3.0.1-GCCcore-13.2.0.eb index 680c3f1f34d..e952da0425e 100644 --- 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 @@ -27,7 +27,11 @@ dependencies = [ ('NASM', '2.16.01'), ] -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-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.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/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-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-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libmad/libmad-0.15.1b-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..982f59275b1 --- /dev/null +++ b/easybuild/easyconfigs/l/libmad/libmad-0.15.1b-GCCcore-13.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': '13.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.42')] + +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/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/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/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/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.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/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/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/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/librsvg/librsvg-2.58.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/librsvg/librsvg-2.58.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..1391bcb955e --- /dev/null +++ b/easybuild/easyconfigs/l/librsvg/librsvg-2.58.0-GCCcore-12.3.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': '12.3.0'} + +source_urls = ['https://download.gnome.org/sources/librsvg/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['d7c444a926406b59790be0deae196e18ed26059da573fa1aa9ec9ca7658a559c'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), + ('Rust', '1.75.0'), +] + +dependencies = [ + ('cairo', '1.17.8'), + ('freetype', '2.13.0'), + ('Gdk-Pixbuf', '2.42.10'), + ('HarfBuzz', '5.3.1'), + ('Pango', '1.50.14'), + ('GObject-Introspection', '1.76.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/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/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.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.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.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-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/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.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/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.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/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.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.3.2-foss-2018b.eb b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.3.2-foss-2018b.eb index df2d4d407fe..411ee1867d8 100644 --- a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.3.2-foss-2018b.eb +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.3.2-foss-2018b.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'libvdwxc' version = '0.3.2' -homepage = 'http://libvdwxc.org' +homepage = 'https://libvdwxc.materialsmodeling.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.""" diff --git a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2019a.eb b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2019a.eb index 99914532433..b750b9a414f 100644 --- a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2019a.eb +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2019a.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'libvdwxc' version = '0.4.0' -homepage = 'http://libvdwxc.org' +homepage = 'https://libvdwxc.materialsmodeling.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.""" diff --git a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2019b.eb b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2019b.eb index c9f93a8ff91..a04a99002a9 100644 --- a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2019b.eb +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2019b.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'libvdwxc' version = '0.4.0' -homepage = 'https://libvdwxc.org' +homepage = 'https://libvdwxc.materialsmodeling.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.""" diff --git a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2020a.eb b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2020a.eb index c6769e53157..dd9797af734 100644 --- a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2020a.eb +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2020a.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'libvdwxc' version = '0.4.0' -homepage = 'https://libvdwxc.org' +homepage = 'https://libvdwxc.materialsmodeling.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.""" diff --git a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2020b.eb b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2020b.eb index 9dee6b6ef26..0e414c5d729 100644 --- a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2020b.eb +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2020b.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'libvdwxc' version = '0.4.0' -homepage = 'https://libvdwxc.org' +homepage = 'https://libvdwxc.materialsmodeling.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.""" diff --git a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2021a.eb b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2021a.eb index eb7dd54a47d..843a00aaac2 100644 --- a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2021a.eb +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2021a.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'libvdwxc' version = '0.4.0' -homepage = 'https://libvdwxc.org' +homepage = 'https://libvdwxc.materialsmodeling.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.""" 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 index c5a0fad835b..1050fbf314f 100644 --- a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2021b.eb +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2021b.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'libvdwxc' version = '0.4.0' -homepage = 'https://libvdwxc.org' +homepage = 'https://libvdwxc.materialsmodeling.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.""" 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 index b1785ef119b..3b14a5ca707 100644 --- a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2022a.eb +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2022a.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'libvdwxc' version = '0.4.0' -homepage = 'https://libvdwxc.org' +homepage = 'https://libvdwxc.materialsmodeling.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.""" 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 index 9cf45cc3abe..7c8c009c9d0 100644 --- a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2023a.eb +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2023a.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'libvdwxc' version = '0.4.0' -homepage = 'https://libvdwxc.org' +homepage = 'https://libvdwxc.materialsmodeling.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.""" diff --git a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2024a.eb b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2024a.eb new file mode 100644 index 00000000000..de1dca5e394 --- /dev/null +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2024a.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libvdwxc' +version = '0.4.0' + +homepage = 'https://libvdwxc.materialsmodeling.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': '2024a'} + +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 index 751488a0728..a610d3ec773 100644 --- a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-intel-2020b.eb +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-intel-2020b.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'libvdwxc' version = '0.4.0' -homepage = 'https://libvdwxc.org' +homepage = 'https://libvdwxc.materialsmodeling.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.""" 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 index cdc3abd5a19..e137148b85c 100644 --- a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-intel-2021a.eb +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-intel-2021a.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'libvdwxc' version = '0.4.0' -homepage = 'https://libvdwxc.org' +homepage = 'https://libvdwxc.materialsmodeling.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.""" 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 index c8c0d2a8644..5df0f660f1d 100644 --- a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-intel-2021b.eb +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-intel-2021b.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'libvdwxc' version = '0.4.0' -homepage = 'https://libvdwxc.org' +homepage = 'https://libvdwxc.materialsmodeling.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.""" 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-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/libwebp/libwebp-1.3.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libwebp/libwebp-1.3.1-GCCcore-12.3.0.eb index 4ac82164e4b..7a8453a029c 100644 --- 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 @@ -10,6 +10,7 @@ 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] 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/libxc/libxc-4.3.4-GCC-10.2.0.eb b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-10.2.0.eb index 2d16f4413bf..46b4a89581d 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-10.2.0.eb @@ -3,13 +3,13 @@ easyblock = 'CMakeMake' name = 'libxc' version = '4.3.4' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'GCC', 'version': '10.2.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] patches = [ 'libxc-%(version)s_lm-fix.patch', @@ -17,7 +17,8 @@ patches = [ 'libxc-%(version)s_fix-timeout.patch', ] checksums = [ - 'a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', # libxc-4.3.4.tar.gz + ('a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', + '83aba38dfa03f34cc74f84c14c83bf501a43493c818c797e2d0682647569b147'), # libxc-4.3.4.tar.gz 'f2cae17533d3527e11cfec958a7f253872f7c5fcd104c3cffc02382be0ccfb9c', # libxc-4.3.4_lm-fix.patch '5a5e7d69729326e0d44e60b554ba6d8650a28958ec54b27a98757dc78a040946', # libxc-4.3.4_fix-CMakeLists.patch 'd44d4a35ae22542c3086e57638e0e2b6b1ad8e98d0898036972a0248cf8778e8', # libxc-4.3.4_fix-timeout.patch diff --git a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-10.3.0.eb b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-10.3.0.eb index 33d60c749bc..34fcaa78e3e 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-10.3.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-10.3.0.eb @@ -3,13 +3,13 @@ easyblock = 'CMakeMake' name = 'libxc' version = '4.3.4' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'GCC', 'version': '10.3.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] patches = [ 'libxc-%(version)s_lm-fix.patch', @@ -17,7 +17,8 @@ patches = [ 'libxc-%(version)s_fix-timeout.patch', ] checksums = [ - 'a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', # libxc-4.3.4.tar.gz + ('a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', + '83aba38dfa03f34cc74f84c14c83bf501a43493c818c797e2d0682647569b147'), # libxc-4.3.4.tar.gz 'f2cae17533d3527e11cfec958a7f253872f7c5fcd104c3cffc02382be0ccfb9c', # libxc-4.3.4_lm-fix.patch '5a5e7d69729326e0d44e60b554ba6d8650a28958ec54b27a98757dc78a040946', # libxc-4.3.4_fix-CMakeLists.patch 'd44d4a35ae22542c3086e57638e0e2b6b1ad8e98d0898036972a0248cf8778e8', # libxc-4.3.4_fix-timeout.patch diff --git a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-11.2.0.eb b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-11.2.0.eb index b45abb6d6ab..9813cb985bf 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-11.2.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-11.2.0.eb @@ -3,13 +3,13 @@ easyblock = 'CMakeMake' name = 'libxc' version = '4.3.4' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'GCC', 'version': '11.2.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] patches = [ 'libxc-%(version)s_lm-fix.patch', @@ -17,7 +17,8 @@ patches = [ 'libxc-%(version)s_fix-timeout.patch', ] checksums = [ - 'a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', # libxc-4.3.4.tar.gz + ('a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', + '83aba38dfa03f34cc74f84c14c83bf501a43493c818c797e2d0682647569b147'), # libxc-4.3.4.tar.gz 'f2cae17533d3527e11cfec958a7f253872f7c5fcd104c3cffc02382be0ccfb9c', # libxc-4.3.4_lm-fix.patch '5a5e7d69729326e0d44e60b554ba6d8650a28958ec54b27a98757dc78a040946', # libxc-4.3.4_fix-CMakeLists.patch 'd44d4a35ae22542c3086e57638e0e2b6b1ad8e98d0898036972a0248cf8778e8', # libxc-4.3.4_fix-timeout.patch diff --git a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-9.3.0.eb b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-9.3.0.eb index d57ae6f7ed6..e5db1b11bf4 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-9.3.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-9.3.0.eb @@ -3,13 +3,13 @@ easyblock = 'CMakeMake' name = 'libxc' version = '4.3.4' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'GCC', 'version': '9.3.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] patches = [ 'libxc-%(version)s_lm-fix.patch', @@ -17,7 +17,8 @@ patches = [ 'libxc-%(version)s_fix-timeout.patch', ] checksums = [ - 'a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', # libxc-4.3.4.tar.gz + ('a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', + '83aba38dfa03f34cc74f84c14c83bf501a43493c818c797e2d0682647569b147'), # libxc-4.3.4.tar.gz 'f2cae17533d3527e11cfec958a7f253872f7c5fcd104c3cffc02382be0ccfb9c', # libxc-4.3.4_lm-fix.patch '5a5e7d69729326e0d44e60b554ba6d8650a28958ec54b27a98757dc78a040946', # libxc-4.3.4_fix-CMakeLists.patch 'd44d4a35ae22542c3086e57638e0e2b6b1ad8e98d0898036972a0248cf8778e8', # libxc-4.3.4_fix-timeout.patch diff --git a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-iccifort-2020.1.217.eb b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-iccifort-2020.1.217.eb index 21a6399c430..7f7307e08fd 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-iccifort-2020.1.217.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-iccifort-2020.1.217.eb @@ -3,13 +3,13 @@ easyblock = 'CMakeMake' name = 'libxc' version = '4.3.4' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'iccifort', 'version': '2020.1.217'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] patches = [ 'libxc-%(version)s_rename-F03.patch', @@ -18,7 +18,8 @@ patches = [ 'libxc-%(version)s_fix-timeout.patch', ] checksums = [ - 'a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', # libxc-4.3.4.tar.gz + ('a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', + '83aba38dfa03f34cc74f84c14c83bf501a43493c818c797e2d0682647569b147'), # libxc-4.3.4.tar.gz 'e494be3ca2026998f2dd7c6b03a4e662f204fd3d963271e588f9f0d5739e76b5', # libxc-4.3.4_rename-F03.patch 'f2cae17533d3527e11cfec958a7f253872f7c5fcd104c3cffc02382be0ccfb9c', # libxc-4.3.4_lm-fix.patch '5a5e7d69729326e0d44e60b554ba6d8650a28958ec54b27a98757dc78a040946', # libxc-4.3.4_fix-CMakeLists.patch diff --git a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-iccifort-2020.4.304.eb b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-iccifort-2020.4.304.eb index 81cacc26ca8..bd9018d08a4 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-iccifort-2020.4.304.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-iccifort-2020.4.304.eb @@ -3,13 +3,13 @@ easyblock = 'CMakeMake' name = 'libxc' version = '4.3.4' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'iccifort', 'version': '2020.4.304'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] patches = [ 'libxc-%(version)s_rename-F03.patch', @@ -18,7 +18,8 @@ patches = [ 'libxc-%(version)s_fix-timeout.patch', ] checksums = [ - 'a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', # libxc-4.3.4.tar.gz + ('a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', + '83aba38dfa03f34cc74f84c14c83bf501a43493c818c797e2d0682647569b147'), # libxc-4.3.4.tar.gz 'e494be3ca2026998f2dd7c6b03a4e662f204fd3d963271e588f9f0d5739e76b5', # libxc-4.3.4_rename-F03.patch 'f2cae17533d3527e11cfec958a7f253872f7c5fcd104c3cffc02382be0ccfb9c', # libxc-4.3.4_lm-fix.patch '5a5e7d69729326e0d44e60b554ba6d8650a28958ec54b27a98757dc78a040946', # libxc-4.3.4_fix-CMakeLists.patch diff --git a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-intel-compilers-2021.2.0.eb b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-intel-compilers-2021.2.0.eb index 5b25d77dc2d..1f09dfc969b 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-intel-compilers-2021.2.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-intel-compilers-2021.2.0.eb @@ -3,13 +3,13 @@ easyblock = 'CMakeMake' name = 'libxc' version = '4.3.4' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'intel-compilers', 'version': '2021.2.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] patches = [ 'libxc-%(version)s_rename-F03.patch', @@ -18,7 +18,8 @@ patches = [ 'libxc-%(version)s_fix-timeout.patch', ] checksums = [ - 'a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', # libxc-4.3.4.tar.gz + ('a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', + '83aba38dfa03f34cc74f84c14c83bf501a43493c818c797e2d0682647569b147'), # libxc-4.3.4.tar.gz 'e494be3ca2026998f2dd7c6b03a4e662f204fd3d963271e588f9f0d5739e76b5', # libxc-4.3.4_rename-F03.patch 'f2cae17533d3527e11cfec958a7f253872f7c5fcd104c3cffc02382be0ccfb9c', # libxc-4.3.4_lm-fix.patch '5a5e7d69729326e0d44e60b554ba6d8650a28958ec54b27a98757dc78a040946', # libxc-4.3.4_fix-CMakeLists.patch diff --git a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-intel-compilers-2021.4.0.eb b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-intel-compilers-2021.4.0.eb index fca29faafd6..0595d050314 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-4.3.4-intel-compilers-2021.4.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-intel-compilers-2021.4.0.eb @@ -3,13 +3,13 @@ easyblock = 'CMakeMake' name = 'libxc' version = '4.3.4' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] patches = [ 'libxc-%(version)s_rename-F03.patch', @@ -18,7 +18,8 @@ patches = [ 'libxc-%(version)s_fix-timeout.patch', ] checksums = [ - 'a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', # libxc-4.3.4.tar.gz + ('a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337', + '83aba38dfa03f34cc74f84c14c83bf501a43493c818c797e2d0682647569b147'), # libxc-4.3.4.tar.gz 'e494be3ca2026998f2dd7c6b03a4e662f204fd3d963271e588f9f0d5739e76b5', # libxc-4.3.4_rename-F03.patch 'f2cae17533d3527e11cfec958a7f253872f7c5fcd104c3cffc02382be0ccfb9c', # libxc-4.3.4_lm-fix.patch '5a5e7d69729326e0d44e60b554ba6d8650a28958ec54b27a98757dc78a040946', # libxc-4.3.4_fix-CMakeLists.patch diff --git a/easybuild/easyconfigs/l/libxc/libxc-5.1.2-GCC-10.2.0.eb b/easybuild/easyconfigs/l/libxc/libxc-5.1.2-GCC-10.2.0.eb index e62a0ad0fac..02f66c082a2 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-5.1.2-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-5.1.2-GCC-10.2.0.eb @@ -3,15 +3,16 @@ easyblock = 'CMakeMake' name = 'libxc' version = '5.1.2' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'GCC', 'version': '10.2.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['180d52b5552921d1fac8a10869dd30708c0fb41dc202a3bbee0e36f43872718a'] +checksums = [('180d52b5552921d1fac8a10869dd30708c0fb41dc202a3bbee0e36f43872718a', + '3fe05ccf7033622112f7d6ab28ac82301f5840b8d1bbe8b6df1022dbc732883f')] builddependencies = [ ('CMake', '3.18.4'), diff --git a/easybuild/easyconfigs/l/libxc/libxc-5.1.3-GCC-10.2.0.eb b/easybuild/easyconfigs/l/libxc/libxc-5.1.3-GCC-10.2.0.eb index 8aa007ac6f1..311998a80a7 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-5.1.3-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-5.1.3-GCC-10.2.0.eb @@ -3,15 +3,16 @@ easyblock = 'CMakeMake' name = 'libxc' version = '5.1.3' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'GCC', 'version': '10.2.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['0350defdd6c1b165e4cf19995f590eee6e0b9db95a6b221d28cecec40f4e85cd'] +checksums = [('0350defdd6c1b165e4cf19995f590eee6e0b9db95a6b221d28cecec40f4e85cd', + '53cbccae4227794c4f4e042d0c20c3171894d8eacd13fd78aab376d5971a966c')] builddependencies = [ ('CMake', '3.18.4'), diff --git a/easybuild/easyconfigs/l/libxc/libxc-5.1.5-GCC-10.3.0.eb b/easybuild/easyconfigs/l/libxc/libxc-5.1.5-GCC-10.3.0.eb index 8246e8aaa30..9b997fa8741 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-5.1.5-GCC-10.3.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-5.1.5-GCC-10.3.0.eb @@ -6,15 +6,16 @@ easyblock = 'CMakeMake' name = 'libxc' version = '5.1.5' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'GCC', 'version': '10.3.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['02e4615a22dc3ec87a23efbd3d9be5bfad2445337140bad1720699571c45c3f9'] +checksums = [('02e4615a22dc3ec87a23efbd3d9be5bfad2445337140bad1720699571c45c3f9', + 'f2b428838536bcf2009af6a753f7314a069eed6a55bf1d1af4d4dcbcdd1c3697')] builddependencies = [ ('CMake', '3.20.1'), diff --git a/easybuild/easyconfigs/l/libxc/libxc-5.1.5-intel-compilers-2021.2.0.eb b/easybuild/easyconfigs/l/libxc/libxc-5.1.5-intel-compilers-2021.2.0.eb index 9886c92eddb..112d923e484 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-5.1.5-intel-compilers-2021.2.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-5.1.5-intel-compilers-2021.2.0.eb @@ -3,15 +3,16 @@ easyblock = 'CMakeMake' name = 'libxc' version = '5.1.5' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'intel-compilers', 'version': '2021.2.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['02e4615a22dc3ec87a23efbd3d9be5bfad2445337140bad1720699571c45c3f9'] +checksums = [('02e4615a22dc3ec87a23efbd3d9be5bfad2445337140bad1720699571c45c3f9', + 'f2b428838536bcf2009af6a753f7314a069eed6a55bf1d1af4d4dcbcdd1c3697')] builddependencies = [ ('CMake', '3.20.1'), diff --git a/easybuild/easyconfigs/l/libxc/libxc-5.1.6-GCC-11.2.0.eb b/easybuild/easyconfigs/l/libxc/libxc-5.1.6-GCC-11.2.0.eb index f36ec4c4923..4bfdb399882 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-5.1.6-GCC-11.2.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-5.1.6-GCC-11.2.0.eb @@ -3,15 +3,16 @@ easyblock = 'CMakeMake' name = 'libxc' version = '5.1.6' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'GCC', 'version': '11.2.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['0d0496513114ed84987c32649912f9a65d234696dab13a4b00ce8c420bfc0a1d'] +checksums = [('0d0496513114ed84987c32649912f9a65d234696dab13a4b00ce8c420bfc0a1d', + '1f752b2cf65c8145c1830f2d666181649c27bc0dd9685893d172822afade29f6')] builddependencies = [ ('CMake', '3.21.1'), diff --git a/easybuild/easyconfigs/l/libxc/libxc-5.1.6-intel-compilers-2021.4.0.eb b/easybuild/easyconfigs/l/libxc/libxc-5.1.6-intel-compilers-2021.4.0.eb index 61a5bbdab00..9fab692924c 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-5.1.6-intel-compilers-2021.4.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-5.1.6-intel-compilers-2021.4.0.eb @@ -3,15 +3,16 @@ easyblock = 'CMakeMake' name = 'libxc' version = '5.1.6' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['0d0496513114ed84987c32649912f9a65d234696dab13a4b00ce8c420bfc0a1d'] +checksums = [('0d0496513114ed84987c32649912f9a65d234696dab13a4b00ce8c420bfc0a1d', + '1f752b2cf65c8145c1830f2d666181649c27bc0dd9685893d172822afade29f6')] builddependencies = [ ('CMake', '3.21.1'), diff --git a/easybuild/easyconfigs/l/libxc/libxc-5.2.3-GCC-11.3.0.eb b/easybuild/easyconfigs/l/libxc/libxc-5.2.3-GCC-11.3.0.eb index e1d6b22c293..4b3655eeb77 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-5.2.3-GCC-11.3.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-5.2.3-GCC-11.3.0.eb @@ -3,15 +3,16 @@ easyblock = 'CMakeMake' name = 'libxc' version = '5.2.3' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'GCC', 'version': '11.3.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['7b7a96d8eeb472c7b8cca7ac38eae27e0a8113ef44dae5359b0eb12592b4bcf2'] +checksums = [('7b7a96d8eeb472c7b8cca7ac38eae27e0a8113ef44dae5359b0eb12592b4bcf2', + '38b60ed552b46367175b370e1ad5409fcf45c49b71ed13706a65b485f06a5417')] builddependencies = [ ('CMake', '3.23.1'), diff --git a/easybuild/easyconfigs/l/libxc/libxc-5.2.3-intel-compilers-2022.1.0.eb b/easybuild/easyconfigs/l/libxc/libxc-5.2.3-intel-compilers-2022.1.0.eb index 3968f139ee7..d5879d1a521 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-5.2.3-intel-compilers-2022.1.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-5.2.3-intel-compilers-2022.1.0.eb @@ -3,15 +3,16 @@ easyblock = 'CMakeMake' name = 'libxc' version = '5.2.3' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'intel-compilers', 'version': '2022.1.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['7b7a96d8eeb472c7b8cca7ac38eae27e0a8113ef44dae5359b0eb12592b4bcf2'] +checksums = [('7b7a96d8eeb472c7b8cca7ac38eae27e0a8113ef44dae5359b0eb12592b4bcf2', + '38b60ed552b46367175b370e1ad5409fcf45c49b71ed13706a65b485f06a5417')] builddependencies = [ ('CMake', '3.23.1'), diff --git a/easybuild/easyconfigs/l/libxc/libxc-6.1.0-GCC-12.2.0.eb b/easybuild/easyconfigs/l/libxc/libxc-6.1.0-GCC-12.2.0.eb index 7dc5e000dd6..4202f7d1d77 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-6.1.0-GCC-12.2.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-6.1.0-GCC-12.2.0.eb @@ -3,15 +3,16 @@ easyblock = 'CMakeMake' name = 'libxc' version = '6.1.0' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'GCC', 'version': '12.2.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['a3aa16915942543031a5d9c4a92c439ce54249bdcda8c91c4e69e65329dc9a54'] +checksums = [('a3aa16915942543031a5d9c4a92c439ce54249bdcda8c91c4e69e65329dc9a54', + 'f593745fa47ebfb9ddc467aaafdc2fa1275f0d7250c692ce9761389a90dd8eaf')] builddependencies = [ ('CMake', '3.24.3'), diff --git a/easybuild/easyconfigs/l/libxc/libxc-6.1.0-intel-compilers-2022.2.1.eb b/easybuild/easyconfigs/l/libxc/libxc-6.1.0-intel-compilers-2022.2.1.eb index 4e4f288ba98..c98941f57e6 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-6.1.0-intel-compilers-2022.2.1.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-6.1.0-intel-compilers-2022.2.1.eb @@ -3,15 +3,16 @@ easyblock = 'CMakeMake' name = 'libxc' version = '6.1.0' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'intel-compilers', 'version': '2022.2.1'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['a3aa16915942543031a5d9c4a92c439ce54249bdcda8c91c4e69e65329dc9a54'] +checksums = [('a3aa16915942543031a5d9c4a92c439ce54249bdcda8c91c4e69e65329dc9a54', + 'f593745fa47ebfb9ddc467aaafdc2fa1275f0d7250c692ce9761389a90dd8eaf')] builddependencies = [ ('CMake', '3.24.3'), diff --git a/easybuild/easyconfigs/l/libxc/libxc-6.2.2-GCC-12.3.0.eb b/easybuild/easyconfigs/l/libxc/libxc-6.2.2-GCC-12.3.0.eb index 81956f38a47..d9d1801f2f7 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-6.2.2-GCC-12.3.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-6.2.2-GCC-12.3.0.eb @@ -3,15 +3,16 @@ easyblock = 'CMakeMake' name = 'libxc' version = '6.2.2' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'GCC', 'version': '12.3.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['a0f6f1bba7ba5c0c85b2bfe65aca1591025f509a7f11471b4cd651a79491b045'] +checksums = [('a0f6f1bba7ba5c0c85b2bfe65aca1591025f509a7f11471b4cd651a79491b045', + '3b0523924579cf494cafc6fea92945257f35692b004217d3dfd3ea7ca780e8dc')] builddependencies = [ ('CMake', '3.26.3'), diff --git a/easybuild/easyconfigs/l/libxc/libxc-6.2.2-GCC-13.2.0.eb b/easybuild/easyconfigs/l/libxc/libxc-6.2.2-GCC-13.2.0.eb index e04565bf6ec..3aa336dd9b4 100644 --- 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 @@ -3,15 +3,16 @@ easyblock = 'CMakeMake' name = 'libxc' version = '6.2.2' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'GCC', 'version': '13.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 = ['a0f6f1bba7ba5c0c85b2bfe65aca1591025f509a7f11471b4cd651a79491b045'] +checksums = [('a0f6f1bba7ba5c0c85b2bfe65aca1591025f509a7f11471b4cd651a79491b045', + '3b0523924579cf494cafc6fea92945257f35692b004217d3dfd3ea7ca780e8dc')] builddependencies = [ ('CMake', '3.27.6'), diff --git a/easybuild/easyconfigs/l/libxc/libxc-6.2.2-GCC-13.3.0.eb b/easybuild/easyconfigs/l/libxc/libxc-6.2.2-GCC-13.3.0.eb new file mode 100644 index 00000000000..9e4de5e8082 --- /dev/null +++ b/easybuild/easyconfigs/l/libxc/libxc-6.2.2-GCC-13.3.0.eb @@ -0,0 +1,52 @@ +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.3.0'} + +source_urls = ['https://gitlab.com/%(name)s/%(name)s/-/archive/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = [ + ('a0f6f1bba7ba5c0c85b2bfe65aca1591025f509a7f11471b4cd651a79491b045', + '3b0523924579cf494cafc6fea92945257f35692b004217d3dfd3ea7ca780e8dc', + 'd1b65ef74615a1e539d87a0e6662f04baf3a2316706b4e2e686da3193b26b20f'), +] + +builddependencies = [ + ('CMake', '3.29.3'), + ('Perl', '5.38.2'), +] + +local_common_configopts = "-DENABLE_FORTRAN=ON -DENABLE_XHOST=OFF " + +# don't disable building of third and fourth derivates, since it's required by some software that depends on libxc +# (like ABINIT, which requires "3rd derivatives of energy") +# see also https://github.com/pyscf/pyscf/issues/1103 +local_common_configopts += "-DDISABLE_KXC=OFF -DDISABLE_LXC=OFF" + +# perform iterative build to get both static and shared libraries +configopts = [ + local_common_configopts + ' -DBUILD_SHARED_LIBS=OFF', + local_common_configopts + ' -DBUILD_SHARED_LIBS=ON', +] + +# make sure that built libraries (libxc*.so*) in build directory are picked when running tests +# this is required when RPATH linking is used +pretestopts = "export LD_LIBRARY_PATH=%(builddir)s/easybuild_obj:$LD_LIBRARY_PATH && " + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/xc-info'] + + ['lib/libxc%s.%s' % (x, y) for x in ['', 'f03', 'f90'] for y in ['a', SHLIB_EXT]], + 'dirs': ['include', 'lib/pkgconfig', 'lib/cmake/Libxc'], +} + +sanity_check_commands = ['xc-info 1'] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libxc/libxc-6.2.2-intel-compilers-2023.1.0.eb b/easybuild/easyconfigs/l/libxc/libxc-6.2.2-intel-compilers-2023.1.0.eb index af5917b73f5..f3a5e5448f3 100644 --- a/easybuild/easyconfigs/l/libxc/libxc-6.2.2-intel-compilers-2023.1.0.eb +++ b/easybuild/easyconfigs/l/libxc/libxc-6.2.2-intel-compilers-2023.1.0.eb @@ -3,15 +3,16 @@ easyblock = 'CMakeMake' name = 'libxc' version = '6.2.2' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'intel-compilers', 'version': '2023.1.0'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['a0f6f1bba7ba5c0c85b2bfe65aca1591025f509a7f11471b4cd651a79491b045'] +checksums = [('a0f6f1bba7ba5c0c85b2bfe65aca1591025f509a7f11471b4cd651a79491b045', + '3b0523924579cf494cafc6fea92945257f35692b004217d3dfd3ea7ca780e8dc')] builddependencies = [ ('CMake', '3.26.3'), diff --git a/easybuild/easyconfigs/l/libxc/libxc-6.2.2-intel-compilers-2023.2.1.eb b/easybuild/easyconfigs/l/libxc/libxc-6.2.2-intel-compilers-2023.2.1.eb index 41d6760191c..8e2652554ca 100644 --- 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 @@ -3,15 +3,16 @@ easyblock = 'CMakeMake' name = 'libxc' version = '6.2.2' -homepage = 'https://www.tddft.org/programs/libxc' +homepage = 'https://libxc.gitlab.io' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" toolchain = {'name': 'intel-compilers', 'version': '2023.2.1'} -source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['a0f6f1bba7ba5c0c85b2bfe65aca1591025f509a7f11471b4cd651a79491b045'] +checksums = [('a0f6f1bba7ba5c0c85b2bfe65aca1591025f509a7f11471b4cd651a79491b045', + '3b0523924579cf494cafc6fea92945257f35692b004217d3dfd3ea7ca780e8dc')] builddependencies = [ ('CMake', '3.27.6'), 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/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.13.4-GCCcore-14.2.0.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.13.4-GCCcore-14.2.0.eb new file mode 100644 index 00000000000..5b194eb5a3b --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.13.4-GCCcore-14.2.0.eb @@ -0,0 +1,27 @@ +name = 'libxml2' +version = '2.13.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': '14.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.gnome.org/sources/libxml2/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['65d042e1c8010243e617efb02afda20b85c2160acdbfbcb5b26b80cec6515650'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('XZ', '5.6.3'), + ('zlib', '1.3.1'), +] + +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/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/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/likwid/likwid-5.3.0-GCC-13.3.0.eb b/easybuild/easyconfigs/l/likwid/likwid-5.3.0-GCC-13.3.0.eb new file mode 100644 index 00000000000..b9d22fc36dc --- /dev/null +++ b/easybuild/easyconfigs/l/likwid/likwid-5.3.0-GCC-13.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': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/RRZE-HPC/%(name)s/archive/'] +sources = ['v%(version)s.tar.gz'] + +checksums = ['c290e554c4253124ac2ab8b056e14ee4d23966b8c9fbfa10ba81f75ae543ce4e'] + +builddependencies = [ + ('Perl', '5.38.2'), +] +dependencies = [ + ('hwloc', '2.10.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/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-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/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..03393fb1618 --- /dev/null +++ b/easybuild/easyconfigs/l/longread_umi/longread_umi-0.3.2-foss-2023a.eb @@ -0,0 +1,84 @@ +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, + # -minsize option not supported by 'vsearch -cluster_fast', and probably not needed + "sed -i 's/-minsize 1//g' %(installdir)s/scripts/umi_binning.sh", +] + +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-2023a-R-4.3.2.eb b/easybuild/easyconfigs/l/loomR/loomR-0.2.0-20180425-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..6cdcc1ed066 --- /dev/null +++ b/easybuild/easyconfigs/l/loomR/loomR-0.2.0-20180425-foss-2023a-R-4.3.2.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'loomR' +local_commit = 'df0144b' +# see DESCRIPTION to determine version, +# but add date stamp of commit since version is not always bumped +version = '0.2.0-20180425' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/mojaveazure/loomR' +description = "An R interface for loom files" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/mojaveazure/loomR/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['6264448baf4fd9a569eb5a832598c4a224382ef26c0a7fbd061a8c901672f0ac'] + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-Bioconductor', '3.18', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/loompy/loompy-3.0.7-foss-2023a.eb b/easybuild/easyconfigs/l/loompy/loompy-3.0.7-foss-2023a.eb new file mode 100644 index 00000000000..486a2e560c3 --- /dev/null +++ b/easybuild/easyconfigs/l/loompy/loompy-3.0.7-foss-2023a.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'loompy' +version = '3.0.7' + +homepage = 'https://loompy.org/' +description = "Python implementation of the Loom file format, an efficient file format for large omics datasets" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [('poetry', '1.7.1'), ] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), # for click + ('SciPy-bundle', '2023.07'), + ('h5py', '3.9.0'), + ('numba', '0.58.1'), +] + +use_pip = True + +exts_list = [ + ('numpy-groupies', '0.10.2', { + 'checksums': ['f920c4ded899f5975d94fc63d634e7c89622056bbab8cc98a44d4320a0ae8a12'], + }), + (name, version, { + 'checksums': ['b5cdf7b54734c6bed3a181d11947af70af2c6e0dcadc02fd0e871df232faa8f4'], + }), +] + +sanity_check_paths = { + 'files': ['bin/loompy'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["loompy --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/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/lpsolve/lpsolve-5.5.2.11-GCC-13.2.0.eb b/easybuild/easyconfigs/l/lpsolve/lpsolve-5.5.2.11-GCC-13.2.0.eb new file mode 100644 index 00000000000..03ed0716827 --- /dev/null +++ b/easybuild/easyconfigs/l/lpsolve/lpsolve-5.5.2.11-GCC-13.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': '13.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/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-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/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-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.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/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/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.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/MAFFT/MAFFT-7.526-GCC-13.2.0-with-extensions.eb b/easybuild/easyconfigs/m/MAFFT/MAFFT-7.526-GCC-13.2.0-with-extensions.eb new file mode 100644 index 00000000000..175e1013f56 --- /dev/null +++ b/easybuild/easyconfigs/m/MAFFT/MAFFT-7.526-GCC-13.2.0-with-extensions.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) +# 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) +# J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'Bundle' + +name = 'MAFFT' +version = '7.526' +versionsuffix = '-with-extensions' +local_commit = 'ee9799916df6a5d5103d46d54933f8eb6d28e244' + +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': '13.2.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': ['6f536ec957b76f4e38e869d935d6626d318361ef8ee95e71c795b924f639ee10'], + '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/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.22-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/MATIO/MATIO-1.5.22-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..9e83706192f --- /dev/null +++ b/easybuild/easyconfigs/m/MATIO/MATIO-1.5.22-GCCcore-11.2.0.eb @@ -0,0 +1,36 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2014-2015 The Cyprus Institute +# Authors:: Thekla Loizou +# License:: MIT/GPL +# +## +easyblock = 'ConfigureMake' + +name = 'MATIO' +version = '1.5.22' + +homepage = 'https://sourceforge.net/projects/matio/' +description = """matio is an C library for reading and writing Matlab MAT files.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_ZIP] +checksums = ['ac76efd240f982b779ba2b206349d7aeaa983c3d62b13b942006c8b1ff228472'] + +preconfigopts = 'chmod +x configure && ' + +builddependencies = [('binutils', '2.37')] + +dependencies = [('zlib', '1.2.11')] + +sanity_check_commands = ['matdump --help'] + +sanity_check_paths = { + 'files': ['include/matio.h', 'bin/matdump', 'lib/libmatio.a'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/MATIO/MATIO-1.5.23-GCCcore-12.1.0.eb b/easybuild/easyconfigs/m/MATIO/MATIO-1.5.23-GCCcore-12.1.0.eb new file mode 100644 index 00000000000..0e4dcad72d4 --- /dev/null +++ b/easybuild/easyconfigs/m/MATIO/MATIO-1.5.23-GCCcore-12.1.0.eb @@ -0,0 +1,34 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2014-2015 The Cyprus Institute +# Authors:: Thekla Loizou +# License:: MIT/GPL +# +## +easyblock = 'ConfigureMake' + +name = 'MATIO' +version = '1.5.23' + +homepage = 'https://sourceforge.net/projects/matio/' +description = """matio is an C library for reading and writing Matlab MAT files.""" + +toolchain = {'name': 'GCCcore', 'version': '12.1.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_ZIP] +checksums = ['b3b29fb394e1cfa3f98cd57bac013c0cf7716ae7a085e398f2dfaff8f976f0c5'] + +preconfigopts = 'chmod +x configure && ' + +builddependencies = [('binutils', '2.38')] + +dependencies = [('zlib', '1.2.12')] + +sanity_check_paths = { + 'files': ['include/matio.h', 'bin/matdump', 'lib/libmatio.a'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/MATIO/MATIO-1.5.26-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/MATIO/MATIO-1.5.26-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..85d161c59b8 --- /dev/null +++ b/easybuild/easyconfigs/m/MATIO/MATIO-1.5.26-GCCcore-12.3.0.eb @@ -0,0 +1,34 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2014-2015 The Cyprus Institute +# Authors:: Thekla Loizou +# License:: MIT/GPL +# +## +easyblock = 'ConfigureMake' + +name = 'MATIO' +version = '1.5.26' + +homepage = 'https://sourceforge.net/projects/matio/' +description = """matio is an C library for reading and writing Matlab MAT files.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_ZIP] +checksums = ['c07b089dad904c7e13a08f0ce7ac0b2969fe3d886579a10433eb13fdc3530e74'] + +preconfigopts = 'chmod +x configure && ' + +builddependencies = [('binutils', '2.40')] + +dependencies = [('zlib', '1.2.13')] + +sanity_check_paths = { + 'files': ['include/matio.h', 'bin/matdump', 'lib/libmatio.a'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/MATIO/MATIO-1.5.26-GCCcore-13.2.0.eb b/easybuild/easyconfigs/m/MATIO/MATIO-1.5.26-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..f773a9eab17 --- /dev/null +++ b/easybuild/easyconfigs/m/MATIO/MATIO-1.5.26-GCCcore-13.2.0.eb @@ -0,0 +1,34 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2014-2015 The Cyprus Institute +# Authors:: Thekla Loizou +# License:: MIT/GPL +# +## +easyblock = 'ConfigureMake' + +name = 'MATIO' +version = '1.5.26' + +homepage = 'https://sourceforge.net/projects/matio/' +description = """matio is an C library for reading and writing Matlab MAT files.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_ZIP] +checksums = ['c07b089dad904c7e13a08f0ce7ac0b2969fe3d886579a10433eb13fdc3530e74'] + +preconfigopts = 'chmod +x configure && ' + +builddependencies = [('binutils', '2.40')] + +dependencies = [('zlib', '1.2.13')] + +sanity_check_paths = { + 'files': ['include/matio.h', 'bin/matdump', 'lib/libmatio.a'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/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/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/MCR/MCR-R2024b.eb b/easybuild/easyconfigs/m/MCR/MCR-R2024b.eb new file mode 100644 index 00000000000..17ad8df12f6 --- /dev/null +++ b/easybuild/easyconfigs/m/MCR/MCR-R2024b.eb @@ -0,0 +1,17 @@ +name = 'MCR' +version = 'R2024b' # runtime version 24.2 +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 = ['c46f4b55747aa4a8c03c1ece5bd5360c4dbb2ca402608fbd44688ba55f9b7a54'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.7.0-foss-2023a.eb b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.7.0-foss-2023a.eb new file mode 100644 index 00000000000..9c8ac42d2c8 --- /dev/null +++ b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.7.0-foss-2023a.eb @@ -0,0 +1,49 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonBundle' + +name = 'MDAnalysis' +version = '2.7.0' + +homepage = 'https://www.mdanalysis.org/' +description = """MDAnalysis is an object-oriented Python library to analyze trajectories from molecular dynamics (MD) +simulations in many popular formats.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('Biopython', '1.83'), + ('networkx', '3.1'), + ('tqdm', '4.66.1'), + ('mrcfile', '1.5.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('GridDataFormats', '1.0.2', { + 'modulename': 'gridData', + 'checksums': ['b93cf7f36fce33dbc428026f26dba560d5c7ba2387caca495bad920f90094502'], + }), + ('mmtf-python', '1.1.3', { + 'modulename': 'mmtf', + 'checksums': ['12a02fe1b7131f0a2b8ce45b46f1e0cdd28b9818fe4499554c26884987ea0c32'], + }), + ('fasteners', '0.19', { + 'checksums': ['b4f37c3ac52d8a445af3a66bce57b33b5e90b97c696b7b984f530cf8f0ded09c'], + }), + ('mda_xdrlib', '0.2.0', { + 'checksums': ['f26f7158a83c32b96d15b530fce2cbc1190c4b7024e41faa4ab3e3db74e272af'], + }), + (name, version, { + 'modulename': 'MDAnalysis', + 'checksums': ['572e82945e5d058e3749ec5f18e6b3831ef7f2119cb54672567ae9a977201e93'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MDI/MDI-1.4.16-gompi-2022b.eb b/easybuild/easyconfigs/m/MDI/MDI-1.4.16-gompi-2022b.eb index ec7490f96cb..ad39fd39304 100644 --- a/easybuild/easyconfigs/m/MDI/MDI-1.4.16-gompi-2022b.eb +++ b/easybuild/easyconfigs/m/MDI/MDI-1.4.16-gompi-2022b.eb @@ -33,7 +33,7 @@ dependencies = [ ] # perform iterative build to get both static and shared libraries -local_common_configopts = '-DCMAKE_POSITION_INDEPENDENT_CODE=ON ' +local_common_configopts = '-DCMAKE_POSITION_INDEPENDENT_CODE=ON -DPython_EXECUTABLE=$EBROOTPYTHON/bin/python' configopts = [ local_common_configopts + ' -Dlibtype=STATIC', local_common_configopts + ' -DBUILD_SHARED_LIBS=ON', @@ -44,4 +44,6 @@ sanity_check_paths = { 'dirs': ['include', 'share'], } +bin_lib_subdirs = ['lib/mdi'] + moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/MDI/MDI-1.4.26-gompi-2023a.eb b/easybuild/easyconfigs/m/MDI/MDI-1.4.26-gompi-2023a.eb new file mode 100644 index 00000000000..c8e9eb3ee82 --- /dev/null +++ b/easybuild/easyconfigs/m/MDI/MDI-1.4.26-gompi-2023a.eb @@ -0,0 +1,54 @@ +# MDI package for LAMMPS +# Author: J. Saßmannshausen (Imperial College London) + +easyblock = 'CMakeMake' +name = 'MDI' +version = '1.4.26' + +homepage = 'https://github.com/MolSSI-MDI/MDI_Library' +description = """The MolSSI Driver Interface (MDI) project provides a +standardized API for fast, on-the-fly communication between computational +chemistry codes. This greatly simplifies the process of implementing +methods that require the cooperation of multiple software packages and +enables developers to write a single implementation that works across +many different codes. The API is sufficiently general to support a wide +variety of techniques, including QM/MM, ab initio MD, machine learning, +advanced sampling, and path integral MD, while also being straightforwardly +extensible. Communication between codes is handled by the MDI Library, which +enables tight coupling between codes using either the MPI or TCP/IP methods. +""" + +toolchain = {'name': 'gompi', 'version': '2023a'} + +source_urls = ['https://github.com/MolSSI-MDI/MDI_Library/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8cbd80ae9adf44394b693fe812b8e4e8ca506173b3ca1f31002adbe7eaf61362'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('Python', '3.11.3'), +] + +# perform iterative build to get both static and shared libraries +local_common_configopts = '-DCMAKE_POSITION_INDEPENDENT_CODE=ON -DPython_EXECUTABLE=$EBROOTPYTHON/bin/python ' +configopts = [ + local_common_configopts + ' -Dlibtype=STATIC', + local_common_configopts + ' -DBUILD_SHARED_LIBS=ON', +] + +modextrapaths = { + 'LD_LIBRARY_PATH': 'lib/mdi', + 'LIBRARY_PATH': 'lib/mdi', +} + +sanity_check_paths = { + 'files': ['lib/mdi/libmdi.a', 'lib/mdi/libmdi.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +bin_lib_subdirs = ['lib/mdi'] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/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/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/MDStress/MDStress-20191228-gfbf-2023a.eb b/easybuild/easyconfigs/m/MDStress/MDStress-20191228-gfbf-2023a.eb new file mode 100644 index 00000000000..7be20fe7e5b --- /dev/null +++ b/easybuild/easyconfigs/m/MDStress/MDStress-20191228-gfbf-2023a.eb @@ -0,0 +1,41 @@ +easyblock = 'CMakeMake' + +name = 'MDStress' +version = '20191228' + +homepage = 'https://vanegaslab.org/software' +description = """MDStress library enable the calculation of local stress +fields from molecular dynamics simulations""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +source_urls = ['https://vanegaslab.org/files'] +sources = ['mdstress-library-12282019.tar.gz'] +patches = [ + 'MDStress-20191228_use_external_voro++_and_EB_lapack.patch', +] +checksums = [ + {'mdstress-library-12282019.tar.gz': 'abea62dca77ca4645463415bec219a42554146cc0eefd480c760222e423c7db3'}, + {'MDStress-20191228_use_external_voro++_and_EB_lapack.patch': + '566c181f9a6784c81b04226d360ed71d96f99310a231a88919e7fac37e515e92'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('Voro++', '0.4.6'), + ('Python', '3.11.3'), +] + +sanity_check_paths = { + 'files': ['bin/tensortools', 'include/mdstress/mds_basicops.h', 'lib/libmdstress.%s' % SHLIB_EXT], + 'dirs': [], +} + +modextrapaths = { + 'PYTHONPATH': 'bin', +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/MDStress/MDStress-20191228_use_external_voro++_and_EB_lapack.patch b/easybuild/easyconfigs/m/MDStress/MDStress-20191228_use_external_voro++_and_EB_lapack.patch new file mode 100644 index 00000000000..fd2458812bc --- /dev/null +++ b/easybuild/easyconfigs/m/MDStress/MDStress-20191228_use_external_voro++_and_EB_lapack.patch @@ -0,0 +1,80 @@ +use external EB Voro++ and flexi/openblas as needed + +Åke Sandgren, 2024-11-07 +diff -ru mdstress-library.orig/CMakeLists.txt mdstress-library/CMakeLists.txt +--- mdstress-library.orig/CMakeLists.txt 2019-12-28 15:48:10.000000000 +0100 ++++ mdstress-library/CMakeLists.txt 2024-11-07 11:19:48.125912695 +0100 +@@ -1,4 +1,5 @@ +-cmake_minimum_required(VERSION 2.8) ++cmake_minimum_required(VERSION 3.0) ++project('MDStress') + + enable_language(C) + enable_language(CXX) +@@ -27,42 +28,28 @@ + # COMMAND tar xaf voro++-0.4.6.tar.gz + # WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/contrib) + #endif() +-FILE(GLOB VORO_SOURCES_HH include/voro++/*.hh) +-FILE(GLOB VORO_SOURCES_CC contrib/voro++/src/*.cc) +-#FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/voro++) +-#FILE(COPY ${VORO_SOURCES_HH} DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/include/voro++) +-LIST(REMOVE_ITEM VORO_SOURCES_CC ${CMAKE_CURRENT_SOURCE_DIR}/contrib/voro++/src/voro++.cc) +-LIST(REMOVE_ITEM VORO_SOURCES_CC ${CMAKE_CURRENT_SOURCE_DIR}/contrib/voro++/src/v_base_wl.cc) ++#FILE(GLOB VORO_SOURCES_HH include/voro++/*.hh) ++#FILE(GLOB VORO_SOURCES_CC contrib/voro++/src/*.cc) ++##FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/voro++) ++##FILE(COPY ${VORO_SOURCES_HH} DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/include/voro++) ++#LIST(REMOVE_ITEM VORO_SOURCES_CC ${CMAKE_CURRENT_SOURCE_DIR}/contrib/voro++/src/voro++.cc) ++#LIST(REMOVE_ITEM VORO_SOURCES_CC ${CMAKE_CURRENT_SOURCE_DIR}/contrib/voro++/src/v_base_wl.cc) + +-SET(MDSTRESS_SOURCES ${MDSTRESS_SOURCES_CPP} ${MDSTRESS_SOURCES_H} ${VORO_SOURCES_CC} ${VORO_SOURCES_HH}) ++SET(MDSTRESS_SOURCES ${MDSTRESS_SOURCES_CPP} ${MDSTRESS_SOURCES_H}) + + INCLUDE_DIRECTORIES(include/mdstress) +-INCLUDE_DIRECTORIES(include/voro++) ++#INCLUDE_DIRECTORIES(include/voro++) + + # attempt to find LAPACK library +-FIND_LIBRARY(LAPACK_LIBRARY_SYS NAMES lapack liblapack HINTS /usr/lib REQUIRED) +-if (NOT LAPACK_LIBRARY_SYS) +- UNSET(LAPACK_LIBRARY_SYS-NOTFOUND) +- UNSET(LAPACK_LIBRARY_SYS) +- # check to see if we need to download LAPACK +- SET(LAPACK_URL http://www.netlib.org/lapack/lapack-3.8.0.tar.gz) +- SET(LAPACK_DOWNLOAD_PATH ${CMAKE_CURRENT_SOURCE_DIR}/contrib/lapack-3.8.0.tar.gz) +- FILE(DOWNLOAD ${LAPACK_URL} ${LAPACK_DOWNLOAD_PATH}) +- EXECUTE_PROCESS( +- COMMAND tar xaf lapack-3.8.0.tar.gz +- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/contrib) +- ADD_SUBDIRECTORY(contrib/lapack-3.8.0) +-else() +- FIND_LIBRARY(LAPACK_LIBRARY NAMES lapack liblapack HINTS /usr/lib REQUIRED) +-endif() ++FIND_LIBRARY(LAPACK_LIBRARY NAMES flexiblas openblas lapack liblapack REQUIRED) + + ADD_LIBRARY(mdstress SHARED ${MDSTRESS_SOURCES}) +-TARGET_LINK_LIBRARIES(mdstress ${LAPACK_LIBRARY} ${PYTHON_LIBRARIES}) ++TARGET_LINK_LIBRARIES(mdstress ${LAPACK_LIBRARY} ${PYTHON_LIBRARIES} voro++) + +-INSTALL(TARGETS mdstress RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib/static) ++INSTALL(TARGETS mdstress RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) + + INSTALL(FILES ${MDSTRESS_SOURCES_H} DESTINATION include/mdstress) +-INSTALL(FILES ${VORO_SOURCES_HH} DESTINATION include/voro++) ++#INSTALL(FILES ${VORO_SOURCES_HH} DESTINATION include/voro++) + + # only process python bindings if requested + if(MDS_BOOSTPYTHON) +diff -ru mdstress-library.orig/src/mds_stressgrid.cpp mdstress-library/src/mds_stressgrid.cpp +--- mdstress-library.orig/src/mds_stressgrid.cpp 2019-12-28 15:48:10.000000000 +0100 ++++ mdstress-library/src/mds_stressgrid.cpp 2024-11-07 09:08:35.761694010 +0100 +@@ -21,7 +21,7 @@ + =========================================================================*/ + + #include "mds_stressgrid.h" +-#include "voro++.hh" ++#include "voro++/voro++.hh" + + using namespace mds; + 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/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/MEME/MEME-5.1.1-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/m/MEME/MEME-5.1.1-foss-2018b-Python-3.6.6.eb index 0665fef3727..7e55e86c14f 100644 --- a/easybuild/easyconfigs/m/MEME/MEME-5.1.1-foss-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/m/MEME/MEME-5.1.1-foss-2018b-Python-3.6.6.eb @@ -29,7 +29,7 @@ dependencies = [ ('Python', '3.6.6') ] -configopts = '--with-perl=${EBROOTPERL}/bin/perl --with-python3=${EBROOTPYTHON}/bin/python ' +configopts = '--with-perl=${EBROOTPERL}/bin/perl --with-python=${EBROOTPYTHON}/bin/python ' sanity_check_paths = { 'files': ["bin/meme", "bin/dreme", "bin/meme-chip"], diff --git a/easybuild/easyconfigs/m/MEME/MEME-5.1.1-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/m/MEME/MEME-5.1.1-foss-2019b-Python-3.7.4.eb index ac176c5c489..2505c1c303d 100644 --- a/easybuild/easyconfigs/m/MEME/MEME-5.1.1-foss-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/m/MEME/MEME-5.1.1-foss-2019b-Python-3.7.4.eb @@ -29,7 +29,7 @@ dependencies = [ ('Python', '3.7.4') ] -configopts = '--with-perl=${EBROOTPERL}/bin/perl --with-python3=${EBROOTPYTHON}/bin/python ' +configopts = '--with-perl=${EBROOTPERL}/bin/perl --with-python=${EBROOTPYTHON}/bin/python ' sanity_check_paths = { 'files': ["bin/meme", "bin/dreme", "bin/meme-chip"], diff --git a/easybuild/easyconfigs/m/MEME/MEME-5.1.1-intel-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/m/MEME/MEME-5.1.1-intel-2019b-Python-3.7.4.eb index 9ac8e36aadb..82553a2a701 100644 --- a/easybuild/easyconfigs/m/MEME/MEME-5.1.1-intel-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/m/MEME/MEME-5.1.1-intel-2019b-Python-3.7.4.eb @@ -29,7 +29,7 @@ dependencies = [ ('Python', '3.7.4') ] -configopts = '--with-perl=${EBROOTPERL}/bin/perl --with-python3=${EBROOTPYTHON}/bin/python ' +configopts = '--with-perl=${EBROOTPERL}/bin/perl --with-python=${EBROOTPYTHON}/bin/python ' sanity_check_paths = { 'files': ["bin/meme", "bin/dreme", "bin/meme-chip"], diff --git a/easybuild/easyconfigs/m/MEME/MEME-5.4.1-GCC-10.3.0.eb b/easybuild/easyconfigs/m/MEME/MEME-5.4.1-GCC-10.3.0.eb index 4858375aeaf..49b56756c7a 100644 --- a/easybuild/easyconfigs/m/MEME/MEME-5.4.1-GCC-10.3.0.eb +++ b/easybuild/easyconfigs/m/MEME/MEME-5.4.1-GCC-10.3.0.eb @@ -29,7 +29,7 @@ dependencies = [ ] configopts = '--enable-build-libxml2 --enable-build-libxslt ' -configopts += '--with-perl=${EBROOTPERL}/bin/perl --with-python3=${EBROOTPYTHON}/bin/python ' +configopts += '--with-perl=${EBROOTPERL}/bin/perl --with-python=${EBROOTPYTHON}/bin/python ' sanity_check_paths = { 'files': ["bin/%(namelower)s", "bin/dreme", "bin/%(namelower)s-chip"], diff --git a/easybuild/easyconfigs/m/MEME/MEME-5.5.7-gompi-2023b.eb b/easybuild/easyconfigs/m/MEME/MEME-5.5.7-gompi-2023b.eb new file mode 100644 index 00000000000..08fdaab9f31 --- /dev/null +++ b/easybuild/easyconfigs/m/MEME/MEME-5.5.7-gompi-2023b.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.7' + +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': '2023b'} + +source_urls = ['https://%(namelower)s-suite.org/%(namelower)s/%(namelower)s-software/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['1dca8d0e6d1d36570c1a88ab8dbe7e4b177733fbbeacaa2e8c4674febf57aaf4'] + +dependencies = [ + ('libxml2', '2.11.5'), + ('libxslt', '1.1.38'), + ('zlib', '1.2.13'), + ('Perl', '5.38.0'), + ('Python', '3.11.5'), + ('Ghostscript', '10.02.1'), + ('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/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/MIRA/MIRA-5.0rc2-foss-2020b.eb b/easybuild/easyconfigs/m/MIRA/MIRA-5.0rc2-foss-2020b.eb index 69c6533045d..062d990ae97 100644 --- a/easybuild/easyconfigs/m/MIRA/MIRA-5.0rc2-foss-2020b.eb +++ b/easybuild/easyconfigs/m/MIRA/MIRA-5.0rc2-foss-2020b.eb @@ -13,11 +13,9 @@ sources = ['mira-V5rc2.tar.bz2'] source_urls = ['https://github.com/bachev/mira/releases/download/V5rc2/'] checksums = ['4255aa9c4f09ec686b1c717bffe2dd124d3ef9b87f00e74d1bcd51b8599b8e44'] -preconfigopts = 'export CFLAGS="$CFLAGS -fpermissive" && ' -preconfigopts += 'export CXXFLAGS="$CXXFLAGS -fpermissive" && ' +preconfigopts = 'export CXXFLAGS="$CXXFLAGS -fpermissive" && ' configopts = '--with-boost=$EBROOTBOOST --with-expat=$EBROOTEXPAT --with-zlib=$EBROOTZLIB ' -configopts += '--with-tcmalloc-dir=$EBROOTGPERFTOOLS/lib ' builddependencies = [ ('flex', '2.6.4'), @@ -26,7 +24,6 @@ dependencies = [ ('Boost', '1.74.0'), ('zlib', '1.2.11'), ('expat', '2.2.9'), - ('gperftools', '2.9.1'), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/m/MLflow/MLflow-2.10.2-gfbf-2023a.eb b/easybuild/easyconfigs/m/MLflow/MLflow-2.10.2-gfbf-2023a.eb new file mode 100644 index 00000000000..387e9f49e46 --- /dev/null +++ b/easybuild/easyconfigs/m/MLflow/MLflow-2.10.2-gfbf-2023a.eb @@ -0,0 +1,63 @@ +easyblock = 'PythonBundle' + +name = 'MLflow' +version = '2.10.2' + +homepage = 'https://mlflow.org' +description = """MLflow is a platform to streamline machine learning development, including tracking experiments, +packaging code into reproducible runs, and sharing and deploying models.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('GitPython', '3.1.40'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('scikit-learn', '1.3.1'), + ('PyYAML', '6.0'), + ('SQLAlchemy', '2.0.25'), + ('protobuf-python', '4.24.0'), + ('Flask', '2.3.3'), + ('Arrow', '14.0.1'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('docker', '7.0.0', { + 'checksums': ['323736fb92cd9418fc5e7133bc953e11a9da04f4483f828b527db553f1e7e5a3'], + }), + ('entrypoints', '0.4', { + 'checksums': ['b706eddaa9218a19ebcd67b56818f05bb27589b1ca9e8d797b74affad4ccacd4'], + }), + ('gunicorn', '21.2.0', { + 'checksums': ['88ec8bff1d634f98e61b9f65bc4bf3cd918a90806c6f5c48bc5603849ec81033'], + }), + ('Markdown', '3.5.2', { + 'checksums': ['e1ac7b3dc550ee80e602e71c1d168002f062e49f1b11e26a36264dafd4df2ef8'], + }), + ('querystring_parser', '1.2.4', { + 'checksums': ['644fce1cffe0530453b43a83a38094dbe422ccba8c9b2f2a1c00280e14ca8a62'], + }), + ('sqlparse', '0.4.4', { + 'checksums': ['d446183e84b8349fa3061f0fe7f06ca94ba65b426946ffebe6e3e8295332420c'], + }), + ('mlflow', version, { + 'checksums': ['3ddf32ba2c01dac79e4d077d4bb9ed46d82a082dc99223207d562c7ee6bee671'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_check_commands = ['%(namelower)s --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/MNE-Python/MNE-Python-1.6.1-foss-2023a.eb b/easybuild/easyconfigs/m/MNE-Python/MNE-Python-1.6.1-foss-2023a.eb new file mode 100644 index 00000000000..d0c5d5454e0 --- /dev/null +++ b/easybuild/easyconfigs/m/MNE-Python/MNE-Python-1.6.1-foss-2023a.eb @@ -0,0 +1,98 @@ +easyblock = 'PythonBundle' + +name = 'MNE-Python' +version = '1.6.1' + +homepage = 'https://mne.tools/' +description = """MNE-Python software is an open-source Python package for exploring, +visualizing, and analyzing human neurophysiological data such as MEG, EEG, +sEEG, ECoG, and more. It includes modules for data input/output, preprocessing, +visualization, source estimation, time-frequency analysis, connectivity +analysis, machine learning, and statistics.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('hatchling', '1.18.0'), + ('meson-python', '0.13.2'), # needed by dipy +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('tqdm', '4.66.1'), + ('h5py', '3.9.0'), + ('imageio', '2.33.1'), # optional + ('Nilearn', '0.10.3'), # optional + ('numba', '0.58.1'), # optional + ('OpenMEEG', '2.5.7'), # optinal + ('scikit-learn', '1.3.1'), # optional + ('statsmodels', '0.14.1'), # optional + ('VTK', '9.3.0'), # optional +] + +use_pip = True + +exts_list = [ + ('traitlets', '5.9.0', { + 'checksums': ['f6cde21a9c68cf756af02035f72d5a723bf607e862e7be33ece505abf4a3bad9'], + }), + ('python-picard', '0.7', { + 'modulename': 'picard', + 'checksums': ['8061a1f0c4660c805b7617f2f0bd0284c6e6e84ac3ec782081c67b27cfd185a7'], + }), + ('lazy_loader', '0.3', { + 'checksums': ['3b68898e34f5b2a29daaaac172c6555512d0f32074f147e2254e4a6d9d838f37'], + }), + ('xmltodict', '0.13.0', { + 'checksums': ['341595a488e3e01a85a9d8911d8912fd922ede5fecc4dce437eb4b6c8d037e56'], + }), + ('pymatreader', '0.0.32', { + 'checksums': ['34a5b4812635c98d3e5776fc21cd7f85b045784539363674d178dfb1158a617f'], + }), + ('h5io', '0.2.1', { + 'checksums': ['718721860d68712278effb30893df5eba0d6717d0040ab159dcac5f841174ea4'], + }), + ('ordered-set', '4.1.0', { + 'modulename': 'ordered_set', + 'checksums': ['694a8e44c87657c59292ede72891eb91d34131f6531463aab3009191c77364a8'], + }), + ('deepdiff', '6.7.1', { + 'checksums': ['b367e6fa6caac1c9f500adc79ada1b5b1242c50d5f716a1a4362030197847d30'], + }), + ('trx-python', '0.2.9', { + 'modulename': 'trx', + 'checksums': ['16b4104d7c991879c601f60e8d587decac50ce60388aae8d0c754a92136d1caf'], + }), + ('dipy', '1.8.0', { + 'checksums': ['cc3845585b6ccd5d7bf43094d52a00eb73111072eee36c2149fabdb1b071f008'], + }), + ('wrapt', '1.16.0', { + 'checksums': ['5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d'], + }), + ('Deprecated', '1.2.14', { + 'checksums': ['e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3'], + }), + ('mffpy', '0.8.0', { + 'checksums': ['0658da3c58da3cbd22da9b7faf3aedf000f3140bcdff1e18567aba01be783c6c'], + }), + ('scooby', '0.9.2', { + 'checksums': ['28df643bb7c2087547b2e2220070e2f89e815ddbc515fbc28dd5df2b0a14293e'], + }), + ('pyvista', '0.43.3', { + 'checksums': ['e039cdeb0c7cbb42a16fbdfbbede65a7dc656def787e76c79a43eb0badc88c9b'], + }), + ('mne', version, { + 'use_pip_extras': 'hdf5', + 'checksums': ['e4f5683d01cef675eddad788bdb6b44cc015dff0fb1ddfca3c4105edfb757ef8'], + }), + ('mne-bids', '0.14', { + 'checksums': ['271e748b0cab44be39711a8d2d86b5e54148f9b862df45a3b5467ec2a69b6a4f'], + }), +] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MOABB/MOABB-1.0.0-foss-2023a.eb b/easybuild/easyconfigs/m/MOABB/MOABB-1.0.0-foss-2023a.eb new file mode 100644 index 00000000000..61abc1d9878 --- /dev/null +++ b/easybuild/easyconfigs/m/MOABB/MOABB-1.0.0-foss-2023a.eb @@ -0,0 +1,68 @@ +easyblock = 'PythonBundle' + +name = 'MOABB' +version = '1.0.0' + +homepage = 'https://neurotechx.github.io/moabb/' +description = """Build a comprehensive benchmark of popular Brain-Computer Interface (BCI) +algorithms applied on an extensive list of freely available EEG datasets.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('poetry', '1.5.1'), +] + +# MOABB optionally interfaces with the following ML frameworks: +# TensorFlow, Keras, scikeras, Braindecode, PyTorch +# These can be manually loaded by the users depending on their needs + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('MNE-Python', '1.6.1'), + ('h5py', '3.9.0'), + ('scikit-learn', '1.3.1'), + ('matplotlib', '3.7.2'), + ('Seaborn', '0.13.2'), + ('PyYAML', '6.0'), + ('tqdm', '4.66.1'), +] + +use_pip = True + +# relax too strict version requirements (constraints seem quite arbitrary) +# anyhow we run the unit tests to check the installation +_relax_req = 's/= "^/= ">=/g;s/h5py =.*/h5py = ">=3.7.0"/' + +exts_list = [ + ('coverage', '7.0.1', { + 'checksums': ['a4a574a19eeb67575a5328a5760bbbb737faa685616586a9f9da4281f940109c'], + }), + ('memory_profiler', '0.61.0', { + 'checksums': ['4e5b73d7864a1d1292fb76a03e82a3e78ef934d06828a698d9dada76da2067b0'], + }), + ('EDFlib-Python', '1.0.6', { + 'modulename': 'EDFlib', + 'checksums': ['dbd1d2cf80013f8627b0b08bb969e157b70de5eb241156052e7dea15fd4c06bc'], + }), + ('pyriemann', '0.5', { + 'checksums': ['20f886e19fb2d9cbd954a81e8326d53f8b0a306c29880df2f037a5f7ce754009'], + }), + ('moabb', version, { + 'patches': ['MOABB-1.0.0_disable-flacky-tests.patch'], + 'checksums': [ + {'moabb-1.0.0.tar.gz': 'b7d884030c5691939e8a48810e12b81527c08331ea99cb8b77a26d965341546e'}, + {'MOABB-1.0.0_disable-flacky-tests.patch': + 'da5374e7a49d9fbaa7577f0310eab4fd4eb264b0ce869bc27e90350b223c6019'}, + ], + 'preinstallopts': "sed -i '%s' pyproject.toml &&" % _relax_req, + 'runtest': ("cd %(builddir)s/%(name)s/%(name)s-%(version)s && " + "MOABB_RESULTS=$PWD python -m unittest moabb.tests"), + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/MOABB/MOABB-1.0.0_disable-flacky-tests.patch b/easybuild/easyconfigs/m/MOABB/MOABB-1.0.0_disable-flacky-tests.patch new file mode 100644 index 00000000000..dfc746ed602 --- /dev/null +++ b/easybuild/easyconfigs/m/MOABB/MOABB-1.0.0_disable-flacky-tests.patch @@ -0,0 +1,13 @@ +Disable unreliable tests that fail inconsistently +author: Alex Domingo (Vrije Universiteit Brussel) +--- moabb/tests/evaluations.py.orig 2024-02-16 11:27:13.269354617 +0100 ++++ moabb/tests/evaluations.py 2024-02-16 11:27:29.411310607 +0100 +@@ -294,7 +294,7 @@ + if os.path.isfile(path): + os.remove(path) + +- def test_fails_if_nothing_returned(self): ++ def disabled_test_fails_if_nothing_returned(self): + self.assertRaises(Exception, self.eval.process, pipelines) + # TODO Add custom evaluation that actually returns additional info + diff --git a/easybuild/easyconfigs/m/MODFLOW/MODFLOW-6.4.4-foss-2023a.eb b/easybuild/easyconfigs/m/MODFLOW/MODFLOW-6.4.4-foss-2023a.eb new file mode 100644 index 00000000000..98acd7a21be --- /dev/null +++ b/easybuild/easyconfigs/m/MODFLOW/MODFLOW-6.4.4-foss-2023a.eb @@ -0,0 +1,46 @@ +easyblock = 'MesonNinja' + +name = 'MODFLOW' +version = '6.4.4' + +homepage = 'https://www.usgs.gov/mission-areas/water-resources/science/modflow-and-related-programs' +description = """ +MODFLOW is the USGS's modular hydrologic model. MODFLOW is considered an + international standard for simulating and predicting groundwater conditions + and groundwater/surface-water interactions. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +github_account = "MODFLOW-USGS" +source_urls = ['https://github.com/%(github_account)s/%(namelower)s6/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['bab887399d1882c84296e7bad20d6143aa07c1476943e6465c14a8738e1ded53'] + +builddependencies = [ + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('PETSc', '3.20.3'), + ('netCDF-Fortran', '4.6.1'), +] + +# Needed because of https://github.com/mesonbuild/meson/issues/12993 +preconfigopts = "PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=true" +configopts = '-Ddebug=false -Dparallel=true' + +runtest = 'meson test' +testopts = '--verbose --no-rebuild' + +sanity_check_commands = ['mf6 --version'] + +sanity_check_paths = { + 'files': ['bin/mf6', 'bin/mf5to6', 'bin/zbud6', 'lib/libmf6.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/m/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/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/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-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.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-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/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.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.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-4.0.0rc1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-11.2.0.eb index 609e244fec2..c261d2484b3 100644 --- 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 @@ -8,7 +8,7 @@ easyblock = 'ConfigureMake' name = 'MUMmer' version = '4.0.0rc1' -homepage = 'http://mummer.sourceforge.net/' +homepage = 'https://mummer.sourceforge.net/' description = """ MUMmer is a system for rapidly aligning entire genomes, @@ -22,7 +22,15 @@ source_urls = ['https://github.com/gmarcais/mummer/releases/download/v%(version) sources = ['%(namelower)s-%(version)s.tar.gz'] checksums = ['85006adb2d6539c2f738c3e3bb14b58bb6f62cd6c6ca5ede884a87ae76e07d1d'] -builddependencies = [('binutils', '2.37')] +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', 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 index d078c854c66..f403869b209 100644 --- 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 @@ -22,7 +22,15 @@ source_urls = ['https://github.com/gmarcais/mummer/releases/download/v%(version) sources = ['%(namelower)s-%(version)s.tar.gz'] checksums = ['85006adb2d6539c2f738c3e3bb14b58bb6f62cd6c6ca5ede884a87ae76e07d1d'] -builddependencies = [('binutils', '2.38')] +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', 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 index b2d716125cf..ce38884c04c 100644 --- 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 @@ -24,7 +24,15 @@ source_urls = ['https://github.com/gmarcais/mummer/releases/download/v%(version) sources = ['%(namelower)s-%(version)s.tar.gz'] checksums = ['85006adb2d6539c2f738c3e3bb14b58bb6f62cd6c6ca5ede884a87ae76e07d1d'] -builddependencies = [('binutils', '2.39')] +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', 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-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/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.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/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/MariaDB/MariaDB-11.7.0-GCC-13.3.0.eb b/easybuild/easyconfigs/m/MariaDB/MariaDB-11.7.0-GCC-13.3.0.eb new file mode 100644 index 00000000000..437ed1edf42 --- /dev/null +++ b/easybuild/easyconfigs/m/MariaDB/MariaDB-11.7.0-GCC-13.3.0.eb @@ -0,0 +1,65 @@ +easyblock = 'CMakeMake' + +name = 'MariaDB' +version = '11.7.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': '13.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.7.0.tar.gz': 'b0059a9550bb277790f1ec51e0eb329a8fbb8acfd98b5adb259bc0560ff70553'}, + {'MariaDB-10.1.13-link-rt-for-jemalloc.patch': '8295837e623f6c782e1d64b00e0877ea98cce4bf8846755bb86c8a7732797c19'}, +] + +builddependencies = [ + ('CMake', '3.29.3'), + ('libaio', '0.3.113'), +] + +dependencies = [ + ('ncurses', '6.5'), + ('zlib', '1.3.1'), + ('LZO', '2.10'), # optional + ('lz4', '1.9.4'), # optional + ('XZ', '5.4.5'), # optional + ('jemalloc', '5.3.0'), # optional + ('snappy', '1.1.10'), # needed by RocksDB; optional for InnoDB + ('libxml2', '2.12.7'), # needed by Connect XML + ('Boost', '1.85.0'), # needed by OQGraph + ('Judy', '1.0.5'), # needed by OQGraph + ('PCRE2', '10.43'), + ('OpenSSL', '3', '', 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/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/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/Mesa-23.1.9-GCCcore-13.2.0.eb b/easybuild/easyconfigs/m/Mesa/Mesa-23.1.9-GCCcore-13.2.0.eb index 906c5eb2634..f550441cf4a 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-23.1.9-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-23.1.9-GCCcore-13.2.0.eb @@ -49,10 +49,12 @@ dependencies = [ ('libunwind', '1.6.2'), ('LLVM', '16.0.6'), ('X11', '20231019'), + ('Wayland', '1.22.0'), ] -configopts = "-Dplatforms=x11 -Dosmesa=true -Dvulkan-drivers='' " -configopts += "-Dllvm=enabled -Dshared-llvm=enabled -Dlibunwind=enabled -Dglvnd=true" +configopts = "-Dplatforms=x11,wayland -Dosmesa=true -Dvulkan-drivers='swrast' -Dvulkan-layers='device-select' " +configopts += "-Dllvm=enabled -Dshared-llvm=enabled -Dlibunwind=enabled -Dglvnd=true " +configopts += "-Dvideo-codecs=vc1dec,h264dec,h264enc,h265dec,h265enc " # Easybuild will automatically add appropriate Gallium drivers for the processor architecture of the host # If you need a different configuration, it possible to override those values by setting your own configopts diff --git a/easybuild/easyconfigs/m/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-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-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/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/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/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/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-24.7.1-0.eb b/easybuild/easyconfigs/m/Miniconda3/Miniconda3-24.7.1-0.eb new file mode 100644 index 00000000000..c70f0086763 --- /dev/null +++ b/easybuild/easyconfigs/m/Miniconda3/Miniconda3-24.7.1-0.eb @@ -0,0 +1,17 @@ +easyblock = 'EB_Anaconda' + +name = 'Miniconda3' +version = '24.7.1-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-py312_%(version)s-Linux-x86_64.sh'] +checksums = ['33442cd3813df33dcbb4a932b938ee95398be98344dff4c30f7e757cd2110e4f'] + +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/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/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/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/MrBayes/MrBayes-3.2.7-gompi-2023a.eb b/easybuild/easyconfigs/m/MrBayes/MrBayes-3.2.7-gompi-2023a.eb new file mode 100644 index 00000000000..a3537244720 --- /dev/null +++ b/easybuild/easyconfigs/m/MrBayes/MrBayes-3.2.7-gompi-2023a.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': '2023a'} + +source_urls = ['https://github.com/NBISweden/MrBayes/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['39d9eb269969b501268d5c27f77687c6eaa2c71ccf15c724e6f330fc405f24b9'] + +dependencies = [ + ('libreadline', '8.2'), + ('beagle-lib', '4.0.1', '-CUDA-12.1.1'), +] + +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/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/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/Mustache/Mustache-1.3.3-foss-2023b.eb b/easybuild/easyconfigs/m/Mustache/Mustache-1.3.3-foss-2023b.eb new file mode 100644 index 00000000000..214d5af84bf --- /dev/null +++ b/easybuild/easyconfigs/m/Mustache/Mustache-1.3.3-foss-2023b.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonPackage' + +name = 'Mustache' +version = '1.3.3' + +homepage = 'https://github.com/ay-lab/mustache' +description = """Mustache (Multi-scale Detection of Chromatin Loops from Hi-C and Micro-C Maps using +Scale-Space Representation) is a tool for multi-scale detection of chromatin loops from Hi-C and Micro-C +contact maps in high resolutions (10kbp all the way to 500bp and even more). +Mustache uses recent technical advances in scale-space theory in +Computer Vision to detect chromatin loops caused by interaction of DNA segments with a variable size.""" + +toolchain = {'name': 'foss', 'version': '2023b'} + +source_urls = ['https://pypi.python.org/packages/source/m/mustache_hic'] +sources = [{'download_filename': 'mustache_hic-%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['fd7cca927e36145bf6e43903a79c3222ecfeeb497c8f57657d7647ec6eee5a6b'] + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('SciPy-bundle', '2023.11'), + ('h5py', '3.11.0'), + ('HDF5', '1.14.3'), + ('cooler', '0.10.2'), + ('statsmodels', '0.14.1'), + ('hic-straw', '1.3.1'), +] + +# delete pathlib dependency from setup.py +preinstallopts = "sed -i 's/pathlib//' setup.py && " + +sanity_pip_check = True +use_pip = True +download_dep_fail = True + +options = {'modulename': 'mustache'} + +moduleclass = 'ai' 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-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.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.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.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/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.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-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/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/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/matplotlib/matplotlib-3.7.2-gfbf-2023a.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.7.2-gfbf-2023a.eb index 50cd58acdfd..c15e4a6a5fe 100644 --- a/easybuild/easyconfigs/m/matplotlib/matplotlib-3.7.2-gfbf-2023a.eb +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.7.2-gfbf-2023a.eb @@ -13,6 +13,7 @@ toolchain = {'name': 'gfbf', 'version': '2023a'} builddependencies = [ ('pkgconf', '1.9.5'), ('cppy', '1.2.1'), + ('meson-python', '0.13.2'), ] dependencies = [ @@ -23,7 +24,6 @@ dependencies = [ ('Tkinter', '%(pyver)s'), ('Pillow', '10.0.0'), ('Qhull', '2020.2'), - ('meson-python', '0.13.2'), ] use_pip = True diff --git a/easybuild/easyconfigs/m/matplotlib/matplotlib-3.7.2-iimkl-2023a.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.7.2-iimkl-2023a.eb new file mode 100644 index 00000000000..fc77e51ebf4 --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.7.2-iimkl-2023a.eb @@ -0,0 +1,82 @@ +easyblock = 'PythonBundle' + +name = 'matplotlib' +version = '3.7.2' + +homepage = 'https://matplotlib.org' +description = """matplotlib is a python 2D plotting library which produces publication quality figures in a variety of + hardcopy formats and interactive environments across platforms. matplotlib can be used in python scripts, the python + and ipython shell, web application servers, and six graphical user interface toolkits.""" + +toolchain = {'name': 'iimkl', 'version': '2023a'} + +builddependencies = [ + ('pkgconf', '1.9.5'), + ('cppy', '1.2.1'), + ('meson-python', '0.13.2'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('libpng', '1.6.39'), + ('freetype', '2.13.0'), + ('Tkinter', '%(pyver)s'), + ('Pillow', '10.0.0'), + ('Qhull', '2020.2'), +] + +use_pip = True +sanity_pip_check = True + +# avoid that matplotlib downloads and builds its own copies of freetype and qhull +_fix_setup = "sed -e 's/#system_freetype = False/system_freetype = True/g' " +_fix_setup += "-e 's/#system_qhull = False/system_qhull = True/g' mplsetup.cfg.template >mplsetup.cfg && " + +_include_path = "export CPLUS_INCLUDE_PATH=$EBROOTFREETYPE/include/freetype2:${CPLUS_INCLUDE_PATH} && " + +local_preinstallopts = "sed -e 's/#system_freetype = False/system_freetype = True/g' -e " +local_preinstallopts += "'s/#system_qhull = False/system_qhull = True/g' mplsetup.cfg.template >mplsetup.cfg" +local_preinstallopts += "&& export CPLUS_INCLUDE_PATH=$EBROOTFREETYPE/include/freetype2:${CPLUS_INCLUDE_PATH} && " + +exts_list = [ + ('fonttools', '4.42.0', { + 'source_tmpl': '%(name)s-%(version)s.tar.gz', + 'checksums': ['614b1283dca88effd20ee48160518e6de275ce9b5456a3134d5f235523fc5065'], + 'modulename': 'fontTools', + }), + ('Cycler', '0.11.0', { + 'source_tmpl': 'cycler-%(version)s.tar.gz', + 'checksums': ['9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f'], + 'modulename': 'cycler', + }), + ('kiwisolver', '1.4.4', { + 'patches': ['kiwisolver-1.4.4-fix_version.patch'], + 'checksums': [ + {'kiwisolver-1.4.4.tar.gz': 'd41997519fcba4a1e46eb4a2fe31bc12f0ff957b2b81bac28db24744f333e955'}, + {'kiwisolver-1.4.4-fix_version.patch': '6753afbb3a88856493fcfa0b33989f35742f57bfd41ff3b7f71a98797e1bfbd0'}, + ], + }), + ('contourpy', '1.1.0', { + 'checksums': ['e53046c3863828d21d531cc3b53786e6580eb1ba02477e8681009b6aa0870b21'], + }), + (name, version, { + 'patches': ['matplotlib-3.7.2-fix_setup.patch'], + 'checksums': [ + {'matplotlib-3.7.2.tar.gz': 'a8cdb91dddb04436bd2f098b8fdf4b81352e68cf4d2c6756fcc414791076569b'}, + {'matplotlib-3.7.2-fix_setup.patch': '70b38f9fc9f26c67adc38440f5420d7c50d9438353ad08740cbb42a79358fb4f'}, + ], + 'preinstallopts': local_preinstallopts, + }), +] + +sanity_check_commands = [ + """python -c 'import matplotlib; matplotlib.use("Agg"); import matplotlib.pyplot' """, + "python -c 'from mpl_toolkits.mplot3d import Axes3D'", +] + +# use non-interactive plotting backend as default +# see https://matplotlib.org/tutorials/introductory/usage.html#what-is-a-backend +modextravars = {'MPLBACKEND': 'Agg'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/matplotlib/matplotlib-3.8.2-gfbf-2023b.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.8.2-gfbf-2023b.eb index 93ec6abd381..b69859542f7 100644 --- a/easybuild/easyconfigs/m/matplotlib/matplotlib-3.8.2-gfbf-2023b.eb +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.8.2-gfbf-2023b.eb @@ -13,6 +13,7 @@ toolchain = {'name': 'gfbf', 'version': '2023b'} builddependencies = [ ('pkgconf', '2.0.3'), ('cppy', '1.2.1'), + ('meson-python', '0.15.0'), ] dependencies = [ @@ -23,7 +24,6 @@ dependencies = [ ('Tkinter', '%(pyver)s'), ('Pillow', '10.2.0'), ('Qhull', '2020.2'), - ('meson-python', '0.15.0'), ] use_pip = True 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.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.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/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-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-GCC-13.2.0.eb b/easybuild/easyconfigs/m/mctc-lib/mctc-lib-0.3.1-GCC-13.2.0.eb new file mode 100644 index 00000000000..781662c3dc2 --- /dev/null +++ b/easybuild/easyconfigs/m/mctc-lib/mctc-lib-0.3.1-GCC-13.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': '13.2.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.27.6'), +] + +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/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.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/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.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.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/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/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/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/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.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/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.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/modin/modin-0.32.0-foss-2024a.eb b/easybuild/easyconfigs/m/modin/modin-0.32.0-foss-2024a.eb new file mode 100644 index 00000000000..3d6ce8d2958 --- /dev/null +++ b/easybuild/easyconfigs/m/modin/modin-0.32.0-foss-2024a.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'modin' +version = '0.32.0' + +homepage = 'https://github.com/modin-project/modin' +description = """Modin uses Ray, Dask or Unidist to provide an effortless way to speed up your pandas notebooks, +scripts, and libraries. """ + +toolchain = {'name': 'foss', 'version': '2024a'} + +builddependencies = [ + ('Cython', '3.0.10'), + # Needed for tests + ('boto3', '1.35.36'), + ('s3fs', '2024.9.0'), +] + +dependencies = [ + ('Python', '3.12.3'), + ('Python-bundle-PyPI', '2024.06'), + ('SciPy-bundle', '2024.05'), + ('dask', '2024.9.1'), + ('OpenMPI', '5.0.3'), + ('Ray-project', '2.37.0'), + ('Arrow', '17.0.0'), +] + +use_pip = True + +exts_list = [ + ('unidist', '0.7.2', { + 'checksums': ['6386e1ad5143fe132b9f96e232fe85fc39830ed2886515440e4ba1473255e4a0'], + }), + # The oversubscription is done in their own CI as well. + # Ray has limitations on unix socket path length, so it is not tested here. + (name, version, { + 'patches': ['modin-0.32.0_fix-pytest-config.patch'], + 'runtest': ( + "MODIN_ENGINE=unidist UNIDIST_ENGINE=mpi " + "mpiexec -n=1 --map-by :OVERSUBSCRIBE pytest modin/tests/pandas/test_general.py &&" + "MODIN_ENGINE=dask pytest modin/tests/pandas/test_general.py" + ), + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/modin-project/%(name)s/archive/refs/tags'], + 'testinstall': True, + 'checksums': [ + {'0.32.0.tar.gz': 'f2ef11f384a7d47eb6680a2f6f4bbc3404fa6290163d36384032daff3837b063'}, + {'modin-0.32.0_fix-pytest-config.patch': + 'c49bd5c072a87321760c7c5eebc957f4f6962763a3526a500fe6330cf3f2b765'}, + ], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/modin/modin-0.32.0_fix-pytest-config.patch b/easybuild/easyconfigs/m/modin/modin-0.32.0_fix-pytest-config.patch new file mode 100644 index 00000000000..990e053d328 --- /dev/null +++ b/easybuild/easyconfigs/m/modin/modin-0.32.0_fix-pytest-config.patch @@ -0,0 +1,20 @@ +Removes unnecessary options for pytest that induce additional dependencies. + +--- 0.32.0/foss-2024a/modin/modin-0.32.0/setup.cfg.orig 2024-10-17 15:56:55.245266649 +0200 ++++ 0.32.0/foss-2024a/modin/modin-0.32.0/setup.cfg 2024-10-17 15:57:34.748841878 +0200 +@@ -11,15 +11,6 @@ + tag_prefix = + parentdir_prefix = modin- + +-[tool:pytest] +-addopts = --cov-config=setup.cfg --cov=modin --cov-append --cov-report= -m "not exclude_by_default" +-xfail_strict=true +-markers = +- exclude_in_sanity +- exclude_by_default +-filterwarnings = +- error:.*defaulting to pandas.*:UserWarning +- + [isort] + profile = black + diff --git a/easybuild/easyconfigs/m/modkit/modkit-0.3.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/modkit/modkit-0.3.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..63e5c0110bf --- /dev/null +++ b/easybuild/easyconfigs/m/modkit/modkit-0.3.3-GCCcore-12.3.0.eb @@ -0,0 +1,572 @@ +easyblock = 'Cargo' + +name = 'modkit' +version = '0.3.3' + +homepage = 'https://github.com/nanoporetech/modkit' +description = 'A bioinformatics tool for working with modified bases.' + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/nanoporetech/modkit/archive/'] +sources = ['v%(version)s.tar.gz'] + +builddependencies = [ + ('binutils', '2.40'), + ('Rust', '1.75.0'), + ('Perl-bundle-CPAN', '5.36.1'), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ["%(namelower)s --help"] + +crates = [ + ('adler2', '2.0.0'), + ('ahash', '0.8.11'), + ('aho-corasick', '1.1.3'), + ('android-tzdata', '0.1.1'), + ('android_system_properties', '0.1.5'), + ('ansi_term', '0.12.1'), + ('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.91'), + ('approx', '0.5.1'), + ('arc-swap', '1.7.1'), + ('assert_approx_eq', '1.1.0'), + ('autocfg', '1.4.0'), + ('bio', '1.6.0'), + ('bio-types', '1.0.4'), + ('bit-set', '0.5.3'), + ('bit-vec', '0.6.3'), + ('bitflags', '2.6.0'), + ('bitvec', '1.0.1'), + ('block-buffer', '0.10.4'), + ('bstr', '1.10.0'), + ('bumpalo', '3.16.0'), + ('bv', '0.11.1'), + ('bytecount', '0.6.8'), + ('bytemuck', '1.19.0'), + ('byteorder', '1.5.0'), + ('bytes', '1.8.0'), + ('bzip2-sys', '0.1.11+1.0.8'), + ('cc', '1.1.31'), + ('cfg-if', '1.0.0'), + ('charming', '0.3.1'), + ('chrono', '0.4.38'), + ('clap', '4.5.20'), + ('clap_builder', '4.5.20'), + ('clap_derive', '4.5.18'), + ('clap_lex', '0.7.2'), + ('cmake', '0.1.51'), + ('colorchoice', '1.0.2'), + ('common_macros', '0.1.1'), + ('console', '0.15.8'), + ('core-foundation-sys', '0.8.7'), + ('cpufeatures', '0.2.14'), + ('crc32fast', '1.4.2'), + ('crossbeam', '0.8.4'), + ('crossbeam-channel', '0.5.13'), + ('crossbeam-deque', '0.8.5'), + ('crossbeam-epoch', '0.9.18'), + ('crossbeam-queue', '0.3.11'), + ('crossbeam-utils', '0.8.20'), + ('crypto-common', '0.1.6'), + ('csv', '1.3.0'), + ('csv-core', '0.1.11'), + ('curl-sys', '0.4.77+curl-8.10.1'), + ('custom_derive', '0.1.7'), + ('derivative', '2.2.0'), + ('derive-new', '0.5.9'), + ('derive-new', '0.6.0'), + ('destructure_traitobject', '0.2.0'), + ('digest', '0.10.7'), + ('dirs-next', '2.0.0'), + ('dirs-sys-next', '0.1.2'), + ('doc-comment', '0.3.3'), + ('editdistancek', '1.0.2'), + ('either', '1.13.0'), + ('encode_unicode', '0.3.6'), + ('encode_unicode', '1.0.0'), + ('enum-map', '2.7.3'), + ('enum-map-derive', '0.17.0'), + ('equivalent', '1.0.1'), + ('errno', '0.3.9'), + ('fastrand', '2.1.1'), + ('feature-probe', '0.1.1'), + ('fixedbitset', '0.4.2'), + ('flate2', '1.0.34'), + ('fnv', '1.0.7'), + ('form_urlencoded', '1.2.1'), + ('fs-utils', '1.1.4'), + ('funty', '2.0.0'), + ('fxhash', '0.2.1'), + ('generic-array', '0.14.7'), + ('getrandom', '0.2.15'), + ('glob', '0.3.1'), + ('handlebars', '4.5.0'), + ('hashbrown', '0.13.2'), + ('hashbrown', '0.15.0'), + ('heck', '0.4.1'), + ('heck', '0.5.0'), + ('hermit-abi', '0.3.9'), + ('hermit-abi', '0.4.0'), + ('hts-sys', '2.1.4'), + ('humantime', '2.1.0'), + ('iana-time-zone', '0.1.61'), + ('iana-time-zone-haiku', '0.1.2'), + ('idna', '0.5.0'), + ('ieee754', '0.2.6'), + ('indexmap', '2.6.0'), + ('indicatif', '0.17.8'), + ('instant', '0.1.13'), + ('is-terminal', '0.4.13'), + ('is_terminal_polyfill', '1.70.1'), + ('itertools', '0.11.0'), + ('itertools', '0.12.1'), + ('itertools-num', '0.1.3'), + ('itoa', '1.0.11'), + ('jobserver', '0.1.32'), + ('js-sys', '0.3.72'), + ('lazy_static', '1.5.0'), + ('libc', '0.2.161'), + ('libm', '0.2.8'), + ('libredox', '0.1.3'), + ('libz-sys', '1.1.20'), + ('linear-map', '1.2.0'), + ('linux-raw-sys', '0.4.14'), + ('lock_api', '0.4.12'), + ('log', '0.4.22'), + ('log-mdc', '0.1.0'), + ('log-once', '0.4.1'), + ('log4rs', '1.3.0'), + ('lru', '0.9.0'), + ('lzma-sys', '0.1.20'), + ('matrixmultiply', '0.3.9'), + ('memchr', '2.7.4'), + ('minimal-lexical', '0.2.1'), + ('miniz_oxide', '0.8.0'), + ('multimap', '0.9.1'), + ('nalgebra', '0.29.0'), + ('nalgebra-macros', '0.1.0'), + ('ndarray', '0.15.6'), + ('newtype_derive', '0.1.6'), + ('nom', '7.1.3'), + ('noodles', '0.50.0'), + ('noodles-bgzf', '0.24.0'), + ('noodles-core', '0.12.0'), + ('noodles-csi', '0.24.0'), + ('noodles-tabix', '0.29.0'), + ('num', '0.4.3'), + ('num-bigint', '0.4.6'), + ('num-complex', '0.4.6'), + ('num-integer', '0.1.46'), + ('num-iter', '0.1.45'), + ('num-rational', '0.4.2'), + ('num-traits', '0.2.19'), + ('num_cpus', '1.16.0'), + ('number_prefix', '0.4.0'), + ('once_cell', '1.20.2'), + ('openssl-src', '300.4.0+3.4.0'), + ('openssl-sys', '0.9.104'), + ('order-stat', '0.1.3'), + ('ordered-float', '2.10.1'), + ('ordered-float', '3.9.2'), + ('parking_lot', '0.12.3'), + ('parking_lot_core', '0.9.10'), + ('paste', '1.0.15'), + ('percent-encoding', '2.3.1'), + ('peroxide', '0.32.1'), + ('peroxide-ad', '0.3.0'), + ('pest', '2.7.14'), + ('pest_derive', '2.7.14'), + ('pest_generator', '2.7.14'), + ('pest_meta', '2.7.14'), + ('petgraph', '0.6.5'), + ('pkg-config', '0.3.31'), + ('portable-atomic', '1.9.0'), + ('ppv-lite86', '0.2.20'), + ('prettytable-rs', '0.10.0'), + ('proc-macro2', '1.0.89'), + ('pulp', '0.18.22'), + ('puruspe', '0.2.5'), + ('quick-error', '1.2.3'), + ('quote', '1.0.37'), + ('radium', '0.7.0'), + ('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'), + ('reborrow', '0.5.5'), + ('redox_syscall', '0.5.7'), + ('redox_users', '0.4.6'), + ('regex', '1.11.0'), + ('regex-automata', '0.4.8'), + ('regex-syntax', '0.8.5'), + ('rust-htslib', '0.46.0'), + ('rust-lapper', '1.1.0'), + ('rustc-hash', '1.1.0'), + ('rustc_version', '0.1.7'), + ('rustix', '0.38.37'), + ('rustversion', '1.0.18'), + ('rv', '0.16.0'), + ('ryu', '1.0.18'), + ('safe_arch', '0.7.2'), + ('scopeguard', '1.2.0'), + ('semver', '0.1.20'), + ('serde', '1.0.213'), + ('serde-value', '0.7.0'), + ('serde_derive', '1.0.213'), + ('serde_json', '1.0.132'), + ('serde_yaml', '0.9.34+deprecated'), + ('sha2', '0.10.8'), + ('shlex', '1.3.0'), + ('simba', '0.6.0'), + ('similar', '2.6.0'), + ('similar-asserts', '1.6.0'), + ('smallvec', '1.13.2'), + ('special', '0.10.3'), + ('statrs', '0.16.1'), + ('strsim', '0.11.1'), + ('strum', '0.25.0'), + ('strum_macros', '0.25.3'), + ('strum_macros', '0.26.4'), + ('substring', '1.4.5'), + ('syn', '1.0.109'), + ('syn', '2.0.82'), + ('tap', '1.0.1'), + ('tempfile', '3.13.0'), + ('term', '0.7.0'), + ('terminal_size', '0.4.0'), + ('thiserror', '1.0.65'), + ('thiserror-impl', '1.0.65'), + ('thread-id', '4.2.2'), + ('thread-tree', '0.3.3'), + ('tinyvec', '1.8.0'), + ('tinyvec_macros', '0.1.1'), + ('triple_accel', '0.4.0'), + ('typemap-ors', '1.0.0'), + ('typenum', '1.17.0'), + ('ucd-trie', '0.1.7'), + ('unicode-bidi', '0.3.17'), + ('unicode-ident', '1.0.13'), + ('unicode-normalization', '0.1.24'), + ('unicode-segmentation', '1.12.0'), + ('unicode-width', '0.1.14'), + ('unsafe-any-ors', '1.0.0'), + ('unsafe-libyaml', '0.2.11'), + ('url', '2.5.2'), + ('utf8parse', '0.2.2'), + ('vcpkg', '0.2.15'), + ('vec_map', '0.8.2'), + ('version_check', '0.9.5'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('wasm-bindgen', '0.2.95'), + ('wasm-bindgen-backend', '0.2.95'), + ('wasm-bindgen-macro', '0.2.95'), + ('wasm-bindgen-macro-support', '0.2.95'), + ('wasm-bindgen-shared', '0.2.95'), + ('wide', '0.7.28'), + ('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.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'), + ('wyz', '0.5.1'), + ('zerocopy', '0.7.35'), + ('zerocopy-derive', '0.7.35'), +] + +checksums = [ + {'v0.3.3.tar.gz': 'f61674c48ef6b9e3ebd547067d693e128c1da66761ddda08d479d58d52017b2b'}, + {'adler2-2.0.0.tar.gz': '512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627'}, + {'ahash-0.8.11.tar.gz': 'e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011'}, + {'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'}, + {'ansi_term-0.12.1.tar.gz': 'd52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2'}, + {'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.91.tar.gz': 'c042108f3ed77fd83760a5fd79b53be043192bb3b9dba91d8c574c0ada7850c8'}, + {'approx-0.5.1.tar.gz': 'cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6'}, + {'arc-swap-1.7.1.tar.gz': '69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457'}, + {'assert_approx_eq-1.1.0.tar.gz': '3c07dab4369547dbe5114677b33fbbf724971019f3818172d59a97a61c774ffd'}, + {'autocfg-1.4.0.tar.gz': 'ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26'}, + {'bio-1.6.0.tar.gz': '7a72cb93babf08c85b375c2938ac678cc637936b3ebb72266d433cec2577f6c2'}, + {'bio-types-1.0.4.tar.gz': 'f4dcf54f8b7f51450207d54780bab09c05f30b8b0caa991545082842e466ad7e'}, + {'bit-set-0.5.3.tar.gz': '0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1'}, + {'bit-vec-0.6.3.tar.gz': '349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb'}, + {'bitflags-2.6.0.tar.gz': 'b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de'}, + {'bitvec-1.0.1.tar.gz': '1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c'}, + {'block-buffer-0.10.4.tar.gz': '3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71'}, + {'bstr-1.10.0.tar.gz': '40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c'}, + {'bumpalo-3.16.0.tar.gz': '79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c'}, + {'bv-0.11.1.tar.gz': '8834bb1d8ee5dc048ee3124f2c7c1afcc6bc9aed03f11e9dfd8c69470a5db340'}, + {'bytecount-0.6.8.tar.gz': '5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce'}, + {'bytemuck-1.19.0.tar.gz': '8334215b81e418a0a7bdb8ef0849474f40bb10c8b71f1c4ed315cff49f32494d'}, + {'byteorder-1.5.0.tar.gz': '1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b'}, + {'bytes-1.8.0.tar.gz': '9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da'}, + {'bzip2-sys-0.1.11+1.0.8.tar.gz': '736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc'}, + {'cc-1.1.31.tar.gz': 'c2e7962b54006dcfcc61cb72735f4d89bb97061dd6a7ed882ec6b8ee53714c6f'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'charming-0.3.1.tar.gz': 'f4c6b6990238a64b4ae139e7085ce2a11815cb67a0c066a3333ce40f3a329be3'}, + {'chrono-0.4.38.tar.gz': 'a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401'}, + {'clap-4.5.20.tar.gz': 'b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8'}, + {'clap_builder-4.5.20.tar.gz': '19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54'}, + {'clap_derive-4.5.18.tar.gz': '4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab'}, + {'clap_lex-0.7.2.tar.gz': '1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97'}, + {'cmake-0.1.51.tar.gz': 'fb1e43aa7fd152b1f968787f7dbcdeb306d1867ff373c69955211876c053f91a'}, + {'colorchoice-1.0.2.tar.gz': 'd3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0'}, + {'common_macros-0.1.1.tar.gz': 'f3f6d59c71e7dc3af60f0af9db32364d96a16e9310f3f5db2b55ed642162dd35'}, + {'console-0.15.8.tar.gz': '0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb'}, + {'core-foundation-sys-0.8.7.tar.gz': '773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b'}, + {'cpufeatures-0.2.14.tar.gz': '608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0'}, + {'crc32fast-1.4.2.tar.gz': 'a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3'}, + {'crossbeam-0.8.4.tar.gz': '1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8'}, + {'crossbeam-channel-0.5.13.tar.gz': '33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2'}, + {'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.20.tar.gz': '22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80'}, + {'crypto-common-0.1.6.tar.gz': '1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3'}, + {'csv-1.3.0.tar.gz': 'ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe'}, + {'csv-core-0.1.11.tar.gz': '5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70'}, + {'curl-sys-0.4.77+curl-8.10.1.tar.gz': 'f469e8a5991f277a208224f6c7ad72ecb5f986e36d09ae1f2c1bb9259478a480'}, + {'custom_derive-0.1.7.tar.gz': 'ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a01b9'}, + {'derivative-2.2.0.tar.gz': 'fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b'}, + {'derive-new-0.5.9.tar.gz': '3418329ca0ad70234b9735dc4ceed10af4df60eff9c8e7b06cb5e520d92c3535'}, + {'derive-new-0.6.0.tar.gz': 'd150dea618e920167e5973d70ae6ece4385b7164e0d799fe7c122dd0a5d912ad'}, + {'destructure_traitobject-0.2.0.tar.gz': '3c877555693c14d2f84191cfd3ad8582790fc52b5e2274b40b59cf5f5cea25c7'}, + {'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'}, + {'editdistancek-1.0.2.tar.gz': '3e02df23d5b1c6f9e69fa603b890378123b93073df998a21e6e33b9db0a32613'}, + {'either-1.13.0.tar.gz': '60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0'}, + {'encode_unicode-0.3.6.tar.gz': 'a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f'}, + {'encode_unicode-1.0.0.tar.gz': '34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0'}, + {'enum-map-2.7.3.tar.gz': '6866f3bfdf8207509a033af1a75a7b08abda06bbaaeae6669323fd5a097df2e9'}, + {'enum-map-derive-0.17.0.tar.gz': 'f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb'}, + {'equivalent-1.0.1.tar.gz': '5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5'}, + {'errno-0.3.9.tar.gz': '534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba'}, + {'fastrand-2.1.1.tar.gz': 'e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6'}, + {'feature-probe-0.1.1.tar.gz': '835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da'}, + {'fixedbitset-0.4.2.tar.gz': '0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80'}, + {'flate2-1.0.34.tar.gz': 'a1b589b4dc103969ad3cf85c950899926ec64300a1a46d76c03a6072957036f0'}, + {'fnv-1.0.7.tar.gz': '3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1'}, + {'form_urlencoded-1.2.1.tar.gz': 'e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456'}, + {'fs-utils-1.1.4.tar.gz': '6fc7a9dc005c944c98a935e7fd626faf5bf7e5a609f94bc13e42fc4a02e52593'}, + {'funty-2.0.0.tar.gz': 'e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c'}, + {'fxhash-0.2.1.tar.gz': 'c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c'}, + {'generic-array-0.14.7.tar.gz': '85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a'}, + {'getrandom-0.2.15.tar.gz': 'c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7'}, + {'glob-0.3.1.tar.gz': 'd2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b'}, + {'handlebars-4.5.0.tar.gz': 'faa67bab9ff362228eb3d00bd024a4965d8231bbb7921167f0cfa66c6626b225'}, + {'hashbrown-0.13.2.tar.gz': '43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e'}, + {'hashbrown-0.15.0.tar.gz': '1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'heck-0.5.0.tar.gz': '2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea'}, + {'hermit-abi-0.3.9.tar.gz': 'd231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024'}, + {'hermit-abi-0.4.0.tar.gz': 'fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc'}, + {'hts-sys-2.1.4.tar.gz': 'e9f348d14cb4e50444e39fcd6b00302fe2ed2bc88094142f6278391d349a386d'}, + {'humantime-2.1.0.tar.gz': '9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4'}, + {'iana-time-zone-0.1.61.tar.gz': '235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220'}, + {'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.6.0.tar.gz': '707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da'}, + {'indicatif-0.17.8.tar.gz': '763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3'}, + {'instant-0.1.13.tar.gz': 'e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222'}, + {'is-terminal-0.4.13.tar.gz': '261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b'}, + {'is_terminal_polyfill-1.70.1.tar.gz': '7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf'}, + {'itertools-0.11.0.tar.gz': 'b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57'}, + {'itertools-0.12.1.tar.gz': 'ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569'}, + {'itertools-num-0.1.3.tar.gz': 'a872a22f9e6f7521ca557660adb96dd830e54f0f490fa115bb55dd69d38b27e7'}, + {'itoa-1.0.11.tar.gz': '49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b'}, + {'jobserver-0.1.32.tar.gz': '48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0'}, + {'js-sys-0.3.72.tar.gz': '6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9'}, + {'lazy_static-1.5.0.tar.gz': 'bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe'}, + {'libc-0.2.161.tar.gz': '8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1'}, + {'libm-0.2.8.tar.gz': '4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058'}, + {'libredox-0.1.3.tar.gz': 'c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d'}, + {'libz-sys-1.1.20.tar.gz': 'd2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472'}, + {'linear-map-1.2.0.tar.gz': 'bfae20f6b19ad527b550c223fddc3077a547fc70cda94b9b566575423fd303ee'}, + {'linux-raw-sys-0.4.14.tar.gz': '78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89'}, + {'lock_api-0.4.12.tar.gz': '07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17'}, + {'log-0.4.22.tar.gz': 'a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24'}, + {'log-mdc-0.1.0.tar.gz': 'a94d21414c1f4a51209ad204c1776a3d0765002c76c6abcb602a6f09f1e881c7'}, + {'log-once-0.4.1.tar.gz': '6d8a05e3879b317b1b6dbf353e5bba7062bedcc59815267bb23eaa0c576cebf0'}, + {'log4rs-1.3.0.tar.gz': '0816135ae15bd0391cf284eab37e6e3ee0a6ee63d2ceeb659862bd8d0a984ca6'}, + {'lru-0.9.0.tar.gz': '71e7d46de488603ffdd5f30afbc64fbba2378214a2c3a2fb83abf3d33126df17'}, + {'lzma-sys-0.1.20.tar.gz': '5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27'}, + {'matrixmultiply-0.3.9.tar.gz': '9380b911e3e96d10c1f415da0876389aaf1b56759054eeb0de7df940c456ba1a'}, + {'memchr-2.7.4.tar.gz': '78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3'}, + {'minimal-lexical-0.2.1.tar.gz': '68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a'}, + {'miniz_oxide-0.8.0.tar.gz': 'e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1'}, + {'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'}, + {'newtype_derive-0.1.6.tar.gz': 'ac8cd24d9f185bb7223958d8c1ff7a961b74b1953fd05dba7cc568a63b3861ec'}, + {'nom-7.1.3.tar.gz': 'd273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a'}, + {'noodles-0.50.0.tar.gz': '86c1d34ec18d6b3d7699fae207ba766a5b969764d2cad072dc769cb6eca06b36'}, + {'noodles-bgzf-0.24.0.tar.gz': '8f4c43ff0879c542c1d8fd570c03e368f629587721d10267f2619e36afc9c9b0'}, + {'noodles-core-0.12.0.tar.gz': '94fbe3192fe33acacabaedd387657f39b0fc606f1996d546db0dfe14703b843a'}, + {'noodles-csi-0.24.0.tar.gz': '1b2bb780250c88bc9ea69b56c1aa9df75decc6b79035f3f5ab10c0cd84d24fc6'}, + {'noodles-tabix-0.29.0.tar.gz': '056e394ddb4c64bcc9806551a69833294062159600aa8ecf7167a922512bda4f'}, + {'num-0.4.3.tar.gz': '35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23'}, + {'num-bigint-0.4.6.tar.gz': 'a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9'}, + {'num-complex-0.4.6.tar.gz': '73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495'}, + {'num-integer-0.1.46.tar.gz': '7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f'}, + {'num-iter-0.1.45.tar.gz': '1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf'}, + {'num-rational-0.4.2.tar.gz': 'f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824'}, + {'num-traits-0.2.19.tar.gz': '071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841'}, + {'num_cpus-1.16.0.tar.gz': '4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43'}, + {'number_prefix-0.4.0.tar.gz': '830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3'}, + {'once_cell-1.20.2.tar.gz': '1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775'}, + {'openssl-src-300.4.0+3.4.0.tar.gz': 'a709e02f2b4aca747929cca5ed248880847c650233cf8b8cdc48f40aaf4898a6'}, + {'openssl-sys-0.9.104.tar.gz': '45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741'}, + {'order-stat-0.1.3.tar.gz': 'efa535d5117d3661134dbf1719b6f0ffe06f2375843b13935db186cd094105eb'}, + {'ordered-float-2.10.1.tar.gz': '68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c'}, + {'ordered-float-3.9.2.tar.gz': 'f1e1c390732d15f1d48471625cd92d154e66db2c56645e29a9cd26f4699f72dc'}, + {'parking_lot-0.12.3.tar.gz': 'f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27'}, + {'parking_lot_core-0.9.10.tar.gz': '1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8'}, + {'paste-1.0.15.tar.gz': '57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a'}, + {'percent-encoding-2.3.1.tar.gz': 'e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e'}, + {'peroxide-0.32.1.tar.gz': '703b5fbdc1f9018a66e2db8758633cec31d39ad3127bfd38c9b6ad510637519c'}, + {'peroxide-ad-0.3.0.tar.gz': 'f6fba8ff3f40b67996f7c745f699babaa3e57ef5c8178ec999daf7eedc51dc8c'}, + {'pest-2.7.14.tar.gz': '879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442'}, + {'pest_derive-2.7.14.tar.gz': 'd214365f632b123a47fd913301e14c946c61d1c183ee245fa76eb752e59a02dd'}, + {'pest_generator-2.7.14.tar.gz': 'eb55586734301717aea2ac313f50b2eb8f60d2fc3dc01d190eefa2e625f60c4e'}, + {'pest_meta-2.7.14.tar.gz': 'b75da2a70cf4d9cb76833c990ac9cd3923c9a8905a8929789ce347c84564d03d'}, + {'petgraph-0.6.5.tar.gz': 'b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db'}, + {'pkg-config-0.3.31.tar.gz': '953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2'}, + {'portable-atomic-1.9.0.tar.gz': 'cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2'}, + {'ppv-lite86-0.2.20.tar.gz': '77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04'}, + {'prettytable-rs-0.10.0.tar.gz': 'eea25e07510aa6ab6547308ebe3c036016d162b8da920dbb079e3ba8acf3d95a'}, + {'proc-macro2-1.0.89.tar.gz': 'f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e'}, + {'pulp-0.18.22.tar.gz': 'a0a01a0dc67cf4558d279f0c25b0962bd08fc6dec0137699eae304103e882fe6'}, + {'puruspe-0.2.5.tar.gz': '3804877ffeba468c806c2ad9057bbbae92e4b2c410c2f108baaa0042f241fa4c'}, + {'quick-error-1.2.3.tar.gz': 'a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0'}, + {'quote-1.0.37.tar.gz': 'b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af'}, + {'radium-0.7.0.tar.gz': 'dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09'}, + {'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'}, + {'reborrow-0.5.5.tar.gz': '03251193000f4bd3b042892be858ee50e8b3719f2b08e5833ac4353724632430'}, + {'redox_syscall-0.5.7.tar.gz': '9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f'}, + {'redox_users-0.4.6.tar.gz': 'ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43'}, + {'regex-1.11.0.tar.gz': '38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8'}, + {'regex-automata-0.4.8.tar.gz': '368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3'}, + {'regex-syntax-0.8.5.tar.gz': '2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c'}, + {'rust-htslib-0.46.0.tar.gz': 'aec6f9ca4601beb4ae75ff8c99144dd15de5a873f6adf058da299962c760968e'}, + {'rust-lapper-1.1.0.tar.gz': 'ee43d8e721ac803031dbab6a944b957b49a3b11eadbc099880c8aaaebf23ed27'}, + {'rustc-hash-1.1.0.tar.gz': '08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2'}, + {'rustc_version-0.1.7.tar.gz': 'c5f5376ea5e30ce23c03eb77cbe4962b988deead10910c372b226388b594c084'}, + {'rustix-0.38.37.tar.gz': '8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811'}, + {'rustversion-1.0.18.tar.gz': '0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248'}, + {'rv-0.16.0.tar.gz': 'c64081d5a5cd97b60822603f9900df77d67c8258e9a8143b6aff950753f2bbe1'}, + {'ryu-1.0.18.tar.gz': 'f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f'}, + {'safe_arch-0.7.2.tar.gz': 'c3460605018fdc9612bce72735cba0d27efbcd9904780d44c7e3a9948f96148a'}, + {'scopeguard-1.2.0.tar.gz': '94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49'}, + {'semver-0.1.20.tar.gz': 'd4f410fedcf71af0345d7607d246e7ad15faaadd49d240ee3b24e5dc21a820ac'}, + {'serde-1.0.213.tar.gz': '3ea7893ff5e2466df8d720bb615088341b295f849602c6956047f8f80f0e9bc1'}, + {'serde-value-0.7.0.tar.gz': 'f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c'}, + {'serde_derive-1.0.213.tar.gz': '7e85ad2009c50b58e87caa8cd6dac16bdf511bbfb7af6c33df902396aa480fa5'}, + {'serde_json-1.0.132.tar.gz': 'd726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03'}, + {'serde_yaml-0.9.34+deprecated.tar.gz': '6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47'}, + {'sha2-0.10.8.tar.gz': '793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8'}, + {'shlex-1.3.0.tar.gz': '0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64'}, + {'simba-0.6.0.tar.gz': 'f0b7840f121a46d63066ee7a99fc81dcabbc6105e437cae43528cea199b5a05f'}, + {'similar-2.6.0.tar.gz': '1de1d4f81173b03af4c0cbed3c898f6bff5b870e4a7f5d6f4057d62a7a4b686e'}, + {'similar-asserts-1.6.0.tar.gz': 'cfe85670573cd6f0fa97940f26e7e6601213c3b0555246c24234131f88c5709e'}, + {'smallvec-1.13.2.tar.gz': '3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67'}, + {'special-0.10.3.tar.gz': 'b89cf0d71ae639fdd8097350bfac415a41aabf1d5ddd356295fdc95f09760382'}, + {'statrs-0.16.1.tar.gz': 'b35a062dbadac17a42e0fc64c27f419b25d6fae98572eb43c8814c9e873d7721'}, + {'strsim-0.11.1.tar.gz': '7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f'}, + {'strum-0.25.0.tar.gz': '290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125'}, + {'strum_macros-0.25.3.tar.gz': '23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0'}, + {'strum_macros-0.26.4.tar.gz': '4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be'}, + {'substring-1.4.5.tar.gz': '42ee6433ecef213b2e72f587ef64a2f5943e7cd16fbd82dbe8bc07486c534c86'}, + {'syn-1.0.109.tar.gz': '72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237'}, + {'syn-2.0.82.tar.gz': '83540f837a8afc019423a8edb95b52a8effe46957ee402287f4292fae35be021'}, + {'tap-1.0.1.tar.gz': '55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369'}, + {'tempfile-3.13.0.tar.gz': 'f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b'}, + {'term-0.7.0.tar.gz': 'c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f'}, + {'terminal_size-0.4.0.tar.gz': '4f599bd7ca042cfdf8f4512b277c02ba102247820f9d9d4a9f521f496751a6ef'}, + {'thiserror-1.0.65.tar.gz': '5d11abd9594d9b38965ef50805c5e469ca9cc6f197f883f717e0269a3057b3d5'}, + {'thiserror-impl-1.0.65.tar.gz': 'ae71770322cbd277e69d762a16c444af02aa0575ac0d174f0b9562d3b37f8602'}, + {'thread-id-4.2.2.tar.gz': 'cfe8f25bbdd100db7e1d34acf7fd2dc59c4bf8f7483f505eaa7d4f12f76cc0ea'}, + {'thread-tree-0.3.3.tar.gz': 'ffbd370cb847953a25954d9f63e14824a36113f8c72eecf6eccef5dc4b45d630'}, + {'tinyvec-1.8.0.tar.gz': '445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938'}, + {'tinyvec_macros-0.1.1.tar.gz': '1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20'}, + {'triple_accel-0.4.0.tar.gz': '22048bc95dfb2ffd05b1ff9a756290a009224b60b2f0e7525faeee7603851e63'}, + {'typemap-ors-1.0.0.tar.gz': 'a68c24b707f02dd18f1e4ccceb9d49f2058c2fb86384ef9972592904d7a28867'}, + {'typenum-1.17.0.tar.gz': '42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825'}, + {'ucd-trie-0.1.7.tar.gz': '2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971'}, + {'unicode-bidi-0.3.17.tar.gz': '5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893'}, + {'unicode-ident-1.0.13.tar.gz': 'e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe'}, + {'unicode-normalization-0.1.24.tar.gz': '5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956'}, + {'unicode-segmentation-1.12.0.tar.gz': 'f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493'}, + {'unicode-width-0.1.14.tar.gz': '7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af'}, + {'unsafe-any-ors-1.0.0.tar.gz': 'e0a303d30665362d9680d7d91d78b23f5f899504d4f08b3c4cf08d055d87c0ad'}, + {'unsafe-libyaml-0.2.11.tar.gz': '673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861'}, + {'url-2.5.2.tar.gz': '22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c'}, + {'utf8parse-0.2.2.tar.gz': '06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821'}, + {'vcpkg-0.2.15.tar.gz': 'accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426'}, + {'vec_map-0.8.2.tar.gz': 'f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191'}, + {'version_check-0.9.5.tar.gz': '0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a'}, + {'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}, + {'wasm-bindgen-0.2.95.tar.gz': '128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e'}, + {'wasm-bindgen-backend-0.2.95.tar.gz': 'cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358'}, + {'wasm-bindgen-macro-0.2.95.tar.gz': 'e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56'}, + {'wasm-bindgen-macro-support-0.2.95.tar.gz': '26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68'}, + {'wasm-bindgen-shared-0.2.95.tar.gz': '65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d'}, + {'wide-0.7.28.tar.gz': 'b828f995bf1e9622031f8009f8481a85406ce1f4d4588ff746d872043e855690'}, + {'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.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'}, + {'wyz-0.5.1.tar.gz': '05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed'}, + {'zerocopy-0.7.35.tar.gz': '1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0'}, + {'zerocopy-derive-0.7.35.tar.gz': 'fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e'}, +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/modkit/modkit-0.4.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/m/modkit/modkit-0.4.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..cae76ec0a45 --- /dev/null +++ b/easybuild/easyconfigs/m/modkit/modkit-0.4.1-GCCcore-13.3.0.eb @@ -0,0 +1,586 @@ +easyblock = 'Cargo' + +name = 'modkit' +version = '0.4.1' + +homepage = 'https://github.com/nanoporetech/modkit' +description = 'A bioinformatics tool for working with modified bases.' + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/nanoporetech/modkit/archive/'] +sources = ['v%(version)s.tar.gz'] + +builddependencies = [ + ('binutils', '2.42'), + ('Rust', '1.78.0'), + ('Perl-bundle-CPAN', '5.38.2'), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ["%(namelower)s --help"] + +crates = [ + ('adler2', '2.0.0'), + ('ahash', '0.8.11'), + ('aho-corasick', '1.1.3'), + ('android-tzdata', '0.1.1'), + ('android_system_properties', '0.1.5'), + ('ansi_term', '0.12.1'), + ('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.90'), + ('approx', '0.5.1'), + ('arc-swap', '1.7.1'), + ('assert_approx_eq', '1.1.0'), + ('autocfg', '1.4.0'), + ('bio', '1.6.0'), + ('bio-types', '1.0.4'), + ('bit-set', '0.5.3'), + ('bit-vec', '0.6.3'), + ('bitflags', '2.6.0'), + ('bitvec', '1.0.1'), + ('block-buffer', '0.10.4'), + ('bstr', '1.10.0'), + ('bumpalo', '3.16.0'), + ('bv', '0.11.1'), + ('bytecount', '0.6.8'), + ('bytemuck', '1.19.0'), + ('byteorder', '1.5.0'), + ('bytes', '1.8.0'), + ('bzip2-sys', '0.1.11+1.0.8'), + ('cc', '1.1.31'), + ('cfg-if', '1.0.0'), + ('charming', '0.3.1'), + ('chrono', '0.4.38'), + ('clap', '4.5.20'), + ('clap_builder', '4.5.20'), + ('clap_derive', '4.5.18'), + ('clap_lex', '0.7.2'), + ('cmake', '0.1.51'), + ('colorchoice', '1.0.2'), + ('common_macros', '0.1.1'), + ('console', '0.15.8'), + ('core-foundation-sys', '0.8.7'), + ('core_affinity', '0.8.1'), + ('cpufeatures', '0.2.14'), + ('crc32fast', '1.4.2'), + ('crossbeam', '0.8.4'), + ('crossbeam-channel', '0.5.13'), + ('crossbeam-deque', '0.8.5'), + ('crossbeam-epoch', '0.9.18'), + ('crossbeam-queue', '0.3.11'), + ('crossbeam-utils', '0.8.20'), + ('crypto-common', '0.1.6'), + ('csv', '1.3.0'), + ('csv-core', '0.1.11'), + ('curl-sys', '0.4.77+curl-8.10.1'), + ('custom_derive', '0.1.7'), + ('derivative', '2.2.0'), + ('derive-new', '0.5.9'), + ('derive-new', '0.6.0'), + ('destructure_traitobject', '0.2.0'), + ('digest', '0.10.7'), + ('dirs-next', '2.0.0'), + ('dirs-sys-next', '0.1.2'), + ('doc-comment', '0.3.3'), + ('editdistancek', '1.0.2'), + ('either', '1.13.0'), + ('encode_unicode', '0.3.6'), + ('encode_unicode', '1.0.0'), + ('enum-map', '2.7.3'), + ('enum-map-derive', '0.17.0'), + ('equivalent', '1.0.1'), + ('errno', '0.3.9'), + ('fastrand', '2.1.1'), + ('feature-probe', '0.1.1'), + ('fixedbitset', '0.4.2'), + ('flate2', '1.0.34'), + ('flume', '0.10.14'), + ('fnv', '1.0.7'), + ('form_urlencoded', '1.2.1'), + ('fs-utils', '1.1.4'), + ('funty', '2.0.0'), + ('futures-core', '0.3.31'), + ('futures-sink', '0.3.31'), + ('fxhash', '0.2.1'), + ('generic-array', '0.14.7'), + ('getrandom', '0.2.15'), + ('glob', '0.3.1'), + ('gzp', '0.11.3'), + ('handlebars', '4.5.0'), + ('hashbrown', '0.13.2'), + ('hashbrown', '0.15.0'), + ('heck', '0.4.1'), + ('heck', '0.5.0'), + ('hermit-abi', '0.3.9'), + ('hermit-abi', '0.4.0'), + ('hts-sys', '2.1.4'), + ('humantime', '2.1.0'), + ('iana-time-zone', '0.1.61'), + ('iana-time-zone-haiku', '0.1.2'), + ('idna', '0.5.0'), + ('ieee754', '0.2.6'), + ('indexmap', '2.6.0'), + ('indicatif', '0.17.8'), + ('instant', '0.1.13'), + ('is-terminal', '0.4.13'), + ('is_terminal_polyfill', '1.70.1'), + ('itertools', '0.11.0'), + ('itertools', '0.12.1'), + ('itertools-num', '0.1.3'), + ('itoa', '1.0.11'), + ('jobserver', '0.1.32'), + ('js-sys', '0.3.72'), + ('lazy_static', '1.5.0'), + ('libc', '0.2.161'), + ('libdeflate-sys', '0.12.0'), + ('libdeflater', '0.12.0'), + ('libm', '0.2.8'), + ('libredox', '0.1.3'), + ('libz-sys', '1.1.20'), + ('linear-map', '1.2.0'), + ('linux-raw-sys', '0.4.14'), + ('lock_api', '0.4.12'), + ('log', '0.4.22'), + ('log-mdc', '0.1.0'), + ('log-once', '0.4.1'), + ('log4rs', '1.3.0'), + ('lru', '0.9.0'), + ('lzma-sys', '0.1.20'), + ('matrixmultiply', '0.3.9'), + ('memchr', '2.7.4'), + ('minimal-lexical', '0.2.1'), + ('miniz_oxide', '0.8.0'), + ('multimap', '0.9.1'), + ('nalgebra', '0.29.0'), + ('nalgebra-macros', '0.1.0'), + ('nanorand', '0.7.0'), + ('ndarray', '0.15.6'), + ('newtype_derive', '0.1.6'), + ('nom', '7.1.3'), + ('num', '0.4.3'), + ('num-bigint', '0.4.6'), + ('num-complex', '0.4.6'), + ('num-integer', '0.1.46'), + ('num-iter', '0.1.45'), + ('num-rational', '0.4.2'), + ('num-traits', '0.2.19'), + ('num_cpus', '1.16.0'), + ('number_prefix', '0.4.0'), + ('once_cell', '1.20.2'), + ('openssl-src', '300.3.2+3.3.2'), + ('openssl-sys', '0.9.104'), + ('order-stat', '0.1.3'), + ('ordered-float', '2.10.1'), + ('ordered-float', '3.9.2'), + ('parking_lot', '0.12.3'), + ('parking_lot_core', '0.9.10'), + ('paste', '1.0.15'), + ('percent-encoding', '2.3.1'), + ('peroxide', '0.32.1'), + ('peroxide-ad', '0.3.0'), + ('pest', '2.7.14'), + ('pest_derive', '2.7.14'), + ('pest_generator', '2.7.14'), + ('pest_meta', '2.7.14'), + ('petgraph', '0.6.5'), + ('pin-project', '1.1.6'), + ('pin-project-internal', '1.1.6'), + ('pkg-config', '0.3.31'), + ('portable-atomic', '1.9.0'), + ('ppv-lite86', '0.2.20'), + ('prettytable-rs', '0.10.0'), + ('proc-macro2', '1.0.88'), + ('pulp', '0.18.22'), + ('puruspe', '0.2.5'), + ('quick-error', '1.2.3'), + ('quote', '1.0.37'), + ('radium', '0.7.0'), + ('rand', '0.8.5'), + ('rand_chacha', '0.3.1'), + ('rand_core', '0.6.4'), + ('rand_distr', '0.4.3'), + ('random_color', '1.0.0'), + ('rawpointer', '0.2.1'), + ('rayon', '1.10.0'), + ('rayon-core', '1.12.1'), + ('reborrow', '0.5.5'), + ('redox_syscall', '0.5.7'), + ('redox_users', '0.4.6'), + ('regex', '1.11.0'), + ('regex-automata', '0.4.8'), + ('regex-syntax', '0.8.5'), + ('rust-htslib', '0.46.0'), + ('rust-lapper', '1.1.0'), + ('rustc-hash', '1.1.0'), + ('rustc_version', '0.1.7'), + ('rustix', '0.38.37'), + ('rustversion', '1.0.18'), + ('rv', '0.16.0'), + ('ryu', '1.0.18'), + ('safe_arch', '0.7.2'), + ('scopeguard', '1.2.0'), + ('semver', '0.1.20'), + ('serde', '1.0.211'), + ('serde-value', '0.7.0'), + ('serde_derive', '1.0.211'), + ('serde_json', '1.0.132'), + ('serde_yaml', '0.9.34+deprecated'), + ('sha2', '0.10.8'), + ('shlex', '1.3.0'), + ('simba', '0.6.0'), + ('similar', '2.6.0'), + ('similar-asserts', '1.6.0'), + ('smallvec', '1.13.2'), + ('special', '0.10.3'), + ('spin', '0.9.8'), + ('statrs', '0.16.1'), + ('strsim', '0.11.1'), + ('strum', '0.25.0'), + ('strum_macros', '0.25.3'), + ('strum_macros', '0.26.4'), + ('substring', '1.4.5'), + ('syn', '1.0.109'), + ('syn', '2.0.82'), + ('tap', '1.0.1'), + ('tempfile', '3.13.0'), + ('term', '0.7.0'), + ('terminal_size', '0.4.0'), + ('thiserror', '1.0.64'), + ('thiserror-impl', '1.0.64'), + ('thread-id', '4.2.2'), + ('thread-tree', '0.3.3'), + ('tinyvec', '1.8.0'), + ('tinyvec_macros', '0.1.1'), + ('triple_accel', '0.4.0'), + ('typemap-ors', '1.0.0'), + ('typenum', '1.17.0'), + ('ucd-trie', '0.1.7'), + ('unicode-bidi', '0.3.17'), + ('unicode-ident', '1.0.13'), + ('unicode-normalization', '0.1.24'), + ('unicode-segmentation', '1.12.0'), + ('unicode-width', '0.1.14'), + ('unsafe-any-ors', '1.0.0'), + ('unsafe-libyaml', '0.2.11'), + ('url', '2.5.2'), + ('utf8parse', '0.2.2'), + ('vcpkg', '0.2.15'), + ('vec_map', '0.8.2'), + ('version_check', '0.9.5'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('wasm-bindgen', '0.2.95'), + ('wasm-bindgen-backend', '0.2.95'), + ('wasm-bindgen-macro', '0.2.95'), + ('wasm-bindgen-macro-support', '0.2.95'), + ('wasm-bindgen-shared', '0.2.95'), + ('wide', '0.7.28'), + ('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.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'), + ('wyz', '0.5.1'), + ('zerocopy', '0.7.35'), + ('zerocopy-derive', '0.7.35'), +] + +checksums = [ + {'v0.4.1.tar.gz': '45cd7d4ee69092db7412a15f02799c3118bf5fa4e40e193e30e8c65c4f762f79'}, + {'adler2-2.0.0.tar.gz': '512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627'}, + {'ahash-0.8.11.tar.gz': 'e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011'}, + {'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'}, + {'ansi_term-0.12.1.tar.gz': 'd52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2'}, + {'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.90.tar.gz': '37bf3594c4c988a53154954629820791dde498571819ae4ca50ca811e060cc95'}, + {'approx-0.5.1.tar.gz': 'cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6'}, + {'arc-swap-1.7.1.tar.gz': '69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457'}, + {'assert_approx_eq-1.1.0.tar.gz': '3c07dab4369547dbe5114677b33fbbf724971019f3818172d59a97a61c774ffd'}, + {'autocfg-1.4.0.tar.gz': 'ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26'}, + {'bio-1.6.0.tar.gz': '7a72cb93babf08c85b375c2938ac678cc637936b3ebb72266d433cec2577f6c2'}, + {'bio-types-1.0.4.tar.gz': 'f4dcf54f8b7f51450207d54780bab09c05f30b8b0caa991545082842e466ad7e'}, + {'bit-set-0.5.3.tar.gz': '0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1'}, + {'bit-vec-0.6.3.tar.gz': '349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb'}, + {'bitflags-2.6.0.tar.gz': 'b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de'}, + {'bitvec-1.0.1.tar.gz': '1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c'}, + {'block-buffer-0.10.4.tar.gz': '3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71'}, + {'bstr-1.10.0.tar.gz': '40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c'}, + {'bumpalo-3.16.0.tar.gz': '79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c'}, + {'bv-0.11.1.tar.gz': '8834bb1d8ee5dc048ee3124f2c7c1afcc6bc9aed03f11e9dfd8c69470a5db340'}, + {'bytecount-0.6.8.tar.gz': '5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce'}, + {'bytemuck-1.19.0.tar.gz': '8334215b81e418a0a7bdb8ef0849474f40bb10c8b71f1c4ed315cff49f32494d'}, + {'byteorder-1.5.0.tar.gz': '1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b'}, + {'bytes-1.8.0.tar.gz': '9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da'}, + {'bzip2-sys-0.1.11+1.0.8.tar.gz': '736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc'}, + {'cc-1.1.31.tar.gz': 'c2e7962b54006dcfcc61cb72735f4d89bb97061dd6a7ed882ec6b8ee53714c6f'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'charming-0.3.1.tar.gz': 'f4c6b6990238a64b4ae139e7085ce2a11815cb67a0c066a3333ce40f3a329be3'}, + {'chrono-0.4.38.tar.gz': 'a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401'}, + {'clap-4.5.20.tar.gz': 'b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8'}, + {'clap_builder-4.5.20.tar.gz': '19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54'}, + {'clap_derive-4.5.18.tar.gz': '4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab'}, + {'clap_lex-0.7.2.tar.gz': '1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97'}, + {'cmake-0.1.51.tar.gz': 'fb1e43aa7fd152b1f968787f7dbcdeb306d1867ff373c69955211876c053f91a'}, + {'colorchoice-1.0.2.tar.gz': 'd3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0'}, + {'common_macros-0.1.1.tar.gz': 'f3f6d59c71e7dc3af60f0af9db32364d96a16e9310f3f5db2b55ed642162dd35'}, + {'console-0.15.8.tar.gz': '0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb'}, + {'core-foundation-sys-0.8.7.tar.gz': '773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b'}, + {'core_affinity-0.8.1.tar.gz': '622892f5635ce1fc38c8f16dfc938553ed64af482edb5e150bf4caedbfcb2304'}, + {'cpufeatures-0.2.14.tar.gz': '608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0'}, + {'crc32fast-1.4.2.tar.gz': 'a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3'}, + {'crossbeam-0.8.4.tar.gz': '1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8'}, + {'crossbeam-channel-0.5.13.tar.gz': '33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2'}, + {'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.20.tar.gz': '22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80'}, + {'crypto-common-0.1.6.tar.gz': '1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3'}, + {'csv-1.3.0.tar.gz': 'ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe'}, + {'csv-core-0.1.11.tar.gz': '5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70'}, + {'curl-sys-0.4.77+curl-8.10.1.tar.gz': 'f469e8a5991f277a208224f6c7ad72ecb5f986e36d09ae1f2c1bb9259478a480'}, + {'custom_derive-0.1.7.tar.gz': 'ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a01b9'}, + {'derivative-2.2.0.tar.gz': 'fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b'}, + {'derive-new-0.5.9.tar.gz': '3418329ca0ad70234b9735dc4ceed10af4df60eff9c8e7b06cb5e520d92c3535'}, + {'derive-new-0.6.0.tar.gz': 'd150dea618e920167e5973d70ae6ece4385b7164e0d799fe7c122dd0a5d912ad'}, + {'destructure_traitobject-0.2.0.tar.gz': '3c877555693c14d2f84191cfd3ad8582790fc52b5e2274b40b59cf5f5cea25c7'}, + {'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'}, + {'editdistancek-1.0.2.tar.gz': '3e02df23d5b1c6f9e69fa603b890378123b93073df998a21e6e33b9db0a32613'}, + {'either-1.13.0.tar.gz': '60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0'}, + {'encode_unicode-0.3.6.tar.gz': 'a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f'}, + {'encode_unicode-1.0.0.tar.gz': '34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0'}, + {'enum-map-2.7.3.tar.gz': '6866f3bfdf8207509a033af1a75a7b08abda06bbaaeae6669323fd5a097df2e9'}, + {'enum-map-derive-0.17.0.tar.gz': 'f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb'}, + {'equivalent-1.0.1.tar.gz': '5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5'}, + {'errno-0.3.9.tar.gz': '534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba'}, + {'fastrand-2.1.1.tar.gz': 'e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6'}, + {'feature-probe-0.1.1.tar.gz': '835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da'}, + {'fixedbitset-0.4.2.tar.gz': '0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80'}, + {'flate2-1.0.34.tar.gz': 'a1b589b4dc103969ad3cf85c950899926ec64300a1a46d76c03a6072957036f0'}, + {'flume-0.10.14.tar.gz': '1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577'}, + {'fnv-1.0.7.tar.gz': '3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1'}, + {'form_urlencoded-1.2.1.tar.gz': 'e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456'}, + {'fs-utils-1.1.4.tar.gz': '6fc7a9dc005c944c98a935e7fd626faf5bf7e5a609f94bc13e42fc4a02e52593'}, + {'funty-2.0.0.tar.gz': 'e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c'}, + {'futures-core-0.3.31.tar.gz': '05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e'}, + {'futures-sink-0.3.31.tar.gz': 'e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7'}, + {'fxhash-0.2.1.tar.gz': 'c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c'}, + {'generic-array-0.14.7.tar.gz': '85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a'}, + {'getrandom-0.2.15.tar.gz': 'c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7'}, + {'glob-0.3.1.tar.gz': 'd2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b'}, + {'gzp-0.11.3.tar.gz': 'e7c65d1899521a11810501b50b898464d133e1afc96703cff57726964cfa7baf'}, + {'handlebars-4.5.0.tar.gz': 'faa67bab9ff362228eb3d00bd024a4965d8231bbb7921167f0cfa66c6626b225'}, + {'hashbrown-0.13.2.tar.gz': '43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e'}, + {'hashbrown-0.15.0.tar.gz': '1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'heck-0.5.0.tar.gz': '2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea'}, + {'hermit-abi-0.3.9.tar.gz': 'd231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024'}, + {'hermit-abi-0.4.0.tar.gz': 'fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc'}, + {'hts-sys-2.1.4.tar.gz': 'e9f348d14cb4e50444e39fcd6b00302fe2ed2bc88094142f6278391d349a386d'}, + {'humantime-2.1.0.tar.gz': '9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4'}, + {'iana-time-zone-0.1.61.tar.gz': '235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220'}, + {'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.6.0.tar.gz': '707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da'}, + {'indicatif-0.17.8.tar.gz': '763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3'}, + {'instant-0.1.13.tar.gz': 'e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222'}, + {'is-terminal-0.4.13.tar.gz': '261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b'}, + {'is_terminal_polyfill-1.70.1.tar.gz': '7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf'}, + {'itertools-0.11.0.tar.gz': 'b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57'}, + {'itertools-0.12.1.tar.gz': 'ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569'}, + {'itertools-num-0.1.3.tar.gz': 'a872a22f9e6f7521ca557660adb96dd830e54f0f490fa115bb55dd69d38b27e7'}, + {'itoa-1.0.11.tar.gz': '49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b'}, + {'jobserver-0.1.32.tar.gz': '48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0'}, + {'js-sys-0.3.72.tar.gz': '6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9'}, + {'lazy_static-1.5.0.tar.gz': 'bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe'}, + {'libc-0.2.161.tar.gz': '8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1'}, + {'libdeflate-sys-0.12.0.tar.gz': 'e1f7b0817f85e2ba608892f30fbf4c9d03f3ebf9db0c952d1b7c8f7387b54785'}, + {'libdeflater-0.12.0.tar.gz': '671e63282f642c7bcc7d292b212d5a4739fef02a77fe98429a75d308f96e7931'}, + {'libm-0.2.8.tar.gz': '4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058'}, + {'libredox-0.1.3.tar.gz': 'c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d'}, + {'libz-sys-1.1.20.tar.gz': 'd2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472'}, + {'linear-map-1.2.0.tar.gz': 'bfae20f6b19ad527b550c223fddc3077a547fc70cda94b9b566575423fd303ee'}, + {'linux-raw-sys-0.4.14.tar.gz': '78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89'}, + {'lock_api-0.4.12.tar.gz': '07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17'}, + {'log-0.4.22.tar.gz': 'a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24'}, + {'log-mdc-0.1.0.tar.gz': 'a94d21414c1f4a51209ad204c1776a3d0765002c76c6abcb602a6f09f1e881c7'}, + {'log-once-0.4.1.tar.gz': '6d8a05e3879b317b1b6dbf353e5bba7062bedcc59815267bb23eaa0c576cebf0'}, + {'log4rs-1.3.0.tar.gz': '0816135ae15bd0391cf284eab37e6e3ee0a6ee63d2ceeb659862bd8d0a984ca6'}, + {'lru-0.9.0.tar.gz': '71e7d46de488603ffdd5f30afbc64fbba2378214a2c3a2fb83abf3d33126df17'}, + {'lzma-sys-0.1.20.tar.gz': '5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27'}, + {'matrixmultiply-0.3.9.tar.gz': '9380b911e3e96d10c1f415da0876389aaf1b56759054eeb0de7df940c456ba1a'}, + {'memchr-2.7.4.tar.gz': '78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3'}, + {'minimal-lexical-0.2.1.tar.gz': '68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a'}, + {'miniz_oxide-0.8.0.tar.gz': 'e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1'}, + {'multimap-0.9.1.tar.gz': 'e1a5d38b9b352dbd913288736af36af41c48d61b1a8cd34bcecd727561b7d511'}, + {'nalgebra-0.29.0.tar.gz': 'd506eb7e08d6329505faa8a3a00a5dcc6de9f76e0c77e4b75763ae3c770831ff'}, + {'nalgebra-macros-0.1.0.tar.gz': '01fcc0b8149b4632adc89ac3b7b31a12fb6099a0317a4eb2ebff574ef7de7218'}, + {'nanorand-0.7.0.tar.gz': '6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3'}, + {'ndarray-0.15.6.tar.gz': 'adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32'}, + {'newtype_derive-0.1.6.tar.gz': 'ac8cd24d9f185bb7223958d8c1ff7a961b74b1953fd05dba7cc568a63b3861ec'}, + {'nom-7.1.3.tar.gz': 'd273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a'}, + {'num-0.4.3.tar.gz': '35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23'}, + {'num-bigint-0.4.6.tar.gz': 'a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9'}, + {'num-complex-0.4.6.tar.gz': '73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495'}, + {'num-integer-0.1.46.tar.gz': '7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f'}, + {'num-iter-0.1.45.tar.gz': '1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf'}, + {'num-rational-0.4.2.tar.gz': 'f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824'}, + {'num-traits-0.2.19.tar.gz': '071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841'}, + {'num_cpus-1.16.0.tar.gz': '4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43'}, + {'number_prefix-0.4.0.tar.gz': '830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3'}, + {'once_cell-1.20.2.tar.gz': '1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775'}, + {'openssl-src-300.3.2+3.3.2.tar.gz': 'a211a18d945ef7e648cc6e0058f4c548ee46aab922ea203e0d30e966ea23647b'}, + {'openssl-sys-0.9.104.tar.gz': '45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741'}, + {'order-stat-0.1.3.tar.gz': 'efa535d5117d3661134dbf1719b6f0ffe06f2375843b13935db186cd094105eb'}, + {'ordered-float-2.10.1.tar.gz': '68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c'}, + {'ordered-float-3.9.2.tar.gz': 'f1e1c390732d15f1d48471625cd92d154e66db2c56645e29a9cd26f4699f72dc'}, + {'parking_lot-0.12.3.tar.gz': 'f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27'}, + {'parking_lot_core-0.9.10.tar.gz': '1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8'}, + {'paste-1.0.15.tar.gz': '57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a'}, + {'percent-encoding-2.3.1.tar.gz': 'e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e'}, + {'peroxide-0.32.1.tar.gz': '703b5fbdc1f9018a66e2db8758633cec31d39ad3127bfd38c9b6ad510637519c'}, + {'peroxide-ad-0.3.0.tar.gz': 'f6fba8ff3f40b67996f7c745f699babaa3e57ef5c8178ec999daf7eedc51dc8c'}, + {'pest-2.7.14.tar.gz': '879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442'}, + {'pest_derive-2.7.14.tar.gz': 'd214365f632b123a47fd913301e14c946c61d1c183ee245fa76eb752e59a02dd'}, + {'pest_generator-2.7.14.tar.gz': 'eb55586734301717aea2ac313f50b2eb8f60d2fc3dc01d190eefa2e625f60c4e'}, + {'pest_meta-2.7.14.tar.gz': 'b75da2a70cf4d9cb76833c990ac9cd3923c9a8905a8929789ce347c84564d03d'}, + {'petgraph-0.6.5.tar.gz': 'b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db'}, + {'pin-project-1.1.6.tar.gz': 'baf123a161dde1e524adf36f90bc5d8d3462824a9c43553ad07a8183161189ec'}, + {'pin-project-internal-1.1.6.tar.gz': 'a4502d8515ca9f32f1fb543d987f63d95a14934883db45bdb48060b6b69257f8'}, + {'pkg-config-0.3.31.tar.gz': '953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2'}, + {'portable-atomic-1.9.0.tar.gz': 'cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2'}, + {'ppv-lite86-0.2.20.tar.gz': '77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04'}, + {'prettytable-rs-0.10.0.tar.gz': 'eea25e07510aa6ab6547308ebe3c036016d162b8da920dbb079e3ba8acf3d95a'}, + {'proc-macro2-1.0.88.tar.gz': '7c3a7fc5db1e57d5a779a352c8cdb57b29aa4c40cc69c3a68a7fedc815fbf2f9'}, + {'pulp-0.18.22.tar.gz': 'a0a01a0dc67cf4558d279f0c25b0962bd08fc6dec0137699eae304103e882fe6'}, + {'puruspe-0.2.5.tar.gz': '3804877ffeba468c806c2ad9057bbbae92e4b2c410c2f108baaa0042f241fa4c'}, + {'quick-error-1.2.3.tar.gz': 'a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0'}, + {'quote-1.0.37.tar.gz': 'b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af'}, + {'radium-0.7.0.tar.gz': 'dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09'}, + {'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'}, + {'random_color-1.0.0.tar.gz': '38803f546aaf7a3bd5af56b139d7b432d3eb43318bf4a91342eff8a125b4fe06'}, + {'rawpointer-0.2.1.tar.gz': '60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3'}, + {'rayon-1.10.0.tar.gz': 'b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa'}, + {'rayon-core-1.12.1.tar.gz': '1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2'}, + {'reborrow-0.5.5.tar.gz': '03251193000f4bd3b042892be858ee50e8b3719f2b08e5833ac4353724632430'}, + {'redox_syscall-0.5.7.tar.gz': '9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f'}, + {'redox_users-0.4.6.tar.gz': 'ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43'}, + {'regex-1.11.0.tar.gz': '38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8'}, + {'regex-automata-0.4.8.tar.gz': '368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3'}, + {'regex-syntax-0.8.5.tar.gz': '2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c'}, + {'rust-htslib-0.46.0.tar.gz': 'aec6f9ca4601beb4ae75ff8c99144dd15de5a873f6adf058da299962c760968e'}, + {'rust-lapper-1.1.0.tar.gz': 'ee43d8e721ac803031dbab6a944b957b49a3b11eadbc099880c8aaaebf23ed27'}, + {'rustc-hash-1.1.0.tar.gz': '08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2'}, + {'rustc_version-0.1.7.tar.gz': 'c5f5376ea5e30ce23c03eb77cbe4962b988deead10910c372b226388b594c084'}, + {'rustix-0.38.37.tar.gz': '8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811'}, + {'rustversion-1.0.18.tar.gz': '0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248'}, + {'rv-0.16.0.tar.gz': 'c64081d5a5cd97b60822603f9900df77d67c8258e9a8143b6aff950753f2bbe1'}, + {'ryu-1.0.18.tar.gz': 'f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f'}, + {'safe_arch-0.7.2.tar.gz': 'c3460605018fdc9612bce72735cba0d27efbcd9904780d44c7e3a9948f96148a'}, + {'scopeguard-1.2.0.tar.gz': '94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49'}, + {'semver-0.1.20.tar.gz': 'd4f410fedcf71af0345d7607d246e7ad15faaadd49d240ee3b24e5dc21a820ac'}, + {'serde-1.0.211.tar.gz': '1ac55e59090389fb9f0dd9e0f3c09615afed1d19094284d0b200441f13550793'}, + {'serde-value-0.7.0.tar.gz': 'f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c'}, + {'serde_derive-1.0.211.tar.gz': '54be4f245ce16bc58d57ef2716271d0d4519e0f6defa147f6e081005bcb278ff'}, + {'serde_json-1.0.132.tar.gz': 'd726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03'}, + {'serde_yaml-0.9.34+deprecated.tar.gz': '6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47'}, + {'sha2-0.10.8.tar.gz': '793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8'}, + {'shlex-1.3.0.tar.gz': '0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64'}, + {'simba-0.6.0.tar.gz': 'f0b7840f121a46d63066ee7a99fc81dcabbc6105e437cae43528cea199b5a05f'}, + {'similar-2.6.0.tar.gz': '1de1d4f81173b03af4c0cbed3c898f6bff5b870e4a7f5d6f4057d62a7a4b686e'}, + {'similar-asserts-1.6.0.tar.gz': 'cfe85670573cd6f0fa97940f26e7e6601213c3b0555246c24234131f88c5709e'}, + {'smallvec-1.13.2.tar.gz': '3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67'}, + {'special-0.10.3.tar.gz': 'b89cf0d71ae639fdd8097350bfac415a41aabf1d5ddd356295fdc95f09760382'}, + {'spin-0.9.8.tar.gz': '6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67'}, + {'statrs-0.16.1.tar.gz': 'b35a062dbadac17a42e0fc64c27f419b25d6fae98572eb43c8814c9e873d7721'}, + {'strsim-0.11.1.tar.gz': '7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f'}, + {'strum-0.25.0.tar.gz': '290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125'}, + {'strum_macros-0.25.3.tar.gz': '23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0'}, + {'strum_macros-0.26.4.tar.gz': '4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be'}, + {'substring-1.4.5.tar.gz': '42ee6433ecef213b2e72f587ef64a2f5943e7cd16fbd82dbe8bc07486c534c86'}, + {'syn-1.0.109.tar.gz': '72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237'}, + {'syn-2.0.82.tar.gz': '83540f837a8afc019423a8edb95b52a8effe46957ee402287f4292fae35be021'}, + {'tap-1.0.1.tar.gz': '55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369'}, + {'tempfile-3.13.0.tar.gz': 'f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b'}, + {'term-0.7.0.tar.gz': 'c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f'}, + {'terminal_size-0.4.0.tar.gz': '4f599bd7ca042cfdf8f4512b277c02ba102247820f9d9d4a9f521f496751a6ef'}, + {'thiserror-1.0.64.tar.gz': 'd50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84'}, + {'thiserror-impl-1.0.64.tar.gz': '08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3'}, + {'thread-id-4.2.2.tar.gz': 'cfe8f25bbdd100db7e1d34acf7fd2dc59c4bf8f7483f505eaa7d4f12f76cc0ea'}, + {'thread-tree-0.3.3.tar.gz': 'ffbd370cb847953a25954d9f63e14824a36113f8c72eecf6eccef5dc4b45d630'}, + {'tinyvec-1.8.0.tar.gz': '445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938'}, + {'tinyvec_macros-0.1.1.tar.gz': '1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20'}, + {'triple_accel-0.4.0.tar.gz': '22048bc95dfb2ffd05b1ff9a756290a009224b60b2f0e7525faeee7603851e63'}, + {'typemap-ors-1.0.0.tar.gz': 'a68c24b707f02dd18f1e4ccceb9d49f2058c2fb86384ef9972592904d7a28867'}, + {'typenum-1.17.0.tar.gz': '42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825'}, + {'ucd-trie-0.1.7.tar.gz': '2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971'}, + {'unicode-bidi-0.3.17.tar.gz': '5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893'}, + {'unicode-ident-1.0.13.tar.gz': 'e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe'}, + {'unicode-normalization-0.1.24.tar.gz': '5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956'}, + {'unicode-segmentation-1.12.0.tar.gz': 'f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493'}, + {'unicode-width-0.1.14.tar.gz': '7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af'}, + {'unsafe-any-ors-1.0.0.tar.gz': 'e0a303d30665362d9680d7d91d78b23f5f899504d4f08b3c4cf08d055d87c0ad'}, + {'unsafe-libyaml-0.2.11.tar.gz': '673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861'}, + {'url-2.5.2.tar.gz': '22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c'}, + {'utf8parse-0.2.2.tar.gz': '06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821'}, + {'vcpkg-0.2.15.tar.gz': 'accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426'}, + {'vec_map-0.8.2.tar.gz': 'f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191'}, + {'version_check-0.9.5.tar.gz': '0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a'}, + {'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}, + {'wasm-bindgen-0.2.95.tar.gz': '128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e'}, + {'wasm-bindgen-backend-0.2.95.tar.gz': 'cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358'}, + {'wasm-bindgen-macro-0.2.95.tar.gz': 'e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56'}, + {'wasm-bindgen-macro-support-0.2.95.tar.gz': '26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68'}, + {'wasm-bindgen-shared-0.2.95.tar.gz': '65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d'}, + {'wide-0.7.28.tar.gz': 'b828f995bf1e9622031f8009f8481a85406ce1f4d4588ff746d872043e855690'}, + {'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.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'}, + {'wyz-0.5.1.tar.gz': '05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed'}, + {'zerocopy-0.7.35.tar.gz': '1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0'}, + {'zerocopy-derive-0.7.35.tar.gz': 'fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e'}, +] + +moduleclass = 'bio' 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/molmod/molmod-1.4.8-foss-2020b.eb b/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2020b.eb index 1aa8772b2ae..c8bfec5a591 100644 --- a/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2020b.eb +++ b/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2020b.eb @@ -10,8 +10,10 @@ toolchain = {'name': 'foss', 'version': '2020b'} source_urls = ['https://github.com/molmod/molmod/releases/download/%(version)s'] sources = [SOURCE_TAR_GZ] +patches = ['molmod-1.4.8_fix-git-version-check.patch'] checksums = [ - '759f8894f8a206e8d83f3f88882f29fcf73a7f9be375026e03c58e19496f42e8', # molmod-1.4.8.tar.gz + {'molmod-1.4.8.tar.gz': '759f8894f8a206e8d83f3f88882f29fcf73a7f9be375026e03c58e19496f42e8'}, + {'molmod-1.4.8_fix-git-version-check.patch': '6d1455f9dc3af07b723b05d144f6d8c3c0e5184e094eced1a6f59822f97dcf47'}, ] dependencies = [ @@ -24,6 +26,6 @@ download_dep_fail = True sanity_pip_check = True runtest = "export MATPLOTLIBRC=$PWD; echo 'backend: agg' > $MATPLOTLIBRC/matplotlibrc;" -runtest += "python setup.py build_ext -i; pytest -ra" +runtest += "python setup.py build_ext -i && pytest -ra" moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2021a.eb b/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2021a.eb index 0f4bb6c8b8e..d956778e486 100644 --- a/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2021a.eb +++ b/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2021a.eb @@ -10,8 +10,10 @@ toolchain = {'name': 'foss', 'version': '2021a'} source_urls = ['https://github.com/molmod/molmod/releases/download/%(version)s'] sources = [SOURCE_TAR_GZ] +patches = ['molmod-1.4.8_fix-git-version-check.patch'] checksums = [ - '759f8894f8a206e8d83f3f88882f29fcf73a7f9be375026e03c58e19496f42e8', # molmod-1.4.8.tar.gz + {'molmod-1.4.8.tar.gz': '759f8894f8a206e8d83f3f88882f29fcf73a7f9be375026e03c58e19496f42e8'}, + {'molmod-1.4.8_fix-git-version-check.patch': '6d1455f9dc3af07b723b05d144f6d8c3c0e5184e094eced1a6f59822f97dcf47'}, ] dependencies = [ @@ -24,7 +26,7 @@ download_dep_fail = True sanity_pip_check = True runtest = "export MATPLOTLIBRC=$PWD; echo 'backend: agg' > $MATPLOTLIBRC/matplotlibrc;" -runtest += "python setup.py build_ext -i; pytest -ra" +runtest += "python setup.py build_ext -i && pytest -ra" sanity_check_paths = { 'files': [], diff --git a/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2021b.eb b/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2021b.eb index ee12c06558e..f028e39eff4 100644 --- a/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2021b.eb +++ b/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2021b.eb @@ -10,8 +10,10 @@ toolchain = {'name': 'foss', 'version': '2021b'} source_urls = ['https://github.com/molmod/molmod/releases/download/%(version)s'] sources = [SOURCE_TAR_GZ] +patches = ['molmod-1.4.8_fix-git-version-check.patch'] checksums = [ - '759f8894f8a206e8d83f3f88882f29fcf73a7f9be375026e03c58e19496f42e8', # molmod-1.4.8.tar.gz + {'molmod-1.4.8.tar.gz': '759f8894f8a206e8d83f3f88882f29fcf73a7f9be375026e03c58e19496f42e8'}, + {'molmod-1.4.8_fix-git-version-check.patch': '6d1455f9dc3af07b723b05d144f6d8c3c0e5184e094eced1a6f59822f97dcf47'}, ] dependencies = [ @@ -24,7 +26,7 @@ download_dep_fail = True sanity_pip_check = True runtest = "export MATPLOTLIBRC=$PWD; echo 'backend: agg' > $MATPLOTLIBRC/matplotlibrc;" -runtest += "python setup.py build_ext -i; pytest -ra" +runtest += "python setup.py build_ext -i && pytest -ra" sanity_check_paths = { 'files': [], diff --git a/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-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 index 6d091b4f23b..d24c3b350d0 100644 --- a/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2023a.eb +++ b/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2023a.eb @@ -10,9 +10,13 @@ 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-np-unicode.patch'] +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'}, ] @@ -27,7 +31,7 @@ download_dep_fail = True sanity_pip_check = True runtest = "export MATPLOTLIBRC=$PWD; echo 'backend: agg' > $MATPLOTLIBRC/matplotlibrc;" -runtest += "python setup.py build_ext -i; pytest -ra" +runtest += "python setup.py build_ext -i && pytest -ra" sanity_check_paths = { 'files': [], diff --git a/easybuild/easyconfigs/m/molmod/molmod-1.4.8-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/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.3.9-GCC-12.3.0.eb b/easybuild/easyconfigs/m/mosdepth/mosdepth-0.3.9-GCC-12.3.0.eb new file mode 100644 index 00000000000..8fcad4de92b --- /dev/null +++ b/easybuild/easyconfigs/m/mosdepth/mosdepth-0.3.9-GCC-12.3.0.eb @@ -0,0 +1,48 @@ +easyblock = 'Binary' + +name = 'mosdepth' +version = '0.3.9' +local_hts_nim_ver = '0.3.25' + +homepage = 'https://github.com/brentp/mosdepth' +description = "Fast BAM/CRAM depth calculation for WGS, exome, or targeted sequencing" + +toolchain = {'name': 'GCC', 'version': '12.3.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 = [ + {'hts-nim-0.3.25.tar.gz': 'b13b9bb5aa567a69bf17547aadbbd39e37beb4f71a28f267b83dfea9ea4d05e8'}, + {'mosdepth-0.3.9.tar.gz': '9171ea9a6ddaccd0091db5b85fa9e6cb79516bbe005c47ffc8dcfe49c978eb69'}, +] + +dependencies = [ + ('Nim', '2.2.0'), + ('HTSlib', '1.18'), + ('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 += "nimble install --nimbleDir:%(installdir)s --verbose -y" + +sanity_check_paths = { + 'files': ['bin/mosdepth'], + 'dirs': [], +} + +sanity_check_commands = ["mosdepth --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/mpi4py/mpi4py-4.0.1-gompi-2024a.eb b/easybuild/easyconfigs/m/mpi4py/mpi4py-4.0.1-gompi-2024a.eb new file mode 100644 index 00000000000..c3fc1a06dae --- /dev/null +++ b/easybuild/easyconfigs/m/mpi4py/mpi4py-4.0.1-gompi-2024a.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonBundle' + +name = 'mpi4py' +version = '4.0.1' + +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': '2024a'} + +builddependencies = [ + ('Cython', '3.0.10'), +] + +dependencies = [ + ('Python', '3.12.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['f3174b245775d556f4fddb32519a2066ef0592edc810c5b5a59238f9a0a40c89'], + }), +] + +moduleclass = 'lib' 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/mpl-ascii/mpl-ascii-0.10.0-gfbf-2023a.eb b/easybuild/easyconfigs/m/mpl-ascii/mpl-ascii-0.10.0-gfbf-2023a.eb new file mode 100644 index 00000000000..8381b52dd43 --- /dev/null +++ b/easybuild/easyconfigs/m/mpl-ascii/mpl-ascii-0.10.0-gfbf-2023a.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonBundle' + +name = 'mpl-ascii' +version = '0.10.0' + +homepage = 'https://github.com/chriscave/mpl_ascii' +description = "A matplotlib backend that produces plots using only ASCII characters" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('matplotlib', '3.7.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'source_tmpl': 'mpl_ascii-%(version)s.tar.gz', + 'checksums': ['8e4ae770d5a612dab0e8055c7677c6c3d271da4f5127cce46a60ce3ce4a4e72c'], + # relax version constraint for rich + 'preinstallopts': """sed -i 's/"rich>=.*"/"rich"/g' pyproject.toml && """, + }), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/mpl-ascii/mpl-ascii-0.10.0-gfbf-2023b.eb b/easybuild/easyconfigs/m/mpl-ascii/mpl-ascii-0.10.0-gfbf-2023b.eb new file mode 100644 index 00000000000..f17a99eb068 --- /dev/null +++ b/easybuild/easyconfigs/m/mpl-ascii/mpl-ascii-0.10.0-gfbf-2023b.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonBundle' + +name = 'mpl-ascii' +version = '0.10.0' + +homepage = 'https://github.com/chriscave/mpl_ascii' +description = "A matplotlib backend that produces plots using only ASCII characters" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('matplotlib', '3.8.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'source_tmpl': 'mpl_ascii-%(version)s.tar.gz', + 'checksums': ['8e4ae770d5a612dab0e8055c7677c6c3d271da4f5127cce46a60ce3ce4a4e72c'], + # relax version constraint for rich + 'preinstallopts': """sed -i 's/"rich>=.*"/"rich"/g' pyproject.toml && """, + }), +] + +moduleclass = 'vis' 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.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/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/mstore/mstore-0.3.0-GCC-13.2.0.eb b/easybuild/easyconfigs/m/mstore/mstore-0.3.0-GCC-13.2.0.eb new file mode 100644 index 00000000000..639fb84a91b --- /dev/null +++ b/easybuild/easyconfigs/m/mstore/mstore-0.3.0-GCC-13.2.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': '13.2.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.27.6'), +] + +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/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/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.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/multicharge/multicharge-0.3.0-gfbf-2023b.eb b/easybuild/easyconfigs/m/multicharge/multicharge-0.3.0-gfbf-2023b.eb new file mode 100644 index 00000000000..b6f9aad8442 --- /dev/null +++ b/easybuild/easyconfigs/m/multicharge/multicharge-0.3.0-gfbf-2023b.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': '2023b'} + +github_account = 'grimme-lab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['2fcc1f80871f404f005e9db458ffaec95bb28a19516a0245278cd3175b63a6b2'] + +builddependencies = [ + ('CMake', '3.27.6'), + ('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-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/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/multiprocess/multiprocess-0.70.16-gfbf-2023b.eb b/easybuild/easyconfigs/m/multiprocess/multiprocess-0.70.16-gfbf-2023b.eb new file mode 100644 index 00000000000..956b6c8610d --- /dev/null +++ b/easybuild/easyconfigs/m/multiprocess/multiprocess-0.70.16-gfbf-2023b.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'multiprocess' +version = '0.70.16' + +homepage = 'https://github.com/uqfoundation/multiprocess' +description = "better multiprocessing and multithreading in python" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['161af703d4652a0e1410be6abccecde4a7ddffd19341be0a7011b94aeb171ac1'] + +dependencies = [ + ('Python', '3.11.5'), + ('dill', '0.3.8'), + ('Arrow', '16.1.0'), +] + +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/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/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-3.0-foss-2024a-mpi.eb b/easybuild/easyconfigs/n/NAMD/NAMD-3.0-foss-2024a-mpi.eb new file mode 100644 index 00000000000..081fb8af634 --- /dev/null +++ b/easybuild/easyconfigs/n/NAMD/NAMD-3.0-foss-2024a-mpi.eb @@ -0,0 +1,38 @@ +name = 'NAMD' +version = '3.0' +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': '2024a'} +toolchainopts = {'usempi': True, 'openmp': False, 'pic': True} + +source_urls = [ + 'https://www.ks.uiuc.edu/Research/%(namelower)s/%(version)s/download/946183/', + 'https://www.ks.uiuc.edu/Research/%(namelower)s/%(version)s/download/342056/', +] +sources = ['NAMD_%(version)s_Source.tar.gz'] + +patches = ['NAMD-3.0_fix_hwloc_build.patch'] + +checksums = [ + '301c64f0f1db860f7336efdb26223ccf66b5ab42bfc9141df8d81ec1e20bf472', # NAMD_3.0_Source.tar.gz + '03f7caa4027604e0483a9b149ebb5de310653a2aad99403faf3359ccc0015f02', # NAMD-3.0_fix_hwloc_build.patch +] + +# /bin/csh is required by 'config' script +builddependencies = [ + ('tcsh', '6.24.13'), + ('Autotools', '20231222'), +] +dependencies = [ + ('Tcl', '8.6.14'), +] + +# Hard to make charm build the mpi version with gcc on POWER, so we don't currently try +charm_arch = 'mpi-linux-%(arch)s' +charm_extra_cxxflags = '-fpermissive' + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/NAMD/NAMD-3.0_fix_hwloc_build.patch b/easybuild/easyconfigs/n/NAMD/NAMD-3.0_fix_hwloc_build.patch new file mode 100644 index 00000000000..4b6683cf226 --- /dev/null +++ b/easybuild/easyconfigs/n/NAMD/NAMD-3.0_fix_hwloc_build.patch @@ -0,0 +1,54 @@ +# What: Fix hwloc cmake build issue in charm-8.0.0, see https://github.com/charmplusplus/charm/issues/3843 +# This patch is based on the following PR: https://github.com/charmplusplus/charm/pull/3847 +# Author: maxim-masterov (SURF) +diff -Nru NAMD_3.0_Source.orig/charm-8.0.0/contrib/hwloc/config/hwloc.m4 NAMD_3.0_Source/charm-8.0.0/contrib/hwloc/config/hwloc.m4 +--- NAMD_3.0_Source.orig/charm-8.0.0/contrib/hwloc/config/hwloc.m4 2024-10-02 14:22:40.779651616 +0200 ++++ NAMD_3.0_Source/charm-8.0.0/contrib/hwloc/config/hwloc.m4 2024-10-23 17:15:35.921883766 +0200 +@@ -140,28 +140,43 @@ + AC_CONFIG_HEADERS(hwloc_config_prefix[include/private/autogen/config.h]) + AC_CONFIG_HEADERS(hwloc_config_prefix[include/hwloc/autogen/config.h]) + ++ + # What prefix are we using? +- AC_MSG_CHECKING([for hwloc symbol prefix]) ++ AH_VERBATIM([prefix_details_ifndef], ++ [ /* hwloc details should only be set once */ ++ #ifndef HWLOC_SYM_DETAILS ++ #define HWLOC_SYM_DETAILS ++ ]) ++ AC_MSG_CHECKING([for hwloc symbol prefix]) + AS_IF([test "$hwloc_symbol_prefix_value" = ""], + [AS_IF([test "$with_hwloc_symbol_prefix" = ""], + [hwloc_symbol_prefix_value=hwloc_], + [hwloc_symbol_prefix_value=$with_hwloc_symbol_prefix])]) ++ ++ + AC_DEFINE_UNQUOTED(HWLOC_SYM_PREFIX, [$hwloc_symbol_prefix_value], + [The hwloc symbol prefix]) + # Ensure to [] escape the whole next line so that we can get the + # proper tr tokens + [hwloc_symbol_prefix_value_caps="`echo $hwloc_symbol_prefix_value | tr '[:lower:]' '[:upper:]'`"] +- AC_DEFINE_UNQUOTED(HWLOC_SYM_PREFIX_CAPS, [$hwloc_symbol_prefix_value_caps], +- [The hwloc symbol prefix in all caps]) ++ AC_CHECK_DEFINE([HWLOC_SYM_PREFIX_CAPS],[0],AC_DEFINE_UNQUOTED(HWLOC_SYM_PREFIX_CAPS, [$hwloc_symbol_prefix_value_caps], ++ [The hwloc symbol prefix in all caps])) + AC_MSG_RESULT([$hwloc_symbol_prefix_value]) + +- # Give an easy #define to know if we need to transform all the ++ ++ # Give an easy #define to know if we need to transform all the + # hwloc names + AH_TEMPLATE([HWLOC_SYM_TRANSFORM], [Whether we need to re-define all the hwloc public symbols or not]) + AS_IF([test "$hwloc_symbol_prefix_value" = "hwloc_"], + [AC_DEFINE([HWLOC_SYM_TRANSFORM], [0])], + [AC_DEFINE([HWLOC_SYM_TRANSFORM], [1])]) + ++ AH_VERBATIM([prefix_details_endif], ++ [ /* HWLOC_DETAILS_SET */ ++ #endif ++ ]) ++ ++ + # Disabled for Charm++ due to https://github.com/charmplusplus/charm/issues/2606 + # hwloc 2.0+ requires a C99 compliant compiler + # AC_PROG_CC_C99 obsolete, detected inside AC_PROG_CC, since autoconf 2.70 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/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.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 index c85b7a97e48..569d09f9859 100644 --- 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 @@ -11,11 +11,15 @@ 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'] +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')] 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/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/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-GCCcore-12.3.0.eb b/easybuild/easyconfigs/n/NECAT/NECAT-0.0.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..15c35f4e31a --- /dev/null +++ b/easybuild/easyconfigs/n/NECAT/NECAT-0.0.1-GCCcore-12.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'MakeCp' + +name = 'NECAT' +version = '0.0.1' +_update = '20200803' + +homepage = 'https://github.com/xiaochuanle/NECAT' +description = "NECAT is an error correction and de-novo assembly tool for Nanopore long noisy reads." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/xiaochuanle/NECAT/archive/'] +sources = ['v%%(version)s_update%s.tar.gz' % _update] +checksums = ['5ddd147b5be6b1fac2f6c10b18c9b587838f2304d2584087c4ed6f628eced06c'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Perl', '5.36.1'), +] + +start_dir = 'src' + +files_to_copy = [ + (['Linux-amd64/bin'], ''), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['necat.sh', 'oc2cns', 'oc2elr', 'oc2etr', + 'oc2lcr', 'pigz', 'pm4']], + 'dirs': [], +} + +sanity_check_commands = ['%(namelower)s.pl --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NECAT/NECAT-0.0.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/n/NECAT/NECAT-0.0.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..a245da7c6bc --- /dev/null +++ b/easybuild/easyconfigs/n/NECAT/NECAT-0.0.1-GCCcore-13.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'MakeCp' + +name = 'NECAT' +version = '0.0.1' +_update = '20200803' + +homepage = 'https://github.com/xiaochuanle/NECAT' +description = "NECAT is an error correction and de-novo assembly tool for Nanopore long noisy reads." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/xiaochuanle/NECAT/archive/'] +sources = ['v%%(version)s_update%s.tar.gz' % _update] +patches = ['%(name)s-0.0.1_add-cstdint-include.patch'] +checksums = [ + {'v0.0.1_update20200803.tar.gz': '5ddd147b5be6b1fac2f6c10b18c9b587838f2304d2584087c4ed6f628eced06c'}, + {'NECAT-0.0.1_add-cstdint-include.patch': 'a50d4e39e6df580d0f5e67d81c9b1569315b564bfd0f74eda7d228c2f4890171'}, +] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Perl', '5.38.0'), +] + +start_dir = 'src' + +files_to_copy = [ + (['Linux-amd64/bin'], ''), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['necat.sh', 'oc2cns', 'oc2elr', 'oc2etr', + 'oc2lcr', 'pigz', 'pm4']], + 'dirs': [], +} + +sanity_check_commands = ['%(namelower)s.pl --help'] + +moduleclass = 'bio' 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/NECAT/NECAT-0.0.1_add-cstdint-include.patch b/easybuild/easyconfigs/n/NECAT/NECAT-0.0.1_add-cstdint-include.patch new file mode 100644 index 00000000000..a845baae899 --- /dev/null +++ b/easybuild/easyconfigs/n/NECAT/NECAT-0.0.1_add-cstdint-include.patch @@ -0,0 +1,14 @@ +Author: Jasper Grimm +Add include for gcc >= 13 support + +diff -Nru NECAT-0.0.1_update20200803.orig/src/fsa/simple_align.hpp NECAT-0.0.1_update20200803/src/fsa/simple_align.hpp +--- NECAT-0.0.1_update20200803.orig/src/fsa/simple_align.hpp 2024-10-09 15:51:42.877779089 +0100 ++++ NECAT-0.0.1_update20200803/src/fsa/simple_align.hpp 2024-10-09 15:52:17.356716279 +0100 +@@ -2,6 +2,7 @@ + #define FSA_ALIGN_SIMPLE_ALIGN_HPP + + #include ++#include + #include + #include + #include diff --git a/easybuild/easyconfigs/n/NFFT/NFFT-3.5.3-foss-2023a.eb b/easybuild/easyconfigs/n/NFFT/NFFT-3.5.3-foss-2023a.eb new file mode 100644 index 00000000000..b12d6190cc0 --- /dev/null +++ b/easybuild/easyconfigs/n/NFFT/NFFT-3.5.3-foss-2023a.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'NFFT' +version = '3.5.3' + +homepage = 'https://www-user.tu-chemnitz.de/~potts/nfft/' +description = """The NFFT (nonequispaced fast Fourier transform or nonuniform fast Fourier transform) is a C subroutine + library for computing the nonequispaced discrete Fourier transform (NDFT) and its generalisations in one or more + dimensions, of arbitrary input size, and of complex data.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/NFFT/nfft/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['ccef7a8e97e40e5f962df94626ade5adc7db1fb7948e3c75aa70393468e2e8fb'] + +dependencies = [('FFTW', '3.3.10')] + +builddependencies = [('Autotools', '20220317')] + +configure_cmd_prefix = './bootstrap.sh ; ' + +configopts = '--enable-openmp' + +sanity_check_paths = { + 'files': ['include/nfft3.h', 'include/nfft3mp.h', 'lib/libnfft3_threads.a', 'lib/libnfft3.a', + 'lib/libnfft3_threads.%s' % SHLIB_EXT, 'lib/libnfft3.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NGSpeciesID/NGSpeciesID-0.3.0-foss-2022b.eb b/easybuild/easyconfigs/n/NGSpeciesID/NGSpeciesID-0.3.0-foss-2022b.eb new file mode 100644 index 00000000000..9fe367ad885 --- /dev/null +++ b/easybuild/easyconfigs/n/NGSpeciesID/NGSpeciesID-0.3.0-foss-2022b.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonPackage' + +name = 'NGSpeciesID' +version = '0.3.0' + +homepage = 'https://github.com/ksahlin/NGSpeciesID' +description = "NGSpeciesID is a tool for clustering and consensus forming of targeted ONT reads." + +toolchain = {'name': 'foss', 'version': '2022b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['71663ce280220d4e692cc6c3aea44f91e40b3143ed09a9462bdf2feb1d94aa9f'] + +dependencies = [ + ('Python', '3.10.8'), + ('python-parasail', '1.3.4'), + ('edlib', '1.3.9'), + ('spoa', '4.0.7'), + ('Racon', '1.5.0'), + ('minimap2', '2.26'), + ('medaka', '1.9.1'), +] + +download_dep_fail = True +use_pip = True + +# strip away too strict version requirement for parasail +preinstallopts = "sed -i 's/parasail==[0-9.]*/parasail/g' setup.py && " + +# no proper namespace for NGSpeciesID +options = {'modulename': 'modules.consensus'} + +sanity_check_paths = { + 'files': ['bin/NGSpeciesID'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["NGSpeciesID --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NGSpeciesID/NGSpeciesID-0.3.0-foss-2023a.eb b/easybuild/easyconfigs/n/NGSpeciesID/NGSpeciesID-0.3.0-foss-2023a.eb new file mode 100644 index 00000000000..1116be83c60 --- /dev/null +++ b/easybuild/easyconfigs/n/NGSpeciesID/NGSpeciesID-0.3.0-foss-2023a.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonPackage' + +name = 'NGSpeciesID' +version = '0.3.0' + +homepage = 'https://github.com/ksahlin/NGSpeciesID' +description = "NGSpeciesID is a tool for clustering and consensus forming of targeted ONT reads." + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['71663ce280220d4e692cc6c3aea44f91e40b3143ed09a9462bdf2feb1d94aa9f'] + +dependencies = [ + ('Python', '3.11.3'), + ('python-parasail', '1.3.4'), + ('edlib', '1.3.9'), + ('medaka', '1.11.3'), + ('spoa', '4.1.0'), + ('Racon', '1.5.0'), + ('minimap2', '2.26'), +] + +download_dep_fail = True +use_pip = True + +# no proper namespace for NGSpeciesID +options = {'modulename': 'modules.consensus'} + +# parasail requirements are too strict +preinstallopts = "sed -i 's/parasail==/parasail>=/g' setup.py && " + +sanity_check_paths = { + 'files': ['bin/NGSpeciesID'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["NGSpeciesID --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NLTK/NLTK-3.7-foss-2021b.eb b/easybuild/easyconfigs/n/NLTK/NLTK-3.7-foss-2021b.eb index f0cf22b03b5..4255ed7b63b 100644 --- a/easybuild/easyconfigs/n/NLTK/NLTK-3.7-foss-2021b.eb +++ b/easybuild/easyconfigs/n/NLTK/NLTK-3.7-foss-2021b.eb @@ -24,6 +24,10 @@ local_nltk_data_install = [] # ] # modextravars = {'NLTK_DATA': local_nltk_data} +build_info_msg = """To install the NLTK data sets, and set the NLTK_DATA in the module file, during install set the + 'local_nltk_data' path and uncomment the 'local_nltk_data_install' and 'modextravars'. This can be done either by + having a local copy of the easyconfig or by using hooks.""" + use_pip = True sanity_pip_check = True diff --git a/easybuild/easyconfigs/n/NLTK/NLTK-3.8.1-foss-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.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/NSPR/NSPR-4.35-GCCcore-13.3.0.eb b/easybuild/easyconfigs/n/NSPR/NSPR-4.35-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..9157abca1c4 --- /dev/null +++ b/easybuild/easyconfigs/n/NSPR/NSPR-4.35-GCCcore-13.3.0.eb @@ -0,0 +1,33 @@ +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.3.0'} + +source_urls = ['https://ftp.mozilla.org/pub/%(namelower)s/releases/v%(version)s/src/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['7ea3297ea5969b5d25a5dd8d47f2443cda88e9ee746301f6e1e1426f8a6abc8f'] + +builddependencies = [ + ('binutils', '2.42'), +] + +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/%(namelower)s.pc'], + 'dirs': ['include/%(namelower)s'], +} + +sanity_check_commands = ['%(namelower)s-config --version'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NSS/NSS-3.104-GCCcore-13.3.0.eb b/easybuild/easyconfigs/n/NSS/NSS-3.104-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..fb301be49d5 --- /dev/null +++ b/easybuild/easyconfigs/n/NSS/NSS-3.104-GCCcore-13.3.0.eb @@ -0,0 +1,64 @@ +easyblock = 'MakeCp' + +name = 'NSS' +version = '3.104' + +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.3.0'} + +source_urls = ['https://ftp.mozilla.org/pub/security/nss/releases/NSS_%s_RTM/src/' % version.replace('.', '_')] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + '%(name)s-3.39_pkgconfig.patch', + '%(name)s-3.55_fix-ftbfs-glibc-invalid-oob-error.patch', +] +checksums = [ + {'nss-3.104.tar.gz': 'e2763223622d1e76b98a43030873856f248af0a41b03b2fa2ca06a91bc50ac8e'}, + {'NSS-3.39_pkgconfig.patch': '5c4b55842e5afd1e8e67b90635f6474510b89242963c4ac2622d3e3da9062774'}, + {'NSS-3.55_fix-ftbfs-glibc-invalid-oob-error.patch': + '15768297c5dd6918132af281531afcfe3e358f45a00bc2655d20a6cbe4310a9b'}, +] + +builddependencies = [ + ('binutils', '2.42'), + ('Perl', '5.38.2'), +] +dependencies = [ + ('NSPR', '4.35'), + ('zlib', '1.3.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 BUILD_OPT=1 USE_64=1 ' +buildopts += 'CPATH="$EBROOTNSPR/include/nspr:$CPATH" OS_REL_CFLAGS="-D_XOPEN_SOURCE "' +buildopts += ' && cd config && make PREFIX=%(installdir)s BUILD_OPT=1 USE_64=1 && cd -' + +# building in parallel fails +parallel = 1 + +# optional testsuite (takes a long time) +# buildopts += " && cd %(builddir)s/%(namelower)s-%(version)s/%(namelower)s/tests && " +# buildopts += " BUILD_OPT=1 USE_64=1 ./all.sh " + +files_to_copy = [ + '../dist/Linux*.OBJ/*', + (['../dist/public/*'], 'include'), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s-config', 'bin/multinit', 'lib/libnss.a'], + 'dirs': ['include/dbm', 'include/%(namelower)s'], +} + +sanity_check_commands = [ + "multinit --help", + "%(namelower)s-config --version", +] + +modextrapaths = {'CPATH': 'include/%(namelower)s'} + +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 index 7b9beb5c086..9e06f5845d3 100644 --- a/easybuild/easyconfigs/n/NSS/NSS-3.89.1-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/n/NSS/NSS-3.89.1-GCCcore-12.3.0.eb @@ -22,7 +22,10 @@ checksums = [ '15768297c5dd6918132af281531afcfe3e358f45a00bc2655d20a6cbe4310a9b'}, ] -builddependencies = [('binutils', '2.40')] +builddependencies = [ + ('binutils', '2.40'), + ('Perl', '5.36.1'), +] dependencies = [ ('NSPR', '4.35'), diff --git a/easybuild/easyconfigs/n/NSS/NSS-3.94-GCCcore-13.2.0.eb b/easybuild/easyconfigs/n/NSS/NSS-3.94-GCCcore-13.2.0.eb index 98dcf8eb5b5..bc0a97c325d 100644 --- a/easybuild/easyconfigs/n/NSS/NSS-3.94-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/n/NSS/NSS-3.94-GCCcore-13.2.0.eb @@ -22,7 +22,10 @@ checksums = [ '15768297c5dd6918132af281531afcfe3e358f45a00bc2655d20a6cbe4310a9b'}, ] -builddependencies = [('binutils', '2.40')] +builddependencies = [ + ('binutils', '2.40'), + ('Perl', '5.38.0'), +] dependencies = [ ('NSPR', '4.35'), diff --git a/easybuild/easyconfigs/n/NTL/NTL-11.5.1-GCC-13.2.0.eb b/easybuild/easyconfigs/n/NTL/NTL-11.5.1-GCC-13.2.0.eb new file mode 100644 index 00000000000..a2dd73270b7 --- /dev/null +++ b/easybuild/easyconfigs/n/NTL/NTL-11.5.1-GCC-13.2.0.eb @@ -0,0 +1,44 @@ +# contributed by Guilherme Peretti-Pezzi (CSCS) +# updated by Alex Domingo (Vrije Universiteit Brussel) +# updated by Åke Sandgren(Umeå University) +# Update: Petr Král (INUITS) +easyblock = 'ConfigureMake' + +name = 'NTL' +version = '11.5.1' + +homepage = 'https://shoup.net/ntl/' + +description = """NTL is a high-performance, portable C++ library providing data structures and +algorithms for manipulating signed, arbitrary length integers, and for vectors, +matrices, and polynomials over the integers and over finite fields.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +github_account = 'libntl' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['ef578fa8b6c0c64edd1183c4c303b534468b58dd3eb8df8c9a5633f984888de5'] + +builddependencies = [ + ('Perl', '5.38.0'), +] + +dependencies = [ + ('GMP', '6.3.0'), +] + +start_dir = 'src' + +prefix_opt = 'PREFIX=' +configopts = 'CXX="$CXX" CXXFLAGS="$CXXFLAGS" GMP_PREFIX="$EBROOTGMP" SHARED=on' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libntl.%s' % e for e in ['a', SHLIB_EXT]], + 'dirs': ['include/NTL', 'share/doc'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/NTL/NTL-11.5.1-GCC-13.3.0.eb b/easybuild/easyconfigs/n/NTL/NTL-11.5.1-GCC-13.3.0.eb new file mode 100644 index 00000000000..29fdd6e848f --- /dev/null +++ b/easybuild/easyconfigs/n/NTL/NTL-11.5.1-GCC-13.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) +# 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.3.0'} +toolchainopts = {'pic': True} + +github_account = 'libntl' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['ef578fa8b6c0c64edd1183c4c303b534468b58dd3eb8df8c9a5633f984888de5'] + +builddependencies = [ + ('Perl', '5.38.2'), +] + +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.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-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-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/NWChem/NWChem-7.2.3-intel-2024a.eb b/easybuild/easyconfigs/n/NWChem/NWChem-7.2.3-intel-2024a.eb new file mode 100644 index 00000000000..7b3190a3cd4 --- /dev/null +++ b/easybuild/easyconfigs/n/NWChem/NWChem-7.2.3-intel-2024a.eb @@ -0,0 +1,34 @@ +name = 'NWChem' +version = '7.2.3' + +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': '2024a'} +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.3-release.tar.gz': 'fec76fbe650cdab8b00c8c1d7a5671554313e04a8e9e2fb300a7aad486910e6f'}, + {'NWChem-7.0.2_fix_gnumakefile.patch': '89c634a652d4c8c358f8388ac01ee441659e3c0256c39b6494e2885c91f9aca4'}, +] + +dependencies = [ + ('GlobalArrays', '5.8.2'), + ('Python', '3.12.3'), +] + +preconfigopts = "export EXTRA_LIBS=-lutil && " + +modules = "all python" + +moduleclass = 'chem' 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.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-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/NanoPack/NanoPack-20230602-foss-2023a.eb b/easybuild/easyconfigs/n/NanoPack/NanoPack-20230602-foss-2023a.eb new file mode 100644 index 00000000000..00ae2ecf8e2 --- /dev/null +++ b/easybuild/easyconfigs/n/NanoPack/NanoPack-20230602-foss-2023a.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonPackage' + +name = 'NanoPack' +version = '20230602' +local_commit = '4059a0a' + +homepage = 'https://daler.github.io/pybedtools' +description = "Collection of long read processing and analysis tools." + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/wdecoster/nanopack/archive/'] +sources = ['%s.tar.gz' % local_commit] +checksums = ['b533dd54bf9688a24faf9cb724050ace87bba18b2f469e1116ae47c9ae26cdc1'] + +dependencies = [ + ('Python', '3.11.3'), + ('nanomath', '1.4.0'), + ('nanoget', '1.19.3'), + ('NanoStat', '1.6.0'), + ('NanoFilt', '2.8.0'), + ('NanoLyse', '1.2.1'), + ('NanoPlot', '1.43.0'), + ('NanoComp', '1.24.0'), + ('nanoQC', '0.9.4'), + ('kyber', '0.4.0'), +] + +download_dep_fail = True +use_pip = True +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-2022a.eb b/easybuild/easyconfigs/n/NanoStat/NanoStat-1.6.0-foss-2022a.eb index 40c1f10d183..c09007f4644 100644 --- a/easybuild/easyconfigs/n/NanoStat/NanoStat-1.6.0-foss-2022a.eb +++ b/easybuild/easyconfigs/n/NanoStat/NanoStat-1.6.0-foss-2022a.eb @@ -11,7 +11,7 @@ toolchain = {'name': 'foss', 'version': '2022a'} dependencies = [ ('Python', '3.10.4'), - ('nanoget', '1.18.1'), + ('nanoget', '1.19.1'), ('nanomath', '1.3.0'), ] 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/NextDenovo/NextDenovo-2.5.2-20240510-GCCcore-12.3.0.eb b/easybuild/easyconfigs/n/NextDenovo/NextDenovo-2.5.2-20240510-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..84f6960102e --- /dev/null +++ b/easybuild/easyconfigs/n/NextDenovo/NextDenovo-2.5.2-20240510-GCCcore-12.3.0.eb @@ -0,0 +1,54 @@ +easyblock = 'MakeCp' + +name = 'NextDenovo' +version = '2.5.2-20240510' +local_commit = '0e5fa5d' + +homepage = 'https://github.com/Nextomics/NextDenovo' +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/NextDenovo/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['bbe43124e7d63cbe33179c2abf2de60797bb7361a7f7a2b5fc33bf62a4479726'] + +builddependencies = [('binutils', '2.40')] +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('cURL', '8.0.1'), +] + +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'], + }), +] + +files_to_copy = ['bin', 'lib', 'test_data', 'LICENSE', 'nextDenovo'] + +sanity_check_paths = { + 'files': ['nextDenovo', 'bin/minimap2-nd', 'bin/paralleltask', 'bin/nextgraph'], + 'dirs': ['bin', 'test_data', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['nextDenovo --help'] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'PATH': '', +} + +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-GCC-12.3.0.eb b/easybuild/easyconfigs/n/NextPolish/NextPolish-1.4.1-GCC-12.3.0.eb new file mode 100644 index 00000000000..51a31669463 --- /dev/null +++ b/easybuild/easyconfigs/n/NextPolish/NextPolish-1.4.1-GCC-12.3.0.eb @@ -0,0 +1,94 @@ +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': 'GCC', '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 = [('patchelf', '0.18.0')] +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('BWA', '0.7.17'), + ('SAMtools', '1.18'), + ('minimap2', '2.26'), + ('bzip2', '1.0.8'), +] + +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 +# + use SAMtools and minimap2 from EB +prebuildopts = "sed -i 's/seq_count bwa samtools minimap2/seq_count/' Makefile && " +prebuildopts += "rm -rf util/bwa && rm -fr util/minimap2 && rm -rf util/samtools && " +prebuildopts += ( + "sed -i" + " -e 's/seq_split seq_count bwa_ samtools_ minimap2_/seq_split seq_count/'" + " -e '/BWADIR/d'" + " -e '/bwa_:/d'" + " -e '/SAMTOOLSDIR/d'" + " -e '/MINIMAP2DIR/d'" + " -e '/samtools_:/d'" + " -e '/minimap2_:/d'" + " util/Makefile && " +) +postinstallcmds = [ + # links to binaries + "cd %(installdir)s/bin && ln -s $EBROOTBWA/bin/bwa && " + "ln -s $EBROOTSAMTOOLS/bin/samtools && ln -s $EBROOTMINIMAP2/bin/minimap2", + # set RPATH to calgs.so, nextpolish1.so and nextpolish2.so + "if %(rpath_enabled)s; then " + "patchelf --force-rpath --set-rpath '$ORIGIN:$ORIGIN/../lib'" + '":$EBROOTZLIB/lib" %(installdir)s/lib/calgs.so && ' + "patchelf --force-rpath --set-rpath '$ORIGIN:$ORIGIN/../lib'" + '"$EBROOTZLIB/lib:$EBROOTBZIP2/lib:$EBROOTXZ/lib" %(installdir)s/lib/nextpolish1.so && ' + "patchelf --force-rpath --set-rpath '$ORIGIN:$ORIGIN/../lib'" + '"$EBROOTZLIB/lib:$EBROOTBZIP2/lib:$EBROOTXZ/lib" %(installdir)s/lib/nextpolish2.so; fi', +] + +files_to_copy = ['bin', 'lib', 'test_data', 'LICENSE', 'nextPolish'] + +sanity_check_paths = { + 'files': ['nextPolish', 'bin/minimap2', 'bin/paralleltask', 'bin/bwa', 'bin/samtools'], + 'dirs': ['test_data', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'nextPolish --help', + 'nextPolish %(installdir)s/test_data/run.cfg' +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'PATH': '', +} + +moduleclass = 'bio' 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/Nextflow/Nextflow-24.04.4.eb b/easybuild/easyconfigs/n/Nextflow/Nextflow-24.04.4.eb new file mode 100644 index 00000000000..c718972b663 --- /dev/null +++ b/easybuild/easyconfigs/n/Nextflow/Nextflow-24.04.4.eb @@ -0,0 +1,35 @@ +easyblock = 'Binary' + +name = 'Nextflow' +version = '24.04.4' + +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 = ['9077cfb151d4bc8682f09a65a77f45346bf34dac5931e371dba0d51bf13a5076'] + +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-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-foss-2023a.eb b/easybuild/easyconfigs/n/NiBabel/NiBabel-5.2.0-gfbf-2023a.eb similarity index 94% rename from easybuild/easyconfigs/n/NiBabel/NiBabel-5.2.0-foss-2023a.eb rename to easybuild/easyconfigs/n/NiBabel/NiBabel-5.2.0-gfbf-2023a.eb index ffc9dd60c3b..f84ae976cbc 100644 --- a/easybuild/easyconfigs/n/NiBabel/NiBabel-5.2.0-foss-2023a.eb +++ b/easybuild/easyconfigs/n/NiBabel/NiBabel-5.2.0-gfbf-2023a.eb @@ -9,14 +9,17 @@ description = """NiBabel provides read/write access to some common medical and n 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': '2023a'} +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'), - ('hatchling', '1.18.0'), ] use_pip = True 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-2.2.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/n/Nim/Nim-2.2.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..2214b1c9493 --- /dev/null +++ b/easybuild/easyconfigs/n/Nim/Nim-2.2.0-GCCcore-12.3.0.eb @@ -0,0 +1,17 @@ +name = 'Nim' +version = '2.2.0' + +homepage = 'https://nim-lang.org/' +description = "Nim is a systems and applications programming language." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://nim-lang.org/download/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['ce9842849c9760e487ecdd1cdadf7c0f2844cafae605401c7c72ae257644893c'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('libreadline', '8.2')] + +moduleclass = 'lang' 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/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.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/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 a043ce37c6f..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,7 +22,6 @@ 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'), ] 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.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/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/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 index 18337a90cfd..e4034ea4140 100644 --- a/easybuild/easyconfigs/n/napari/napari-0.4.15-foss-2021b.eb +++ b/easybuild/easyconfigs/n/napari/napari-0.4.15-foss-2021b.eb @@ -122,6 +122,8 @@ exts_list = [ }), ] +fix_python_shebang_for = ['bin/napari'] + sanity_check_paths = { 'files': ['bin/%(name)s'], 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'], diff --git a/easybuild/easyconfigs/n/napari/napari-0.4.18-foss-2022a.eb b/easybuild/easyconfigs/n/napari/napari-0.4.18-foss-2022a.eb index 261c09a9891..259846e68e2 100644 --- a/easybuild/easyconfigs/n/napari/napari-0.4.18-foss-2022a.eb +++ b/easybuild/easyconfigs/n/napari/napari-0.4.18-foss-2022a.eb @@ -123,6 +123,8 @@ exts_list = [ }), ] +fix_python_shebang_for = ['bin/napari'] + sanity_check_paths = { 'files': ['bin/%(name)s'], 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'], diff --git a/easybuild/easyconfigs/n/napari/napari-0.4.18-foss-2023a.eb b/easybuild/easyconfigs/n/napari/napari-0.4.18-foss-2023a.eb new file mode 100644 index 00000000000..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/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-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/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.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/ncdu/ncdu-1.20-GCC-13.3.0.eb b/easybuild/easyconfigs/n/ncdu/ncdu-1.20-GCC-13.3.0.eb new file mode 100644 index 00000000000..e8f91407acf --- /dev/null +++ b/easybuild/easyconfigs/n/ncdu/ncdu-1.20-GCC-13.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'ncdu' +version = '1.20' + +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': '13.3.0'} + +source_urls = ['https://dev.yorhel.nl/download/'] +sources = [SOURCE_TAR_GZ] +checksums = ['5fe2bb841abe72374bb242dbb93293c4ae053078432d896a7481b2ff10be9572'] + +dependencies = [ + ('ncurses', '6.5'), +] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +moduleclass = 'tools' 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 index b1731393710..868596ebe86 100644 --- 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 @@ -18,9 +18,13 @@ source_urls = [GNU_SOURCE] sources = [SOURCE_TAR_GZ] checksums = ['6931283d9ac87c5073f30b6290c4c75f21632bb4fc3603ac8100812bed248159'] -builddependencies = [('binutils', '2.40')] +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, @@ -35,12 +39,14 @@ postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln _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/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'], } 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 index edca9ab5954..40a35192762 100644 --- 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 @@ -18,9 +18,13 @@ source_urls = [GNU_SOURCE] sources = [SOURCE_TAR_GZ] checksums = ['6931283d9ac87c5073f30b6290c4c75f21632bb4fc3603ac8100812bed248159'] -builddependencies = [('binutils', '2.40')] +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, @@ -35,12 +39,14 @@ postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln _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/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'], } 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 index 0bda2c35075..4c46e083143 100644 --- 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 @@ -18,9 +18,13 @@ source_urls = [GNU_SOURCE] sources = [SOURCE_TAR_GZ] checksums = ['6931283d9ac87c5073f30b6290c4c75f21632bb4fc3603ac8100812bed248159'] -builddependencies = [('binutils', '2.40')] +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, @@ -35,12 +39,14 @@ postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln _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/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'], } 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-GCCcore-14.2.0.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.5-GCCcore-14.2.0.eb new file mode 100644 index 00000000000..a7ad6d943b2 --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.5-GCCcore-14.2.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': '14.2.0'} +toolchainopts = {'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['136d91bc269a9a5785e5f9e980bc76ab57428f604ce3e5a5a90cebc767971cc6'] + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.3.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/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/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/networkx/networkx-3.1-gfbf-2023a.eb b/easybuild/easyconfigs/n/networkx/networkx-3.1-gfbf-2023a.eb index 2cef5135036..03fe29675fd 100644 --- a/easybuild/easyconfigs/n/networkx/networkx-3.1-gfbf-2023a.eb +++ b/easybuild/easyconfigs/n/networkx/networkx-3.1-gfbf-2023a.eb @@ -10,7 +10,11 @@ and study of the structure, dynamics, and functions of complex networks.""" toolchain = {'name': 'gfbf', 'version': '2023a'} sources = [SOURCE_TAR_GZ] -checksums = ['de346335408f84de0eada6ff9fafafff9bcda11f0a0dfaa931133debb146ab61'] +patches = ['networkx-3.1_zero_division.patch'] +checksums = [ + {'networkx-3.1.tar.gz': 'de346335408f84de0eada6ff9fafafff9bcda11f0a0dfaa931133debb146ab61'}, + {'networkx-3.1_zero_division.patch': 'fb225e9942f18c87c67b49093b86e9f949e043fdf2f3c1ed467b6d3ad857aa35'}, +] dependencies = [ ('Python', '3.11.3'), diff --git a/easybuild/easyconfigs/n/networkx/networkx-3.1_zero_division.patch b/easybuild/easyconfigs/n/networkx/networkx-3.1_zero_division.patch new file mode 100644 index 00000000000..3110ca55530 --- /dev/null +++ b/easybuild/easyconfigs/n/networkx/networkx-3.1_zero_division.patch @@ -0,0 +1,42 @@ +Fixes the zero division bug `ZeroDivisionError: division by zero` +patch source: https://github.com/networkx/networkx/pull/6791 + +From 6e47bef10ba7c17514b0cbd2ec27c1f58ca21200 Mon Sep 17 00:00:00 2001 +From: juanis2112 +Date: Sat, 15 Jul 2023 14:22:02 -0500 +Subject: [PATCH] Fix empty graph zero division error for louvain + +--- + networkx/algorithms/community/louvain.py | 3 +++ + networkx/algorithms/community/tests/test_louvain.py | 7 +++++++ + 2 files changed, 10 insertions(+) + +diff --git a/networkx/algorithms/community/louvain.py b/networkx/algorithms/community/louvain.py +index ca71c0c30cb..94a8f7c98b9 100644 +--- a/networkx/algorithms/community/louvain.py ++++ b/networkx/algorithms/community/louvain.py +@@ -163,6 +163,9 @@ def louvain_partitions( + """ + + partition = [{u} for u in G.nodes()] ++ if nx.is_empty(G): ++ yield partition ++ return + mod = modularity(G, partition, resolution=resolution, weight=weight) + is_directed = G.is_directed() + if G.is_multigraph(): +diff --git a/networkx/algorithms/community/tests/test_louvain.py b/networkx/algorithms/community/tests/test_louvain.py +index ed5c2a38db6..e4942dfeb58 100644 +--- a/networkx/algorithms/community/tests/test_louvain.py ++++ b/networkx/algorithms/community/tests/test_louvain.py +@@ -185,3 +185,10 @@ def test_threshold(): + mod2 = nx.community.modularity(G, partition2) + + assert mod1 < mod2 ++ ++ ++def test_empty_graph(): ++ G = nx.Graph() ++ G.add_nodes_from(range(5)) ++ expected = [{0}, {1}, {2}, {3}, {4}] ++ assert nx.community.louvain_communities(G) == expected 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/networkx/networkx-3.4.2-gfbf-2024a.eb b/easybuild/easyconfigs/n/networkx/networkx-3.4.2-gfbf-2024a.eb new file mode 100644 index 00000000000..9adfd4d5246 --- /dev/null +++ b/easybuild/easyconfigs/n/networkx/networkx-3.4.2-gfbf-2024a.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'networkx' +version = '3.4.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': 'gfbf', 'version': '2024a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['307c3669428c5362aab27c8a1260aa8f47c4e91d3891f48be0141738d8d053e1'] + +dependencies = [ + ('Python', '3.12.3'), + ('SciPy-bundle', '2024.05'), # required for numpy, scipy, ... +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/nf-core/nf-core-2.10-foss-2022b.eb b/easybuild/easyconfigs/n/nf-core/nf-core-2.10-foss-2022b.eb new file mode 100644 index 00000000000..16b8e909f3c --- /dev/null +++ b/easybuild/easyconfigs/n/nf-core/nf-core-2.10-foss-2022b.eb @@ -0,0 +1,109 @@ +easyblock = 'PythonBundle' + +name = 'nf-core' +version = '2.10' + +homepage = 'https://github.com/nf-core/tools' +description = """Python package with helper tools for the nf-core community.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('GitPython', '3.1.31'), + ('Markdown', '3.6'), + ('prompt-toolkit', '3.0.36'), + ('pydantic', '2.5.3'), + ('pyfaidx', '0.7.2.1'), + ('pytest-workflow', '2.0.1'), + ('PyYAML', '6.0'), + ('tqdm', '4.64.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('mdurl', '0.1.2', { + 'checksums': ['bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba'], + }), + ('markdown-it-py', '3.0.0', { + 'modulename': 'markdown_it', + 'checksums': ['e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb'], + }), + ('url-normalize', '1.4.3', { + 'checksums': ['d23d3a070ac52a67b83a1c59a0e68f8608d1cd538783b401bc9de2c0fac999b2'], + }), + ('cattrs', '23.1.2', { + 'checksums': ['db1c821b8c537382b2c7c66678c3790091ca0275ac486c76f3c8f3920e83c657'], + }), + ('requests-cache', '1.1.0', { + 'source_tmpl': 'requests_cache-%(version)s.tar.gz', + 'checksums': ['41b79166aa8e300cc4de982f7ab7c52af914a785160be1eda25c6e9265969a67'], + }), + ('ubiquerg', '0.6.3', { + 'checksums': ['025509c4ec77a5cde8e8be66dabfef2ca6e3cd99da3cb15066c66a6f2bc3b9b5'], + }), + ('oyaml', '1.0', { + 'checksums': ['ed8fc096811f4763e1907dce29c35895d6d5936c4d0400fe843a91133d4744ed'], + }), + ('attmap', '0.13.2', { + 'checksums': ['fdffa45f8671c13428eb8c3a1702bfdd1123badb99f7af14d72ad53cc7e770de'], + }), + ('yacman', '0.9.2', { + 'checksums': ['a98fee7ebf936330a9c249190f1f36eff9444cc744822800fe15f077e46ca867'], + }), + ('refgenconf', '0.12.2', { + 'checksums': ['6c9f9ecd8b91b4f75a535cfbdbdfb136f2dc9e9864142d07aa0352c61cf0cf78'], + }), + ('logmuse', '0.2.7', { + 'checksums': ['a4692c44ddfa912c3cb149ca4c7545f80119aa7485868fd1412e7c647e9a7e7e'], + }), + ('peppy', '0.35.7', { + 'checksums': ['a7227ebb394f2af59e3efcd2f639928966654ad305cc113bedc67e20e2422687'], + }), + ('eido', '0.2.1', { + 'checksums': ['3e4cf582e854482980e4f54dee6e0259b7b866e677818d877573a6d3d2684fe2'], + }), + ('pipestat', '0.6.0', { + 'checksums': ['8dbb05e483663e7135a6c58faeaa8ca7a7ed95532202abfc240cc9324d9bfd9d'], + }), + ('piper', '0.13.2', { + 'modulename': 'pypiper', + 'checksums': ['edc68583bf7925a44ed0cf439cd059bec51499cd70b4ff8a81ed67a9b0093867'], + }), + ('refgenie', '0.12.1', { + 'checksums': ['cfd007ed0981e00d019deb49aaea896952341096494165cb8378488850eec451'], + }), + ('questionary', '2.0.1', { + 'checksums': ['bcce898bf3dbb446ff62830c86c5c6fb9a22a54146f0f5597d3da43b10d8fc8b'], + }), + ('nodeenv', '1.8.0', { + 'checksums': ['d51e0c37e64fbf47d017feac3145cdbb58836d7eee8c6f6d3b6880c5456227d2'], + }), + ('identify', '2.5.30', { + 'checksums': ['f302a4256a15c849b91cfcdcec052a8ce914634b2f77ae87dad29cd749f2d88d'], + }), + ('cfgv', '3.4.0', { + 'checksums': ['e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560'], + }), + ('pre-commit', '3.5.0', { + 'source_tmpl': 'pre_commit-%(version)s.tar.gz', + 'checksums': ['5804465c675b659b0862f07907f96295d490822a450c4c40e747d0b1c6ebcb32'], + }), + ('filetype', '1.2.0', { + 'checksums': ['66b56cd6474bf41d8c54660347d37afcc3f7d1970648de365c102ef77548aadb'], + }), + ('rich', '13.6.0', { + 'checksums': ['5c14d22737e6d5084ef4771b62d5d4363165b403455a30a1c8ca39dc7b644bef'], + }), + ('rich-click', '1.7.0', { + 'checksums': ['ab34e5d9f7733c4e6072f4de79eb3b35ac9ae78e692ea8a543f3b2828b30fee4'], + }), + (name, version, { + 'checksums': ['5d3b3d51844fd5b2cec73b84aa736980daac54eb548796243db39680ae39980d'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/nf-core/nf-core-2.13.1-foss-2023b.eb b/easybuild/easyconfigs/n/nf-core/nf-core-2.13.1-foss-2023b.eb new file mode 100644 index 00000000000..72b9788f014 --- /dev/null +++ b/easybuild/easyconfigs/n/nf-core/nf-core-2.13.1-foss-2023b.eb @@ -0,0 +1,107 @@ +easyblock = 'PythonBundle' + +name = 'nf-core' +version = '2.13.1' + +homepage = 'https://github.com/nf-core/tools' +description = """Python package with helper tools for the nf-core community.""" + +toolchain = {'name': 'foss', 'version': '2023b'} + +builddependencies = [('poetry', '1.6.1')] +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), + ('GitPython', '3.1.42'), + ('Markdown', '3.6'), + ('Pillow', '10.2.0'), + ('prompt-toolkit', '3.0.36'), + ('pydantic', '2.6.4'), + ('pyfaidx', '0.8.1.1'), + ('pytest-workflow', '2.1.0'), + ('PyYAML', '6.0.1'), + ('tqdm', '4.66.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pdiff', '1.1.4', { + 'checksums': ['9d8f6f8e7ed2ee61aa2f2526106c0047a2bd80eab7d1237f7086139a6e921c45'], + }), + ('textual', '0.54.0', { + 'checksums': ['0cfd134dde5ae49d64dd73bb32a2fb5a86d878d9caeacecaa1d640082f31124e'], + }), + ('trogon', '0.5.0', { + 'checksums': ['61a57f0f1a38227d90601cd020f46960be8e36947b5e56c6932c2e01ecc5042a'], + }), + ('url-normalize', '1.4.3', { + 'checksums': ['d23d3a070ac52a67b83a1c59a0e68f8608d1cd538783b401bc9de2c0fac999b2'], + }), + ('cattrs', '23.2.3', { + 'checksums': ['a934090d95abaa9e911dac357e3a8699e0b4b14f8529bcc7d2b1ad9d51672b9f'], + }), + ('requests-cache', '1.2.0', { + 'source_tmpl': 'requests_cache-%(version)s.tar.gz', + 'checksums': ['db1c709ca343cc1cd5b6c8b1a5387298eceed02306a6040760db538c885e3838'], + }), + ('ubiquerg', '0.7.0', { + 'checksums': ['b873ff87651e500fb32ac24a7850abe6261fde65c4c07bf6e0b5f14e32cd9387'], + }), + ('oyaml', '1.0', { + 'checksums': ['ed8fc096811f4763e1907dce29c35895d6d5936c4d0400fe843a91133d4744ed'], + }), + ('attmap', '0.13.2', { + 'checksums': ['fdffa45f8671c13428eb8c3a1702bfdd1123badb99f7af14d72ad53cc7e770de'], + }), + ('yacman', '0.9.3', { + 'checksums': ['91f29ecad7abf32425be034619bd5b00a50fe2be23447b1827c34e1fd68c055d'], + }), + ('refgenconf', '0.12.2', { + 'checksums': ['6c9f9ecd8b91b4f75a535cfbdbdfb136f2dc9e9864142d07aa0352c61cf0cf78'], + }), + ('logmuse', '0.2.7', { + 'checksums': ['a4692c44ddfa912c3cb149ca4c7545f80119aa7485868fd1412e7c647e9a7e7e'], + }), + ('peppy', '0.40.1', { + 'checksums': ['22ed51ae042ec2e1fbfa213205967133319fa498a7f09aa438eccfebfae5e78f'], + }), + ('eido', '0.2.2', { + 'checksums': ['3966c8e91296189d5827d6415843eb300d204c9da9b8a780807ebc5403be2800'], + }), + ('pipestat', '0.8.2', { + 'checksums': ['b1bf52bc6f47a617a597d674e1a0d9a5c66d9771a6fcd8f115039c017021b9c7'], + }), + ('piper', '0.14.0', { + 'modulename': 'pypiper', + 'checksums': ['2d2b226689f2e992da0735f25ea432f16f230bfaef51e732ef50b1b495ce153c'], + }), + ('refgenie', '0.12.1', { + 'checksums': ['cfd007ed0981e00d019deb49aaea896952341096494165cb8378488850eec451'], + }), + ('questionary', '2.0.1', { + 'checksums': ['bcce898bf3dbb446ff62830c86c5c6fb9a22a54146f0f5597d3da43b10d8fc8b'], + }), + ('nodeenv', '1.8.0', { + 'checksums': ['d51e0c37e64fbf47d017feac3145cdbb58836d7eee8c6f6d3b6880c5456227d2'], + }), + ('identify', '2.5.35', { + 'checksums': ['10a7ca245cfcd756a554a7288159f72ff105ad233c7c4b9c6f0f4d108f5f6791'], + }), + ('cfgv', '3.4.0', { + 'checksums': ['e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560'], + }), + ('pre-commit', '3.7.0', { + 'source_tmpl': 'pre_commit-%(version)s.tar.gz', + 'checksums': ['e209d61b8acdcf742404408531f0c37d49d2c734fd7cff2d6076083d191cb060'], + }), + ('filetype', '1.2.0', { + 'checksums': ['66b56cd6474bf41d8c54660347d37afcc3f7d1970648de365c102ef77548aadb'], + }), + (name, version, { + 'checksums': ['297bb52144a0651b3b718325726b10a14bef0b1b3a1d65a0eadb4badb47c8a6f'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/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.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-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.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/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/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.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/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/noise/noise-1.2.2-gfbf-2023a.eb b/easybuild/easyconfigs/n/noise/noise-1.2.2-gfbf-2023a.eb new file mode 100644 index 00000000000..71930964e8b --- /dev/null +++ b/easybuild/easyconfigs/n/noise/noise-1.2.2-gfbf-2023a.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonBundle' + +name = 'noise' +version = '1.2.2' + +homepage = 'https://github.com/caseman/noise' +description = "Native-code and shader implementations of Perlin noise for Python" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['57a2797436574391ff63a111e852e53a4164ecd81ad23639641743cd1a209b65'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/n/nose3/nose3-1.3.8-GCCcore-12.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/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.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/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/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/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/numpy/numpy-1.16.2_relax-long-complex-test.patch b/easybuild/easyconfigs/n/numpy/numpy-1.16.2_relax-long-complex-test.patch new file mode 100644 index 00000000000..5649a5c63d2 --- /dev/null +++ b/easybuild/easyconfigs/n/numpy/numpy-1.16.2_relax-long-complex-test.patch @@ -0,0 +1,17 @@ +Relax test condition for test failing on PPC +See https://github.com/numpy/numpy/issues/15763 + +Author: Alexander Grund (TU Dresden) + +diff -aur numpy-1.16.2/numpy/core/tests/test_umath.py numpy-1.16.2-new/numpy/core/tests/test_umath.py +--- numpy-1.16.2/numpy/core/tests/test_umath.py 2021-03-29 12:29:48.950135026 +0200 ++++ numpy-1.16.2-new/numpy/core/tests/test_umath.py 2021-03-29 12:28:09.000000000 +0200 +@@ -2593,7 +2593,7 @@ + # are accurate down to a few epsilons. (Eg. on Linux 64-bit) + # So, give more leeway for long complex tests here: + # Can use 2.1 for > Ubuntu LTS Trusty (2014), glibc = 2.19. +- check(x_series, 50.0*eps) ++ check(x_series, 5e-19) + else: + check(x_series, 2.1*eps) + check(x_basic, 2.0*eps/1e-3) diff --git a/easybuild/easyconfigs/n/numpy/numpy-1.16.6-foss-2023a-Python-2.7.18.eb b/easybuild/easyconfigs/n/numpy/numpy-1.16.6-foss-2023a-Python-2.7.18.eb new file mode 100644 index 00000000000..a3367b39bd9 --- /dev/null +++ b/easybuild/easyconfigs/n/numpy/numpy-1.16.6-foss-2023a-Python-2.7.18.eb @@ -0,0 +1,37 @@ +name = 'numpy' +version = '1.16.6' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://www.numpy.org' +description = """NumPy is the fundamental package for scientific computing with Python. It contains among other things: + a powerful N-dimensional array object, sophisticated (broadcasting) functions, tools for integrating C/C++ and Fortran + code, useful linear algebra, Fourier transform, and random number capabilities. Besides its obvious scientific uses, + NumPy can also be used as an efficient multi-dimensional container of generic data. Arbitrary data-types can be + defined. This allows NumPy to seamlessly and speedily integrate with a wide variety of databases.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True} + +sources = [SOURCE_ZIP] +patches = [ # patches copied from SciPy-bundle-2021.10-foss-2021b-Python-2.7.18.eb + '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', +] +checksums = [ + {'numpy-1.16.6.zip': 'e5cf3fdf13401885e8eea8170624ec96225e2174eb0c611c6f26dd33b489e3ff'}, + {'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'}, +] + +dependencies = [ + ('Python', '2.7.18'), + ('pytest', '4.6.11', versionsuffix), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/numpy/numpy-1.16.6_add_flexiblas_detection.patch b/easybuild/easyconfigs/n/numpy/numpy-1.16.6_add_flexiblas_detection.patch new file mode 100644 index 00000000000..02528b44bc3 --- /dev/null +++ b/easybuild/easyconfigs/n/numpy/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/n/numpy/numpy-1.16.6_handle_failing_linalg_test.patch b/easybuild/easyconfigs/n/numpy/numpy-1.16.6_handle_failing_linalg_test.patch new file mode 100644 index 00000000000..d85fb475809 --- /dev/null +++ b/easybuild/easyconfigs/n/numpy/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/n/numpy/numpy-1.20.3_fix-fortran-compiler-error.patch b/easybuild/easyconfigs/n/numpy/numpy-1.20.3_fix-fortran-compiler-error.patch new file mode 100644 index 00000000000..32b41061f06 --- /dev/null +++ b/easybuild/easyconfigs/n/numpy/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/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/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/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/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.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/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-MS/OPERA-MS-0.9.0-20240703-foss-2023a.eb b/easybuild/easyconfigs/o/OPERA-MS/OPERA-MS-0.9.0-20240703-foss-2023a.eb new file mode 100644 index 00000000000..620366c965b --- /dev/null +++ b/easybuild/easyconfigs/o/OPERA-MS/OPERA-MS-0.9.0-20240703-foss-2023a.eb @@ -0,0 +1,67 @@ +easyblock = 'MakeCp' + +name = 'OPERA-MS' +local_commit = '026f9a5' +version = '0.9.0-20240703' + +homepage = 'https://github.com/CSB5/OPERA-MS' +description = """OPERA-MS is a hybrid metagenomic assembler which combines the + advantages of short and long-read technologies to provide high quality + assemblies, addressing issues of low contiguity for short-read only assemblies, + and low base-pair quality for long-read only assemblies.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/CSB5/OPERA-MS/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['72a3e16287dd1f2098adac41930d6a54779a033f5bf78c2659580afae5a7280c'] + +dependencies = [ + ('Perl', '5.36.1'), + ('Perl-bundle-CPAN', '5.36.1'), + ('Statistics-R', '0.34'), + ('Python', '3.11.3'), + ('SAMtools', '0.1.20'), +] + +prebuildopts = 'rm %(start_dir)s/tools_opera_ms/samtools && ' +prebuildopts += 'cd %(start_dir)s/tools_opera_ms && ln -s $EBROOTSAMTOOLS/bin/samtools && ' +prebuildopts += 'cd %(start_dir)s &&' +buildopts = 'CFLAGS="$CFLAGS"' + +files_to_copy = [ + 'OPERA-MS.pl', + 'bin', + 'src_utils', + 'tools_opera_ms', + (['OPERA-LG/bin'], 'OPERA-LG'), +] + +postinstallcmds = [ + "echo '#!/bin/sh\n exec perl %(installdir)s/OPERA-MS.pl $@' > %(installdir)s/bin/OPERA-MS", + 'chmod +x %(installdir)s/bin/OPERA-MS', + 'ln -s $EBROOTPERL/bin/perl %(installdir)s/tools_opera_ms/perl', + '%(installdir)s/bin/OPERA-MS ' + ' '.join([ + '--contig-file test_files/contigs.fasta', + '--short-read1 test_files/R1.fastq.gz', + '--short-read2 test_files/R2.fastq.gz', + '--long-read test_files/long_read.fastq', + '--no-ref-clustering', + '--out-dir $TMPDIR', + ]), +] + +fix_perl_shebang_for = ['bin/*.pl', 'OPERA-MS.pl', 'OPERA-LG/bin/*.pl'] +fix_python_shebang_for = ['bin/*.py', 'OPERA-LG/bin/*.py'] + +sanity_check_paths = { + 'files': ['bin/OPERA-MS'], + 'dirs': [], +} + +sanity_check_commands = [ + 'OPERA-MS --help', + 'OPERA-MS check-dependency', +] + +moduleclass = 'bio' 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/ORCA/ORCA-6.0.1-gompi-2023b-avx2.eb b/easybuild/easyconfigs/o/ORCA/ORCA-6.0.1-gompi-2023b-avx2.eb new file mode 100644 index 00000000000..6194413a4f1 --- /dev/null +++ b/easybuild/easyconfigs/o/ORCA/ORCA-6.0.1-gompi-2023b-avx2.eb @@ -0,0 +1,24 @@ +name = 'ORCA' +version = '6.0.1' +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': '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_avx2.tar.xz' % version.replace('.', '_')] +checksums = [ + # orca_6_0_1_linux_x86-64_shared_openmpi416_avx2.tar.xz + 'f31f98256a0c6727b6ddfe50aa3ac64c45549981138d670a57e90114b4b9c9d2', +] + +moduleclass = 'chem' 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-3.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/o/OTF2/OTF2-3.0-GCCcore-11.3.0.eb index 6e982449e9e..fe8a5244c12 100644 --- 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 @@ -3,6 +3,7 @@ # 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 @@ -34,17 +35,21 @@ builddependencies = [ 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'] +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 index 7c4d60f0514..488b8e0de0d 100644 --- 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 @@ -3,6 +3,7 @@ # 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 @@ -34,17 +35,22 @@ builddependencies = [ 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"'] -sanity_check_commands = ['%(namelower)s-config --help'] 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 index 61eba75f5f0..6756aa72eac 100644 --- 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 @@ -3,6 +3,7 @@ # 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 @@ -34,17 +35,21 @@ builddependencies = [ 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'] +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 index 54478bf62fa..f4c842e0450 100644 --- 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 @@ -3,6 +3,7 @@ # 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 @@ -34,17 +35,21 @@ builddependencies = [ 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'] +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 index 17595d97acb..db786b12a41 100644 --- 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 @@ -3,6 +3,7 @@ # 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 @@ -34,17 +35,22 @@ builddependencies = [ 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'] +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/OmegaFold/OmegaFold-1.1.0-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/o/OmegaFold/OmegaFold-1.1.0-foss-2022a-CUDA-11.7.0.eb index 0008cde884d..9e13f1be82e 100644 --- a/easybuild/easyconfigs/o/OmegaFold/OmegaFold-1.1.0-foss-2022a-CUDA-11.7.0.eb +++ b/easybuild/easyconfigs/o/OmegaFold/OmegaFold-1.1.0-foss-2022a-CUDA-11.7.0.eb @@ -22,7 +22,7 @@ sanity_pip_check = True # add missing version for OmegaFold exts_list = [ (name, version, { - 'preinstallopts': """sed -i '/^setup(/a \ version="%(version)s",' setup.py && """, # noqa: W605 + 'preinstallopts': """sed -i '/^setup(/a version="%(version)s",' setup.py && """, 'source_tmpl': 'v%(version)s.tar.gz', 'source_urls': ['https://github.com/HeliXonProtein/OmegaFold/archive/'], 'checksums': ['ab3b48fe7721539b6943b49cdbafc9799e15b4425a324cc25daf15a24e3f9e37'], diff --git a/easybuild/easyconfigs/o/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.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.24-GCC-13.2.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.24-GCC-13.2.0.eb index 4835813e357..8d2315fbe6e 100644 --- a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.24-GCC-13.2.0.eb +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.24-GCC-13.2.0.eb @@ -20,6 +20,7 @@ patches = [ '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'}, @@ -33,8 +34,8 @@ checksums = [ '08af834e5d60441fd35c128758ed9c092ba6887c829e0471ecd489079539047d'}, {'OpenBLAS-0.3.23_disable-xDRGES-LAPACK-test.patch': 'ab7e0af05f9b2a2ced32f3875e1e3767d9c3531a455421a38f7324350178a0ff'}, - {'OpenBLAS-0.3.24_fix-czasum.patch': - '8132b87c519fb08caa3bd7291fe8a1d0e1afe6fcb667d16f3020b46122afe20c'}, + {'OpenBLAS-0.3.24_fix-czasum.patch': '8132b87c519fb08caa3bd7291fe8a1d0e1afe6fcb667d16f3020b46122afe20c'}, + {'OpenBLAS-0.3.24_fix-A64FX.patch': '3712e8c3f0024c7bb327958779c388ad0234ad6d58b7b118e605256ec089964c'}, ] builddependencies = [ 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.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.2.0-seq-iface64.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.2.0-seq-iface64.eb new file mode 100644 index 00000000000..f205e063da9 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.2.0-seq-iface64.eb @@ -0,0 +1,60 @@ +name = 'OpenBLAS' +version = '0.3.27' +versionsuffix = '-seq-iface64' + +homepage = 'https://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.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.11.5'), +] + +# INTERFACE64=1 needs if you link OpenBLAS for fortran code compied with 64 bit integers (-i8) +# This would be in intel library naming convention ilp64 +# The USE_OPENMP=0 and USE_THREAD=0 needs for the single threaded version +# The USE_LOCKING=1 needs for thread safe version (if threaded software calls OpenBLAS, without it +# OpenBLAS is not thread safe (so only single threaded software would be able to use it) +buildopts = "INTERFACE64=1 USE_OPENMP=0 USE_THREAD=0 USE_LOCKING=1 " +testopts = buildopts +installopts = buildopts + +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-GCC-13.3.0-seq-iface64.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0-seq-iface64.eb new file mode 100644 index 00000000000..5527c667f66 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0-seq-iface64.eb @@ -0,0 +1,60 @@ +name = 'OpenBLAS' +version = '0.3.27' +versionsuffix = '-seq-iface64' + +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'), +] + +# INTERFACE64=1 needs if you link OpenBLAS for fortran code compied with 64 bit integers (-i8) +# This would be in intel library naming convention ilp64 +# The USE_OPENMP=0 and USE_THREAD=0 needs for the single threaded version +# The USE_LOCKING=1 needs for thread safe version (if threaded software calls OpenBLAS, without it +# OpenBLAS is not thread safe (so only single threaded software would be able to use it) +buildopts = "INTERFACE64=1 USE_OPENMP=0 USE_THREAD=0 USE_LOCKING=1 " +testopts = buildopts +installopts = buildopts + +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-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/OpenBabel/OpenBabel-3.1.1-gompi-2023a.eb b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1-gompi-2023a.eb new file mode 100644 index 00000000000..2316351baa8 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1-gompi-2023a.eb @@ -0,0 +1,65 @@ +name = 'OpenBabel' +version = '3.1.1' + +homepage = 'https://openbabel.org' +description = """Open Babel is a chemical toolbox designed to speak the many + languages of chemical data. It's an open, collaborative project allowing anyone + to search, convert, analyze, or store data from molecular modeling, chemistry, + solid-state materials, biochemistry, or related areas.""" + +toolchain = {'name': 'gompi', 'version': '2023a'} +# avoid failing tests on skylake and broadwell CPUs. +# remove option 'optarch' when building on CPUs that don't support AVX2 +# see also: https://github.com/openbabel/openbabel/issues/2138 +toolchainopts = {'pic': True, 'optarch': 'mavx2'} + +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%%(namelower)s-%s.tar.gz' % version.replace('.', '-')] +patches = [ + # Fix test failure with Python 3 + # Ref: https://github.com/openbabel/openbabel/commit/7de27f309db5f7ec026ef5c5235e5b33bf7d1a85.patch + 'OpenBabel-3.1.1_fix-distgeom-test.patch', + 'OpenBabel-3.1.1_fix-CoordgenLibs-no-templates.patch', + 'OpenBabel-3.1.1_disable_bad_tests.patch', + 'OpenBabel-3.1.1_fix-ctime.patch', +] +checksums = [ + {'openbabel-3-1-1.tar.gz': 'c97023ac6300d26176c97d4ef39957f06e68848d64f1a04b0b284ccff2744f02'}, + {'OpenBabel-3.1.1_fix-distgeom-test.patch': '8d7687eb49142bb5ba2997cf90805b42480f313515c44b3912a9f826aaf4fbcd'}, + {'OpenBabel-3.1.1_fix-CoordgenLibs-no-templates.patch': + 'cc0396b38a78ef70c869cd93887210c64d6f4293c016aec9269b5a0230fdb51c'}, + {'OpenBabel-3.1.1_disable_bad_tests.patch': 'a88f54d834cc181ac66d98f0040dbfadabe9d3ef1bee7305f8e73c31c20f9de2'}, + {'OpenBabel-3.1.1_fix-ctime.patch': '79c5b7f65d99f42f039b3942bc52bae7363f3742a7e2564b5b7bfb29aa105b36'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('SWIG', '4.1.1'), +] +dependencies = [ + ('Python', '3.11.3'), + ('zlib', '1.2.13'), + ('libxml2', '2.11.4'), + ('Eigen', '3.4.0'), + ('RapidJSON', '1.1.0-20230928'), + ('cairo', '1.17.8'), # optional: for .png output + ('Boost', '1.82.0'), + ('maeparser', '1.3.1'), + ('CoordgenLibs', '3.0.2'), +] + +configopts = '-DBoost_INCLUDE_DIR=$EBROOTBOOST/include -DBoost_LIBRARY_DIR_RELEASE=$EBROOTBOOST/lib ' +# Enable support for OpenMP compilation of forcefield code (optional) +configopts += '-DENABLE_OPENMP=ON ' + +# OpenBabel-3.1.1 creates directories named 3.1.0, which leads to BABEL_LIBDIR and BABEL_DATDIR +# (set in the easyblock) having invalid values. Work around this with some symlinks. +postinstallcmds = [ + 'ln -s %(installdir)s/lib/openbabel/3.1.0 %(installdir)s/lib/openbabel/%(version)s', + 'ln -s %(installdir)s/share/openbabel/3.1.0 %(installdir)s/share/openbabel/%(version)s', +] + +pretestopts = 'cp lib/_openbabel.%s %%(builddir)s/openbabel-*/scripts/python/openbabel/ && ' % SHLIB_EXT +runtest = 'test' + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1_disable_bad_tests.patch b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1_disable_bad_tests.patch new file mode 100644 index 00000000000..b0814fe6111 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1_disable_bad_tests.patch @@ -0,0 +1,519 @@ +Disable tests that do textual compare of numerical values. +Some of these values may vary on the last one or two digits. + +Åke Sandgren, 2024-03-27 +diff -ru openbabel-openbabel-3-1-1.orig/test/testobconv_writers.py openbabel-openbabel-3-1-1/test/testobconv_writers.py +--- openbabel-openbabel-3-1-1.orig/test/testobconv_writers.py 2020-05-08 17:38:02.000000000 +0200 ++++ openbabel-openbabel-3-1-1/test/testobconv_writers.py 2024-03-27 08:19:01.012651395 +0100 +@@ -669,81 +669,82 @@ + """) + + # cdjson -- ChemDoodle JSON +-class TestCDJSON(unittest.TestCase, WriteMixin): +- fmt = "cdjson" +- maxDiff = None +- def test_default(self): +- self.assertWriters(self.fmt, """\ +-{ +- "m": [ +- { +- "a": [ +- { +- "x": 31.692, +- "y": -0.498 +- }, +- { +- "x": 31.406, +- "y": 19.51 +- }, +- { +- "x": 48.59, +- "y": 29.764 +- }, +- { +- "x": 66.062, +- "y": 20.008 +- }, +- { +- "x": 66.35, +- "y": -0.0 +- }, +- { +- "x": 0.0, +- "y": 0.0 +- }, +- { +- "x": -20.009999999999999, +- "y": 0.10200000000000001, +- "l": 8 +- } +- ], +- "b": [ +- { +- "b": 0, +- "e": 5, +- "o": 2 +- }, +- { +- "b": 0, +- "e": 1 +- }, +- { +- "b": 1, +- "e": 2, +- "o": 2 +- }, +- { +- "b": 2, +- "e": 3 +- }, +- { +- "b": 3, +- "e": 4, +- "o": 2 +- }, +- { +- "b": 4, +- "e": 5 +- }, +- { +- "b": 5, +- "e": 6 +- } +- ] +- } +- ] +-}""") ++## Should never do pure textual compare of numerical values. ++## class TestCDJSON(unittest.TestCase, WriteMixin): ++## fmt = "cdjson" ++## maxDiff = None ++## def test_default(self): ++## self.assertWriters(self.fmt, """\ ++## { ++## "m": [ ++## { ++## "a": [ ++## { ++## "x": 31.692, ++## "y": -0.498 ++## }, ++## { ++## "x": 31.406, ++## "y": 19.51 ++## }, ++## { ++## "x": 48.59, ++## "y": 29.764 ++## }, ++## { ++## "x": 66.062, ++## "y": 20.008 ++## }, ++## { ++## "x": 66.35, ++## "y": -0.0 ++## }, ++## { ++## "x": 0.0, ++## "y": 0.0 ++## }, ++## { ++## "x": -20.009999999999999, ++## "y": 0.10200000000000001, ++## "l": 8 ++## } ++## ], ++## "b": [ ++## { ++## "b": 0, ++## "e": 5, ++## "o": 2 ++## }, ++## { ++## "b": 0, ++## "e": 1 ++## }, ++## { ++## "b": 1, ++## "e": 2, ++## "o": 2 ++## }, ++## { ++## "b": 2, ++## "e": 3 ++## }, ++## { ++## "b": 3, ++## "e": 4, ++## "o": 2 ++## }, ++## { ++## "b": 4, ++## "e": 5 ++## }, ++## { ++## "b": 5, ++## "e": 6 ++## } ++## ] ++## } ++## ] ++## }""") + + ## # cdxml -- ChemDraw CDXML format + ## XXX fails on an unpatched system +@@ -2754,179 +2755,180 @@ + """) + + # pcjson -- PubChem JSON +-class TestPCJSON(unittest.TestCase, WriteMixin): +- fmt = "pcjson" +- maxDiff = None +- def test_default(self): +- self.assertWriters(self.fmt, """\ +-{ +- "PC_Compounds": [ +- { +- "atoms": { +- "aids": [ +- 1, +- 2, +- 3, +- 4, +- 5, +- 6, +- 7, +- 8, +- 9, +- 10, +- 11, +- 12, +- 13 +- ], +- "element": [ +- 6, +- 6, +- 6, +- 6, +- 6, +- 6, +- 8, +- 1, +- 1, +- 1, +- 1, +- 1, +- 1 +- ] +- }, +- "bonds": { +- "aid1": [ +- 1, +- 1, +- 2, +- 3, +- 4, +- 5, +- 6, +- 1, +- 2, +- 3, +- 4, +- 5, +- 7 +- ], +- "aid2": [ +- 6, +- 2, +- 3, +- 4, +- 5, +- 6, +- 7, +- 8, +- 9, +- 10, +- 11, +- 12, +- 13 +- ], +- "order": [ +- 2, +- 1, +- 2, +- 1, +- 2, +- 1, +- 1, +- 1, +- 1, +- 1, +- 1, +- 1, +- 1 +- ] +- }, +- "coords": [ +- { +- "type": [ +- 1 +- ], +- "aids": [ +- 1, +- 2, +- 3, +- 4, +- 5, +- 6, +- 7, +- 8, +- 9, +- 10, +- 11, +- 12, +- 13 +- ], +- "conformers": [ +- { +- "x": [ +- 1.5846, +- 1.5703, +- 2.4295, +- 3.3031, +- 3.3175, +- 0.0, +- -1.0005, +- 2.313816216007316, +- 0.669250157347277, +- 2.4146659588503769, +- 4.189331679349326, +- 4.052466878708012, +- -1.4648575597102012 +- ], +- "y": [ +- 1.5846, +- 1.5703, +- 2.4295, +- 3.3031, +- 3.3175, +- 0.0, +- -1.0005, +- 2.313816216007316, +- 0.669250157347277, +- 2.4146659588503769, +- 4.189331679349326, +- 4.052466878708012, +- -1.4648575597102012 +- ], +- "style": { +- "annotation": [ +- 8, +- 8, +- 8, +- 8, +- 8, +- 8 +- ], +- "aid1": [ +- 1, +- 1, +- 2, +- 3, +- 4, +- 5 +- ], +- "aid2": [ +- 6, +- 2, +- 3, +- 4, +- 5, +- 6 +- ] +- } +- } +- ] +- } +- ], +- "charge": 0 +- } +- ] +-}""") ++## Should never do pure textual compare of numerical values. ++## class TestPCJSON(unittest.TestCase, WriteMixin): ++## fmt = "pcjson" ++## maxDiff = None ++## def test_default(self): ++## self.assertWriters(self.fmt, """\ ++## { ++## "PC_Compounds": [ ++## { ++## "atoms": { ++## "aids": [ ++## 1, ++## 2, ++## 3, ++## 4, ++## 5, ++## 6, ++## 7, ++## 8, ++## 9, ++## 10, ++## 11, ++## 12, ++## 13 ++## ], ++## "element": [ ++## 6, ++## 6, ++## 6, ++## 6, ++## 6, ++## 6, ++## 8, ++## 1, ++## 1, ++## 1, ++## 1, ++## 1, ++## 1 ++## ] ++## }, ++## "bonds": { ++## "aid1": [ ++## 1, ++## 1, ++## 2, ++## 3, ++## 4, ++## 5, ++## 6, ++## 1, ++## 2, ++## 3, ++## 4, ++## 5, ++## 7 ++## ], ++## "aid2": [ ++## 6, ++## 2, ++## 3, ++## 4, ++## 5, ++## 6, ++## 7, ++## 8, ++## 9, ++## 10, ++## 11, ++## 12, ++## 13 ++## ], ++## "order": [ ++## 2, ++## 1, ++## 2, ++## 1, ++## 2, ++## 1, ++## 1, ++## 1, ++## 1, ++## 1, ++## 1, ++## 1, ++## 1 ++## ] ++## }, ++## "coords": [ ++## { ++## "type": [ ++## 1 ++## ], ++## "aids": [ ++## 1, ++## 2, ++## 3, ++## 4, ++## 5, ++## 6, ++## 7, ++## 8, ++## 9, ++## 10, ++## 11, ++## 12, ++## 13 ++## ], ++## "conformers": [ ++## { ++## "x": [ ++## 1.5846, ++## 1.5703, ++## 2.4295, ++## 3.3031, ++## 3.3175, ++## 0.0, ++## -1.0005, ++## 2.313816216007316, ++## 0.669250157347277, ++## 2.4146659588503769, ++## 4.189331679349326, ++## 4.052466878708012, ++## -1.4648575597102012 ++## ], ++## "y": [ ++## 1.5846, ++## 1.5703, ++## 2.4295, ++## 3.3031, ++## 3.3175, ++## 0.0, ++## -1.0005, ++## 2.313816216007316, ++## 0.669250157347277, ++## 2.4146659588503769, ++## 4.189331679349326, ++## 4.052466878708012, ++## -1.4648575597102012 ++## ], ++## "style": { ++## "annotation": [ ++## 8, ++## 8, ++## 8, ++## 8, ++## 8, ++## 8 ++## ], ++## "aid1": [ ++## 1, ++## 1, ++## 2, ++## 3, ++## 4, ++## 5 ++## ], ++## "aid2": [ ++## 6, ++## 2, ++## 3, ++## 4, ++## 5, ++## 6 ++## ] ++## } ++## } ++## ] ++## } ++## ], ++## "charge": 0 ++## } ++## ] ++## }""") + + # pcm -- PCModel Format + class TestPCM(unittest.TestCase, WriteMixin): diff --git a/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1_fix-ctime.patch b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1_fix-ctime.patch new file mode 100644 index 00000000000..85457db3284 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1_fix-ctime.patch @@ -0,0 +1,14 @@ + included +Author: J. Sassmannshausen (Imperial College London/UK) +diff --git a/openbabel-openbabel-3-1-1.orig/include/openbabel/obutil.h b/openbabel-openbabel-3-1-1/include/openbabel/obutil.h +index 233ab0b..4ff35f0 100644 +--- a/openbabel-openbabel-3-1-1.orig/include/openbabel/obutil.h ++++ b/openbabel-openbabel-3-1-1/include/openbabel/obutil.h +@@ -37,6 +37,7 @@ GNU General Public License for more details. + #endif + + #include ++#include + + #ifndef M_PI + #define M_PI 3.14159265358979323846 diff --git a/easybuild/easyconfigs/o/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/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/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-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 index f9ebf346635..fd18ec3e287 100644 --- a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-foss-2022a-20230119.eb +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-foss-2022a-20230119.eb @@ -11,6 +11,7 @@ description = """OpenFOAM is a free, open source CFD software package. 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 = [{ diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-foss-2022a.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-foss-2022a.eb index 7fafa63937c..3bdaaf4f06e 100644 --- a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-foss-2022a.eb +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-foss-2022a.eb @@ -8,6 +8,7 @@ description = """OpenFOAM is a free, open source CFD software package. 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'] diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-foss-2023a.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-foss-2023a.eb index c4358543285..4989e318c7c 100644 --- a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-foss-2023a.eb +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-foss-2023a.eb @@ -8,6 +8,7 @@ description = """OpenFOAM is a free, open source CFD software package. 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'] diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-11-foss-2022a.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-11-foss-2022a.eb index 9481f562349..e4abfa2f3e2 100644 --- a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-11-foss-2022a.eb +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-11-foss-2022a.eb @@ -8,6 +8,7 @@ description = """OpenFOAM is a free, open source CFD software package. 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'] diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-11-foss-2023a.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-11-foss-2023a.eb index 1ce1045701d..c2cabe755a3 100644 --- a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-11-foss-2023a.eb +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-11-foss-2023a.eb @@ -8,6 +8,7 @@ description = """OpenFOAM is a free, open source CFD software package. 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'] 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-v2212-wmake-OpenMPI.patch b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2212-wmake-OpenMPI.patch index 0cd23ac34f7..4c442fa0060 100644 --- a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2212-wmake-OpenMPI.patch +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2212-wmake-OpenMPI.patch @@ -1,6 +1,36 @@ +# - 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 @@ diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2306-foss-2022b.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2306-foss-2022b.eb index 74d81fdd5a1..02ee224e98b 100644 --- a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2306-foss-2022b.eb +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2306-foss-2022b.eb @@ -22,7 +22,7 @@ patches = [ checksums = [ {'OpenFOAM-v2306.tgz': 'd7fba773658c0f06ad17f90199565f32e9bf502b7bb03077503642064e1f5344'}, {'OpenFOAM-v2206-cleanup.patch': '25333124581acae57c173587de4ebd6e143b894b1a26e4f0326db8b7e0cb1972'}, - {'OpenFOAM-v2212-wmake-OpenMPI.patch': '4f5110e98df1f057dc4b478a004e4ae2dc5cc763899f0d3ceb6773315c5c8ba9'}, + {'OpenFOAM-v2212-wmake-OpenMPI.patch': '241dc4898c22aab0cbd10c1ea931a07a786508ee03462d45dbc1c202fee3ebe8'}, ] builddependencies = [ @@ -30,6 +30,8 @@ builddependencies = [ ('CMake', '3.24.3'), ('flex', '2.6.4'), ('CGAL', '5.5.2'), # header only + ('GMP', '6.2.1'), + ('MPFR', '4.2.0'), ] dependencies = [ diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2312-foss-2023a.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2312-foss-2023a.eb index 661327ff9a6..b7f522ba479 100644 --- a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2312-foss-2023a.eb +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2312-foss-2023a.eb @@ -22,7 +22,7 @@ patches = [ checksums = [ {'OpenFOAM-v2312.tgz': 'f113183a4d027c93939212af8967053c5f8fe76fb62e5848cb11bbcf8e829552'}, {'OpenFOAM-v2312-cleanup.patch': 'f1389e5d89510209d99d35917a4a6bd727134121bbbaa12471235042e675dacf'}, - {'OpenFOAM-v2212-wmake-OpenMPI.patch': '4f5110e98df1f057dc4b478a004e4ae2dc5cc763899f0d3ceb6773315c5c8ba9'}, + {'OpenFOAM-v2212-wmake-OpenMPI.patch': '241dc4898c22aab0cbd10c1ea931a07a786508ee03462d45dbc1c202fee3ebe8'}, ] builddependencies = [ @@ -39,6 +39,8 @@ dependencies = [ ('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'), ] 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/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.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.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..42b0118bbe8 --- /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_DISABLE_PIP_VERSION_CHECK=true python -s -m pip check", + "python -s -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-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/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 dce3d8fbc8d..481d63e5af5 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.3-GCC-8.2.0-2.31.1.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.3-GCC-8.2.0-2.31.1.eb @@ -12,6 +12,7 @@ patches = [ '%(name)s-%(version)s-add_ompi_datatype_attribute_to_release_ucp_datatype.patch', 'OpenMPI-3.1_fix-ib-query.patch', 'OpenMPI-3.1.3_fix-support-for-external-PMIx-v3.1.patch', + 'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch', ] checksums = [ '0254627d8a9b12a8f50213ed01e7a94dd7e91b340abf5c53bcf0b89afe6fb77d', # openmpi-3.1.3.tar.gz @@ -20,6 +21,7 @@ checksums = [ '8031ff093788a750f30ec7b4b06573af008009e62ddfd558ecfe97cbe404d9d2', # OpenMPI-3.1_fix-ib-query.patch # OpenMPI-3.1.3_fix-support-for-external-PMIx-v3.1.patch '94846bee50b43b220fd6fead576c4be2cbc8baaa423ce7346d7d193fda523357', + {'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch': 'b4cd3d947cd4f3d47c7cf531c2b4bcdaa5d6db1ec024a0a97f5a3b42c95f6b82'}, ] dependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.4-GCC-8.3.0-2.32.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.4-GCC-8.3.0-2.32.eb index 742cf80152b..8f7e724e3a3 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.4-GCC-8.3.0-2.32.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.4-GCC-8.3.0-2.32.eb @@ -11,6 +11,7 @@ sources = [SOURCELOWER_TAR_GZ] patches = [ '%(name)s-3.1.3-add_ompi_datatype_attribute_to_release_ucp_datatype.patch', 'OpenMPI-3.1.4_openib-device-params-ConnectX-6.patch', + 'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch', ] checksums = [ 'a7c34ad052ea8201ed9e7389994069fe6996403beabdd2d711caf0532808156c', # openmpi-3.1.4.tar.gz @@ -18,6 +19,7 @@ checksums = [ '46fa94eb417954bdb297291bad4f4d32018af4911bebf3e59af6276eba6a50a9', # OpenMPI-3.1.4_openib-device-params-ConnectX-6.patch '77df4f04802f84c49659c0d89c92724972c0634ac2155ed787482c4ddf1ee999', + {'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch': 'b4cd3d947cd4f3d47c7cf531c2b4bcdaa5d6db1ec024a0a97f5a3b42c95f6b82'}, ] dependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.4-GCC-8.3.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.4-GCC-8.3.0.eb index e60121be567..61aeb4ab521 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.4-GCC-8.3.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.4-GCC-8.3.0.eb @@ -11,6 +11,7 @@ sources = [SOURCELOWER_TAR_GZ] patches = [ '%(name)s-3.1.3-add_ompi_datatype_attribute_to_release_ucp_datatype.patch', 'OpenMPI-3.1.4_openib-device-params-ConnectX-6.patch', + 'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch', ] checksums = [ 'a7c34ad052ea8201ed9e7389994069fe6996403beabdd2d711caf0532808156c', # openmpi-3.1.4.tar.gz @@ -18,6 +19,7 @@ checksums = [ '46fa94eb417954bdb297291bad4f4d32018af4911bebf3e59af6276eba6a50a9', # OpenMPI-3.1.4_openib-device-params-ConnectX-6.patch '77df4f04802f84c49659c0d89c92724972c0634ac2155ed787482c4ddf1ee999', + {'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch': 'b4cd3d947cd4f3d47c7cf531c2b4bcdaa5d6db1ec024a0a97f5a3b42c95f6b82'}, ] dependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.4-gcccuda-2019b.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.4-gcccuda-2019b.eb index d2dc52abe14..5bc9297b6bd 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.4-gcccuda-2019b.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.4-gcccuda-2019b.eb @@ -11,6 +11,7 @@ sources = [SOURCELOWER_TAR_GZ] patches = [ '%(name)s-3.1.3-add_ompi_datatype_attribute_to_release_ucp_datatype.patch', 'OpenMPI-3.1.4_openib-device-params-ConnectX-6.patch', + 'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch', ] checksums = [ 'a7c34ad052ea8201ed9e7389994069fe6996403beabdd2d711caf0532808156c', # openmpi-3.1.4.tar.gz @@ -18,6 +19,7 @@ checksums = [ '46fa94eb417954bdb297291bad4f4d32018af4911bebf3e59af6276eba6a50a9', # OpenMPI-3.1.4_openib-device-params-ConnectX-6.patch '77df4f04802f84c49659c0d89c92724972c0634ac2155ed787482c4ddf1ee999', + {'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch': 'b4cd3d947cd4f3d47c7cf531c2b4bcdaa5d6db1ec024a0a97f5a3b42c95f6b82'}, ] dependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.0-GCC-8.2.0-2.31.1.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.0-GCC-8.2.0-2.31.1.eb index 077d51b2f9e..d8185fe1dd3 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.0-GCC-8.2.0-2.31.1.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.0-GCC-8.2.0-2.31.1.eb @@ -8,11 +8,15 @@ toolchain = {'name': 'GCC', 'version': '8.2.0-2.31.1'} source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] sources = [SOURCELOWER_TAR_GZ] -patches = ['OpenMPI-4.0.1_add-support-for-ucx-1.7.patch'] +patches = [ + 'OpenMPI-4.0.1_add-support-for-ucx-1.7.patch', + 'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch', +] checksums = [ '36f10daa3f1b1d37530f686bf7f70966b2a13c0bc6e2e05aebc7e85e3d21b10d', # openmpi-4.0.0.tar.gz # OpenMPI-4.0.1_add-support-for-ucx-1.7.patch '3c5ce8fe164869f309821a4528bbd8a4c087bc748dadf589850482bbccf8890c', + {'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch': 'b4cd3d947cd4f3d47c7cf531c2b4bcdaa5d6db1ec024a0a97f5a3b42c95f6b82'}, ] dependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-GCC-9.3.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-GCC-9.3.0.eb index dc5286d3362..c6e650ef6e6 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-GCC-9.3.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-GCC-9.3.0.eb @@ -10,12 +10,14 @@ source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/ sources = [SOURCELOWER_TAR_GZ] patches = [ 'OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch', + 'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch', 'OpenMPI-4.x_fix_pmix_discovery.patch', ] checksums = [ '6346bf976001ad274c7e018d6cc35c92bbb9426d8f7754fac00a17ea5ac8eebc', # openmpi-4.0.3.tar.gz # OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch 'a5737061eb9006e862f30019776adf092d800f681272be7f1575e74b4bfa20fb', + {'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch': 'b4cd3d947cd4f3d47c7cf531c2b4bcdaa5d6db1ec024a0a97f5a3b42c95f6b82'}, '547641fff884c917237d158b0b13bdf387977cf0dddfd7e49e78d5f759a6a31b', # OpenMPI-4.x_fix_pmix_discovery.patch ] diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-gcccuda-2020a.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-gcccuda-2020a.eb index a9103a8a934..6eb936f50ad 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-gcccuda-2020a.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-gcccuda-2020a.eb @@ -10,12 +10,14 @@ source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/ sources = [SOURCELOWER_TAR_GZ] patches = [ 'OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch', + 'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch', 'OpenMPI-4.x_fix_pmix_discovery.patch', ] checksums = [ '6346bf976001ad274c7e018d6cc35c92bbb9426d8f7754fac00a17ea5ac8eebc', # openmpi-4.0.3.tar.gz # OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch 'a5737061eb9006e862f30019776adf092d800f681272be7f1575e74b4bfa20fb', + {'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch': 'b4cd3d947cd4f3d47c7cf531c2b4bcdaa5d6db1ec024a0a97f5a3b42c95f6b82'}, '547641fff884c917237d158b0b13bdf387977cf0dddfd7e49e78d5f759a6a31b', # OpenMPI-4.x_fix_pmix_discovery.patch ] diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-iccifort-2020.1.217.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-iccifort-2020.1.217.eb index 75c1dbb9195..435d229f4f0 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-iccifort-2020.1.217.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-iccifort-2020.1.217.eb @@ -10,12 +10,14 @@ source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/ sources = [SOURCELOWER_TAR_GZ] patches = [ 'OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch', + 'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch', 'OpenMPI-4.x_fix_pmix_discovery.patch', ] checksums = [ '6346bf976001ad274c7e018d6cc35c92bbb9426d8f7754fac00a17ea5ac8eebc', # openmpi-4.0.3.tar.gz # OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch 'a5737061eb9006e862f30019776adf092d800f681272be7f1575e74b4bfa20fb', + {'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch': 'b4cd3d947cd4f3d47c7cf531c2b4bcdaa5d6db1ec024a0a97f5a3b42c95f6b82'}, '547641fff884c917237d158b0b13bdf387977cf0dddfd7e49e78d5f759a6a31b', # OpenMPI-4.x_fix_pmix_discovery.patch ] diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-iccifortcuda-2020a.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-iccifortcuda-2020a.eb index 564f903d56a..8acb43b7ce6 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-iccifortcuda-2020a.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-iccifortcuda-2020a.eb @@ -10,12 +10,14 @@ source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/ sources = [SOURCELOWER_TAR_GZ] patches = [ 'OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch', + 'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch', 'OpenMPI-4.x_fix_pmix_discovery.patch', ] checksums = [ '6346bf976001ad274c7e018d6cc35c92bbb9426d8f7754fac00a17ea5ac8eebc', # openmpi-4.0.3.tar.gz # OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch 'a5737061eb9006e862f30019776adf092d800f681272be7f1575e74b4bfa20fb', + {'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch': 'b4cd3d947cd4f3d47c7cf531c2b4bcdaa5d6db1ec024a0a97f5a3b42c95f6b82'}, '547641fff884c917237d158b0b13bdf387977cf0dddfd7e49e78d5f759a6a31b', # OpenMPI-4.x_fix_pmix_discovery.patch ] diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-GCC-10.2.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-GCC-10.2.0.eb index 1536146190d..184de98e331 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-GCC-10.2.0.eb @@ -12,6 +12,7 @@ patches = [ 'OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch', 'OpenMPI-4.x_fix_pmix_discovery.patch', 'OpenMPI-4.0.5-6-pml-ucx-datatype-memleak.patch', + 'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch', ] checksums = [ '572e777441fd47d7f06f1b8a166e7f44b8ea01b8b2e79d1e299d509725d1bd05', # openmpi-4.0.5.tar.gz @@ -20,6 +21,7 @@ checksums = [ '547641fff884c917237d158b0b13bdf387977cf0dddfd7e49e78d5f759a6a31b', # OpenMPI-4.x_fix_pmix_discovery.patch # OpenMPI-4.0.5-6-pml-ucx-datatype-memleak.patch '7d8695f0d23453c82638ad33b18e41690274d5c7784291213e98335b42c54578', + {'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch': 'b4cd3d947cd4f3d47c7cf531c2b4bcdaa5d6db1ec024a0a97f5a3b42c95f6b82'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-GCC-9.3.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-GCC-9.3.0.eb index c399450ab49..c62a1b54501 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-GCC-9.3.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-GCC-9.3.0.eb @@ -12,6 +12,7 @@ patches = [ 'OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch', 'OpenMPI-4.x_fix_pmix_discovery.patch', 'OpenMPI-4.0.5-6-pml-ucx-datatype-memleak.patch', + 'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch', ] checksums = [ '572e777441fd47d7f06f1b8a166e7f44b8ea01b8b2e79d1e299d509725d1bd05', # openmpi-4.0.5.tar.gz @@ -20,6 +21,7 @@ checksums = [ '547641fff884c917237d158b0b13bdf387977cf0dddfd7e49e78d5f759a6a31b', # OpenMPI-4.x_fix_pmix_discovery.patch # OpenMPI-4.0.5-6-pml-ucx-datatype-memleak.patch '7d8695f0d23453c82638ad33b18e41690274d5c7784291213e98335b42c54578', + {'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch': 'b4cd3d947cd4f3d47c7cf531c2b4bcdaa5d6db1ec024a0a97f5a3b42c95f6b82'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-CUDA-11.2.1.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-CUDA-11.2.1.eb index 383370dd6f5..bb1fb2730ac 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-CUDA-11.2.1.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-CUDA-11.2.1.eb @@ -14,6 +14,7 @@ patches = [ 'OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch', 'OpenMPI-4.x_fix_pmix_discovery.patch', 'OpenMPI-4.0.5-6-pml-ucx-datatype-memleak.patch', + 'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch', ] checksums = [ '572e777441fd47d7f06f1b8a166e7f44b8ea01b8b2e79d1e299d509725d1bd05', # openmpi-4.0.5.tar.gz @@ -22,6 +23,7 @@ checksums = [ '547641fff884c917237d158b0b13bdf387977cf0dddfd7e49e78d5f759a6a31b', # OpenMPI-4.x_fix_pmix_discovery.patch # OpenMPI-4.0.5-6-pml-ucx-datatype-memleak.patch '7d8695f0d23453c82638ad33b18e41690274d5c7784291213e98335b42c54578', + {'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch': 'b4cd3d947cd4f3d47c7cf531c2b4bcdaa5d6db1ec024a0a97f5a3b42c95f6b82'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-gcccuda-2020b.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-gcccuda-2020b.eb index 3746daadf8e..838b2563b31 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-gcccuda-2020b.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-gcccuda-2020b.eb @@ -12,6 +12,7 @@ patches = [ 'OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch', 'OpenMPI-4.x_fix_pmix_discovery.patch', 'OpenMPI-4.0.5-6-pml-ucx-datatype-memleak.patch', + 'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch', ] checksums = [ '572e777441fd47d7f06f1b8a166e7f44b8ea01b8b2e79d1e299d509725d1bd05', # openmpi-4.0.5.tar.gz @@ -20,6 +21,7 @@ checksums = [ '547641fff884c917237d158b0b13bdf387977cf0dddfd7e49e78d5f759a6a31b', # OpenMPI-4.x_fix_pmix_discovery.patch # OpenMPI-4.0.5-6-pml-ucx-datatype-memleak.patch '7d8695f0d23453c82638ad33b18e41690274d5c7784291213e98335b42c54578', + {'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch': 'b4cd3d947cd4f3d47c7cf531c2b4bcdaa5d6db1ec024a0a97f5a3b42c95f6b82'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-iccifort-2020.4.304.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-iccifort-2020.4.304.eb index de0f5b3d2e1..08a4dbccb2d 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-iccifort-2020.4.304.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-iccifort-2020.4.304.eb @@ -12,6 +12,7 @@ patches = [ 'OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch', 'OpenMPI-4.x_fix_pmix_discovery.patch', 'OpenMPI-4.0.5-6-pml-ucx-datatype-memleak.patch', + 'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch', ] checksums = [ '572e777441fd47d7f06f1b8a166e7f44b8ea01b8b2e79d1e299d509725d1bd05', # openmpi-4.0.5.tar.gz @@ -20,6 +21,7 @@ checksums = [ '547641fff884c917237d158b0b13bdf387977cf0dddfd7e49e78d5f759a6a31b', # OpenMPI-4.x_fix_pmix_discovery.patch # OpenMPI-4.0.5-6-pml-ucx-datatype-memleak.patch '7d8695f0d23453c82638ad33b18e41690274d5c7784291213e98335b42c54578', + {'OpenMPI-4.0.5_fix-MS_RDONLY-error.patch': 'b4cd3d947cd4f3d47c7cf531c2b4bcdaa5d6db1ec024a0a97f5a3b42c95f6b82'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5_fix-MS_RDONLY-error.patch b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5_fix-MS_RDONLY-error.patch new file mode 100644 index 00000000000..89df2e3ff36 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5_fix-MS_RDONLY-error.patch @@ -0,0 +1,47 @@ +From 5b525b251c3433bf50b44b05c84937a39fb10074 Mon Sep 17 00:00:00 2001 +From: Bert Wesarg +Date: Tue, 23 Feb 2021 08:21:22 +0100 +Subject: [PATCH] fs/lustre: Remove unneeded includes + +The functionality was migrated to `fs/base/fs_base_get_parent_dir.c` long +ago, but the includes stayed. Though in lustre 2.14 `lustre_user.h` +moved the inclusion of `linux/fs.h` outside the `__KERNEL__` guard. This +triggered now Debian bug #898743 [1], which states that including +`sys/mount.h` after `linux/fs.h` breaks compilation. Thus the include +removal also avoids this breakage. + +Closes #8508. + +[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=898743 + +Signed-off-by: Bert Wesarg +--- + ompi/mca/fs/lustre/fs_lustre.c | 15 --------------- + 1 file changed, 15 deletions(-) + +diff --git a/ompi/mca/fs/lustre/fs_lustre.c b/ompi/mca/fs/lustre/fs_lustre.c +index df2c7c3ac7c..20fdfc76991 100644 +--- a/ompi/mca/fs/lustre/fs_lustre.c ++++ b/ompi/mca/fs/lustre/fs_lustre.c +@@ -32,21 +32,6 @@ + #include "ompi/mca/fs/base/base.h" + #include "ompi/mca/fs/lustre/fs_lustre.h" + +-#ifdef HAVE_SYS_STATFS_H +-#include /* or */ +-#endif +-#ifdef HAVE_SYS_PARAM_H +-#include +-#endif +-#ifdef HAVE_SYS_MOUNT_H +-#include +-#endif +-#ifdef HAVE_SYS_STAT_H +-#include +-#endif +- +-#include +- + /* + * ******************************************************************* + * ************************ actions structure ************************ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.0-GCC-10.2.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.0-GCC-10.2.0.eb index b82c542c424..ec897b5c4c1 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.0-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.0-GCC-10.2.0.eb @@ -13,16 +13,18 @@ patches = [ 'OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch', 'OpenMPI-4.x_fix_pmix_discovery.patch', 'OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch', + 'OpenMPI-4.1.x_add_atomic_wmb.patch', ] checksums = [ - '228467c3dd15339d9b26cf26a291af3ee7c770699c5e8a1b3ad786f9ae78140a', # openmpi-4.1.0.tar.gz - # OpenMPI-4.1.1_fix-bufferoverflow-in-common_ofi.patch - 'a189d834506f3d7c31eda6aa184598a3631ea24a94bc551d5ed1f053772ca49e', - # OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch - 'a5737061eb9006e862f30019776adf092d800f681272be7f1575e74b4bfa20fb', - '547641fff884c917237d158b0b13bdf387977cf0dddfd7e49e78d5f759a6a31b', # OpenMPI-4.x_fix_pmix_discovery.patch - # OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch - 'a94a74b174ce783328abfd3656ff5196b89ef4c819fe4c8b8a0f1277123e76ea', + {'openmpi-4.1.0.tar.gz': '228467c3dd15339d9b26cf26a291af3ee7c770699c5e8a1b3ad786f9ae78140a'}, + {'OpenMPI-4.1.1_fix-bufferoverflow-in-common_ofi.patch': + 'a189d834506f3d7c31eda6aa184598a3631ea24a94bc551d5ed1f053772ca49e'}, + {'OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch': + 'a5737061eb9006e862f30019776adf092d800f681272be7f1575e74b4bfa20fb'}, + {'OpenMPI-4.x_fix_pmix_discovery.patch': '547641fff884c917237d158b0b13bdf387977cf0dddfd7e49e78d5f759a6a31b'}, + {'OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch': + 'a94a74b174ce783328abfd3656ff5196b89ef4c819fe4c8b8a0f1277123e76ea'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-GCC-10.3.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-GCC-10.3.0.eb index 5314ed77d40..415e81332a2 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-GCC-10.3.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-GCC-10.3.0.eb @@ -17,19 +17,21 @@ patches = [ 'OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch', 'OpenMPI-4.1.1_build-with-internal-cuda-header.patch', 'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch', + 'OpenMPI-4.1.x_add_atomic_wmb.patch', ] checksums = [ - 'e24f7a778bd11a71ad0c14587a7f5b00e68a71aa5623e2157bafee3d44c07cda', # openmpi-4.1.1.tar.bz2 - # OpenMPI-4.1.1_fix-bufferoverflow-in-common_ofi.patch - 'a189d834506f3d7c31eda6aa184598a3631ea24a94bc551d5ed1f053772ca49e', - # OpenMPI-4.0.6_remove-pmix-check-in-pmi-switch.patch - '8acee6c9b2b4bf12873a39b85a58ca669de78e90d26186e52f221bb4853abc4d', - # OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch - 'a94a74b174ce783328abfd3656ff5196b89ef4c819fe4c8b8a0f1277123e76ea', - # OpenMPI-4.1.1_build-with-internal-cuda-header.patch - '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83', - # OpenMPI-4.1.1_opal-datatype-cuda-performance.patch - 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e', + {'openmpi-4.1.1.tar.bz2': 'e24f7a778bd11a71ad0c14587a7f5b00e68a71aa5623e2157bafee3d44c07cda'}, + {'OpenMPI-4.1.1_fix-bufferoverflow-in-common_ofi.patch': + 'a189d834506f3d7c31eda6aa184598a3631ea24a94bc551d5ed1f053772ca49e'}, + {'OpenMPI-4.0.6_remove-pmix-check-in-pmi-switch.patch': + '8acee6c9b2b4bf12873a39b85a58ca669de78e90d26186e52f221bb4853abc4d'}, + {'OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch': + 'a94a74b174ce783328abfd3656ff5196b89ef4c819fe4c8b8a0f1277123e76ea'}, + {'OpenMPI-4.1.1_build-with-internal-cuda-header.patch': + '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83'}, + {'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch': + 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-GCC-11.2.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-GCC-11.2.0.eb index 762189ad19d..3cafd8e33fe 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-GCC-11.2.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-GCC-11.2.0.eb @@ -16,21 +16,23 @@ patches = [ 'OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch', 'OpenMPI-4.1.1_build-with-internal-cuda-header.patch', 'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch', + 'OpenMPI-4.1.x_add_atomic_wmb.patch', ] checksums = [ - 'e24f7a778bd11a71ad0c14587a7f5b00e68a71aa5623e2157bafee3d44c07cda', # openmpi-4.1.1.tar.bz2 - # OpenMPI-4.1.1_fix-bufferoverflow-in-common_ofi.patch - 'a189d834506f3d7c31eda6aa184598a3631ea24a94bc551d5ed1f053772ca49e', - # OpenMPI-4.0.6_remove-pmix-check-in-pmi-switch.patch - '8acee6c9b2b4bf12873a39b85a58ca669de78e90d26186e52f221bb4853abc4d', - '04353672cf7be031e5306c94068d7012d99e6cd94b69d93230797ffcd7f31903', # OpenMPI-4.1.1_opal-pmix-package-rank.patch - '384ef9f1fa803b0d71dae2ec0748d0f20295992437532afedf21478bda164ff8', # OpenMPI-4.1.1_pmix3x-protection.patch - # OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch - 'a94a74b174ce783328abfd3656ff5196b89ef4c819fe4c8b8a0f1277123e76ea', - # OpenMPI-4.1.1_build-with-internal-cuda-header.patch - '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83', - # OpenMPI-4.1.1_opal-datatype-cuda-performance.patch - 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e', + {'openmpi-4.1.1.tar.bz2': 'e24f7a778bd11a71ad0c14587a7f5b00e68a71aa5623e2157bafee3d44c07cda'}, + {'OpenMPI-4.1.1_fix-bufferoverflow-in-common_ofi.patch': + 'a189d834506f3d7c31eda6aa184598a3631ea24a94bc551d5ed1f053772ca49e'}, + {'OpenMPI-4.0.6_remove-pmix-check-in-pmi-switch.patch': + '8acee6c9b2b4bf12873a39b85a58ca669de78e90d26186e52f221bb4853abc4d'}, + {'OpenMPI-4.1.1_opal-pmix-package-rank.patch': '04353672cf7be031e5306c94068d7012d99e6cd94b69d93230797ffcd7f31903'}, + {'OpenMPI-4.1.1_pmix3x-protection.patch': '384ef9f1fa803b0d71dae2ec0748d0f20295992437532afedf21478bda164ff8'}, + {'OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch': + 'a94a74b174ce783328abfd3656ff5196b89ef4c819fe4c8b8a0f1277123e76ea'}, + {'OpenMPI-4.1.1_build-with-internal-cuda-header.patch': + '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83'}, + {'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch': + 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-intel-compilers-2021.2.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-intel-compilers-2021.2.0.eb index 523bf0bb069..0df727a62a3 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-intel-compilers-2021.2.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-intel-compilers-2021.2.0.eb @@ -15,15 +15,17 @@ patches = [ 'OpenMPI-4.1.1_fix-bufferoverflow-in-common_ofi.patch', 'OpenMPI-4.0.6_remove-pmix-check-in-pmi-switch.patch', 'OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch', + 'OpenMPI-4.1.x_add_atomic_wmb.patch', ] checksums = [ - 'e24f7a778bd11a71ad0c14587a7f5b00e68a71aa5623e2157bafee3d44c07cda', # openmpi-4.1.1.tar.bz2 - # OpenMPI-4.1.1_fix-bufferoverflow-in-common_ofi.patch - 'a189d834506f3d7c31eda6aa184598a3631ea24a94bc551d5ed1f053772ca49e', - # OpenMPI-4.0.6_remove-pmix-check-in-pmi-switch.patch - '8acee6c9b2b4bf12873a39b85a58ca669de78e90d26186e52f221bb4853abc4d', - # OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch - 'a94a74b174ce783328abfd3656ff5196b89ef4c819fe4c8b8a0f1277123e76ea', + {'openmpi-4.1.1.tar.bz2': 'e24f7a778bd11a71ad0c14587a7f5b00e68a71aa5623e2157bafee3d44c07cda'}, + {'OpenMPI-4.1.1_fix-bufferoverflow-in-common_ofi.patch': + 'a189d834506f3d7c31eda6aa184598a3631ea24a94bc551d5ed1f053772ca49e'}, + {'OpenMPI-4.0.6_remove-pmix-check-in-pmi-switch.patch': + '8acee6c9b2b4bf12873a39b85a58ca669de78e90d26186e52f221bb4853abc4d'}, + {'OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch': + 'a94a74b174ce783328abfd3656ff5196b89ef4c819fe4c8b8a0f1277123e76ea'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-intel-compilers-2021.4.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-intel-compilers-2021.4.0.eb old mode 100755 new mode 100644 index 6e354371c1c..55381169f03 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-intel-compilers-2021.4.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-intel-compilers-2021.4.0.eb @@ -14,20 +14,21 @@ patches = [ 'OpenMPI-4.1.1_opal-pmix-package-rank.patch', 'OpenMPI-4.1.1_pmix3x-protection.patch', 'OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch', + 'OpenMPI-4.1.x_add_atomic_wmb.patch', ] checksums = [ - 'e24f7a778bd11a71ad0c14587a7f5b00e68a71aa5623e2157bafee3d44c07cda', # openmpi-4.1.1.tar.bz2 - # OpenMPI-4.1.1_fix-bufferoverflow-in-common_ofi.patch - 'a189d834506f3d7c31eda6aa184598a3631ea24a94bc551d5ed1f053772ca49e', - # OpenMPI-4.0.6_remove-pmix-check-in-pmi-switch.patch - '8acee6c9b2b4bf12873a39b85a58ca669de78e90d26186e52f221bb4853abc4d', - '04353672cf7be031e5306c94068d7012d99e6cd94b69d93230797ffcd7f31903', # OpenMPI-4.1.1_opal-pmix-package-rank.patch - '384ef9f1fa803b0d71dae2ec0748d0f20295992437532afedf21478bda164ff8', # OpenMPI-4.1.1_pmix3x-protection.patch - # OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch - 'a94a74b174ce783328abfd3656ff5196b89ef4c819fe4c8b8a0f1277123e76ea', + {'openmpi-4.1.1.tar.bz2': 'e24f7a778bd11a71ad0c14587a7f5b00e68a71aa5623e2157bafee3d44c07cda'}, + {'OpenMPI-4.1.1_fix-bufferoverflow-in-common_ofi.patch': + 'a189d834506f3d7c31eda6aa184598a3631ea24a94bc551d5ed1f053772ca49e'}, + {'OpenMPI-4.0.6_remove-pmix-check-in-pmi-switch.patch': + '8acee6c9b2b4bf12873a39b85a58ca669de78e90d26186e52f221bb4853abc4d'}, + {'OpenMPI-4.1.1_opal-pmix-package-rank.patch': '04353672cf7be031e5306c94068d7012d99e6cd94b69d93230797ffcd7f31903'}, + {'OpenMPI-4.1.1_pmix3x-protection.patch': '384ef9f1fa803b0d71dae2ec0748d0f20295992437532afedf21478bda164ff8'}, + {'OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch': + 'a94a74b174ce783328abfd3656ff5196b89ef4c819fe4c8b8a0f1277123e76ea'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, ] - builddependencies = [ ('pkg-config', '0.29.2'), ] diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.2-GCC-10.2.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.2-GCC-10.2.0.eb index 5148de10aa7..d0d18bc3a0b 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.2-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.2-GCC-10.2.0.eb @@ -8,7 +8,11 @@ toolchain = {'name': 'GCC', 'version': '10.2.0'} source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] sources = [SOURCELOWER_TAR_BZ2] -checksums = ['9b78c7cf7fc32131c5cf43dd2ab9740149d9d87cadb2e2189f02685749a6b527'] +patches = ['OpenMPI-4.1.x_add_atomic_wmb.patch'] +checksums = [ + {'openmpi-4.1.2.tar.bz2': '9b78c7cf7fc32131c5cf43dd2ab9740149d9d87cadb2e2189f02685749a6b527'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, +] builddependencies = [ ('pkg-config', '0.29.2'), diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.2-GCC-11.2.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.2-GCC-11.2.0.eb index 65660f70e15..eebd0204a24 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.2-GCC-11.2.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.2-GCC-11.2.0.eb @@ -8,7 +8,11 @@ toolchain = {'name': 'GCC', 'version': '11.2.0'} source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] sources = [SOURCELOWER_TAR_BZ2] -checksums = ['9b78c7cf7fc32131c5cf43dd2ab9740149d9d87cadb2e2189f02685749a6b527'] +patches = ['OpenMPI-4.1.x_add_atomic_wmb.patch'] +checksums = [ + {'openmpi-4.1.2.tar.bz2': '9b78c7cf7fc32131c5cf43dd2ab9740149d9d87cadb2e2189f02685749a6b527'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, +] builddependencies = [ ('pkgconf', '1.8.0'), diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0.eb index 524393cf31b..06b168671f7 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0.eb @@ -11,13 +11,18 @@ 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 = [ - '92912e175fd1234368c8730c03f4996fe5942e7479bb1d10059405e7f2b3930d', # openmpi-4.1.4.tar.bz2 - # OpenMPI-4.1.1_build-with-internal-cuda-header.patch - '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83', - # OpenMPI-4.1.1_opal-datatype-cuda-performance.patch - 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e', + {'openmpi-4.1.4.tar.bz2': '92912e175fd1234368c8730c03f4996fe5942e7479bb1d10059405e7f2b3930d'}, + {'OpenMPI-4.1.1_build-with-internal-cuda-header.patch': + '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83'}, + {'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch': + 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e'}, + {'OpenMPI-4.1.4_fix-implicit-cuda-function-declaration.patch': + 'ec1c2f07d03574b86fc5fb462eed96eb6f5658deb8a6412cf37007d687a28673'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-GCC-12.2.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-GCC-12.2.0.eb index 09a6bc393d3..f4fbe865280 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-GCC-12.2.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-GCC-12.2.0.eb @@ -11,13 +11,18 @@ 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 = [ - '92912e175fd1234368c8730c03f4996fe5942e7479bb1d10059405e7f2b3930d', # openmpi-4.1.4.tar.bz2 - # OpenMPI-4.1.1_build-with-internal-cuda-header.patch - '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83', - # OpenMPI-4.1.1_opal-datatype-cuda-performance.patch - 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e', + {'openmpi-4.1.4.tar.bz2': '92912e175fd1234368c8730c03f4996fe5942e7479bb1d10059405e7f2b3930d'}, + {'OpenMPI-4.1.1_build-with-internal-cuda-header.patch': + '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83'}, + {'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch': + 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e'}, + {'OpenMPI-4.1.4_fix-implicit-cuda-function-declaration.patch': + 'ec1c2f07d03574b86fc5fb462eed96eb6f5658deb8a6412cf37007d687a28673'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-NVHPC-22.7-CUDA-11.7.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-NVHPC-22.7-CUDA-11.7.0.eb index 34c4551c73e..a69c1e2b8d4 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-NVHPC-22.7-CUDA-11.7.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-NVHPC-22.7-CUDA-11.7.0.eb @@ -11,13 +11,18 @@ 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 = [ - '92912e175fd1234368c8730c03f4996fe5942e7479bb1d10059405e7f2b3930d', # openmpi-4.1.4.tar.bz2 - # OpenMPI-4.1.1_build-with-internal-cuda-header.patch - '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83', - # OpenMPI-4.1.1_opal-datatype-cuda-performance.patch - 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e', + {'openmpi-4.1.4.tar.bz2': '92912e175fd1234368c8730c03f4996fe5942e7479bb1d10059405e7f2b3930d'}, + {'OpenMPI-4.1.1_build-with-internal-cuda-header.patch': + '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83'}, + {'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch': + 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e'}, + {'OpenMPI-4.1.4_fix-implicit-cuda-function-declaration.patch': + 'ec1c2f07d03574b86fc5fb462eed96eb6f5658deb8a6412cf37007d687a28673'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, ] builddependencies = [ 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 index 634b2a2f67b..3ff4b9d8e66 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-GCC-12.2.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-GCC-12.2.0.eb @@ -11,6 +11,7 @@ sources = [SOURCELOWER_TAR_BZ2] patches = [ 'OpenMPI-4.1.1_build-with-internal-cuda-header.patch', 'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch', + 'OpenMPI-4.1.x_add_atomic_wmb.patch', ] checksums = [ {'openmpi-4.1.5.tar.bz2': 'a640986bc257389dd379886fdae6264c8cfa56bc98b71ce3ae3dfbd8ce61dbe3'}, @@ -18,6 +19,7 @@ checksums = [ '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83'}, {'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch': 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-GCC-12.3.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-GCC-12.3.0.eb index 6279c1af7bd..e415d495156 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-GCC-12.3.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-GCC-12.3.0.eb @@ -12,6 +12,8 @@ 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'}, @@ -19,8 +21,10 @@ checksums = [ '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83'}, {'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch': 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e'}, - {'OpenMPI-4.1.5_fix-pmix3x.patch': - '46edac3dbf32f2a611d45e8a3c8edd3ae2f430eec16a1373b510315272115c40'}, + {'OpenMPI-4.1.5_fix-pmix3x.patch': '46edac3dbf32f2a611d45e8a3c8edd3ae2f430eec16a1373b510315272115c40'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, + {'OpenMPI-4.1.5_fix_opal_unsupported_key.patch': + '4375a58a18c8bced14cc5978f98a7f2395cc6a9c07dd65b1c28f53294cad4385'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-intel-compilers-2023.1.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-intel-compilers-2023.1.0.eb index 4d79ac0d55a..59780f6df6e 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-intel-compilers-2023.1.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-intel-compilers-2023.1.0.eb @@ -12,6 +12,7 @@ patches = [ 'OpenMPI-4.1.1_build-with-internal-cuda-header.patch', 'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch', 'OpenMPI-4.1.5_fix-pmix3x.patch', + 'OpenMPI-4.1.x_add_atomic_wmb.patch', ] checksums = [ {'openmpi-4.1.5.tar.bz2': 'a640986bc257389dd379886fdae6264c8cfa56bc98b71ce3ae3dfbd8ce61dbe3'}, @@ -19,8 +20,8 @@ checksums = [ '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83'}, {'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch': 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e'}, - {'OpenMPI-4.1.5_fix-pmix3x.patch': - '46edac3dbf32f2a611d45e8a3c8edd3ae2f430eec16a1373b510315272115c40'}, + {'OpenMPI-4.1.5_fix-pmix3x.patch': '46edac3dbf32f2a611d45e8a3c8edd3ae2f430eec16a1373b510315272115c40'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.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 index 3e4baa87735..831148339ac 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.6-GCC-13.2.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.6-GCC-13.2.0.eb @@ -11,6 +11,7 @@ sources = [SOURCELOWER_TAR_BZ2] patches = [ 'OpenMPI-4.1.1_build-with-internal-cuda-header.patch', 'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch', + 'OpenMPI-4.1.x_add_atomic_wmb.patch', ] checksums = [ {'openmpi-4.1.6.tar.bz2': 'f740994485516deb63b5311af122c265179f5328a0d857a567b85db00b11e415'}, @@ -18,6 +19,7 @@ checksums = [ '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83'}, {'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch': 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.x_add_atomic_wmb.patch b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.x_add_atomic_wmb.patch new file mode 100644 index 00000000000..960e6100ed1 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.x_add_atomic_wmb.patch @@ -0,0 +1,35 @@ +From b6bfd8ef4ea52fb0257af8013b953f7942d06bae Mon Sep 17 00:00:00 2001 +From: Luke Robison +Date: Wed, 14 Feb 2024 21:14:29 +0000 +Subject: [PATCH] btl/smcuda: Add atomic_wmb() before sm_fifo_write + +This change fixes https://github.com/open-mpi/ompi/issues/12270 + +Testing on c7g instance type (arm64) confirms this change elminates +hangs and crashes that were previously observed in 1 in 30 runs of +IMB alltoall benchmark. Tested with over 300 runs and no failures. + +The write memory barrier prevents other CPUs from observing the fifo +get updated before they observe the updated contents of the header +itself. Without the barrier, uninitialized header contents caused +the crashes and invalid data. + +Signed-off-by: Luke Robison +(cherry picked from commit 71f378d28cb89dd80379dbad570849b297594cde) +--- + opal/mca/btl/smcuda/btl_smcuda_fifo.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/opal/mca/btl/smcuda/btl_smcuda_fifo.h b/opal/mca/btl/smcuda/btl_smcuda_fifo.h +index c4db00d10a8..f1c222d7ae0 100644 +--- a/opal/mca/btl/smcuda/btl_smcuda_fifo.h ++++ b/opal/mca/btl/smcuda/btl_smcuda_fifo.h +@@ -86,6 +86,8 @@ add_pending(struct mca_btl_base_endpoint_t *ep, void *data, bool resend) + #define MCA_BTL_SMCUDA_FIFO_WRITE(endpoint_peer, my_smp_rank, \ + peer_smp_rank, hdr, resend, retry_pending_sends, rc) \ + do { \ ++ /* memory barrier: ensure writes to the hdr have completed */ \ ++ opal_atomic_wmb(); \ + sm_fifo_t* fifo = &(mca_btl_smcuda_component.fifo[peer_smp_rank][FIFO_MAP(my_smp_rank)]); \ + \ + if ( retry_pending_sends ) { \ diff --git a/easybuild/easyconfigs/o/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/OpenMolcas/OpenMolcas-23.06-intel-2023a.eb b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-23.06-intel-2023a.eb index 907f553c656..fea8d5f3c37 100644 --- a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-23.06-intel-2023a.eb +++ b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-23.06-intel-2023a.eb @@ -13,8 +13,11 @@ 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 = [ - {'%(name)s-v%(version)s.tar.gz': 'fe0299ed39af6e84f249f91452c411f9845c9ae4a0ce78641c867dea8056f280'}, - {'%(name)s-%(version)s_mcpdft_deps.patch': 'a798ec6f93a19539aa2211a978da461d4ecd31c5521b9dab6f2a9b1c2fa65f0e'}, + # OpenMolcas-v23.06.tar.gz + ('fe0299ed39af6e84f249f91452c411f9845c9ae4a0ce78641c867dea8056f280', + 'c3c8f31c22e028e1ac3bd8fb405cea83e8a6fcf21f00e71e81a92941cb026415'), + # OpenMolcas-23.06_mcpdft_deps.patch + 'a798ec6f93a19539aa2211a978da461d4ecd31c5521b9dab6f2a9b1c2fa65f0e', ] builddependencies = [('CMake', '3.26.3')] 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/OpenSSL/OpenSSL-3.eb b/easybuild/easyconfigs/o/OpenSSL/OpenSSL-3.eb new file mode 100644 index 00000000000..13b0f8437a9 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenSSL/OpenSSL-3.eb @@ -0,0 +1,40 @@ +easyblock = 'EB_OpenSSL_wrapper' + +name = 'OpenSSL' +version = '3' +minimum_openssl_version = '3.0.0' + +homepage = 'https://www.openssl.org/' +description = """The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, + and Open Source toolchain implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) + protocols as well as a full-strength general purpose cryptography library. """ + +toolchain = SYSTEM +toolchainopts = {'pic': True} + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('Perl', '5.38.0'), +] + +# This easyconfig will wrap the OpenSSL installation in the host system. +# If the system provides the required binary, header files, and libraries for +# this version of OpenSSL, the installation directory of this module will be +# populated with symlinks to the system files. The minimum required version of +# OpenSSL can be finely controled with 'minimum_openssl_version' (defaults to +# easyconfig version). +# If the host system does not have this version of OpenSSL (or with the option +# wrap_system_openssl = False), EasyBuild will fall back to the following +# component list, which will be build and installed as usual. + +components = [ + (name, '3.2.1', { + 'easyblock': 'EB_OpenSSL', + 'source_urls': ['https://www.openssl.org/source/'], + 'sources': [SOURCELOWER_TAR_GZ], + 'checksums': ['83c7329fe52c850677d75e5d0b0ca245309b97e8ecbcfdc1dfdc4ab9fac35b39'], + 'start_dir': '%(namelower)s-%(version)s', + }), +] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/o/OpenSlide-Java/OpenSlide-Java-0.12.4-GCCcore-12.3.0-Java-17.eb b/easybuild/easyconfigs/o/OpenSlide-Java/OpenSlide-Java-0.12.4-GCCcore-12.3.0-Java-17.eb new file mode 100644 index 00000000000..55957819d5f --- /dev/null +++ b/easybuild/easyconfigs/o/OpenSlide-Java/OpenSlide-Java-0.12.4-GCCcore-12.3.0-Java-17.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'OpenSlide-Java' +version = '0.12.4' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://github.com/openslide/openslide-java' +description = """This is a Java binding to OpenSlide.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/openslide/%(namelower)s/releases/download/v%(version)s'] +sources = ['%(namelower)s-%(version)s.tar.xz'] +checksums = ['63a6cd63fedc7c700020708c0a362b3807b6780f0246b12c8dc372cecd6130cf'] + +builddependencies = [ + ('binutils', '2.40'), + ('ant', '1.10.12', versionsuffix, SYSTEM), +] + +dependencies = [ + ('OpenSlide', '3.4.1', '-largefiles'), + ('Java', '17', '', SYSTEM), +] + +sanity_check_paths = { + 'files': [ + 'lib/openslide-java/openslide.jar', + 'lib/openslide-java/libopenslide-jni.%s' % SHLIB_EXT, + ], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/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/OpenStackClient/OpenStackClient-5.5.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/o/OpenStackClient/OpenStackClient-5.5.0-GCCcore-10.2.0.eb index b013362d2e5..50dab938d40 100644 --- 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 @@ -16,9 +16,9 @@ dependencies = [ ] builddependencies = [('binutils', '2.35')] -exts_default_options = { - 'use_pip': True, -} +sanity_pip_check = True +use_pip = True + exts_list = [ ('pbr', '5.6.0', { 'checksums': ['42df03e7797b796625b1029c0400279c7c34fd7df24a7d7818a1abb5b38710dd'], @@ -121,7 +121,6 @@ exts_list = [ }), ] -sanity_pip_check = True enhance_sanity_check = True sanity_check_commands = ['openstack -h'] 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 index e590dd730ca..d92bda87180 100644 --- 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 @@ -16,9 +16,9 @@ dependencies = [ ] builddependencies = [('binutils', '2.37')] -exts_default_options = { - 'use_pip': True, -} +sanity_pip_check = True +use_pip = True + exts_list = [ ('pyperclip', '1.8.2', { 'checksums': ['105254a8b04934f0bc84e9c24eb360a591aaf6535c9def5f29d92af107a9bf57'], @@ -121,7 +121,6 @@ exts_list = [ }), ] -sanity_pip_check = True enhance_sanity_check = True sanity_check_commands = ['openstack -h'] 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 index 6b695f63279..bdf0b5c45a6 100644 --- 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 @@ -15,9 +15,9 @@ dependencies = [ ] builddependencies = [('binutils', '2.39')] -exts_default_options = { - 'use_pip': True, -} +sanity_pip_check = True +use_pip = True + exts_list = [ ('pyperclip', '1.8.2', { 'checksums': ['105254a8b04934f0bc84e9c24eb360a591aaf6535c9def5f29d92af107a9bf57'], @@ -114,7 +114,6 @@ exts_list = [ }), ] -sanity_pip_check = True enhance_sanity_check = True sanity_check_commands = ['openstack -h'] 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.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-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/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.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/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.25-GCCcore-12.3.0.eb b/easybuild/easyconfigs/o/onedrive/onedrive-2.4.25-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b22cd1206b7 --- /dev/null +++ b/easybuild/easyconfigs/o/onedrive/onedrive-2.4.25-GCCcore-12.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'onedrive' +version = '2.4.25' + +homepage = 'https://abraunegg.github.io/' +description = """ +A free Microsoft OneDrive Client which supports OneDrive Personal, OneDrive for Business, +OneDrive for Office365 and SharePoint.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/abraunegg/onedrive/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e7d782ea7d1973b6b578899a84c4f90ba69302263b4be30d80a363ba8ba27eb3'] + +builddependencies = [ + ('binutils', '2.40'), + ('LDC', '1.36.0'), +] + +dependencies = [ + ('cURL', '8.0.1'), + ('SQLite', '3.42.0'), +] + +_compldir = '%(installdir)s/share/tab_completion' +configopts = 'DC="$EBROOTLDC"/bin/ldc2 --with-systemdsystemunitdir=no ' +configopts += '--enable-completions --with-bash-completion-dir=%s ' % _compldir +configopts += '--with-zsh-completion-dir=%s --with-fish-completion-dir=%s ' % (_compldir, _compldir) + +sanity_check_paths = { + 'files': ['bin/onedrive'], + 'dirs': ['etc', 'share'], +} + +sanity_check_commands = ['onedrive -h'] + +# optionally enable tab completion for bash (zsh: '_onedrive', fish: 'onedrive.fish') +modluafooter = 'execute {cmd="source $EBROOTONEDRIVE/share/tab_completion/onedrive",modeA={"load"}}' + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/o/ont-fast5-api/ont-fast5-api-4.1.2-foss-2023a.eb b/easybuild/easyconfigs/o/ont-fast5-api/ont-fast5-api-4.1.2-foss-2023a.eb new file mode 100644 index 00000000000..6850f3a6d99 --- /dev/null +++ b/easybuild/easyconfigs/o/ont-fast5-api/ont-fast5-api-4.1.2-foss-2023a.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'ont-fast5-api' +version = '4.1.2' + +homepage = 'https://github.com/nanoporetech/ont_fast5_api' +description = "ont_fast5_api is a simple interface to HDF5 files of the Oxford Nanopore .fast5 file format." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('h5py', '3.9.0'), +] + +use_pip = True + +exts_list = [ + ('progressbar33', '2.4', { + 'modulename': 'progressbar', + 'checksums': ['51fe0d9b3b4023db2f983eeccdfc8c9846b84db8443b9bee002c7f58f4376eff'], + }), + (name, version, { + 'checksums': ['c7c59c6100e992ef8bc239cdf91f7a8ab46abf57ecd689f94b2b98e72a9e9472'], + }), +] + +sanity_check_paths = { + 'files': [ + 'bin/compress_fast5', + 'bin/fast5_subset', + 'bin/multi_to_single_fast5', + 'bin/single_to_multi_fast5' + ], + 'dirs': [''], +} + +sanity_check_commands = [ + "compress_fast5 --help", + "fast5_subset --help", + "multi_to_single_fast5 --help", + "single_to_multi_fast5 --help", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/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/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-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/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/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/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/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.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-2023a.eb b/easybuild/easyconfigs/p/PASA/PASA-2.5.3-foss-2023a.eb new file mode 100644 index 00000000000..8d42086755c --- /dev/null +++ b/easybuild/easyconfigs/p/PASA/PASA-2.5.3-foss-2023a.eb @@ -0,0 +1,57 @@ +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': '2023a'} + +source_urls = ['https://github.com/PASApipeline/PASApipeline/archive/'] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +checksums = ['9b2f6a301b73fd8c713af0977cf6e97f3d928988d6b79715ebe81e19b51152eb'] + +dependencies = [ + ('SQLite', '3.42.0'), + ('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': [] +} + +modextrapaths = { + 'PASAHOME': '', +} + +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.14.1-foss-2023a.eb b/easybuild/easyconfigs/p/PCL/PCL-1.14.1-foss-2023a.eb new file mode 100644 index 00000000000..97f57817025 --- /dev/null +++ b/easybuild/easyconfigs/p/PCL/PCL-1.14.1-foss-2023a.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'PCL' +version = '1.14.1' + +homepage = 'https://pointclouds.org/' +description = """The Point Cloud Library (PCL) is a standalone, large scale, open project for 2D/3D image and + point cloud processing.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/PointCloudLibrary/pcl/archive/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['5dc5e09509644f703de9a3fb76d99ab2cc67ef53eaf5637db2c6c8b933b28af6'] + +builddependencies = [('CMake', '3.26.3')] + +dependencies = [ + ('Boost', '1.82.0'), + ('Eigen', '3.4.0'), + ('FLANN', '1.9.2'), + ('VTK', '9.3.0'), + ('Qhull', '2020.2'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['bin', 'include/pcl-%(version_major_minor)s/pcl', 'lib', 'share/pcl-%(version_major_minor)s'], +} + +moduleclass = 'vis' 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/PCRE/PCRE-8.45-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/PCRE/PCRE-8.45-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..c378f2e1bab --- /dev/null +++ b/easybuild/easyconfigs/p/PCRE/PCRE-8.45-GCCcore-13.3.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.3.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.42'), +] +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.3.1'), +] + +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.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.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/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/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/PGPLOT/PGPLOT-5.2.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PGPLOT/PGPLOT-5.2.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..fef20411822 --- /dev/null +++ b/easybuild/easyconfigs/p/PGPLOT/PGPLOT-5.2.2-GCCcore-13.2.0.eb @@ -0,0 +1,61 @@ +easyblock = 'CmdCp' + +name = 'PGPLOT' +version = '5.2.2' + +homepage = 'https://sites.astro.caltech.edu/~tjp/pgplot/' +description = """The PGPLOT Graphics Subroutine Library is a Fortran- or C-callable, +device-independent graphics package for making simple scientific graphs. It is intended +for making graphical images of publication quality with minimum effort on the part of +the user. For most applications, the program can be device-independent, and the output +can be directed to the appropriate device at run time.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['ftp://ftp.astro.caltech.edu/pub/%(namelower)s/'] +sources = ['%%(namelower)s%s.tar.gz' % version.replace('.', '')] +patches = ['%(name)s-%(version_major_minor)s.2_gfortran-deps-fixes.patch'] +checksums = [ + {'pgplot522.tar.gz': 'a5799ff719a510d84d26df4ae7409ae61fe66477e3f1e8820422a9a4727a5be4'}, + {'PGPLOT-5.2.2_gfortran-deps-fixes.patch': 'b1822eb32499dc18aa4aa4fae0b31c3c64ff8abb3a243716e78addafa7e58cec'}, +] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('libpng', '1.6.40'), + ('zlib', '1.2.13'), + ('X11', '20231019'), +] + +# create .so symlinks for shared libraries +postinstallcmds = [ + "cd %%(installdir)s/lib && ln -s libcpgplot.%s.%%(version)s libcpgplot.%s.5" % (SHLIB_EXT, SHLIB_EXT), + "cd %%(installdir)s/lib && ln -s libcpgplot.%s.%%(version)s libcpgplot.%s" % (SHLIB_EXT, SHLIB_EXT), + "cd %%(installdir)s/lib && ln -s libpgplot.%s.%%(version)s libpgplot.%s.5" % (SHLIB_EXT, SHLIB_EXT), + "cd %%(installdir)s/lib && ln -s libpgplot.%s.%%(version)s libpgplot.%s" % (SHLIB_EXT, SHLIB_EXT), +] + +files_to_copy = [ + (['pgdemo*'], 'bin'), + (['libpgplot.*', 'libcpgplot.*'], 'lib'), + (['grfont.dat'], 'share'), + (['cpgplot.h'], 'include'), +] +cmds_map = [('.*', './makemake . linux g77_gcc && make && make shared && make cpg && make cpg-shared')] + +sanity_check_paths = { + 'files': [ + 'include/cpgplot.h', + 'lib/libpgplot.a', + 'lib/libcpgplot.a', + 'lib/libpgplot.%s' % SHLIB_EXT, + 'lib/libcpgplot.%s' % SHLIB_EXT + ], + 'dirs': ['bin'], +} + +modextravars = {'PGPLOT_FONT': '%(installdir)s/share/grfont.dat'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PHYLIP/PHYLIP-3.697-GCC-12.3.0.eb b/easybuild/easyconfigs/p/PHYLIP/PHYLIP-3.697-GCC-12.3.0.eb new file mode 100644 index 00000000000..435d189659d --- /dev/null +++ b/easybuild/easyconfigs/p/PHYLIP/PHYLIP-3.697-GCC-12.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'MakeCp' + +name = 'PHYLIP' +version = '3.697' + +homepage = 'https://phylipweb.github.io/phylip' +description = "PHYLIP is a free package of programs for inferring phylogenies." + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +# -fcommon is required to avoid 'multiple definitions' linking error +toolchainopts = {'extra_cflags': "-fcommon"} + +source_urls = ['https://phylipweb.github.io/phylip/download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['9a26d8b08b8afea7f708509ef41df484003101eaf4beceb5cf7851eb940510c1'] + +buildopts = '-Csrc -fMakefile.unx all CFLAGS="$CFLAGS" && make -Csrc -fMakefile.unx install' + +files_to_copy = [(['exe/*'], 'bin'), (['src/libdrawgram.%s' % SHLIB_EXT, 'src/libdrawtree.%s' % SHLIB_EXT], 'lib')] + +sanity_check_paths = { + 'files': ['bin/dnapars', 'bin/fitch', 'bin/gendist', 'bin/penny', 'bin/seqboot', + 'lib/libdrawgram.%s' % SHLIB_EXT, 'lib/libdrawtree.%s' % SHLIB_EXT], + 'dirs': ['bin'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PLINK/PLINK-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.00a3.7-foss-2022a.eb b/easybuild/easyconfigs/p/PLINK/PLINK-2.00a3.7-foss-2022a.eb index 60ba9b0260b..6141b6cb6fe 100644 --- a/easybuild/easyconfigs/p/PLINK/PLINK-2.00a3.7-foss-2022a.eb +++ b/easybuild/easyconfigs/p/PLINK/PLINK-2.00a3.7-foss-2022a.eb @@ -48,7 +48,7 @@ components = [ ] # run tests (<1h) -postinstallcmds = ["cd Tests && sh run_tests.sh %(installdir)s/bin"] +postinstallcmds = ["cd Tests && bash run_tests.sh %(installdir)s/bin"] sanity_check_paths = { 'files': ['bin/plink', 'bin/plink2', 'bin/pgen_compress'], 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.7.2-foss-2021a.eb b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.2-foss-2021a.eb index 3a0b31731ee..502cbfbd652 100644 --- a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.2-foss-2021a.eb +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.2-foss-2021a.eb @@ -38,11 +38,6 @@ if ARCH == 'x86_64': 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" ' 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 index ba0747ac705..d84282472f8 100644 --- a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.2-intel-2021a.eb +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.2-intel-2021a.eb @@ -36,11 +36,6 @@ 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" ' 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 index c653aa77c5b..d39ecac24b5 100644 --- a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.3-foss-2021b.eb +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.3-foss-2021b.eb @@ -38,11 +38,6 @@ if ARCH == 'x86_64': 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" ' 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 index 8dcdc9293d7..378a40f25d3 100644 --- a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.8.0-foss-2021b.eb +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.8.0-foss-2021b.eb @@ -35,11 +35,6 @@ configopts = '--exec-prefix=%(installdir)s --enable-gsl --enable-modules=all --e 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" ' 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 index 846670014d4..b0fe4443cc6 100644 --- a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.8.1-foss-2022a.eb +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.8.1-foss-2022a.eb @@ -35,11 +35,6 @@ configopts = '--exec-prefix=%(installdir)s --enable-gsl --enable-modules=all --e 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" ' 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 index a2971db49f7..92cdbe73b2a 100644 --- a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.9.0-foss-2022b.eb +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.9.0-foss-2022b.eb @@ -35,11 +35,6 @@ configopts = '--exec-prefix=%(installdir)s --enable-gsl --enable-modules=all --e 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" ' 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 index 8ca97130960..b08db49309a 100644 --- a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.9.0-foss-2023a.eb +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.9.0-foss-2023a.eb @@ -35,11 +35,6 @@ configopts = '--exec-prefix=%(installdir)s --enable-gsl --enable-modules=all --e 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" ' 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..3ed5ad9b823 --- /dev/null +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.9.2-foss-2023b.eb @@ -0,0 +1,54 @@ +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 && ' + +# 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-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-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/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/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/PSASS/PSASS-3.1.0-GCC-12.3.0.eb b/easybuild/easyconfigs/p/PSASS/PSASS-3.1.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..1cd13b8f919 --- /dev/null +++ b/easybuild/easyconfigs/p/PSASS/PSASS-3.1.0-GCC-12.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'MakeCp' + +name = 'PSASS' +version = '3.1.0' + +homepage = 'https://github.com/SexGenomicsToolkit/PSASS' +description = """ +PSASS (Pooled Sequencing Analysis for Sex Signal) is a software to compare pooled sequencing +datasets from two groups (usually two sexes). Results from PSASS can be easily visualized +using the sgtr R package. PSASS is integrated in a Snakemake workflow to perform all required +steps starting from a genome and reads files. +""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +dependencies = [ + ('HTSlib', '1.18'), +] + +source_urls = ['https://github.com/SexGenomicsToolkit/PSASS/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['6c22fb2db52df76bdf8e5073895da11678a35c4a0e1500245e19d13c1f67df2b'] + +files_to_copy = ['bin'] + +sanity_check_paths = { + 'files': ['bin/psass'], + 'dirs': [], +} + +sanity_check_commands = [ + "psass --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PSI4/PSI4-1.7-foss-2021b.eb b/easybuild/easyconfigs/p/PSI4/PSI4-1.7-foss-2021b.eb index a45e9eb8eb6..8f23ffda609 100644 --- a/easybuild/easyconfigs/p/PSI4/PSI4-1.7-foss-2021b.eb +++ b/easybuild/easyconfigs/p/PSI4/PSI4-1.7-foss-2021b.eb @@ -19,9 +19,9 @@ patches = [ 'PSI4-%(version)s_fix_snsmp2_version.patch', ] checksums = [ - '85a2772a148d57423a909fd91f3f9b068ae393b161510e78e7a824fbe3997366', # v1.7.tar.gz - 'a8af68947fb4d632d16adb3341b90990d9129d3fe9a28dee733b67bcd2aeff08', # PSI4-1.3.1_fix_cmake_release.patch - '064dcf60e74e0c449f77bb6e4dcf4b3338edad7d9a046089ecc2979aed1a00f9', # PSI4-1.7_fix_snsmp2_version.patch + {'v1.7.tar.gz': '85a2772a148d57423a909fd91f3f9b068ae393b161510e78e7a824fbe3997366'}, + {'PSI4-1.7_fix_cmake_release.patch': 'a8af68947fb4d632d16adb3341b90990d9129d3fe9a28dee733b67bcd2aeff08'}, + {'PSI4-1.7_fix_snsmp2_version.patch': '064dcf60e74e0c449f77bb6e4dcf4b3338edad7d9a046089ecc2979aed1a00f9'}, ] dependencies = [ @@ -32,6 +32,7 @@ dependencies = [ ('psutil', '5.9.4'), ('pytest', '7.1.3'), ('Boost', '1.77.0'), + ('PyYAML', '5.4.1'), ] builddependencies = [ @@ -76,10 +77,25 @@ exts_list = [ 'modulename': 'msgpack', 'checksums': ['378cc8a6d3545b532dfd149da715abae4fda2a3adb6d74e525d0d5e51f46909b'], }), + ('qcelemental', '0.25.1', { + 'checksums': ['e3e0e53fe047d14756718441040a5d737135f0bdb33efb1d63a1935b95821a74'], + }), + ('qcengine', '0.26.0', { + 'checksums': ['8c10377b11ffab311a2997ae9af80a0f4b4a9c3a6d65d96fd4aca4c941ecf018'], + }), + ('OptKing', '0.2.1', { + 'source_urls': ['https://github.com/psi-rking/optking/archive/refs/tags/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['7c4a2ea83b61fa91a178d2470612069eb9968ed3157336694c77805752ba545d'], + }), + ('snsmp2', '1.0.0', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['acfc95f8eb40e18d9d0c737b42fc8dfa786c381a5510a3094772b82538d211ed'], + }), ('py-cpuinfo', '9.0.0', { 'modulename': 'cpuinfo', 'checksums': ['3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690'], - }) + }), ] modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} diff --git a/easybuild/easyconfigs/p/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/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/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/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-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-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.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/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/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/PennyLane/PennyLane-0.37.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PennyLane/PennyLane-0.37.0-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..75368e7c82d --- /dev/null +++ b/easybuild/easyconfigs/p/PennyLane/PennyLane-0.37.0-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,68 @@ +easyblock = 'PythonBundle' + +name = 'PennyLane' +version = '0.37.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = "https://pennylane.ai/" +description = """PennyLane is a cross-platform Python library for +quantum computing, quantum machine learning, and quantum +chemistry. Train a quantum computer the same way as a neural network.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +local_pennylane_test_backends = [ + # tests to enable when testing pennylane + ('jax', '0.4.25', versionsuffix), + ('PyTorch', '2.1.2', versionsuffix), + ('TensorFlow', '2.15.1', versionsuffix), +] + +local_pennylane_lightning_extras = ['qubit', 'gpu', 'kokkos'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('networkx', '3.1'), + ('rustworkx', '0.15.1'), + ('CUDA', '12.1.1', '', SYSTEM), +] + +if 'gpu' in local_pennylane_lightning_extras: + dependencies += [ + ('cuQuantum', '24.08.0.5', versionsuffix, SYSTEM) + ] + +builddependencies = [ + ('CMake', '3.26.3'), + ('Ninja', '1.11.1'), + ('pybind11', '2.11.1'), +] + local_pennylane_test_backends + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('autograd', '1.6.2', { + 'checksums': ['8731e08a0c4e389d8695a40072ada4512641c113b6cace8f4cfbe8eb7e9aedeb'], + }), + ('autoray', '0.6.12', { + 'checksums': ['721328aa06fc3577155d988052614a7b4bd6e4d01b340695344031ee4abd2a1e'], + }), + ('cachetools', '5.2.1', { + 'checksums': ['5991bc0e08a1319bb618d3195ca5b6bc76646a49c21d55962977197b301cc1fe'], + }), + ('pennylane', version, { + 'source_urls': ['https://github.com/PennyLaneAI/pennylane/archive/refs/tags'], + 'sources': [{'filename': '%(name)s-v%(version)s.tar.gz', 'download_filename': 'v%(version)s.tar.gz'}], + 'checksums': ['3e5eaab9da28ac43099e5850fde0c5763bc4e37271804463fc35dab8b08e2f15'], + }), + ('pennylane_lightning', version, { + 'source_urls': ['https://github.com/PennyLaneAI/pennylane-lightning/archive/refs/tags'], + 'sources': [{'filename': '%(name)s-v%(version)s.tar.gz', 'download_filename': 'v%(version)s.tar.gz'}], + 'checksums': ['3f70e3e3b7e4d0f6a679919c0c83e451e129666b021bb529dd02eb915d0666a0'], + 'use_pip_extras': 'qubit,gpu,kokkos', + }), +] + +moduleclass = 'ai' 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 index 9c5ab28d7b7..1c02282d891 100644 --- a/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.36.1-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.36.1-GCCcore-12.3.0.eb @@ -673,10 +673,14 @@ exts_list = [ 'checksums': ['aa12d1a4c0ac260b94d448fa01feba242a8a85cb6cbfdc66432e3b5b468add96'], }), ('Net::SSLeay', '1.92', { + 'patches': ['Net-SSLeay-1.92_fix.patch'], 'preconfigopts': "export OPENSSL_PREFIX=$EBROOTOPENSSL && ", 'source_tmpl': 'Net-SSLeay-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHRISN'], - 'checksums': ['47c2f2b300f2e7162d71d699f633dd6a35b0625a00cbda8c50ac01144a9396a9'], + 'checksums': [ + {'Net-SSLeay-1.92.tar.gz': '47c2f2b300f2e7162d71d699f633dd6a35b0625a00cbda8c50ac01144a9396a9'}, + {'Net-SSLeay-1.92_fix.patch': '37790b10c5551bce92bc4bd7c98a92b0058fc16604272c7459a63096b52a8d1c'}, + ], }), ('IO::Socket::SSL', '2.083', { 'source_tmpl': 'IO-Socket-SSL-%(version)s.tar.gz', @@ -1763,16 +1767,13 @@ exts_list = [ 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JD/JDHEDDEN'], 'checksums': ['9dfd6ca2822724347e0eb6759d00709425814703ad5c66bdb6214579868bcac4'], }), - ('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.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', @@ -1918,7 +1919,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', @@ -2053,7 +2059,18 @@ exts_list = [ ('Sys::Info::Driver::Linux::Device::CPU', '0.7905', { 'source_tmpl': 'Sys-Info-Driver-Linux-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK'], - 'checksums': ['899c329bd3508ec5849ad0e5dadfa7c3679bbacaea9dda12404a7893032e8b7b'], + 'patches': [ + ('Perl-bundle-5.36.1-debian-release.patch'), + ('Perl-bundle-5.36.1-pod.patch'), + ], + 'checksums': [ + {'Sys-Info-Driver-Linux-%(version)s.tar.gz': + '899c329bd3508ec5849ad0e5dadfa7c3679bbacaea9dda12404a7893032e8b7b'}, + {'Perl-bundle-5.36.1-debian-release.patch': + '18b8d876db5b3abe7e5a1bb8c6abf8b5fef481b56294472fcf9f96f974c56c48'}, + {'Perl-bundle-5.36.1-pod.patch': + '7c70bd91a06c256a8d85845e011e53a1a9d4f8a250d9f06bd06f5004596f271a'}, + ], }), ('Sys::Info', '0.7811', { 'source_tmpl': 'Sys-Info-%(version)s.tar.gz', @@ -2103,7 +2120,18 @@ exts_list = [ ('Sys::Info::Driver::Linux', '0.7905', { 'source_tmpl': 'Sys-Info-Driver-Linux-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK'], - 'checksums': ['899c329bd3508ec5849ad0e5dadfa7c3679bbacaea9dda12404a7893032e8b7b'], + 'patches': [ + ('Perl-bundle-5.36.1-debian-release.patch'), + ('Perl-bundle-5.36.1-pod.patch'), + ], + 'checksums': [ + {'Sys-Info-Driver-Linux-%(version)s.tar.gz': + '899c329bd3508ec5849ad0e5dadfa7c3679bbacaea9dda12404a7893032e8b7b'}, + {'Perl-bundle-5.36.1-debian-release.patch': + '18b8d876db5b3abe7e5a1bb8c6abf8b5fef481b56294472fcf9f96f974c56c48'}, + {'Perl-bundle-5.36.1-pod.patch': + '7c70bd91a06c256a8d85845e011e53a1a9d4f8a250d9f06bd06f5004596f271a'}, + ], }), ('Unix::Processors', '2.046', { 'source_tmpl': 'Unix-Processors-%(version)s.tar.gz', diff --git a/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.38.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.38.0-GCCcore-13.2.0.eb index 89d9819e7fb..35ab629e89e 100644 --- a/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.38.0-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.38.0-GCCcore-13.2.0.eb @@ -400,6 +400,7 @@ exts_list = [ 'source_tmpl': 'DBI-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TI/TIMB'], 'checksums': ['8a2b993db560a2c373c174ee976a51027dd780ec766ae17620c20393d2e836fa'], + 'pretestopts': 'LC_ALL=C ', # Test fails if run in localized environments }), ('DBD::SQLite', '1.74', { 'source_tmpl': 'DBD-SQLite-%(version)s.tar.gz', @@ -673,10 +674,14 @@ exts_list = [ 'checksums': ['aa12d1a4c0ac260b94d448fa01feba242a8a85cb6cbfdc66432e3b5b468add96'], }), ('Net::SSLeay', '1.92', { + 'patches': ['Net-SSLeay-1.92_fix.patch'], 'preconfigopts': "export OPENSSL_PREFIX=$EBROOTOPENSSL && ", 'source_tmpl': 'Net-SSLeay-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHRISN'], - 'checksums': ['47c2f2b300f2e7162d71d699f633dd6a35b0625a00cbda8c50ac01144a9396a9'], + 'checksums': [ + {'Net-SSLeay-1.92.tar.gz': '47c2f2b300f2e7162d71d699f633dd6a35b0625a00cbda8c50ac01144a9396a9'}, + {'Net-SSLeay-1.92_fix.patch': '37790b10c5551bce92bc4bd7c98a92b0058fc16604272c7459a63096b52a8d1c'}, + ], }), ('IO::Socket::SSL', '2.083', { 'source_tmpl': 'IO-Socket-SSL-%(version)s.tar.gz', @@ -1502,6 +1507,7 @@ exts_list = [ 'source_tmpl': 'Variable-Magic-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/V/VP/VPIT'], 'checksums': ['ba4083b2c31ff2694f2371333d554c826aaf24b4d98d03e48b5b4a43a2a0e679'], + 'pretestopts': 'LC_ALL=C ', # Test fails if run in localized environments }), ('MooseX::Types::Perl', '0.101344', { 'source_tmpl': 'MooseX-Types-Perl-%(version)s.tar.gz', @@ -1764,16 +1770,13 @@ exts_list = [ 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JD/JDHEDDEN'], 'checksums': ['9dfd6ca2822724347e0eb6759d00709425814703ad5c66bdb6214579868bcac4'], }), - ('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.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', @@ -1920,7 +1923,12 @@ exts_list = [ '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'], - '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/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.30.2-GCCcore-9.3.0-minimal.eb b/easybuild/easyconfigs/p/Perl/Perl-5.30.2-GCCcore-9.3.0-minimal.eb index 865360a39d3..fec6c89d995 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.30.2-GCCcore-9.3.0-minimal.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.30.2-GCCcore-9.3.0-minimal.eb @@ -13,7 +13,12 @@ toolchainopts = {'pic': True} source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['66db7df8a91979eb576fac91743644da878244cf8ee152f02cd6f5cd7a731689'] +patches = ['%(name)s-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch'] +checksums = [ + {'perl-5.30.2.tar.gz': '66db7df8a91979eb576fac91743644da878244cf8ee152f02cd6f5cd7a731689'}, + {'Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch': + '8bc55f85eeacf35175f8e4f053ba7858f62974bcc073b265c2f0cd93a5f1307a'}, +] builddependencies = [ ('binutils', '2.34'), diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.30.2-GCCcore-9.3.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.30.2-GCCcore-9.3.0.eb index a0b67405467..98e93f98b52 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.30.2-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.30.2-GCCcore-9.3.0.eb @@ -9,7 +9,12 @@ toolchainopts = {'pic': True} source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['66db7df8a91979eb576fac91743644da878244cf8ee152f02cd6f5cd7a731689'] +patches = ['%(name)s-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch'] +checksums = [ + {'perl-5.30.2.tar.gz': '66db7df8a91979eb576fac91743644da878244cf8ee152f02cd6f5cd7a731689'}, + {'Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch': + '8bc55f85eeacf35175f8e4f053ba7858f62974bcc073b265c2f0cd93a5f1307a'}, +] builddependencies = [ ('binutils', '2.34'), diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.32.0-GCCcore-10.2.0-minimal.eb b/easybuild/easyconfigs/p/Perl/Perl-5.32.0-GCCcore-10.2.0-minimal.eb index 882c2de9022..d3674a9d64b 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.32.0-GCCcore-10.2.0-minimal.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.32.0-GCCcore-10.2.0-minimal.eb @@ -13,7 +13,12 @@ toolchainopts = {'pic': True} source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['efeb1ce1f10824190ad1cadbcccf6fdb8a5d37007d0100d2d9ae5f2b5900c0b4'] +patches = ['%(name)s-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch'] +checksums = [ + {'perl-5.32.0.tar.gz': 'efeb1ce1f10824190ad1cadbcccf6fdb8a5d37007d0100d2d9ae5f2b5900c0b4'}, + {'Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch': + '8bc55f85eeacf35175f8e4f053ba7858f62974bcc073b265c2f0cd93a5f1307a'}, +] builddependencies = [ ('binutils', '2.35'), diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.32.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.32.0-GCCcore-10.2.0.eb index 34e3a3e297d..7340496b8a7 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.32.0-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.32.0-GCCcore-10.2.0.eb @@ -9,7 +9,12 @@ toolchainopts = {'pic': True} source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['efeb1ce1f10824190ad1cadbcccf6fdb8a5d37007d0100d2d9ae5f2b5900c0b4'] +patches = ['%(name)s-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch'] +checksums = [ + {'perl-5.32.0.tar.gz': 'efeb1ce1f10824190ad1cadbcccf6fdb8a5d37007d0100d2d9ae5f2b5900c0b4'}, + {'Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch': + '8bc55f85eeacf35175f8e4f053ba7858f62974bcc073b265c2f0cd93a5f1307a'}, +] builddependencies = [ ('binutils', '2.35'), diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.32.1-GCCcore-10.3.0-minimal.eb b/easybuild/easyconfigs/p/Perl/Perl-5.32.1-GCCcore-10.3.0-minimal.eb index 123f7022a08..636dcf44b69 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.32.1-GCCcore-10.3.0-minimal.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.32.1-GCCcore-10.3.0-minimal.eb @@ -13,7 +13,12 @@ toolchainopts = {'pic': True} source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['03b693901cd8ae807231b1787798cf1f2e0b8a56218d07b7da44f784a7caeb2c'] +patches = ['%(name)s-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch'] +checksums = [ + {'perl-5.32.1.tar.gz': '03b693901cd8ae807231b1787798cf1f2e0b8a56218d07b7da44f784a7caeb2c'}, + {'Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch': + '8bc55f85eeacf35175f8e4f053ba7858f62974bcc073b265c2f0cd93a5f1307a'}, +] builddependencies = [ ('binutils', '2.36.1'), diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.32.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.32.1-GCCcore-10.3.0.eb index 264dc8a3d15..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'), @@ -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', @@ -1668,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', diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.34.0-GCCcore-11.2.0-minimal.eb b/easybuild/easyconfigs/p/Perl/Perl-5.34.0-GCCcore-11.2.0-minimal.eb index 75ba2d908fa..5d29f924c4a 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.34.0-GCCcore-11.2.0-minimal.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.34.0-GCCcore-11.2.0-minimal.eb @@ -13,7 +13,12 @@ toolchainopts = {'pic': True} source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['551efc818b968b05216024fb0b727ef2ad4c100f8cb6b43fab615fa78ae5be9a'] +patches = ['%(name)s-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch'] +checksums = [ + {'perl-5.34.0.tar.gz': '551efc818b968b05216024fb0b727ef2ad4c100f8cb6b43fab615fa78ae5be9a'}, + {'Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch': + '8bc55f85eeacf35175f8e4f053ba7858f62974bcc073b265c2f0cd93a5f1307a'}, +] builddependencies = [ ('binutils', '2.37'), diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.34.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.34.0-GCCcore-11.2.0.eb index 2a9ef4add3d..944e2124f79 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.34.0-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.34.0-GCCcore-11.2.0.eb @@ -9,7 +9,12 @@ toolchainopts = {'pic': True} source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] sources = ['perl-%(version)s.tar.gz'] -checksums = ['551efc818b968b05216024fb0b727ef2ad4c100f8cb6b43fab615fa78ae5be9a'] +patches = ['%(name)s-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch'] +checksums = [ + {'perl-5.34.0.tar.gz': '551efc818b968b05216024fb0b727ef2ad4c100f8cb6b43fab615fa78ae5be9a'}, + {'Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch': + '8bc55f85eeacf35175f8e4f053ba7858f62974bcc073b265c2f0cd93a5f1307a'}, +] builddependencies = [ ('binutils', '2.37'), @@ -226,7 +231,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.302186', { 'source_tmpl': 'Test-Simple-%(version)s.tar.gz', @@ -1495,6 +1505,8 @@ exts_list = [ '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', @@ -1665,7 +1677,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/p/Perl/Perl-5.34.1-GCCcore-11.3.0-minimal.eb b/easybuild/easyconfigs/p/Perl/Perl-5.34.1-GCCcore-11.3.0-minimal.eb index 727f35d6cc4..fe47b032b83 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.34.1-GCCcore-11.3.0-minimal.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.34.1-GCCcore-11.3.0-minimal.eb @@ -13,7 +13,12 @@ toolchainopts = {'pic': True} source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['357951a491b0ba1ce3611263922feec78ccd581dddc24a446b033e25acf242a1'] +patches = ['%(name)s-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch'] +checksums = [ + {'perl-5.34.1.tar.gz': '357951a491b0ba1ce3611263922feec78ccd581dddc24a446b033e25acf242a1'}, + {'Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch': + '8bc55f85eeacf35175f8e4f053ba7858f62974bcc073b265c2f0cd93a5f1307a'}, +] builddependencies = [ ('binutils', '2.38'), diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.34.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.34.1-GCCcore-11.3.0.eb index 142a6d15917..497e05a273d 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.34.1-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.34.1-GCCcore-11.3.0.eb @@ -9,7 +9,12 @@ toolchainopts = {'pic': True} source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] sources = ['perl-%(version)s.tar.gz'] -checksums = ['357951a491b0ba1ce3611263922feec78ccd581dddc24a446b033e25acf242a1'] +patches = ['%(name)s-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch'] +checksums = [ + {'perl-5.34.1.tar.gz': '357951a491b0ba1ce3611263922feec78ccd581dddc24a446b033e25acf242a1'}, + {'Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch': + '8bc55f85eeacf35175f8e4f053ba7858f62974bcc073b265c2f0cd93a5f1307a'}, +] builddependencies = [ ('binutils', '2.38'), @@ -281,7 +286,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.302190', { 'source_tmpl': 'Test-Simple-%(version)s.tar.gz', @@ -1600,6 +1610,8 @@ exts_list = [ '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', @@ -1770,7 +1782,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/p/Perl/Perl-5.36.0-GCCcore-12.1.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.1.0.eb index 78044193927..54c05db3b92 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.1.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.1.0.eb @@ -9,7 +9,12 @@ toolchainopts = {'pic': True} source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] sources = ['perl-%(version)s.tar.gz'] -checksums = ['e26085af8ac396f62add8a533c3a0ea8c8497d836f0689347ac5abd7b7a4e00a'] +patches = ['%(name)s-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch'] +checksums = [ + {'perl-5.36.0.tar.gz': 'e26085af8ac396f62add8a533c3a0ea8c8497d836f0689347ac5abd7b7a4e00a'}, + {'Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch': + '8bc55f85eeacf35175f8e4f053ba7858f62974bcc073b265c2f0cd93a5f1307a'}, +] builddependencies = [ ('binutils', '2.38'), @@ -106,7 +111,7 @@ exts_list = [ ('File::ShareDir::Install', '0.14', { 'source_tmpl': 'File-ShareDir-Install-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], - 'checksums': ['8f9533b198f2d4a9a5288cbc7d224f7679ad05a7a8573745599789428bc5aea0'] + 'checksums': ['8f9533b198f2d4a9a5288cbc7d224f7679ad05a7a8573745599789428bc5aea0'], }), ('IPC::System::Simple', '1.30', { 'source_tmpl': 'IPC-System-Simple-%(version)s.tar.gz', @@ -156,12 +161,12 @@ exts_list = [ ('DateTime::Locale', '1.36', { 'source_tmpl': 'DateTime-Locale-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], - 'checksums': ['90a8243f2b2d4068019c65178600e76e03f5b478cb41d18c8c81cdf0d481f0a4'] + 'checksums': ['90a8243f2b2d4068019c65178600e76e03f5b478cb41d18c8c81cdf0d481f0a4'], }), ('DateTime::TimeZone', '2.53', { 'source_tmpl': 'DateTime-TimeZone-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], - 'checksums': ['4f6e9ff86892a52334bfb8dfa74ebea6adb8afd04fefcba8ae52fc054c4c15b3'] + 'checksums': ['4f6e9ff86892a52334bfb8dfa74ebea6adb8afd04fefcba8ae52fc054c4c15b3'], }), ('Test::Requires', '0.11', { 'source_tmpl': 'Test-Requires-%(version)s.tar.gz', @@ -281,7 +286,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.302191', { 'source_tmpl': 'Test-Simple-%(version)s.tar.gz', @@ -1593,6 +1603,8 @@ exts_list = [ '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', @@ -1762,7 +1774,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/p/Perl/Perl-5.36.0-GCCcore-12.2.0-minimal.eb b/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.2.0-minimal.eb index c426d66b7eb..15256f12d96 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.2.0-minimal.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.2.0-minimal.eb @@ -13,7 +13,12 @@ toolchainopts = {'pic': True} source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['e26085af8ac396f62add8a533c3a0ea8c8497d836f0689347ac5abd7b7a4e00a'] +patches = ['%(name)s-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch'] +checksums = [ + {'perl-5.36.0.tar.gz': 'e26085af8ac396f62add8a533c3a0ea8c8497d836f0689347ac5abd7b7a4e00a'}, + {'Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch': + '8bc55f85eeacf35175f8e4f053ba7858f62974bcc073b265c2f0cd93a5f1307a'}, +] builddependencies = [ ('binutils', '2.39'), diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.2.0.eb index 157d352765f..3a6727d62a4 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.2.0.eb @@ -9,7 +9,12 @@ toolchainopts = {'pic': True} source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] sources = ['perl-%(version)s.tar.gz'] -checksums = ['e26085af8ac396f62add8a533c3a0ea8c8497d836f0689347ac5abd7b7a4e00a'] +patches = ['%(name)s-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch'] +checksums = [ + {'perl-5.36.0.tar.gz': 'e26085af8ac396f62add8a533c3a0ea8c8497d836f0689347ac5abd7b7a4e00a'}, + {'Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch': + '8bc55f85eeacf35175f8e4f053ba7858f62974bcc073b265c2f0cd93a5f1307a'}, +] builddependencies = [ ('binutils', '2.39'), @@ -281,7 +286,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.302191', { 'source_tmpl': 'Test-Simple-%(version)s.tar.gz', @@ -1600,6 +1610,8 @@ exts_list = [ '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', @@ -1770,7 +1782,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/p/Perl/Perl-5.36.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.36.1-GCCcore-12.3.0.eb index 0d05c82ee82..6c8805fbbb9 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.36.1-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.36.1-GCCcore-12.3.0.eb @@ -12,7 +12,12 @@ toolchainopts = {'pic': True} source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['68203665d8ece02988fc77dc92fccbb297a83a4bb4b8d07558442f978da54cc1'] +patches = ['%(name)s-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch'] +checksums = [ + {'perl-5.36.1.tar.gz': '68203665d8ece02988fc77dc92fccbb297a83a4bb4b8d07558442f978da54cc1'}, + {'Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch': + '8bc55f85eeacf35175f8e4f053ba7858f62974bcc073b265c2f0cd93a5f1307a'}, +] builddependencies = [ ('binutils', '2.40'), @@ -49,7 +54,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'}, + ], }), ('IO::File', '1.51', { 'source_tmpl': 'IO-%(version)s.tar.gz', diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.36.1-GCCcore-13.1.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.36.1-GCCcore-13.1.0.eb index 929a2807a02..3ecf2a9c4ee 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.36.1-GCCcore-13.1.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.36.1-GCCcore-13.1.0.eb @@ -12,7 +12,12 @@ toolchainopts = {'pic': True} source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['68203665d8ece02988fc77dc92fccbb297a83a4bb4b8d07558442f978da54cc1'] +patches = ['%(name)s-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch'] +checksums = [ + {'perl-5.36.1.tar.gz': '68203665d8ece02988fc77dc92fccbb297a83a4bb4b8d07558442f978da54cc1'}, + {'Perl-5.36.1_Avoid-spurious-test-failure-due-to-PATH-line-1000-ch.patch': + '8bc55f85eeacf35175f8e4f053ba7858f62974bcc073b265c2f0cd93a5f1307a'}, +] builddependencies = [ ('binutils', '2.40'), @@ -49,7 +54,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'}, + ], }), ('IO::File', '1.51', { 'source_tmpl': 'IO-%(version)s.tar.gz', 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 index 1620e4f9dfa..95b8a2f7556 100644 --- 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 @@ -49,7 +49,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'}, + ], }), ('IO::File', '1.51', { 'source_tmpl': 'IO-%(version)s.tar.gz', diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.38.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.38.0.eb index 059a04bfd90..c70f7d59df9 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.38.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.38.0.eb @@ -54,7 +54,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'}, + ], }), ('IO::File', '1.51', { 'source_tmpl': 'IO-%(version)s.tar.gz', 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/Phonopy-Spectroscopy/Phonopy-Spectroscopy-20240308-foss-2023a.eb b/easybuild/easyconfigs/p/Phonopy-Spectroscopy/Phonopy-Spectroscopy-20240308-foss-2023a.eb new file mode 100644 index 00000000000..d2eb062ba0e --- /dev/null +++ b/easybuild/easyconfigs/p/Phonopy-Spectroscopy/Phonopy-Spectroscopy-20240308-foss-2023a.eb @@ -0,0 +1,43 @@ +easyblock = 'Tarball' + +name = 'Phonopy-Spectroscopy' +version = '20240308' +local_commit = '316fbf4' + +homepage = 'https://github.com/skelton-group/Phonopy-Spectroscopy' +description = """ +Phonopy-Spectroscopy is a project to add the capability to simulate vibrational spectra to +the Phonopy code. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/skelton-group/Phonopy-Spectroscopy/archive/'] +sources = ['%s.tar.gz' % local_commit] +checksums = ['4fbfed5253ddaebee70e8a3b650ca83184785b04024920060753cdb283c48b8b'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), # for numpy + ('PyYAML', '6.0'), + ('phonopy', '2.20.0'), +] + +postinstallcmds = ['chmod +x %(installdir)s/scripts/*'] + +sanity_check_paths = { + 'files': ['scripts/phonopy-ir'], + 'dirs': ['lib/spectroscopy'], +} + +sanity_check_commands = [ + 'phonopy-ir --help', + 'xyz2poscar -h', +] + +modextrapaths = { + 'PYTHONPATH': 'lib', + 'PATH': 'scripts', +} + +moduleclass = 'lib' 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/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-8.2.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-8.2.0-GCCcore-10.3.0.eb index 23fe713f7d7..a9782146eca 100644 --- a/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-8.2.0-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-8.2.0-GCCcore-10.3.0.eb @@ -31,6 +31,12 @@ dependencies = [ use_pip = True download_dep_fail = True +# patch setup.py to prefix hardcoded /usr/* and /lib paths with value of %(sysroot) template +# (which will be empty if EasyBuild is not configured to use an alternate sysroot); +# see also https://gitlab.com/eessi/support/-/issues/9 +preinstallopts = """sed -i 's@"/usr/@"%(sysroot)s/usr/@g' setup.py && """ +preinstallopts += """sed -i 's@"/lib@"%(sysroot)s/lib@g' setup.py && """ + options = {'modulename': 'PIL'} sanity_check_paths = { diff --git a/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-8.3.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-8.3.1-GCCcore-11.2.0.eb index 74b967e8926..870700860cf 100644 --- a/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-8.3.1-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-8.3.1-GCCcore-11.2.0.eb @@ -31,6 +31,12 @@ dependencies = [ use_pip = True download_dep_fail = True +# patch setup.py to prefix hardcoded /usr/* and /lib paths with value of %(sysroot) template +# (which will be empty if EasyBuild is not configured to use an alternate sysroot); +# see also https://gitlab.com/eessi/support/-/issues/9 +preinstallopts = """sed -i 's@"/usr/@"%(sysroot)s/usr/@g' setup.py && """ +preinstallopts += """sed -i 's@"/lib@"%(sysroot)s/lib@g' setup.py && """ + options = {'modulename': 'PIL'} sanity_check_paths = { diff --git a/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-8.3.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-8.3.2-GCCcore-11.2.0.eb index cea197aa05e..99dab09b9c1 100644 --- a/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-8.3.2-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-8.3.2-GCCcore-11.2.0.eb @@ -27,6 +27,12 @@ dependencies = [ use_pip = True download_dep_fail = True +# patch setup.py to prefix hardcoded /usr/* and /lib paths with value of %(sysroot) template +# (which will be empty if EasyBuild is not configured to use an alternate sysroot); +# see also https://gitlab.com/eessi/support/-/issues/9 +preinstallopts = """sed -i 's@"/usr/@"%(sysroot)s/usr/@g' setup.py && """ +preinstallopts += """sed -i 's@"/lib@"%(sysroot)s/lib@g' setup.py && """ + options = {'modulename': 'PIL'} sanity_check_paths = { diff --git a/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-9.2.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-9.2.0-GCCcore-11.3.0.eb index c430b0e2e0a..ae933c15e3b 100644 --- a/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-9.2.0-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-9.2.0-GCCcore-11.3.0.eb @@ -28,6 +28,12 @@ dependencies = [ use_pip = True download_dep_fail = True +# patch setup.py to prefix hardcoded /usr/* and /lib paths with value of %(sysroot) template +# (which will be empty if EasyBuild is not configured to use an alternate sysroot); +# see also https://gitlab.com/eessi/support/-/issues/9 +preinstallopts = """sed -i 's@"/usr/@"%(sysroot)s/usr/@g' setup.py && """ +preinstallopts += """sed -i 's@"/lib@"%(sysroot)s/lib@g' setup.py && """ + options = {'modulename': 'PIL'} sanity_check_paths = { diff --git a/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-9.5.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-9.5.0-GCCcore-12.2.0.eb index cec85fa1ae6..c93625ec7d8 100644 --- 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 @@ -28,6 +28,12 @@ dependencies = [ use_pip = True download_dep_fail = True +# patch setup.py to prefix hardcoded /usr/* and /lib paths with value of %(sysroot) template +# (which will be empty if EasyBuild is not configured to use an alternate sysroot); +# see also https://gitlab.com/eessi/support/-/issues/9 +preinstallopts = """sed -i 's@"/usr/@"%(sysroot)s/usr/@g' setup.py && """ +preinstallopts += """sed -i 's@"/lib@"%(sysroot)s/lib@g' setup.py && """ + options = {'modulename': 'PIL'} sanity_check_paths = { diff --git a/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-9.5.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-9.5.0-GCCcore-12.3.0.eb index ed0cd77c949..0505a2e0fbd 100644 --- a/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-9.5.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-9.5.0-GCCcore-12.3.0.eb @@ -23,11 +23,19 @@ dependencies = [ ('LibTIFF', '4.5.0'), ('freetype', '2.13.0'), ('libwebp', '1.3.1'), + ('OpenJPEG', '2.5.0'), + ('LittleCMS', '2.15'), ] use_pip = True download_dep_fail = True +# patch setup.py to prefix hardcoded /usr/* and /lib paths with value of %(sysroot) template +# (which will be empty if EasyBuild is not configured to use an alternate sysroot); +# see also https://gitlab.com/eessi/support/-/issues/9 +preinstallopts = """sed -i 's@"/usr/@"%(sysroot)s/usr/@g' setup.py && """ +preinstallopts += """sed -i 's@"/lib@"%(sysroot)s/lib@g' setup.py && """ + options = {'modulename': 'PIL'} sanity_check_paths = { diff --git a/easybuild/easyconfigs/p/Pillow/Pillow-10.0.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/Pillow/Pillow-10.0.0-GCCcore-12.3.0.eb index a630306348f..adf7020295d 100644 --- a/easybuild/easyconfigs/p/Pillow/Pillow-10.0.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/Pillow/Pillow-10.0.0-GCCcore-12.3.0.eb @@ -20,7 +20,10 @@ dependencies = [ ('libpng', '1.6.39'), ('zlib', '1.2.13'), ('LibTIFF', '4.5.0'), - ('freetype', '2.13.0') + ('freetype', '2.13.0'), + ('libwebp', '1.3.1'), + ('OpenJPEG', '2.5.0'), + ('LittleCMS', '2.15'), ] download_dep_fail = True diff --git a/easybuild/easyconfigs/p/Pillow/Pillow-10.2.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/Pillow/Pillow-10.2.0-GCCcore-13.2.0.eb index 124fdb2e5e2..7a797cb69bd 100644 --- 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 @@ -20,7 +20,10 @@ dependencies = [ ('libpng', '1.6.40'), ('zlib', '1.2.13'), ('LibTIFF', '4.6.0'), - ('freetype', '2.13.2') + ('freetype', '2.13.2'), + ('libwebp', '1.3.2'), + ('OpenJPEG', '2.5.0'), + ('LittleCMS', '2.15'), ] download_dep_fail = True 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/Pilon/Pilon-1.23-Java-11.eb b/easybuild/easyconfigs/p/Pilon/Pilon-1.23-Java-11.eb index d5381887055..1423f7b4e54 100644 --- a/easybuild/easyconfigs/p/Pilon/Pilon-1.23-Java-11.eb +++ b/easybuild/easyconfigs/p/Pilon/Pilon-1.23-Java-11.eb @@ -10,21 +10,29 @@ description = " Pilon is an automated genome assembly improvement and variant de toolchain = SYSTEM source_urls = ['https://github.com/broadinstitute/pilon/releases/download/v%(version)s/'] -sources = ['%(namelower)s-%(version)s.jar'] +sources = ['pilon-%(version)s.jar'] checksums = ['bde1d3c8da5537abbc80627f0b2a4165c2b68551690e5733a6adf62413b87185'] dependencies = [('Java', '11')] -sanity_check_paths = { - 'files': ['pilon-%(version)s.jar'], - 'dirs': [], -} - -postinstallcmds = ['cd %(installdir)s && ln -s %(namelower)s-%(version)s.jar pilon.jar'] +postinstallcmds = [ + "cd %(installdir)s && ln -s pilon-%(version)s.jar pilon.jar", + "mkdir -p %(installdir)s/bin", + "echo '#!/bin/sh' > %(installdir)s/bin/pilon", + "echo 'java -jar -Xmx8G %(installdir)s/pilon-%(version)s.jar $@' >> %(installdir)s/bin/pilon", + "chmod a+rx %(installdir)s/bin/pilon" +] modloadmsg = """ To execute Pilon run: java -Xmx8G -jar $EBROOTPILON/pilon.jar Adjust the memory value according to the size of your input files """ +sanity_check_paths = { + 'files': ['bin/pilon', 'pilon.jar'], + 'dirs': [], +} + +sanity_check_commands = ["pilon --help"] + moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/Pint/Pint-0.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.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.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/PoPoolation-TE2/PoPoolation-TE2-1.10.03-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PoPoolation-TE2/PoPoolation-TE2-1.10.03-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..e93f4a079c6 --- /dev/null +++ b/easybuild/easyconfigs/p/PoPoolation-TE2/PoPoolation-TE2-1.10.03-GCCcore-12.3.0.eb @@ -0,0 +1,60 @@ +easyblock = 'JAR' + +name = 'PoPoolation-TE2' +version = '1.10.03' + +homepage = 'https://sourceforge.net/p/popoolation-te2/wiki/Home/' +description = """ +PoPoolationTE2: enables comparative population genomics of transposable elements (TE). As a +major innovation PoPoolation TE2 introduces the physical pileup file which allows to +homogenize the power to identify TEs and thus enables an unbiased comparison of TE abundance +between samples, where samples could be pooled populations, tissues or sequenced individuals. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('BWA', '0.7.17'), + ('Java', '11', '', SYSTEM), +] + +source_urls = ['https://sourceforge.net/projects/popoolation-te2/files/'] +sources = [ + { + 'filename': 'popte2.jar', + 'download_filename': 'popte2-v%(version)s.jar', + }, + 'walkthrough-refgenome.zip', + 'walkthrough-reads.zip', + +] +checksums = [ + {'popte2.jar': '95eca422a6d295277d20ec1cbbcb9000bad1f380ae7cba9005f20ff211907e32'}, + {'walkthrough-refgenome.zip': 'ce3cb0b952a99fcae6b348cd888ee6f4c3a45d7e0b208e211ecb290cacde618c'}, + {'walkthrough-reads.zip': '909a8f1d507bb20518f6ef1ac313a59b8e8b02b70fc911e2d6d6efdce2e258f3'}, +] + +postinstallcmds = [ + "cd %(installdir)s && unzip walkthrough-refgenome.zip", + "cd %(installdir)s && unzip walkthrough-reads.zip", + "cd %(installdir)s && rm walkthrough-refgenome.zip walkthrough-reads.zip", +] + +sanity_check_commands = [ + 'java -jar $EBROOTPOPOOLATIONMINTE2/popte2.jar --help 2>&1 | grep "Usage: java"', +] + +sanity_check_paths = { + 'files': ['popte2.jar'], + 'dirs': ['walkthrough-refgenome', 'walkthrough-reads'], +} + +modloadmsg = """ +To execute PoPoolation-TE2 run: java -jar $EBROOTPOPOOLATIONMINTE2/popte2.jar +The reference genome and the Te-hierachy can be found in $EBROOTPOPOOLATIONMINTE2/walkthrough-refgenome +Reads provided by the developer can be found under $EBROOTPOPOOLATIONMINTE2/walkthrough-reads +""" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/Porechop/Porechop-0.2.4-20240119-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/Porechop/Porechop-0.2.4-20240119-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..e1dfa5d567c --- /dev/null +++ b/easybuild/easyconfigs/p/Porechop/Porechop-0.2.4-20240119-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'Porechop' +version = '0.2.4-20240119' +local_commit = 'd2e77c6' + +homepage = 'https://github.com/dehui333/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': '12.3.0'} + +source_urls = ['https://github.com/dehui333/Porechop/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['6e5ff3a780fc2855b0101b4a6102437d9a0fc201e40ffabc44c0c67d7c9ad621'] + +builddependencies = [('binutils', '2.40')] +dependencies = [('Python', '3.11.3')] + +sanity_pip_check = True +use_pip = True +download_dep_fail = 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-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-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/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.3.2-gompi-2023a.eb b/easybuild/easyconfigs/p/Proteinortho/Proteinortho-6.3.2-gompi-2023a.eb new file mode 100644 index 00000000000..4cd050e7d31 --- /dev/null +++ b/easybuild/easyconfigs/p/Proteinortho/Proteinortho-6.3.2-gompi-2023a.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'Proteinortho' +version = '6.3.2' + +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': '2023a'} + +source_urls = ['https://gitlab.com/paulklemm_PHD/proteinortho/-/archive/v%(version)s/'] +sources = ['proteinortho-v%(version)s.tar.gz'] +checksums = ['3b3c58e814ca10f77a25954b0bcddc479b9f61682f3dc5c93d85b07f109342a4'] + +dependencies = [ + ('Perl', '5.36.1'), + ('Python', '3.11.3'), + ('BLAST+', '2.14.1'), + ('DIAMOND', '2.1.8'), +] + +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/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-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/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-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/PyBerny/PyBerny-0.6.3-foss-2023a.eb b/easybuild/easyconfigs/p/PyBerny/PyBerny-0.6.3-foss-2023a.eb new file mode 100644 index 00000000000..71cb5554837 --- /dev/null +++ b/easybuild/easyconfigs/p/PyBerny/PyBerny-0.6.3-foss-2023a.eb @@ -0,0 +1,43 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Update: Petr Král (INUITS) + +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': '2023a'} + +builddependencies = [ + ('poetry', '1.7.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +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.2.205-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PyBioLib/PyBioLib-1.2.205-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..fe4e8b0e393 --- /dev/null +++ b/easybuild/easyconfigs/p/PyBioLib/PyBioLib-1.2.205-GCCcore-12.3.0.eb @@ -0,0 +1,68 @@ +easyblock = "PythonBundle" + +name = 'PyBioLib' +version = '1.2.205' + +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': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Flask', '2.3.3'), + ('PyYAML', '6.0'), +] + +use_pip = True + +exts_list = [ + ('commonmark', '0.9.1', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['da2f38c92590f83de410ba1a3cbceafbc74fee9def35f9251ba9a971d6d66fd9'], + }), + ('rich', '13.9.2', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['8c82a3d3f8dcfe9e734771313e606b39d8247bb6b826e196f4914b333b743cf1'], + }), + ('pycryptodome', '3.21.0', { + 'modulename': 'Crypto.PublicKey.RSA', + 'checksums': ['f7787e0d469bdae763b876174cf2e6c0f7be79808af26b1da96f1a64bcf47297'], + }), + ('websocket_client', '1.8.0', { + 'modulename': 'websocket', + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526'], + }), + ('docker', '7.1.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['c96b93b7f0a746f9e77d325bcfb87422a3d8bd4f03136ae8a85b37f1898d5fc0'], + }), + ('PyJWT', '2.9.0', { + 'modulename': 'jwt', + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['3b02fb0f44517787776cf48f2ae25d8e14f300e6d7545a4315cee571a415e850'], + }), + ('gunicorn', '23.0.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['ec400d38950de4dfd418cff8328b2c8faed0edb0d517d3394e457c317908ca4d'], + }), + ('pybiolib', version, { + 'modulename': 'biolib', + # 'preinstallopts': "sed -i 's/< 8.1.0/< 8.2.0/' pyproject.toml &", + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['56030cdeec254ac751b47dab4f9418caa0c8af3d2604cc2daaa5cea2ab61312a'], + }), +] + +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-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..1706b5b8372 --- /dev/null +++ b/easybuild/easyconfigs/p/PyCUDA/PyCUDA-2024.1-gfbf-2023a-CUDA-12.1.1.eb @@ -0,0 +1,38 @@ +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'), + ('PyOpenGL', '3.1.7'), +] + +use_pip = True + +exts_list = [ + ('pytools', '2023.1.1', { + 'checksums': ['80637873d206f6bcedf7cdb46ad93e868acb4ea2256db052dfcca872bdd0321f'], + }), + (name, version, { + 'preinstallopts': './configure.py --cuda-root="$EBROOTCUDA" --cuda-enable-gl && ', + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['d50d23ff6371482cff7d4b953ef40ab81c9df038ecb614484f9fd5347327327e'], + }), +] + +sanity_pip_check = True +sanity_check_commands = [ + 'python -c "import pycuda.gl"' +] + +moduleclass = 'lang' 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-2023a.eb b/easybuild/easyconfigs/p/PyCheMPS2/PyCheMPS2-1.8.12-foss-2023a.eb new file mode 100644 index 00000000000..222a89010a0 --- /dev/null +++ b/easybuild/easyconfigs/p/PyCheMPS2/PyCheMPS2-1.8.12-foss-2023a.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': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('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/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-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.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/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/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/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/PyQt5/PyQt5-5.15.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.5-GCCcore-11.3.0.eb index 11986d88534..c30243b0d0d 100644 --- 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 @@ -92,12 +92,12 @@ sanity_check_paths = { } sanity_check_commands = [ - "python -c 'import PyQt5.QtCore'", + "python -s -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", + "PIP_DISABLE_PIP_VERSION_CHECK=true python -s -m pip check", ] modextrapaths = { 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 index 0987fcacdf5..97be3ae2aa6 100644 --- 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 @@ -103,12 +103,12 @@ sanity_check_paths = { } sanity_check_commands = [ - "python -c 'import PyQt5.QtCore'", + "python -s -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", + "PIP_DISABLE_PIP_VERSION_CHECK=true python -s -m pip check", ] modextrapaths = { 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/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/PyRosetta/PyRosetta-4.release-387-gompi-2023a.eb b/easybuild/easyconfigs/p/PyRosetta/PyRosetta-4.release-387-gompi-2023a.eb new file mode 100644 index 00000000000..c37102d5a81 --- /dev/null +++ b/easybuild/easyconfigs/p/PyRosetta/PyRosetta-4.release-387-gompi-2023a.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'PyRosetta' +version = '4.release-387' + +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': '2023a'} +toolchainopts = {'usempi': True} + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), +] + +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.python311.linux/' + +exts_list = [ + (name, version, { + 'source_tmpl': local_source_tmpl, + 'source_urls': [local_source_urls], + 'start_dir': 'setup', + 'checksums': ['42a10efd16cba7739d87a5c4035a2cd8792bc193804963fc26bb2f82f7ac2a1a'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PySCF/PySCF-2.4.0-foss-2022b.eb b/easybuild/easyconfigs/p/PySCF/PySCF-2.4.0-foss-2022b.eb new file mode 100644 index 00000000000..5a3844f6a3c --- /dev/null +++ b/easybuild/easyconfigs/p/PySCF/PySCF-2.4.0-foss-2022b.eb @@ -0,0 +1,135 @@ +easyblock = 'CMakeMakeCp' +name = 'PySCF' +version = '2.4.0' + +homepage = 'http://www.pyscf.org' +description = "PySCF is an open-source collection of electronic structure modules powered by Python." + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://github.com/pyscf/pyscf/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['cc76440b9a7bf6a4969559b61eceb67c25760d211e6f59fc540209b1ea359d8d'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('pybind11', '2.10.3'), # needed by zquatev +] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), # for numpy, scipy + ('h5py', '3.8.0'), + ('libcint', '5.5.0'), + ('libxc', '6.1.0'), + ('XCFun', '2.1.1'), + ('CPPE', '0.3.1'), # extra + ('PyBerny', '0.6.3'), # extra + ('PyCheMPS2', '1.8.12'), # needed by dmrgscf + ('Block', '1.5.3-20200525'), # needed by dmrgscf + ('NECI', '20230620'), # needed by fciqmc + ('Dice', '20240101'), # needed by icmpspt +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'download_dep_fail': True, + 'use_pip': True, + 'modulename': 'pyscf.%(name)s', + 'source_urls': ['https://github.com/pyscf/%(name)s/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], +} + +# The following list of extensions is equivalent to installing PySCF with extras: +# all + dmrgscf + fciqmcscf + hci + mbd + tblis + zquatev +exts_list = [ + ('dftd3', '94091d8', { + 'checksums': ['a69ae44b3d02d2c06fd531373f20ee1251ef27fc932d40a7cafea6c09d8784fc'], + }), + ('doci', '08079a9', { + 'checksums': ['f492ba45dfe50c9b459e53a946a677528af0dc2097ff77ea3767aa4f46c5d9ba'], + }), + ('icmpspt', 'f26062b', { + 'patches': [('PySCF-2.1.1_icmpspt-exe-path.patch', 0)], + 'checksums': [ + {'icmpspt-f26062b.tar.gz': '8f44b317da209882e0353d2731d8bc907de450af02429e962ae9b8d3f8c95a47'}, + {'PySCF-2.1.1_icmpspt-exe-path.patch': 'e972e377b34b964c48a99909301bf21a9c73d8eb9ecb96a889621d71471c56c9'}, + ], + }), + ('properties', '8b94d8d', { + 'modulename': 'pyscf.prop', + 'checksums': ['b40e071472a6bdfcaec8cd358c7c58c58748c59d8b188fdca09d6eca63329914'], + }), + ('qsdopt', '3ad2c02', { + 'checksums': ['cc639150e5f9efad8ffe496b3dccd2952a1f60fdad51f611cffba701892b384e'], + }), + ('semiempirical', '470d716', { + 'checksums': ['0bbe304867fd053ed647445ac84c4c76787ad23def9f72415aec297740121eef'], + }), + ('shciscf', 'e8985e7', { + 'checksums': ['a017ffcf54601ccb3e95a273eff47289905c81d7fd590f9b51e22a69e141b592'], + }), + ('MCfun', '0.2.2', { + 'modulename': 'mcfun', + 'source_urls': ['https://github.com/Multi-collinear/%(name)s/archive/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['1cb6b36be86bcf13c15ecc9934d13dc67eb15834a7a6545e73f82f53835e278d'], + }), + ('pyqmc', '0.6.0', { + 'modulename': 'pyqmc', + 'source_urls': ['https://github.com/WagnerGroup/%(name)s/archive/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['6e9f612c2d0bf2198154520e01dce57cf3a6e474840c1892466de3171eaeb7db'], + }), + ('dmrgscf', '4ff57bf', { + 'patches': [('PySCF-2.1.1_dmrgscf-settings.patch', 0)], + 'checksums': [ + {'dmrgscf-4ff57bf.tar.gz': '0683cfc2e6676aa11da7b2eee66e96442a64a37b72f65057779718c5fdb43c5f'}, + {'PySCF-2.1.1_dmrgscf-settings.patch': 'a0310a2a90e96bd64d1560b2cc73a805717e129d2921e91cc5e6038b9f153677'}, + ], + }), + ('fciqmc', 'ee98fb4', { + 'modulename': 'pyscf.fciqmcscf', + 'checksums': ['b2f081ac295df0e622c6d1b3bff6d7834f97131f1f0fc87ec8bcff2137ef4199'], + }), + ('mbd', '485c18c', { + 'patches': [('PySCF-2.1.1_mbd-fix-init.patch', 0)], + 'checksums': [ + {'mbd-485c18c.tar.gz': 'de1fb14650fcb87909cae33dc318d2e213653ac4393ced7e070dfa6308d95846'}, + {'PySCF-2.1.1_mbd-fix-init.patch': '4f8e4b2e39b77428187851c4b6ced39401561bc81f4f3a4605da5d5c7b798cbc'}, + ], + }), + ('naive-hci', '0c28d6e', { + 'modulename': 'pyscf.hci', + 'checksums': ['de247d17b80133655df5966341e5adb691b0df150cd9b0f1980cf62ec55229d5'], + }), + ('tblis', '0d4dfd2', { + 'modulename': 'pyscf.tblis_einsum', + 'source_urls': ['https://github.com/pyscf/pyscf-tblis/archive/'], + 'checksums': ['5e0e5840b78451085420b333cd4b5ee06fd659df06f142fa854de65b3f73fc5e'], + }), + ('zquatev', '4eb41b1', { + 'modulename': 'zquatev', + 'preinstallopts': "sed -i 's/add_subdirectory(pybind11)/find_package(pybind11 REQUIRED)/' CMakeLists.txt && ", + 'source_urls': ['https://github.com/sunqm/%(name)s/archive/'], + 'checksums': ['4caf08e3831a5d86e6bc22f3b4028cc159101cb9658d09de16e382e268a5a2e9'], + }), +] + +start_dir = 'pyscf/lib' +configopts = "-DBUILD_LIBCINT=OFF -DBUILD_LIBXC=OFF -DBUILD_XCFUN=OFF" +prebuildopts = "export PYSCF_INC_DIR=$EBROOTQCINT/include:$EBROOTLIBXC/lib && " + +_py_site_packages = 'lib/python%(pyshortver)s/site-packages' +files_to_copy = [(['pyscf'], _py_site_packages)] + +sanity_check_paths = { + 'files': [_py_site_packages + '/pyscf/__init__.py'], + 'dirs': [_py_site_packages + d for d in ['/pyscf/data', '/pyscf/lib']], +} + +sanity_check_commands = ["python -c 'import pyscf'"] + +modextrapaths = {'PYTHONPATH': _py_site_packages} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PyTables/PyTables-3.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.9.2-foss-2023b.eb b/easybuild/easyconfigs/p/PyTables/PyTables-3.9.2-foss-2023b.eb new file mode 100644 index 00000000000..51b07f31b27 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTables/PyTables-3.9.2-foss-2023b.eb @@ -0,0 +1,76 @@ +# http://www.pytables.org/usersguide/installation.html +# updated: Denis Kristak (INUITS) + +easyblock = 'PythonBundle' + +name = 'PyTables' +version = '3.9.2' + +homepage = 'https://www.pytables.org' +description = """PyTables is a package for managing hierarchical datasets and designed to efficiently and easily cope + with extremely large amounts of data. PyTables is built on top of the HDF5 library, using the Python language and the + NumPy package. It features an object-oriented interface that, combined with C extensions for the performance-critical + parts of the code (generated using Cython), makes it a fast, yet extremely easy to use tool for interactively browsing, + processing and searching very large amounts of data. One important feature of PyTables is that it optimizes memory and + disk resources so that data takes much less space (specially if on-flight compression is used) than other solutions + such as relational or object oriented databases.""" + +toolchain = {'name': 'foss', 'version': '2023b'} +toolchainopts = {'usempi': True} + +builddependencies = [ + ('pkgconf', '2.0.3'), + ('CMake', '3.27.6'), + ('Ninja', '1.11.1'), + ('scikit-build', '0.17.6'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), # provides numexpr + ('HDF5', '1.14.3'), + ('LZO', '2.10'), + ('Blosc', '1.21.5'), + ('Blosc2', '2.13.2'), + ('py-cpuinfo', '9.0.0'), +] + +use_pip = True + +exts_list = [ + ('ndindex', '1.8', { + 'checksums': ['5fc87ebc784605f01dd5367374cb40e8da8f2c30988968990066c5098a7eebe8'], + }), + # need to align version of blosc2 Python package with version of C Blosc2 used, + # see https://github.com/Blosc/python-blosc2/blob/main/RELEASE_NOTES.md + ('blosc2', '2.5.1', { + 'checksums': ['47d5df50e7286edf81e629ece35f87f13f55c13c5e8545832188c420c75d1659'], + 'preinstallopts': """sed -i 's/version=/cmake_args=["-DUSE_SYSTEM_BLOSC2=YES"], version=/g' setup.py && """, + }), + ('tables', version, { + 'patches': [ + 'PyTables-3.8.0_fix-libs.patch', + 'PyTables-3.9.2_fix-find-blosc2-dep.patch', + ], + 'checksums': [ + {'tables-3.9.2.tar.gz': 'd470263c2e50c4b7c8635a0d99ac1ff2f9e704c24d71e5fa33c4529e7d0ad9c3'}, + {'PyTables-3.8.0_fix-libs.patch': '7a1e6fa1f9169e52293e2b433a4302fa13c5d31e7709cd4fe0e087199b9e3f8a'}, + {'PyTables-3.9.2_fix-find-blosc2-dep.patch': + 'e2149f43da12d9ba26cca4c838f6e8a4694adab75c0f055b186674a017e41a55'}, + ], + }), +] + +local_bins = ['pt2to3', 'ptdump', 'ptrepack', 'pttree'] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bins], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +options = {'modulename': 'tables'} + +sanity_check_commands = ["%s --help" % x for x in local_bins] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/PyTables/PyTables-3.9.2_fix-find-blosc2-dep.patch b/easybuild/easyconfigs/p/PyTables/PyTables-3.9.2_fix-find-blosc2-dep.patch new file mode 100644 index 00000000000..e832e65b278 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTables/PyTables-3.9.2_fix-find-blosc2-dep.patch @@ -0,0 +1,20 @@ +determine installation prefix of Blosc2 dependency via $EBROOTBLOSC2, if defined, +since mechanism to locate the library via blosc2-*.dist-info/RECORD doesn't work if blosc2 was not installed +with vendored c-blosc2 library; +author: Kenneth Hoste (HPC-UGent) +--- tables-3.9.2/setup.py.orig 2024-03-14 19:17:54.100800849 +0100 ++++ tables-3.9.2/setup.py 2024-03-14 19:22:04.099371064 +0100 +@@ -97,6 +97,13 @@ + + def get_blosc2_directories(): + """Get Blosc2 directories for the C library""" ++ blosc2_root = os.getenv('EBROOTBLOSC2') ++ if blosc2_root: ++ library_path = Path(os.path.join(blosc2_root, 'lib')) ++ include_path = Path(os.path.join(blosc2_root, 'include')) ++ runtime_path = None ++ return include_path, library_path, runtime_path ++ + try: + import blosc2 + except ModuleNotFoundError: diff --git a/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.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.13-foss-2023a.eb b/easybuild/easyconfigs/p/PyTorch-Ignite/PyTorch-Ignite-0.4.13-foss-2023a.eb new file mode 100644 index 00000000000..d11672d31f9 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Ignite/PyTorch-Ignite-0.4.13-foss-2023a.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-Ignite' +version = '0.4.13' + +homepage = 'https://pytorch-ignite.ai/' +description = """Ignite is a high-level library to help with training and evaluating neural +networks in PyTorch flexibly and transparently.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('PyTorch', '2.1.2'), +] + +use_pip = True + +exts_list = [ + ('pytorch-ignite', version, { + 'modulename': 'ignite', + 'checksums': ['f334dd65161cc4f4a77da5d0ed3b1e8bc08235be832016515f8a33c249dac060'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.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-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.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.12.0-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb index 59244119da2..13b4fae31ae 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb @@ -25,6 +25,7 @@ patches = [ 'PyTorch-1.11.0_increase-distributed-test-timeout.patch', 'PyTorch-1.11.0_install-vsx-vec-headers.patch', 'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch', + 'PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch', 'PyTorch-1.12.1_add-hypothesis-suppression.patch', 'PyTorch-1.12.1_fix-cuda-gcc-version-check.patch', 'PyTorch-1.12.1_fix-skip-decorators.patch', @@ -44,6 +45,7 @@ patches = [ 'PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch', 'PyTorch-1.12.1_skip-failing-grad-test.patch', 'PyTorch-1.12.1_skip-test_round_robin_create_destroy.patch', + 'PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch', ] checksums = [ {'pytorch-v1.12.0.tar.gz': '46eff236370b759c427b03ff535c3597099043e8e467b8f81f9cd4b258a7a321'}, @@ -70,6 +72,8 @@ checksums = [ 'f2e6b9625733d9a471bb75e1ea20e28814cf1380b4f9089aa838ee35ddecf07d'}, {'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch': '090598592283e3fc46ee08a68b6a6afe07be41b26514afba51834408bf1c98ed'}, + {'PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch': + '0d19c3dd7ea088aae2f18a2552420293a06ed0a0e1e8e2a28d44ff3847de32af'}, {'PyTorch-1.12.1_add-hypothesis-suppression.patch': 'e71ffb94ebe69f580fa70e0de84017058325fdff944866d6bd03463626edc32c'}, {'PyTorch-1.12.1_fix-cuda-gcc-version-check.patch': @@ -102,6 +106,8 @@ checksums = [ '1c89e7e67287fe6b9a95480a4178d3653b94d0ab2fe68edf227606c8ae548fdc'}, {'PyTorch-1.12.1_skip-test_round_robin_create_destroy.patch': '1435fcac3234edc865479199673b902eb67f6a2bd046af7d731141f03594666d'}, + {'PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch': + '199005bbbb913837e557358dee31535d8e3f63af9ac7cdcece624ab8e572e28a'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.0-foss-2022a.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.0-foss-2022a.eb index 9d518f41a3d..a361777ca2a 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.0-foss-2022a.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.0-foss-2022a.eb @@ -24,6 +24,7 @@ patches = [ 'PyTorch-1.11.0_increase-distributed-test-timeout.patch', 'PyTorch-1.11.0_install-vsx-vec-headers.patch', 'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch', + 'PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch', 'PyTorch-1.12.1_add-hypothesis-suppression.patch', 'PyTorch-1.12.1_fix-cuda-gcc-version-check.patch', 'PyTorch-1.12.1_fix-skip-decorators.patch', @@ -43,6 +44,7 @@ patches = [ 'PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch', 'PyTorch-1.12.1_skip-failing-grad-test.patch', 'PyTorch-1.12.1_skip-test_round_robin_create_destroy.patch', + 'PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch', ] checksums = [ {'pytorch-v1.12.0.tar.gz': '46eff236370b759c427b03ff535c3597099043e8e467b8f81f9cd4b258a7a321'}, @@ -69,6 +71,8 @@ checksums = [ 'f2e6b9625733d9a471bb75e1ea20e28814cf1380b4f9089aa838ee35ddecf07d'}, {'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch': '090598592283e3fc46ee08a68b6a6afe07be41b26514afba51834408bf1c98ed'}, + {'PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch': + '0d19c3dd7ea088aae2f18a2552420293a06ed0a0e1e8e2a28d44ff3847de32af'}, {'PyTorch-1.12.1_add-hypothesis-suppression.patch': 'e71ffb94ebe69f580fa70e0de84017058325fdff944866d6bd03463626edc32c'}, {'PyTorch-1.12.1_fix-cuda-gcc-version-check.patch': @@ -101,6 +105,8 @@ checksums = [ '1c89e7e67287fe6b9a95480a4178d3653b94d0ab2fe68edf227606c8ae548fdc'}, {'PyTorch-1.12.1_skip-test_round_robin_create_destroy.patch': '1435fcac3234edc865479199673b902eb67f6a2bd046af7d731141f03594666d'}, + {'PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch': + '199005bbbb913837e557358dee31535d8e3f63af9ac7cdcece624ab8e572e28a'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch new file mode 100644 index 00000000000..19c24ca3f91 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch @@ -0,0 +1,30 @@ +`struct ethtool_link_settings` contains a "Flexible array member" which must be the last member +in a struct. However in an anonymous struct in Gloo it is before a member intented to provide +the storage for that array causing a warning/error in GCC for newer kernels +where the Flexible array member is used instead of a zero-sized array. +> /usr/include/linux/ethtool.h:2182:17: error: flexible array member ethtool_link_settings::link_mode_masks not at end of struct gloo::getInterfaceSpeedGLinkSettings(int, ifreq*):: +> 2182 | __u32 link_mode_masks[]; +See https://github.com/facebookincubator/gloo/issues/345 + +Fix by using an union of that struct and another struct providing the storage. + +Author: Alexander Grund (TU Dresden) + +diff -ur pytorch-v1.12.0-orig/third_party/gloo/gloo/common/linux.cc pytorch-v1.12.0/third_party/gloo/gloo/common/linux.cc +--- pytorch-v1.12.0-orig/third_party/gloo/gloo/common/linux.cc 2024-03-21 09:26:21.393691678 +0100 ++++ pytorch-v1.12.0/third_party/gloo/gloo/common/linux.cc 2024-03-21 09:40:49.263165348 +0100 +@@ -187,9 +187,12 @@ + static int getInterfaceSpeedGLinkSettings(int sock, struct ifreq* ifr) { + #if LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0) + constexpr auto link_mode_data_nwords = 3 * 127; +- struct { ++ union { + struct ethtool_link_settings req; +- __u32 link_mode_data[link_mode_data_nwords]; ++ struct { // Only to provide the memory ++ __u32 link_mode_data[link_mode_data_nwords]; ++ struct ethtool_link_settings dummy; ++ }; + } ecmd; + int rv; + diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2022a-CUDA-11.7.0.eb index 83c6b9df6c4..ec3d5b3d62c 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2022a-CUDA-11.7.0.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2022a-CUDA-11.7.0.eb @@ -27,6 +27,7 @@ patches = [ 'PyTorch-1.11.0_install-vsx-vec-headers.patch', 'PyTorch-1.11.1_skip-test_init_from_local_shards.patch', 'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch', + 'PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch', 'PyTorch-1.12.1_add-hypothesis-suppression.patch', 'PyTorch-1.12.1_fix-autograd-thread_shutdown-test.patch', 'PyTorch-1.12.1_fix-cuda-gcc-version-check.patch', @@ -47,6 +48,7 @@ patches = [ 'PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch', 'PyTorch-1.12.1_skip-failing-grad-test.patch', 'PyTorch-1.12.1_skip-test_round_robin.patch', + 'PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch', ] checksums = [ '031c71073db73da732b5d01710220564ce6dd88d812ba053f0cc94296401eccb', # pytorch-v1.12.1.tar.gz @@ -75,6 +77,8 @@ checksums = [ '4aeb1b0bc863d4801b0095cbce69f8794066748f0df27c6aaaf729c5ecba04b7', {'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch': '090598592283e3fc46ee08a68b6a6afe07be41b26514afba51834408bf1c98ed'}, + {'PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch': + '0d19c3dd7ea088aae2f18a2552420293a06ed0a0e1e8e2a28d44ff3847de32af'}, # PyTorch-1.12.1_add-hypothesis-suppression.patch 'e71ffb94ebe69f580fa70e0de84017058325fdff944866d6bd03463626edc32c', # PyTorch-1.12.1_fix-autograd-thread_shutdown-test.patch @@ -108,6 +112,8 @@ checksums = [ '1c89e7e67287fe6b9a95480a4178d3653b94d0ab2fe68edf227606c8ae548fdc', # PyTorch-1.12.1_skip-failing-grad-test.patch # PyTorch-1.12.1_skip-test_round_robin.patch '63d4849b78605aa088fdff695637d9473ea60dee603a3ff7f788690d70c55349', + {'PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch': + '199005bbbb913837e557358dee31535d8e3f63af9ac7cdcece624ab8e572e28a'}, ] osdependencies = [OS_PKG_IBVERBS_DEV] @@ -164,6 +170,10 @@ excluded_tests = { ] } +# several tests are known to be flaky, and fail in some contexts (like having multiple GPUs available), +# so we allow some tests to fail before treating the installation to be faulty +max_failed_tests = 4 + runtest = 'cd test && PYTHONUNBUFFERED=1 %(python)s run_test.py --continue-through-error --verbose %(excluded_tests)s' # The readelf sanity check command can be taken out once the TestRPATH test from diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2022a.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2022a.eb index 7914c2c0e24..6d7b0753752 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2022a.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2022a.eb @@ -25,6 +25,7 @@ patches = [ 'PyTorch-1.11.0_increase-distributed-test-timeout.patch', 'PyTorch-1.11.0_install-vsx-vec-headers.patch', 'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch', + 'PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch', 'PyTorch-1.12.1_add-hypothesis-suppression.patch', 'PyTorch-1.12.1_fix-cuda-gcc-version-check.patch', 'PyTorch-1.12.1_fix-skip-decorators.patch', @@ -44,6 +45,7 @@ patches = [ 'PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch', 'PyTorch-1.12.1_skip-failing-grad-test.patch', 'PyTorch-1.12.1_skip-test_round_robin_create_destroy.patch', + 'PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch', ] checksums = [ '031c71073db73da732b5d01710220564ce6dd88d812ba053f0cc94296401eccb', # pytorch-v1.12.1.tar.gz @@ -70,6 +72,8 @@ checksums = [ 'f2e6b9625733d9a471bb75e1ea20e28814cf1380b4f9089aa838ee35ddecf07d', # PyTorch-1.11.0_install-vsx-vec-headers.patch {'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch': '090598592283e3fc46ee08a68b6a6afe07be41b26514afba51834408bf1c98ed'}, + {'PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch': + '0d19c3dd7ea088aae2f18a2552420293a06ed0a0e1e8e2a28d44ff3847de32af'}, # PyTorch-1.12.1_add-hypothesis-suppression.patch 'e71ffb94ebe69f580fa70e0de84017058325fdff944866d6bd03463626edc32c', # PyTorch-1.12.1_fix-cuda-gcc-version-check.patch @@ -101,6 +105,8 @@ checksums = [ '1c89e7e67287fe6b9a95480a4178d3653b94d0ab2fe68edf227606c8ae548fdc', # PyTorch-1.12.1_skip-failing-grad-test.patch # PyTorch-1.12.1_skip-test_round_robin_create_destroy.patch '1435fcac3234edc865479199673b902eb67f6a2bd046af7d731141f03594666d', + {'PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch': + '199005bbbb913837e557358dee31535d8e3f63af9ac7cdcece624ab8e572e28a'}, ] osdependencies = [OS_PKG_IBVERBS_DEV] @@ -149,6 +155,10 @@ excluded_tests = { runtest = 'cd test && PYTHONUNBUFFERED=1 %(python)s run_test.py --continue-through-error --verbose %(excluded_tests)s' +# Some tests fail randomöy due to random inputs being used +# So allow a low number of tests to fail as the tests "usually" succeed +max_failed_tests = 2 + tests = ['PyTorch-check-cpp-extension.py'] moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022a-CUDA-11.7.0.eb index 3303a814d56..bd559ee8dfd 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022a-CUDA-11.7.0.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022a-CUDA-11.7.0.eb @@ -16,6 +16,7 @@ patches = [ 'PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch', 'PyTorch-1.11.1_skip-test_init_from_local_shards.patch', 'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch', + 'PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch', 'PyTorch-1.12.1_add-hypothesis-suppression.patch', 'PyTorch-1.12.1_fix-skip-decorators.patch', 'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch', @@ -42,6 +43,7 @@ patches = [ 'PyTorch-1.13.1_skip-failing-grad-test.patch', 'PyTorch-1.13.1_skip-test-requiring-online-access.patch', 'PyTorch-1.13.1_skip-tests-without-fbgemm.patch', + 'PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch', ] checksums = [ {'pytorch-v1.13.1.tar.gz': 'dbc229ee9750b02b514937d017744443a269ea0241ed3f32b9af0703589d25d4'}, @@ -53,6 +55,8 @@ checksums = [ '4aeb1b0bc863d4801b0095cbce69f8794066748f0df27c6aaaf729c5ecba04b7'}, {'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch': '090598592283e3fc46ee08a68b6a6afe07be41b26514afba51834408bf1c98ed'}, + {'PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch': + '0d19c3dd7ea088aae2f18a2552420293a06ed0a0e1e8e2a28d44ff3847de32af'}, {'PyTorch-1.12.1_add-hypothesis-suppression.patch': 'e71ffb94ebe69f580fa70e0de84017058325fdff944866d6bd03463626edc32c'}, {'PyTorch-1.12.1_fix-skip-decorators.patch': 'e3ca6e42b2fa592ea095939fb59ab875668a058479407db3f3684cc5c6f4146c'}, @@ -93,6 +97,8 @@ checksums = [ '61c3b7859dc06a9969981b07aa2789630de110d6d1d3633d27364be47af74712'}, {'PyTorch-1.13.1_skip-tests-without-fbgemm.patch': '481e595f673baf8ae58b41697a6792b83048b0264aa79b422f48cd8c22948bb7'}, + {'PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch': + '199005bbbb913837e557358dee31535d8e3f63af9ac7cdcece624ab8e572e28a'}, ] osdependencies = [OS_PKG_IBVERBS_DEV] diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022a.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022a.eb index c2eb02d4435..2cc54d6522f 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022a.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022a.eb @@ -15,6 +15,7 @@ patches = [ 'PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch', 'PyTorch-1.11.1_skip-test_init_from_local_shards.patch', 'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch', + 'PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch', 'PyTorch-1.12.1_add-hypothesis-suppression.patch', 'PyTorch-1.12.1_fix-skip-decorators.patch', 'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch', @@ -34,6 +35,7 @@ patches = [ 'PyTorch-1.13.1_remove-flaky-test-in-testnn.patch', 'PyTorch-1.13.1_skip-failing-grad-test.patch', 'PyTorch-1.13.1_skip-tests-without-fbgemm.patch', + 'PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch', ] checksums = [ {'pytorch-v1.13.1.tar.gz': 'dbc229ee9750b02b514937d017744443a269ea0241ed3f32b9af0703589d25d4'}, @@ -45,6 +47,8 @@ checksums = [ '4aeb1b0bc863d4801b0095cbce69f8794066748f0df27c6aaaf729c5ecba04b7'}, {'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch': '090598592283e3fc46ee08a68b6a6afe07be41b26514afba51834408bf1c98ed'}, + {'PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch': + '0d19c3dd7ea088aae2f18a2552420293a06ed0a0e1e8e2a28d44ff3847de32af'}, {'PyTorch-1.12.1_add-hypothesis-suppression.patch': 'e71ffb94ebe69f580fa70e0de84017058325fdff944866d6bd03463626edc32c'}, {'PyTorch-1.12.1_fix-skip-decorators.patch': 'e3ca6e42b2fa592ea095939fb59ab875668a058479407db3f3684cc5c6f4146c'}, @@ -72,6 +76,8 @@ checksums = [ {'PyTorch-1.13.1_skip-failing-grad-test.patch': '6681200f9509893cb9231b5c93ac9bc5e6d9d9ae4febefca52e7cbc843ba8f51'}, {'PyTorch-1.13.1_skip-tests-without-fbgemm.patch': '481e595f673baf8ae58b41697a6792b83048b0264aa79b422f48cd8c22948bb7'}, + {'PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch': + '199005bbbb913837e557358dee31535d8e3f63af9ac7cdcece624ab8e572e28a'}, ] osdependencies = [OS_PKG_IBVERBS_DEV] @@ -119,6 +125,11 @@ excluded_tests = { runtest = 'cd test && PYTHONUNBUFFERED=1 %(python)s run_test.py --continue-through-error --verbose %(excluded_tests)s' +# Especially test_quantization has a few corner cases that are triggered by the random input values, +# those cannot be easily avoided, see https://github.com/pytorch/pytorch/issues/107030 +# So allow a low number of tests to fail as the tests "usually" succeed +max_failed_tests = 12 + tests = ['PyTorch-check-cpp-extension.py'] moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-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 index e567f93765a..a7196938e26 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b.eb @@ -15,6 +15,7 @@ patches = [ 'PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch', 'PyTorch-1.11.1_skip-test_init_from_local_shards.patch', 'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch', + 'PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch', 'PyTorch-1.12.1_add-hypothesis-suppression.patch', 'PyTorch-1.12.1_fix-skip-decorators.patch', 'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch', @@ -44,6 +45,7 @@ patches = [ 'PyTorch-1.13.1_skip-failing-singular-grad-test.patch', 'PyTorch-1.13.1_skip-tests-without-fbgemm.patch', 'PyTorch-1.13.1_workaround-gcc12-destructor-exception-bug.patch', + 'PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch', ] checksums = [ {'pytorch-v1.13.1.tar.gz': 'dbc229ee9750b02b514937d017744443a269ea0241ed3f32b9af0703589d25d4'}, @@ -55,6 +57,8 @@ checksums = [ '4aeb1b0bc863d4801b0095cbce69f8794066748f0df27c6aaaf729c5ecba04b7'}, {'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch': '090598592283e3fc46ee08a68b6a6afe07be41b26514afba51834408bf1c98ed'}, + {'PyTorch-1.12.0_fix-Gloo-compatibility-with-newer-kernel.patch': + '0d19c3dd7ea088aae2f18a2552420293a06ed0a0e1e8e2a28d44ff3847de32af'}, {'PyTorch-1.12.1_add-hypothesis-suppression.patch': 'e71ffb94ebe69f580fa70e0de84017058325fdff944866d6bd03463626edc32c'}, {'PyTorch-1.12.1_fix-skip-decorators.patch': 'e3ca6e42b2fa592ea095939fb59ab875668a058479407db3f3684cc5c6f4146c'}, @@ -101,6 +105,8 @@ checksums = [ '481e595f673baf8ae58b41697a6792b83048b0264aa79b422f48cd8c22948bb7'}, {'PyTorch-1.13.1_workaround-gcc12-destructor-exception-bug.patch': 'a09a2d7ebd428c65988729578bb3fa372565ba176ab9ed7abf11f6fcb15e903e'}, + {'PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch': + '199005bbbb913837e557358dee31535d8e3f63af9ac7cdcece624ab8e572e28a'}, ] osdependencies = [OS_PKG_IBVERBS_DEV] @@ -151,7 +157,7 @@ runtest = 'cd test && PYTHONUNBUFFERED=1 %(python)s run_test.py --continue-throu # Especially test_quantization has a few corner cases that are triggered by the random input values, # those cannot be easily avoided, see https://github.com/pytorch/pytorch/issues/107030 # So allow a low number of tests to fail as the tests "usually" succeed -max_failed_tests = 2 +max_failed_tests = 5 tests = ['PyTorch-check-cpp-extension.py'] diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-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_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-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_skip-test-linalg-svd-complex.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_skip-test-linalg-svd-complex.patch new file mode 100644 index 00000000000..92ea36337eb --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_skip-test-linalg-svd-complex.patch @@ -0,0 +1,19 @@ +Skip test_python_ref_meta__refs_linalg_svd_cpu_complex +Result varies depending on underlying device +see https://github.com/pytorch/pytorch/issues/105068 +author: Alex Domingo (Vrije Universiteit Brussel) +--- test/test_ops.py.orig 2024-01-16 15:37:02.596411122 +0100 ++++ test/test_ops.py 2024-01-16 15:39:02.824489395 +0100 +@@ -311,6 +311,12 @@ + return out + return x + ++ # Skip test_python_ref_meta__refs_linalg_svd_cpu_complex ++ # Result varies depending on underlying device ++ # see https://github.com/pytorch/pytorch/issues/105068 ++ if op.name == '_refs.linalg.svd' and dtype in (torch.complex64, torch.complex128): ++ self.skipTest("Unreliable on certain devices, see issue #105068") ++ + # TODO: iterate over requires_grad true/false + for sample in op.reference_inputs(device, dtype, requires_grad=False): + result = op(sample.input, *sample.args, **sample.kwargs) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2022a.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2022a.eb index 0f6d51fd1bb..4c9324b7479 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2022a.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2022a.eb @@ -46,6 +46,7 @@ patches = [ '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 = [ @@ -111,6 +112,7 @@ checksums = [ {'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'}, ] diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2022b.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2022b.eb index 146e42cb2b8..ee2c8731bb8 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2022b.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2022b.eb @@ -47,6 +47,7 @@ patches = [ '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 = [ @@ -113,6 +114,7 @@ checksums = [ {'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'}, ] 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 index 31d433c3074..a79f709480c 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2023a.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2023a.eb @@ -48,6 +48,7 @@ patches = [ '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 = [ @@ -116,6 +117,7 @@ checksums = [ {'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'}, ] @@ -148,7 +150,7 @@ dependencies = [ ('expecttest', '0.1.5'), ('networkx', '3.1'), ('sympy', '1.12'), - ('Z3', '4.12.2', '-Python-%(pyver)s'), + ('Z3', '4.12.2',), ] use_pip = True 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-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-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/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/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-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-26.2.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/PyZMQ/PyZMQ-26.2.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..05949337114 --- /dev/null +++ b/easybuild/easyconfigs/p/PyZMQ/PyZMQ-26.2.0-GCCcore-13.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'PyZMQ' +version = '26.2.0' + +homepage = 'https://www.zeromq.org/bindings:python' +description = "Python bindings for ZeroMQ" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['070672c258581c8e4f640b5159297580a9974b026043bd4ab0470be9ed324f1f'] + +builddependencies = [ + ('binutils', '2.42'), + ('scikit-build-core', '0.10.6'), + ('Cython', '3.0.10'), +] +dependencies = [ + ('Python', '3.12.3'), + ('Python-bundle-PyPI', '2024.06'), + ('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.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/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-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.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.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-bundle-PyPI-2023.06-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2023.06-GCCcore-12.3.0.eb index 642b6fed379..808285d9f26 100644 --- a/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2023.06-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2023.06-GCCcore-12.3.0.eb @@ -26,11 +26,8 @@ dependencies = [ ('virtualenv', '20.23.1'), ] -exts_default_options = { - 'download_dep_fail': True, - 'sanity_pip_check': True, - 'use_pip': True, -} +sanity_pip_check = True +use_pip = True # order is important! # package versions updated 2023-06-26 @@ -105,9 +102,6 @@ exts_list = [ ('semantic_version', '2.10.0', { 'checksums': ['bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c'], }), - ('typing_extensions', '4.6.3', { - 'checksums': ['d91d5919357fe7f681a9f2b5b4cb2a5f1ef0a1e9f59c4d8ff0d3491e05c0ffd5'], - }), ('pyasn1', '0.5.0', { 'checksums': ['97b7290ca68e62a832558ec3976f15cbf911bf5d7c7039d8b861c2a0ece69fde'], }), diff --git a/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2023.10-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2023.10-GCCcore-13.2.0.eb index f1c29800a58..d97f7a93c0f 100644 --- a/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2023.10-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2023.10-GCCcore-13.2.0.eb @@ -26,11 +26,8 @@ dependencies = [ ('virtualenv', '20.24.6'), ] -exts_default_options = { - 'download_dep_fail': True, - 'sanity_pip_check': True, - 'use_pip': True, -} +sanity_pip_check = True +use_pip = True # order is important! # package versions updated 2023-10-29 @@ -105,9 +102,6 @@ exts_list = [ ('semantic_version', '2.10.0', { 'checksums': ['bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c'], }), - ('typing_extensions', '4.8.0', { - 'checksums': ['df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef'], - }), ('pyasn1', '0.5.0', { 'checksums': ['97b7290ca68e62a832558ec3976f15cbf911bf5d7c7039d8b861c2a0ece69fde'], }), diff --git a/easybuild/easyconfigs/p/Python-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/Python-2.7.15-GCCcore-8.2.0.eb b/easybuild/easyconfigs/p/Python/Python-2.7.15-GCCcore-8.2.0.eb index 175bf270b5a..2c26ddf75ff 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.15-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.15-GCCcore-8.2.0.eb @@ -45,7 +45,8 @@ exts_list = [ 'checksums': ['6e4eec90337e849ade7103723b9a99631c1f0d19990d6e8412dc42f5ae8b304d'], }), ('wheel', '0.33.1', { - 'checksums': ['66a8fd76f28977bb664b098372daef2b27f60dc4d1688cfab7b37a09448f0e9d'], + 'source_tmpl': SOURCE_WHL, + 'checksums': ['8eb4a788b3aec8abf5ff68d4165441bc57420c9f64ca5f471f58c3969fe08668'], }), ('pip', '19.0.3', { 'checksums': ['6e6f197a1abfb45118dbb878b5c859a0edbdd33fd250100bc015b67fded4b9f2'], @@ -72,7 +73,8 @@ exts_list = [ 'checksums': ['52ab47715fa0fc7d8e6cd15168d1a69ba995feb1505131c3e814eb7087b57358'], }), ('python-dateutil', '2.8.0', { - 'checksums': ['c89805f6f4d64db21ed966fda138f8a5ed7a4fdbc1a8ee329ce1b74e3c74da9e'], + 'source_tmpl': 'python_dateutil-%(version)s-py2.py3-none-any.whl', + 'checksums': ['7e6584c74aeed623791615e26efd690f29817a27c73085b78e4bad02493df2fb'], 'modulename': 'dateutil', }), ('deap', '1.2.2', { @@ -118,16 +120,19 @@ exts_list = [ }), ('cryptography', '2.6.1', { 'checksums': ['26c821cbeb683facb966045e2064303029d572a87ee69ca5a1bf54bf55f93ca6'], + 'use_pip': False, }), ('pyasn1', '0.4.5', { 'checksums': ['da2420fe13a9452d8ae97a0e478adde1dee153b11ba832a95b223a2ba01c10f7'], }), ('PyNaCl', '1.3.0', { 'checksums': ['0c6100edd16fefd1557da078c7a31e7b7d7a52ce39fdca2bec29d4f7b6e7600c'], + 'use_pip': False, 'modulename': 'nacl', }), ('bcrypt', '3.1.6', { 'checksums': ['44636759d222baa62806bbceb20e96f75a015a6381690d1bc2eda91c01ec02ea'], + 'use_pip': False, }), ('paramiko', '2.4.2', { 'checksums': ['a8975a7df3560c9f1e2b43dc54ebd40fd00a7017392ca5445ce7df409f900fcb'], @@ -155,7 +160,8 @@ exts_list = [ 'checksums': ['c163a86fcef377c314690051885d86b47419e3e1770990c212e16723c1c08faa'], }), ('virtualenv', '16.4.3', { - 'checksums': ['984d7e607b0a5d1329425dd8845bd971b957424b5ba664729fab51ab8c11bc39'], + 'source_tmpl': SOURCE_WHL, + 'checksums': ['6aebaf4dd2568a0094225ebbca987859e369e3e5c22dc7d52e5406d504890417'], }), ('docopt', '0.6.2', { 'checksums': ['49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491'], @@ -201,6 +207,7 @@ exts_list = [ }), ('pluggy', '0.9.0', { 'checksums': ['19ecf9ce9db2fce065a7a0586e07cfb4ac8614fe96edf628a264b1c70116cf8f'], + 'use_pip': False, }), ('more-itertools', '5.0.0', { 'checksums': ['38a936c0a6d98a38bcc2d03fdaaedaba9f412879461dd2ceff8d37564d6522e4'], @@ -208,12 +215,14 @@ exts_list = [ ('attrs', '19.1.0', { 'checksums': ['f0b870f674851ecbfbbbd364d6b5cbdff9dcedbc7f3f5e18a6891057f21fe399'], 'modulename': 'attr', + 'use_pip': False, }), ('wcwidth', '0.1.7', { 'checksums': ['3df37372226d6e63e1b1e1eda15c594bca98a22d33a23832a90998faa96bc65e'], }), ('pytest', '4.3.1', { - 'checksums': ['592eaa2c33fae68c7d75aacf042efc9f77b27c08a6224a4f59beab8d9a420523'], + 'source_tmpl': SOURCE_WHL, + 'checksums': ['ad3ad5c450284819ecde191a654c09b0ec72257a2c711b9633d677c71c9850c4'], }), ('MarkupSafe', '1.1.1', { 'checksums': ['29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b'], diff --git a/easybuild/easyconfigs/p/Python/Python-3.11.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/Python/Python-3.11.3-GCCcore-12.3.0.eb index 2bea26aa47d..092c0b628d7 100644 --- a/easybuild/easyconfigs/p/Python/Python-3.11.3-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/Python/Python-3.11.3-GCCcore-12.3.0.eb @@ -50,6 +50,18 @@ exts_list = [ ('setuptools', '67.7.2', { 'checksums': ['f104fa03692a2602fa0fec6c6a9e63b6c8a968de13e17c026957dd1f53d80990'], }), + ('tomli', '2.0.1', { + 'checksums': ['de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f'], + }), + ('packaging', '23.1', { + 'checksums': ['a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f'], + }), + ('typing_extensions', '4.6.3', { + 'checksums': ['d91d5919357fe7f681a9f2b5b4cb2a5f1ef0a1e9f59c4d8ff0d3491e05c0ffd5'], + }), + ('setuptools_scm', '7.1.0', { + 'checksums': ['6c508345a771aad7d56ebff0e70628bf2b0ec7573762be9960214730de278f27'], + }), ('pip', '23.1.2', { 'checksums': ['0e7c86f486935893c708287b30bd050a36ac827ec7fe5e43fe7cb198dd835fba'], }), diff --git a/easybuild/easyconfigs/p/Python/Python-3.11.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/Python/Python-3.11.5-GCCcore-13.2.0.eb index 2a132b97595..5ad7ceb101b 100644 --- a/easybuild/easyconfigs/p/Python/Python-3.11.5-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/p/Python/Python-3.11.5-GCCcore-13.2.0.eb @@ -47,6 +47,18 @@ exts_list = [ ('wheel', '0.41.2', { 'checksums': ['0c5ac5ff2afb79ac23ab82bab027a0be7b5dbcf2e54dc50efe4bf507de1f7985'], }), + ('tomli', '2.0.1', { + 'checksums': ['de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f'], + }), + ('packaging', '23.2', { + 'checksums': ['048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5'], + }), + ('typing_extensions', '4.8.0', { + 'checksums': ['df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef'], + }), + ('setuptools-scm', '8.0.4', { + 'checksums': ['b5f43ff6800669595193fd09891564ee9d1d7dcb196cab4b2506d53a2e1c95c7'], + }), ('setuptools', '68.2.2', { 'checksums': ['4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87'], }), diff --git a/easybuild/easyconfigs/p/Python/Python-3.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.7.2-GCCcore-8.2.0.eb b/easybuild/easyconfigs/p/Python/Python-3.7.2-GCCcore-8.2.0.eb index 9fbf771c28e..4f99edc0538 100644 --- a/easybuild/easyconfigs/p/Python/Python-3.7.2-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/p/Python/Python-3.7.2-GCCcore-8.2.0.eb @@ -43,6 +43,11 @@ exts_default_options = { 'sanity_pip_check': True, } +# workaround for: AttributeError: 'module' object has no attribute '__legacy__' +# see also https://github.com/pypa/pip/issues/6264 +local_fix_pyproject_toml_cmd = r"""sed -i 's/\(\[build-system\]\)/\1\nbuild-backend="setuptools.build_meta"/g' """ +local_fix_pyproject_toml_cmd += "pyproject.toml && " + # order is important! # package versions updated Mar 15th 2019 exts_list = [ @@ -120,6 +125,7 @@ exts_list = [ }), ('cryptography', '2.6.1', { 'checksums': ['26c821cbeb683facb966045e2064303029d572a87ee69ca5a1bf54bf55f93ca6'], + 'preinstallopts': local_fix_pyproject_toml_cmd, }), ('pyasn1', '0.4.5', { 'checksums': ['da2420fe13a9452d8ae97a0e478adde1dee153b11ba832a95b223a2ba01c10f7'], @@ -127,9 +133,11 @@ exts_list = [ ('PyNaCl', '1.3.0', { 'checksums': ['0c6100edd16fefd1557da078c7a31e7b7d7a52ce39fdca2bec29d4f7b6e7600c'], 'modulename': 'nacl', + 'preinstallopts': local_fix_pyproject_toml_cmd, }), ('bcrypt', '3.1.6', { 'checksums': ['44636759d222baa62806bbceb20e96f75a015a6381690d1bc2eda91c01ec02ea'], + 'preinstallopts': local_fix_pyproject_toml_cmd, }), ('paramiko', '2.4.2', { 'checksums': ['a8975a7df3560c9f1e2b43dc54ebd40fd00a7017392ca5445ce7df409f900fcb'], @@ -200,6 +208,7 @@ exts_list = [ }), ('pluggy', '0.9.0', { 'checksums': ['19ecf9ce9db2fce065a7a0586e07cfb4ac8614fe96edf628a264b1c70116cf8f'], + 'preinstallopts': local_fix_pyproject_toml_cmd, }), ('more-itertools', '6.0.0', { 'checksums': ['590044e3942351a1bdb1de960b739ff4ce277960f2425ad4509446dbace8d9d1'], diff --git a/easybuild/easyconfigs/p/p11-kit/p11-kit-0.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.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.05-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/p7zip/p7zip-17.05-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..f691f95e191 --- /dev/null +++ b/easybuild/easyconfigs/p/p7zip/p7zip-17.05-GCCcore-13.3.0.eb @@ -0,0 +1,47 @@ +easyblock = 'MakeCp' + +name = 'p7zip' +version = '17.05' + +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': '13.3.0'} + +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['d2788f892571058c08d27095c22154579dfefb807ebe357d145ab2ddddefb1a6'] + +builddependencies = [ + ('binutils', '2.42'), +] + +prebuildopts = "cp makefile.linux_amd64 makefile.linux &&" +buildopts = 'all3 CC="$CC" CXX="$CXX" OPTFLAGS="$CFLAGS"' + +github_account = '%(name)s-project' +# 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 +%(installdir)s/libexec/7z $@' > %(installdir)s/bin/7z""", + "chmod +x %(installdir)s/bin/7z", # set execution bits according to current umask +] +files_to_copy = [ + (['bin/7za', 'bin/7zr', 'bin/7zCon.sfx'], 'bin'), # stand-alone binaries + (['bin/7z', 'bin/7z.so', 'bin/Codecs'], 'libexec'), +] # 7z requires 7z.so plugin in same directory + +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/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.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/parallel/parallel-20230722-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/parallel/parallel-20230722-GCCcore-12.3.0.eb index 7725cf4990a..32a4662d685 100644 --- a/easybuild/easyconfigs/p/parallel/parallel-20230722-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/parallel/parallel-20230722-GCCcore-12.3.0.eb @@ -14,13 +14,19 @@ checksums = ['55f991ad195a72f0abfaf1ede8fc1d03dd255cac91bc5eb900f9aa2873d1ff87'] builddependencies = [('binutils', '2.40')] -dependencies = [('Perl', '5.36.1')] +dependencies = [ + ('Perl', '5.36.1'), + ('Perl-bundle-CPAN', '5.36.1'), +] sanity_check_paths = { 'files': ['bin/parallel'], 'dirs': [] } -sanity_check_commands = ["parallel --help"] +sanity_check_commands = [ + 'parallel --help', + 'time parallel --csv echo < <(echo -e "task1\ntask2\ntask3")', +] 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..4673651a654 --- /dev/null +++ b/easybuild/easyconfigs/p/parallel/parallel-20240322-GCCcore-13.2.0.eb @@ -0,0 +1,32 @@ +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'), + ('Perl-bundle-CPAN', '5.38.0'), +] + +sanity_check_paths = { + 'files': ['bin/parallel'], + 'dirs': [] +} + +sanity_check_commands = [ + 'parallel --help', + 'time parallel --csv echo < <(echo -e "task1\ntask2\ntask3")', +] + +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..e3f60b06f2c --- /dev/null +++ b/easybuild/easyconfigs/p/parallel/parallel-20240722-GCCcore-13.3.0.eb @@ -0,0 +1,32 @@ +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'), + ('Perl-bundle-CPAN', '5.38.2'), +] + +sanity_check_paths = { + 'files': ['bin/parallel'], + 'dirs': [] +} + +sanity_check_commands = [ + 'parallel --help', + 'time parallel --csv echo < <(echo -e "task1\ntask2\ntask3")', +] + +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/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/patchelf/patchelf-0.18.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/patchelf/patchelf-0.18.0-GCCcore-12.3.0.eb index b87a53d6bda..d213a037191 100644 --- 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 @@ -10,7 +10,11 @@ toolchain = {'name': 'GCCcore', 'version': '12.3.0'} source_urls = ['https://github.com/NixOS/patchelf/archive/'] sources = ['%(version)s.tar.gz'] -checksums = ['1451d01ee3a21100340aed867d0b799f46f0b1749680028d38c3f5d0128fb8a7'] +patches = ['patchelf-0.18.0_fix-alignment.patch'] +checksums = [ + {'0.18.0.tar.gz': '1451d01ee3a21100340aed867d0b799f46f0b1749680028d38c3f5d0128fb8a7'}, + {'patchelf-0.18.0_fix-alignment.patch': '87936627643b2212e8261b0f3d5905f12d0fc91f73503e12124f93ff972e0a03'}, +] builddependencies = [ ('binutils', '2.40'), 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 index 62d26c800db..6dd3411d14b 100644 --- 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 @@ -10,7 +10,11 @@ toolchain = {'name': 'GCCcore', 'version': '13.2.0'} source_urls = ['https://github.com/NixOS/patchelf/archive/'] sources = ['%(version)s.tar.gz'] -checksums = ['1451d01ee3a21100340aed867d0b799f46f0b1749680028d38c3f5d0128fb8a7'] +patches = ['patchelf-0.18.0_fix-alignment.patch'] +checksums = [ + {'0.18.0.tar.gz': '1451d01ee3a21100340aed867d0b799f46f0b1749680028d38c3f5d0128fb8a7'}, + {'patchelf-0.18.0_fix-alignment.patch': '87936627643b2212e8261b0f3d5905f12d0fc91f73503e12124f93ff972e0a03'}, +] builddependencies = [ ('binutils', '2.40'), 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..10b4831c5f7 --- /dev/null +++ b/easybuild/easyconfigs/p/patchelf/patchelf-0.18.0-GCCcore-13.3.0.eb @@ -0,0 +1,33 @@ +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'] +patches = ['patchelf-0.18.0_fix-alignment.patch'] +checksums = [ + {'0.18.0.tar.gz': '1451d01ee3a21100340aed867d0b799f46f0b1749680028d38c3f5d0128fb8a7'}, + {'patchelf-0.18.0_fix-alignment.patch': '87936627643b2212e8261b0f3d5905f12d0fc91f73503e12124f93ff972e0a03'}, +] + +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/patchelf/patchelf-0.18.0_fix-alignment.patch b/easybuild/easyconfigs/p/patchelf/patchelf-0.18.0_fix-alignment.patch new file mode 100644 index 00000000000..20a233ddc66 --- /dev/null +++ b/easybuild/easyconfigs/p/patchelf/patchelf-0.18.0_fix-alignment.patch @@ -0,0 +1,31 @@ +Author - Pavel Tománek +Fix alignment problem when rewriting sections +https://github.com/NixOS/patchelf/pull/566 +--- src/patchelf.cc.orig 2024-10-07 16:45:17.515584318 +0200 ++++ src/patchelf.cc 2024-10-07 16:47:14.622270000 +0200 +@@ -843,7 +843,7 @@ + neededSpace += headerTableSpace; + debug("needed space is %d\n", neededSpace); + +- Elf_Off startOffset = roundUp(fileContents->size(), getPageSize()); ++ Elf_Off startOffset = roundUp(fileContents->size(), alignStartPage); + + // In older version of binutils (2.30), readelf would check if the dynamic + // section segment is strictly smaller than the file (and not same size). +@@ -879,7 +879,7 @@ + rdi(lastSeg.p_type) == PT_LOAD && + rdi(lastSeg.p_flags) == (PF_R | PF_W) && + rdi(lastSeg.p_align) == alignStartPage) { +- auto segEnd = roundUp(rdi(lastSeg.p_offset) + rdi(lastSeg.p_memsz), getPageSize()); ++ auto segEnd = roundUp(rdi(lastSeg.p_offset) + rdi(lastSeg.p_memsz), alignStartPage); + if (segEnd == startOffset) { + auto newSz = startOffset + neededSpace - rdi(lastSeg.p_offset); + wri(lastSeg.p_filesz, wri(lastSeg.p_memsz, newSz)); +@@ -898,6 +898,7 @@ + wri(phdr.p_filesz, wri(phdr.p_memsz, neededSpace)); + wri(phdr.p_flags, PF_R | PF_W); + wri(phdr.p_align, alignStartPage); ++ assert(startPage % alignStartPage == startOffset % alignStartPage); + } + + normalizeNoteSegments(); 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/pblat/pblat-2.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pblat/pblat-2.5.1-foss-2023a.eb new file mode 100644 index 00000000000..a49d5fb0a74 --- /dev/null +++ b/easybuild/easyconfigs/p/pblat/pblat-2.5.1-foss-2023a.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': '2023a'} + +github_account = 'icebert' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['e85a4d752b8e159502d529f0f9e47579851a6b466b6c2f1f4d49f598642bc615'] + +dependencies = [ + ('HTSlib', '1.18'), + ('zlib', '1.2.13'), + ('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 index 2ad121fa5b7..514caad6711 100644 --- 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 @@ -10,7 +10,11 @@ toolchain = {'name': 'GCCcore', 'version': '11.3.0'} source_urls = ['https://github.com/chaos/pdsh/releases/download/pdsh-%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['b47b3e4662736ef44b6fe86e3d380f95e591863e69163aa0592e9f9f618521e9'] +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'), 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 index 1b8e1f8ed55..eb35068da2a 100644 --- 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 @@ -10,7 +10,11 @@ toolchain = {'name': 'GCCcore', 'version': '12.2.0'} source_urls = ['https://github.com/chaos/pdsh/releases/download/pdsh-%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['b47b3e4662736ef44b6fe86e3d380f95e591863e69163aa0592e9f9f618521e9'] +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'), 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 index 75dde8cd89c..90ebe848ded 100644 --- 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 @@ -10,7 +10,11 @@ toolchain = {'name': 'GCCcore', 'version': '12.3.0'} source_urls = ['https://github.com/chaos/pdsh/releases/download/pdsh-%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['b47b3e4662736ef44b6fe86e3d380f95e591863e69163aa0592e9f9f618521e9'] +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'), 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/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/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..2569dce3fb5 --- /dev/null +++ b/easybuild/easyconfigs/p/phonemizer/phonemizer-3.2.1-gfbf-2023a.eb @@ -0,0 +1,78 @@ +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'} + +builddependencies = [ + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('eSpeak-NG', '1.51'), + ('festival', '2.5.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/phonopy/phonopy-2.12.0-foss-2020b.eb b/easybuild/easyconfigs/p/phonopy/phonopy-2.12.0-foss-2020b.eb index 3a1f3d0bc3b..2aa223e2c83 100644 --- a/easybuild/easyconfigs/p/phonopy/phonopy-2.12.0-foss-2020b.eb +++ b/easybuild/easyconfigs/p/phonopy/phonopy-2.12.0-foss-2020b.eb @@ -3,7 +3,7 @@ easyblock = 'PythonPackage' name = 'phonopy' version = '2.12.0' -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': 'foss', 'version': '2020b'} 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 index d06fecee5a2..bd922d7ded0 100644 --- a/easybuild/easyconfigs/p/phonopy/phonopy-2.16.3-foss-2022a.eb +++ b/easybuild/easyconfigs/p/phonopy/phonopy-2.16.3-foss-2022a.eb @@ -3,7 +3,7 @@ easyblock = 'PythonPackage' name = 'phonopy' version = '2.16.3' -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': 'foss', 'version': '2022a'} 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 index aa68af8a495..c243d21a148 100644 --- a/easybuild/easyconfigs/p/phonopy/phonopy-2.20.0-foss-2023a.eb +++ b/easybuild/easyconfigs/p/phonopy/phonopy-2.20.0-foss-2023a.eb @@ -3,7 +3,7 @@ easyblock = 'PythonPackage' name = 'phonopy' version = '2.20.0' -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': 'foss', 'version': '2023a'} @@ -18,6 +18,7 @@ dependencies = [ ('PyYAML', '6.0'), ('h5py', '3.9.0'), ('spglib-python', '2.1.0'), + ('cp2k-input-tools', '0.9.1'), ] download_dep_fail = True 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/phylo-treetime/phylo-treetime-0.11.4-foss-2023a.eb b/easybuild/easyconfigs/p/phylo-treetime/phylo-treetime-0.11.4-foss-2023a.eb new file mode 100644 index 00000000000..8eaaa826af5 --- /dev/null +++ b/easybuild/easyconfigs/p/phylo-treetime/phylo-treetime-0.11.4-foss-2023a.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'phylo-treetime' +version = '0.11.4' + +homepage = 'https://treetime.readthedocs.io/en/latest/index.html' +description = """TreeTime provides routines for ancestral sequence reconstruction and inference of + molecular-clock phylogenies, i.e., a tree where all branches are scaled such that the positions + of terminal nodes correspond to their sampling times and internal nodes are placed at the most + likely time of divergence. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('Biopython', '1.83'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['f6b1506a58819204b010f5abe36627a127c0efa4cfd5008ea7f25dc0718c0f88'], + 'modulename': 'treetime', + }), +] + +sanity_check_paths = { + 'files': ['bin/treetime'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +moduleclass = 'bio' 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/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.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/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/pkgconf/pkgconf-2.3.0-GCCcore-14.2.0.eb b/easybuild/easyconfigs/p/pkgconf/pkgconf-2.3.0-GCCcore-14.2.0.eb new file mode 100644 index 00000000000..de13aa5fb33 --- /dev/null +++ b/easybuild/easyconfigs/p/pkgconf/pkgconf-2.3.0-GCCcore-14.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'pkgconf' +version = '2.3.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': '14.2.0'} + +source_urls = ['https://distfiles.ariadne.space/pkgconf/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a2df680578e85f609f2fa67bd3d0fc0dc71b4bf084fc49119de84cd6ed28e723'] + +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.3.0.eb b/easybuild/easyconfigs/p/pkgconf/pkgconf-2.3.0.eb new file mode 100644 index 00000000000..c90cecda0a1 --- /dev/null +++ b/easybuild/easyconfigs/p/pkgconf/pkgconf-2.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'pkgconf' +version = '2.3.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 = ['a2df680578e85f609f2fa67bd3d0fc0dc71b4bf084fc49119de84cd6ed28e723'] + +# 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-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/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/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-5.24.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/plotly.py/plotly.py-5.24.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..97bb6e12c8d --- /dev/null +++ b/easybuild/easyconfigs/p/plotly.py/plotly.py-5.24.1-GCCcore-13.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'plotly.py' +version = '5.24.1' + +homepage = 'https://plot.ly/python' +description = "An open-source, interactive graphing library for Python" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +builddependencies = [ + ('binutils', '2.42'), +] +dependencies = [ + ('Python', '3.12.3'), +] + +use_pip = True + +exts_list = [ + ('tenacity', '9.0.0', { + 'patches': ['tenacity-9.0.0_fix_version.patch'], + 'preinstallopts': "sed -i 's/EB_TENACITY_VERSION/%(version)s/' setup.cfg && ", + 'checksums': [ + {'tenacity-9.0.0.tar.gz': '807f37ca97d62aa361264d497b0e31e92b8027044942bfa756160d908320d73b'}, + {'tenacity-9.0.0_fix_version.patch': '71a533470f03aab802439bda078494ab98804439afdb16f8287337bd3e0c8a82'}, + ], + }), + ('packaging', '24.1', { + 'checksums': ['026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002'], + }), + ('plotly', version, { + 'checksums': ['dbc8ac8339d248a4bcc36e08a5659bacfe1b079390b8953533f4eb22169b4bae'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/plotly.py/tenacity-9.0.0_fix_version.patch b/easybuild/easyconfigs/p/plotly.py/tenacity-9.0.0_fix_version.patch new file mode 100644 index 00000000000..9bd6e65af16 --- /dev/null +++ b/easybuild/easyconfigs/p/plotly.py/tenacity-9.0.0_fix_version.patch @@ -0,0 +1,15 @@ +# What: 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 +# Updated for v9.0.0 by maxim-masterov (SURF) +# Updated with magic string to avoid having to update the patch for every version by Samuel Moors (Vrije Universiteit Brussel) +diff -Nru tenacity-9.0.0.orig/setup.cfg tenacity-9.0.0/setup.cfg +--- tenacity-9.0.0.orig/setup.cfg 2024-10-10 16:50:28.669538307 +0200 ++++ tenacity-9.0.0/setup.cfg 2024-10-10 16:50:54.881500726 +0200 +@@ -1,6 +1,7 @@ + [metadata] + name = tenacity + license = Apache 2.0 ++version = 'EB_TENACITY_VERSION' + 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/pmt/pmt-1.2.0-GCCcore-11.3.0-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/pmt/pmt-1.2.0-GCCcore-11.3.0-CUDA-11.7.0.eb new file mode 100644 index 00000000000..d486de9b7b3 --- /dev/null +++ b/easybuild/easyconfigs/p/pmt/pmt-1.2.0-GCCcore-11.3.0-CUDA-11.7.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'pmt' +version = '1.2.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://git.astron.nl/RD/pmt' +description = """PMT is a high-level software library capable of + collecting power consumption measurements on various hardware.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://git.astron.nl/RD/pmt/-/archive/%(version)s'] +sources = ['pmt-%(version)s.tar.gz'] +checksums = ['98faf305c60cc4d39d3b8ada1dcb7c87c49bf6f01a3cd2800b413d21d5df1a38'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('binutils', '2.38'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), +] + +configopts = '-DBUILD_NVML_PMT=1' + +sanity_check_paths = { + 'files': ["bin/Rapl-test", "bin/NVML-test"], + 'dirs': ["lib", "include"], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pmt/pmt-1.2.0-GCCcore-12.3.0-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/pmt/pmt-1.2.0-GCCcore-12.3.0-CUDA-12.1.1.eb new file mode 100644 index 00000000000..4d46849355e --- /dev/null +++ b/easybuild/easyconfigs/p/pmt/pmt-1.2.0-GCCcore-12.3.0-CUDA-12.1.1.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'pmt' +version = '1.2.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://git.astron.nl/RD/pmt' +description = """PMT is a high-level software library capable of + collecting power consumption measurements on various hardware.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://git.astron.nl/RD/pmt/-/archive/%(version)s'] +sources = ['pmt-%(version)s.tar.gz'] +checksums = ['98faf305c60cc4d39d3b8ada1dcb7c87c49bf6f01a3cd2800b413d21d5df1a38'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM) +] + +configopts = '-DBUILD_NVML_PMT=1' + +sanity_check_paths = { + 'files': ["bin/Rapl-test", "bin/NVML-test"], + 'dirs': ["lib", "include"], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pocl/pocl-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.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.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.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/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/popt/popt-1.18.eb b/easybuild/easyconfigs/p/popt/popt-1.18.eb new file mode 100644 index 00000000000..6abfaaedede --- /dev/null +++ b/easybuild/easyconfigs/p/popt/popt-1.18.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'popt' +version = "1.18" + +homepage = "http://freecode.com/projects/popt" +description = """Popt is a C library for parsing command line parameters.""" +toolchain = SYSTEM + +source_urls = ['http://ftp.rpm.org/popt/releases/popt-1.x/'] +sources = [SOURCE_TAR_GZ] +checksums = ['5159bc03a20b28ce363aa96765f37df99ea4d8850b1ece17d1e6ad5c24fdc5d1'] + +toolchainopts = {'optarch': False} +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/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.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-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-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/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-12.3.0.eb b/easybuild/easyconfigs/p/prodigal/prodigal-2.6.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..09e71ae3765 --- /dev/null +++ b/easybuild/easyconfigs/p/prodigal/prodigal-2.6.3-GCCcore-12.3.0.eb @@ -0,0 +1,46 @@ +## +# This is a contribution from Phoenix HPC Service, The University of Adelaide, Australia +# Homepage: https://www.adelaide.edu.au/phoenix/ +# +# Copyright:: adelaide.edu.au/phoenix +# Authors:: Robert Qiao , Exe Escobedo +# License:: GPL-v3.0 +# +# Updated: Pavel Grochal (INUITS) +# +# Notes:: +## + +easyblock = 'MakeCp' + +name = 'prodigal' +version = '2.6.3' + +homepage = 'https://github.com/hyattpd/Prodigal/' + +description = """Prodigal (Prokaryotic Dynamic Programming Genefinding Algorithm) + is a microbial (bacterial and archaeal) gene finding program developed + at Oak Ridge National Laboratory and the University of Tennessee.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/hyattpd/Prodigal/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['89094ad4bff5a8a8732d899f31cec350f5a4c27bcbdd12663f87c9d1f0ec599f'] + +builddependencies = [('binutils', '2.40')] + +files_to_copy = [ + (['prodigal'], 'bin'), + (['*.h'], 'include'), + (['LICENSE'], 'license'), +] + +sanity_check_paths = { + 'files': ['bin/prodigal'], + 'dirs': ['include', 'license'], +} + +sanity_check_commands = ["prodigal -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/prompt-toolkit/prompt-toolkit-3.0.36-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/prompt-toolkit/prompt-toolkit-3.0.36-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..45f18896d75 --- /dev/null +++ b/easybuild/easyconfigs/p/prompt-toolkit/prompt-toolkit-3.0.36-GCCcore-12.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'prompt-toolkit' +version = '3.0.36' + +homepage = 'https://github.com/jonathanslenders/python-prompt-toolkit' +description = """prompt_toolkit is a Python library for building powerful interactive command lines and + terminal applications.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [('binutils', '2.39')] + +dependencies = [('Python', '3.10.8')] + +sources = ['prompt_toolkit-%(version)s-py3-none-any.whl'] +checksums = ['aa64ad242a462c5ff0363a7b9cfe696c20d55d9fc60c11fd8e632d064804d305'] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +options = {'modulename': 'prompt_toolkit'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/prompt-toolkit/prompt-toolkit-3.0.36-GCCcore-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-4.24.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.24.0-GCCcore-12.3.0.eb index 0a299aea480..4606b18567e 100644 --- a/easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.24.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.24.0-GCCcore-12.3.0.eb @@ -10,7 +10,12 @@ toolchain = {'name': 'GCCcore', 'version': '12.3.0'} source_urls = ['https://pypi.python.org/packages/source/p/protobuf'] sources = ['protobuf-%(version)s.tar.gz'] -checksums = ['5d0ceb9de6e08311832169e601d1fc71bd8e8c779f3ee38a97a78554945ecb85'] +patches = ['%(name)s-%(version)s_fix-upb-copyfrom.patch'] +checksums = [ + {'protobuf-4.24.0.tar.gz': '5d0ceb9de6e08311832169e601d1fc71bd8e8c779f3ee38a97a78554945ecb85'}, + {'protobuf-python-4.24.0_fix-upb-copyfrom.patch': + '9afea4c68ee54d7278ec61a7e7d91c0aad2e7b0d63ba22f2200d0df2fac34de7'}, +] builddependencies = [('binutils', '2.40')] diff --git a/easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.24.0_fix-upb-copyfrom.patch b/easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.24.0_fix-upb-copyfrom.patch new file mode 100644 index 00000000000..85d4ba67fe4 --- /dev/null +++ b/easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.24.0_fix-upb-copyfrom.patch @@ -0,0 +1,39 @@ +From 57636ce03ac1e2aab3a362a61a6664981e21cda5 Mon Sep 17 00:00:00 2001 +From: Jie Luo +Date: Thu, 24 Aug 2023 14:27:41 -0700 +Subject: [PATCH] upb CopyFrom the default empty message should just clear + instead of deep copy from memory + +fix https://github.com/protocolbuffers/protobuf/issues/13485 + +PiperOrigin-RevId: 559870202 +--- + python/message.c | 15 +++++++++------ + 1 file changed, 9 insertions(+), 6 deletions(-) + +diff --git a/python/message.c b/python/message.c +index afdd4311a..e61eebb23 100644 +--- a/python/message.c ++++ b/python/message.c +@@ -1237,12 +1237,15 @@ static PyObject* PyUpb_Message_CopyFrom(PyObject* _self, PyObject* arg) { + PyUpb_Message* other = (void*)arg; + PyUpb_Message_EnsureReified(self); + +- PyObject* tmp = PyUpb_Message_Clear(self); +- Py_DECREF(tmp); +- +- upb_Message_DeepCopy(self->ptr.msg, other->ptr.msg, +- upb_MessageDef_MiniTable(other->def), +- PyUpb_Arena_Get(self->arena)); ++ const upb_Message* other_msg = PyUpb_Message_GetIfReified((PyObject*)other); ++ if (other_msg) { ++ upb_Message_DeepCopy(self->ptr.msg, other_msg, ++ upb_MessageDef_MiniTable(other->def), ++ PyUpb_Arena_Get(self->arena)); ++ } else { ++ PyObject* tmp = PyUpb_Message_Clear(self); ++ Py_DECREF(tmp); ++ } + PyUpb_Message_SyncSubobjs(self); + + Py_RETURN_NONE; diff --git a/easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.25.3-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.25.3-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..f3568b506d9 --- /dev/null +++ b/easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.25.3-GCCcore-13.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'protobuf-python' +version = '4.25.3' + +homepage = 'https://github.com/google/protobuf/' +description = "Python Protocol Buffers runtime library." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://pypi.python.org/packages/source/p/protobuf'] +sources = ['protobuf-%(version)s.tar.gz'] +checksums = ['25b5d0b42fd000320bd7830b349e3b696435f3b329810427a6bcce6a5492cc5c'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.5'), + ('protobuf', version[2:]), # Major version is only used for the Python bindings +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +options = {'modulename': 'google.protobuf'} + +# Make sure protobuf is installed as a regular folder or it will not be found if +# other google packages are installed in other site-packages folders +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/google/protobuf'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/protobuf-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-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/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.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.9-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/psycopg2/psycopg2-2.9.9-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..2f6b6ba35f1 --- /dev/null +++ b/easybuild/easyconfigs/p/psycopg2/psycopg2-2.9.9-GCCcore-12.3.0.eb @@ -0,0 +1,33 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'psycopg2' +version = '2.9.9' + +homepage = 'https://psycopg.org/' +description = "Psycopg is the most popular PostgreSQL adapter for the Python programming language." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('PostgreSQL', '16.1'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['d1454bde93fb1e224166811694d600e746430c006fbb031ea06ecc2ea41bf156'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a4a0886152c --- /dev/null +++ b/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-12.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonPackage' + +name = 'py-cpuinfo' +version = '9.0.0' + +homepage = 'https://github.com/workhorsy/py-cpuinfo' +description = "py-cpuinfo gets CPU info with pure Python." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/cpuinfo'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "cpuinfo", + "python -m cpuinfo", +] + +options = {'modulename': 'cpuinfo'} + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..4ffea66d7cb --- /dev/null +++ b/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-13.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonPackage' + +name = 'py-cpuinfo' +version = '9.0.0' + +homepage = 'https://github.com/workhorsy/py-cpuinfo' +description = "py-cpuinfo gets CPU info with pure Python." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.5'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/cpuinfo'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "cpuinfo", + "python -m cpuinfo", +] + +options = {'modulename': 'cpuinfo'} + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/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.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/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.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/pySCENIC/pySCENIC-0.12.1-20240311-foss-2023a.eb b/easybuild/easyconfigs/p/pySCENIC/pySCENIC-0.12.1-20240311-foss-2023a.eb new file mode 100644 index 00000000000..2842812499f --- /dev/null +++ b/easybuild/easyconfigs/p/pySCENIC/pySCENIC-0.12.1-20240311-foss-2023a.eb @@ -0,0 +1,77 @@ +easyblock = 'PythonBundle' + +name = 'pySCENIC' +version = '0.12.1-20240311' +local_commit = '31d51a1' + +homepage = 'https://github.com/aertslab/pySCENIC' +description = """pySCENIC is a lightning-fast python implementation of the SCENIC +pipeline (Single-Cell rEgulatory Network Inference and Clustering) which enables +biologists to infer transcription factors, gene regulatory networks and +cell types from single-cell RNA-seq data.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('PyYAML', '6.0'), + ('Arrow', '14.0.1'), + ('scikit-learn', '1.3.1'), + ('tqdm', '4.66.1'), + ('networkx', '3.1'), + ('dask', '2023.9.2'), + ('aiohttp', '3.8.5'), + ('dill', '0.3.7'), + ('loompy', '3.0.7'), + ('umap-learn', '0.5.5'), +] + +use_pip = True + +exts_list = [ + ('cytoolz', '0.12.3', { + 'checksums': ['4503dc59f4ced53a54643272c61dc305d1dbbfbd7d6bdf296948de9f34c3a282'], + }), + ('multiprocessing_on_dill', '3.5.0a4', { + 'checksums': ['d6d50c300ff4bd408bb71eb78725e60231039ee9b3d0d9bb7697b9d0e15045e7'], + }), + ('frozendict', '2.4.0', { + 'checksums': ['c26758198e403337933a92b01f417a8240c954f553e1d4b5e0f8e39d9c8e3f0a'], + }), + ('arboreto', '0.1.6', { + 'source_urls': ['https://github.com/aertslab/arboreto/archive/refs/tags/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['f94c0bc084ca61422e8b74ecdb80585a45b168ac682f18dd3c52c9097ee29caa'], + }), + ('boltons', '23.1.1', { + 'checksums': ['d2cb2fa83cf2ebe791be1e284183e8a43a1031355156a968f8e0a333ad2448fc'], + }), + ('interlap', '0.2.7', { + 'checksums': ['31e4f30c54b067c4939049f5d8131ae5e2fa682ec71aa56f89c0e5b900806ec9'], + }), + ('ctxcore', '0.2.0', { + 'sources': ['ctxcore-0.2.0-py3-none-any.whl'], + 'checksums': ['b90570377e26280c4861ebad1f4cee2fe598167c5d4bd12c1b713f03c9682627'], + }), + ('pyscenic', '0.12.1', { + # download from commit to get fix for numpy error + # https://github.com/aertslab/pySCENIC/issues/518 + 'source_urls': ['https://github.com/aertslab/pySCENIC/archive/'], + 'sources': [{ + 'download_filename': '31d51a1625f12fb3c6e92bc48ecc9d401524c22a.tar.gz', + 'filename': '%%(name)s-%%(version)s-%s.tar.gz' % local_commit + }], + 'checksums': ['9dac1aa1672e310838ab47838206c075f2a2af2eefe6d3b7d56b4492d42fcf47'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pyscenic'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["pyscenic --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pyXDF/pyXDF-1.16.3-foss-2021a.eb b/easybuild/easyconfigs/p/pyXDF/pyXDF-1.16.3-foss-2021a.eb new file mode 100644 index 00000000000..9265cab6da4 --- /dev/null +++ b/easybuild/easyconfigs/p/pyXDF/pyXDF-1.16.3-foss-2021a.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonBundle' + +name = 'pyXDF' +version = '1.16.3' + +homepage = 'https://github.com/xdf-modules/pyxdf' +description = "Python package for working with XDF files." + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +use_pip = True + +exts_list = [ + ('pyxdf', version, { + 'checksums': ['d7744a8ba81992aa44d0ce740c256113324178903cbe18a754ee9f2735649123'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pyXDF/pyXDF-1.16.5-gfbf-2023a.eb b/easybuild/easyconfigs/p/pyXDF/pyXDF-1.16.5-gfbf-2023a.eb new file mode 100644 index 00000000000..31da5df12c8 --- /dev/null +++ b/easybuild/easyconfigs/p/pyXDF/pyXDF-1.16.5-gfbf-2023a.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonBundle' + +name = 'pyXDF' +version = '1.16.5' + +homepage = 'https://github.com/xdf-modules/pyxdf' +description = "Python package for working with XDF files." + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True + +exts_list = [ + ('pyxdf', version, { + 'checksums': ['18908770b4847f9b223a97b2fd615fa62ac0cce305c08c407e71d7ec3ab6108b'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/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.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/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-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/pydantic/pydantic-1.10.13-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pydantic/pydantic-1.10.13-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..d4902362426 --- /dev/null +++ b/easybuild/easyconfigs/p/pydantic/pydantic-1.10.13-GCCcore-12.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonBundle' + +name = 'pydantic' +version = '1.10.13' + +homepage = 'https://github.com/samuelcolvin/pydantic' +description = """Data validation and settings management using Python type hinting.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('typing-extensions', '4.9.0'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['32c8b48dcd3b2ac4e78b0ba4af3a2c2eb6048cb75202f0ea7b34feb740efc340'], + }), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pydantic/pydantic-2.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/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/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.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.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.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/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/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.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/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.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/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/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/pytest-cpp/pytest-cpp-2.3.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pytest-cpp/pytest-cpp-2.3.0-GCCcore-11.3.0.eb old mode 100755 new mode 100644 index f5d720e5b7a..40226083365 --- a/easybuild/easyconfigs/p/pytest-cpp/pytest-cpp-2.3.0-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/p/pytest-cpp/pytest-cpp-2.3.0-GCCcore-11.3.0.eb @@ -13,7 +13,7 @@ dependencies = [('Python', '3.10.4')] use_pip = True sanity_pip_check = True -download_dep_fail = False +download_dep_fail = True sources = [SOURCE_TAR_GZ] checksums = ['37abfa693697940aed2e7c034698188dee3616183ad9b3f764f3b06aeb75ed4a'] diff --git a/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-11.3.0.eb old mode 100755 new mode 100644 index af5753f1645..60f2242fba0 --- a/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-11.3.0.eb @@ -13,7 +13,7 @@ dependencies = [('Python', '3.10.4')] use_pip = True sanity_pip_check = True -download_dep_fail = False +download_dep_fail = True sources = [SOURCE_TAR_GZ] checksums = ['e2412a1920bdb8e7908783b20b3d57e9dad590cc39a93e8596ffdd493b403e0e'] diff --git a/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-12.2.0.eb index b5ed6a20032..2827c01ebbc 100644 --- a/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-12.2.0.eb @@ -13,7 +13,7 @@ dependencies = [('Python', '3.10.8')] use_pip = True sanity_pip_check = True -download_dep_fail = False +download_dep_fail = True sources = [SOURCE_TAR_GZ] checksums = ['e2412a1920bdb8e7908783b20b3d57e9dad590cc39a93e8596ffdd493b403e0e'] diff --git a/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-12.3.0.eb index 5ebf016d64c..b5e47528026 100644 --- 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 @@ -16,7 +16,7 @@ dependencies = [ use_pip = True sanity_pip_check = True -download_dep_fail = False +download_dep_fail = True sources = [SOURCE_TAR_GZ] checksums = ['e2412a1920bdb8e7908783b20b3d57e9dad590cc39a93e8596ffdd493b403e0e'] diff --git a/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-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 index 1a77cf37d10..b55fb3746ed 100644 --- a/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-11.1-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-11.1-GCCcore-11.3.0.eb @@ -13,7 +13,7 @@ dependencies = [('Python', '3.10.4')] use_pip = True sanity_pip_check = True -download_dep_fail = False +download_dep_fail = True sources = [SOURCE_TAR_GZ] checksums = ['bc6ad13614c976b04558c3a7bcc393a7e09686fb86b6ae73f827b78326c09f75'] diff --git a/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-12.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-12.0-GCCcore-12.2.0.eb index eefd52471b1..58871575982 100644 --- a/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-12.0-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-12.0-GCCcore-12.2.0.eb @@ -13,7 +13,7 @@ dependencies = [('Python', '3.10.8')] use_pip = True sanity_pip_check = True -download_dep_fail = False +download_dep_fail = True sources = [SOURCE_TAR_GZ] checksums = ['784f462fa87fe9bdf781d0027d856b47a4bfe6c12af108f6bd887057a917b48e'] diff --git a/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-12.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-12.0-GCCcore-12.3.0.eb index 19666ba283e..4a8634e4c3b 100644 --- a/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-12.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-12.0-GCCcore-12.3.0.eb @@ -17,7 +17,7 @@ dependencies = [ use_pip = True sanity_pip_check = True -download_dep_fail = False +download_dep_fail = True sources = [SOURCE_TAR_GZ] checksums = ['784f462fa87fe9bdf781d0027d856b47a4bfe6c12af108f6bd887057a917b48e'] diff --git a/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-14.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-14.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..3898c92c6b4 --- /dev/null +++ b/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-14.0-GCCcore-13.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'pytest-rerunfailures' +version = '14.0' + +homepage = 'https://github.com/pytest-dev/pytest-rerunfailures' +description = "pytest plugin to re-run tests to eliminate flaky failures." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +sources = [SOURCE_TAR_GZ] +checksums = ['4a400bcbcd3c7a4ad151ab8afac123d90eca3abe27f98725dc4d9702887d2e92'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-11.3.0.eb index 11746d4cf6d..9e4d690223f 100644 --- a/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-11.3.0.eb @@ -20,7 +20,7 @@ dependencies = [('Python', '3.10.4')] use_pip = True sanity_pip_check = True -download_dep_fail = False +download_dep_fail = True sources = [SOURCE_TAR_GZ] checksums = ['b86a967fbfd1c8e50295095ccda031b7e890862ee06531d5142844f4c1d1cd67'] diff --git a/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-12.2.0.eb index bd08dfe54d6..9087c9673f6 100644 --- a/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-12.2.0.eb @@ -20,7 +20,7 @@ dependencies = [('Python', '3.10.8')] use_pip = True sanity_pip_check = True -download_dep_fail = False +download_dep_fail = True sources = [SOURCE_TAR_GZ] checksums = ['b86a967fbfd1c8e50295095ccda031b7e890862ee06531d5142844f4c1d1cd67'] diff --git a/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-12.3.0.eb index f5a4e364a1d..f583722391d 100644 --- 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 @@ -23,7 +23,7 @@ dependencies = [ use_pip = True sanity_pip_check = True -download_dep_fail = False +download_dep_fail = True sources = [SOURCE_TAR_GZ] checksums = ['b86a967fbfd1c8e50295095ccda031b7e890862ee06531d5142844f4c1d1cd67'] diff --git a/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-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/pytest-4.6.11-GCC-12.3.0-Python-2.7.18.eb b/easybuild/easyconfigs/p/pytest/pytest-4.6.11-GCC-12.3.0-Python-2.7.18.eb new file mode 100644 index 00000000000..470efa5624e --- /dev/null +++ b/easybuild/easyconfigs/p/pytest/pytest-4.6.11-GCC-12.3.0-Python-2.7.18.eb @@ -0,0 +1,102 @@ +easyblock = 'PythonBundle' + +name = 'pytest' +version = '4.6.11' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://pytest.org' +description = """pytest: simple powerful testing with Python""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +dependencies = [('Python', '2.7.18')] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('contextlib2', '0.6.0.post1', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['3355078a159fbb44ee60ea80abd0d87b80b78c248643b49aa6d94673b413609b'], + }), + ('zipp', '1.2.0', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['e0d9e63797e483a30d27e09fffd308c59a700d365ec34e93cc100844168bf921'], + }), + ('importlib_metadata', '2.1.3', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['52e65a0856f9ba7ea8f2c4ced253fb6c88d1a8c352cb1e916cff4eb17d5a693d'], + }), + ('typing', '3.10.0.0', { + 'source_tmpl': SOURCE_PY2_WHL, + 'checksums': ['c7219ef20c5fbf413b4567092adfc46fa6203cb8454eda33c3fc1afe1398a308'], + }), + ('py', '1.11.0', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378'], + }), + ('attrs', '21.4.0', { + 'modulename': 'attr', + 'source_tmpl': SOURCE_WHL, + 'checksums': ['2d27e3784d7a565d36ab851fe94887c5eccd6a463168875832a1be79c82828b4'], + }), + ('pluggy', '0.13.1', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d'], + }), + ('atomicwrites', '1.4.1', { + 'checksums': ['81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11'], + }), + ('more_itertools', '5.0.0', { + 'source_tmpl': SOURCE_PY2_WHL, + 'checksums': ['c0a5785b1109a6bd7fac76d6837fd1feca158e54e521ccd2ae8bfe393cc9d4fc'], + }), + ('scandir', '1.10.0', { + 'checksums': ['4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae'], + }), + ('pathlib2', '2.3.7.post1', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['5266a0fd000452f1b3467d782f079a4343c63aaa119221fbdc4e39577489ca5b'], + }), + ('six', '1.16.0', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254'], + }), + ('funcsigs', '1.0.2', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['330cc27ccbf7f1e992e69fef78261dc7c6569012cf397db8d3de0234e6c937ca'], + }), + ('configparser', '4.0.2', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['254c1d9c79f60c45dfde850850883d5aaa7f19a23f13561243a050d5a7c3fe4c'], + }), + ('pyparsing', '2.4.7', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b'], + }), + ('packaging', '20.9', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['67714da7f7bc052e064859c05c595155bd1ee9f69f76557e21f051443c20947a'], + }), + ('backports.functools_lru_cache', '1.6.6', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['77e27d0ffbb463904bdd5ef8b44363f6cd5ef503e664b3f599a3bf5843ed37cf'], + }), + ('wcwidth', '0.2.13', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859'], + }), + (name, version, { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['a00a7d79cbbdfa9d21e7d0298392a8dd4123316bfac545075e6f8f24c94d8c97'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pytest'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['pytest --help'] + +moduleclass = 'tools' 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 index 9d0b6f0c25d..45ab5fae484 100644 --- 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 @@ -13,11 +13,12 @@ toolchain = {'name': 'GCCcore', 'version': '12.3.0'} builddependencies = [ ('binutils', '2.40'), ('hatchling', '1.18.0'), + ('flit', '3.9.0'), ] dependencies = [ ('Python', '3.11.3'), - ('Python-bundle-PyPI', '2023.06'), + ('hypothesis', '6.82.0'), ] use_pip = True @@ -39,15 +40,14 @@ _skip_tests = [ _ignore_tests = ' --ignore='.join(_skip_tests) exts_list = [ - ('setuptools-scm', '8.0.4', { - 'checksums': ['b5f43ff6800669595193fd09891564ee9d1d7dcb196cab4b2506d53a2e1c95c7'], + ('iniconfig', '2.0.0', { + 'checksums': ['2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3'], }), - ('flit-core', '3.9.0', { - 'source_tmpl': 'flit_core-%(version)s.tar.gz', - 'checksums': ['72ad266176c4a3fcfab5f2930d76896059851240570ce9a98733b658cb786eba'], + ('exceptiongroup', '1.1.1', { + 'checksums': ['d484c3090ba2889ae2928419117447a14daf3c1231d5e30d0aae34f354f01785'], }), - ('hypothesis', '6.88.1', { - 'checksums': ['f4c2c004b9ec3e0e25332ad2cb6b91eba477a855557a7b5c6e79068809ff8b51'], + ('pluggy', '1.2.0', { + 'checksums': ['d12f0c4b579b15f5e054301bb226ee85eeeba08ffec228092f8defbaa3a4c4b3'], }), ('elementpath', '4.1.5', { 'checksums': ['c2d6dc524b29ef751ecfc416b0627668119d8812441c555d7471da41d4bacb8d'], 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-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.6-foss-2022b.eb b/easybuild/easyconfigs/p/python-igraph/python-igraph-0.10.6-foss-2022b.eb index 01e1aa2d9c6..3b61ec3f869 100644 --- 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 @@ -20,6 +20,7 @@ dependencies = [ ('Clang', '16.0.4'), ('libxml2', '2.10.3'), ('zlib', '1.2.12'), + ('cairo', '1.17.4'), ] use_pip = True diff --git a/easybuild/easyconfigs/p/python-igraph/python-igraph-0.11.4-foss-2023a.eb b/easybuild/easyconfigs/p/python-igraph/python-igraph-0.11.4-foss-2023a.eb new file mode 100644 index 00000000000..3af264daf8b --- /dev/null +++ b/easybuild/easyconfigs/p/python-igraph/python-igraph-0.11.4-foss-2023a.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonBundle' + +name = 'python-igraph' +version = '0.11.4' + +homepage = 'https://igraph.org/python' +description = """Python interface to the igraph high performance graph library, primarily aimed at complex network + research and analysis.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('pkgconf', '1.9.5'), + ('CMake', '3.26.3'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('Clang', '16.0.6'), + ('libxml2', '2.11.4'), + ('zlib', '1.2.13'), + ('igraph', '0.10.10'), + ('cairo', '1.17.8'), +] + +use_pip = True + +exts_list = [ + ('texttable', '1.7.0', { + 'checksums': ['2d2068fb55115807d3ac77a4ca68fa48803e84ebb0ee2340f858107a36522638'], + }), + ('cairocffi', '1.6.1', { + 'checksums': ['78e6bbe47357640c453d0be929fa49cd05cce2e1286f3d2a1ca9cbda7efdb8b7'], + }), + ('igraph', version, { + 'modulename': 'igraph', + 'checksums': ['2437ae0157af6824e2e65a23f7a1fa4fbf0f3664333c72aeca4fc01b83e18483'], + }), +] + + +# cairo must be available for proper plotting support +sanity_check_commands = [ + "python -c 'from igraph.drawing.cairo.utils import find_cairo; " + "cairo = find_cairo(); cairo.Context'", +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/python-irodsclient/python-irodsclient-2.0.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/python-irodsclient/python-irodsclient-2.0.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..8905aaea648 --- /dev/null +++ b/easybuild/easyconfigs/p/python-irodsclient/python-irodsclient-2.0.0-GCCcore-12.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'python-irodsclient' +version = '2.0.0' + +homepage = 'https://github.com/irods/python-irodsclient' +description = "A python API for iRODS" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('defusedxml', '0.7.1', { + 'checksums': ['1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69'], + }), + ('prettytable', '3.9.0', { + 'checksums': ['f4ed94803c23073a90620b201965e5dc0bccf1760b7a7eaf3158cab8aaffdf34'], + }), + (name, version, { + 'modulename': 'irods', + 'checksums': ['4b9de7534c1eeecea4f0d875205cfdc73f7310693748e098b4a3b58c3d781883'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/python-isal/python-isal-1.6.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/python-isal/python-isal-1.6.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..07f49e7a0d1 --- /dev/null +++ b/easybuild/easyconfigs/p/python-isal/python-isal-1.6.1-GCCcore-13.2.0.eb @@ -0,0 +1,33 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'PythonPackage' + +name = 'python-isal' +version = '1.6.1' + +homepage = 'https://github.com/pycompression/python-isal' +description = """Faster zlib and gzip compatible compression and decompression + by providing python bindings for the isa-l library. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [('binutils', '2.40')] +dependencies = [ + ('Python', '3.11.5'), + ('ISA-L', '2.31.0'), +] + +source_urls = [PYPI_SOURCE.replace('%(name)s', 'isal')] +sources = ['isal-%s.tar.gz' % version] +checksums = ['7b64b75d260b544beea3f59cb25a6f520c04768818ef4ac316ee9a1f2ebf18f5'] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +preinstallopts = 'PYTHON_ISAL_LINK_DYNAMIC=true' + +options = {'modulename': 'isal'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/python-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.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.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-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.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-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/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/QCG-PilotJob/QCG-PilotJob-0.14.1-gfbf-2024a.eb b/easybuild/easyconfigs/q/QCG-PilotJob/QCG-PilotJob-0.14.1-gfbf-2024a.eb new file mode 100644 index 00000000000..ae1b1f87ea1 --- /dev/null +++ b/easybuild/easyconfigs/q/QCG-PilotJob/QCG-PilotJob-0.14.1-gfbf-2024a.eb @@ -0,0 +1,70 @@ +easyblock = 'PythonBundle' + +name = 'QCG-PilotJob' +version = '0.14.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': '2024a'} + +dependencies = [ + ('Python', '3.12.3'), + ('SciPy-bundle', '2024.05'), + ('PyZMQ', '26.2.0'), + ('Kaleido', '0.2.1'), + ('statsmodels', '0.14.4'), + ('plotly.py', '5.24.1'), + ('hatchling', '1.24.2'), +] + +use_pip = True + +exts_list = [ + ('patsy', '0.5.6', { + 'checksums': ['95c6d47a7222535f84bff7f63d7303f2e297747a598db89cf5c67f0c0c7d2cdb'], + }), + ('plotly_express', '0.4.1', { + 'checksums': ['ff73a41ce02fb43d1d8e8fa131ef3e6589857349ca216b941b8f3f862bce0278'], + }), + ('prompt_toolkit', '3.0.48', { + 'checksums': ['d6623ab0477a80df74e646bdbc93621143f5caf104206aa29294d53de1a03d90'], + }), + ('trove-classifiers', '2024.10.13', { + 'patches': ['trove-classifiers-2024.10.13_fix_setup.patch'], + 'source_tmpl': 'trove_classifiers-2024.10.13.tar.gz', + 'checksums': [ + {'trove_classifiers-2024.10.13.tar.gz': 'b820fc6f9544543afa15e5d9cfc426cde3b20fc2246dff6f019b835731508cef'}, + {'trove-classifiers-2024.10.13_fix_setup.patch': + 'c90cace5dd0b8a98c60c68681fe453aea97c99038df21c8ad10e11c6816d84af'}, + ], + }), + ('hatch_vcs', '0.4.0', { + 'checksums': ['093810748fe01db0d451fabcf2c1ac2688caefd232d4ede967090b1c1b07d9f7'], + }), + ('setuptools-scm', '8.1.0', { + 'source_tmpl': 'setuptools_scm-8.1.0.tar.gz', + 'checksums': ['42dea1b65771cba93b7a515d65a65d8246e560768a66b9106a592c8e7f26c8a7'], + }), + ('termcolor', '2.5.0', { + 'checksums': ['998d8d27da6d48442e8e1f016119076b690d962507531df4890fcd2db2ef8a6f'], + }), + ('qcg-pilotjob', version, { + 'modulename': 'qcg.pilotjob', + 'checksums': [ + {'qcg-pilotjob-0.14.1.tar.gz': 'f7e162851dce8d94ee424113bc528bfd0d8cc4668e33a3fd9f058ffce9ef409b'}, + ], + }), + ('qcg-pilotjob-cmds', version, { + 'modulename': 'qcg.pilotjob.cmds', + 'checksums': ['58b2b14a278fc255cad0cec308316242b82cb3a08d6e6a517206af1930b09fe3'], + }), + ('qcg-pilotjob-executor-api', version, { + 'modulename': 'qcg.pilotjob.api', + 'checksums': ['66277105b31d5a6ee3cf87d980ce63298d05f466dd102c2ec65ecdb30545e154'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/q/QCG-PilotJob/trove-classifiers-2024.10.13_fix_setup.patch b/easybuild/easyconfigs/q/QCG-PilotJob/trove-classifiers-2024.10.13_fix_setup.patch new file mode 100644 index 00000000000..b1a4d34af27 --- /dev/null +++ b/easybuild/easyconfigs/q/QCG-PilotJob/trove-classifiers-2024.10.13_fix_setup.patch @@ -0,0 +1,13 @@ +# What: Put manually typed version in setup.py +# Author: maxim-masterov (SURF) +diff -Nru trove_classifiers-2024.10.13.orig/setup.py trove_classifiers-2024.10.13/setup.py +--- trove_classifiers-2024.10.13.orig/setup.py 2024-10-14 23:32:23.824712949 +0200 ++++ trove_classifiers-2024.10.13/setup.py 2024-10-14 23:33:35.655405794 +0200 +@@ -12,6 +12,7 @@ + setup( + name="trove-classifiers", + description="Canonical source for classifiers on PyPI (pypi.org).", ++ version="2024.10.13", + long_description=long_description, + long_description_content_type="text/markdown", + url="https://github.com/pypa/trove-classifiers", diff --git a/easybuild/easyconfigs/q/QUAST/QUAST-5.2.0-gfbf-2023a.eb b/easybuild/easyconfigs/q/QUAST/QUAST-5.2.0-gfbf-2023a.eb new file mode 100644 index 00000000000..2d46e6cf6b9 --- /dev/null +++ b/easybuild/easyconfigs/q/QUAST/QUAST-5.2.0-gfbf-2023a.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': 'gfbf', 'version': '2023a'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.11.3'), + ('Perl', '5.36.1'), + ('matplotlib', '3.7.2'), + ('Java', '11', '', SYSTEM), + ('Boost', '1.82.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/QUAST/QUAST-5.2.0-gfbf-2023b.eb b/easybuild/easyconfigs/q/QUAST/QUAST-5.2.0-gfbf-2023b.eb new file mode 100644 index 00000000000..dd6df4bb5ed --- /dev/null +++ b/easybuild/easyconfigs/q/QUAST/QUAST-5.2.0-gfbf-2023b.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': 'gfbf', 'version': '2023b'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.11.5'), + ('Perl', '5.38.0'), + ('matplotlib', '3.8.2'), + ('Java', '11', '', SYSTEM), + ('Boost', '1.83.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-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/Qt5/Qt5-5.15.13-GCCcore-13.2.0.eb b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.13-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..fbf91d9f0af --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.13-GCCcore-13.2.0.eb @@ -0,0 +1,93 @@ + +easyblock = 'EB_Qt' + +name = 'Qt5' +version = '5.15.13' + +homepage = 'https://qt.io/' +description = "Qt is a comprehensive cross-platform C++ application framework." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +# disabling use of -ftree-vectorize is required to avoid compilation failures on some systems (e.g. Intel Skylake X) +toolchainopts = {'vectorize': False} + +source_urls = [ + 'https://download.qt.io/official_releases/qt/%(version_major_minor)s/%(version)s/single/', + 'https://download.qt.io/archive/qt/%(version_major_minor)s/%(version)s/single/', + 'https://download.qt.io/new_archive/qt/%(version_major_minor)s/%(version)s/single/', +] +sources = ['qt-everywhere-opensource-src-%(version)s.tar.xz'] +patches = [ + 'Qt5-5.13.1_fix-avx2.patch', + 'Qt5-5.13.1_fix-qmake-libdir.patch', + 'Qt5-5.15.10_fix-OF-Gentoo.patch', + 'Qt5-5.15.10_fix-qtwebengine-breakpad-glibc-2.34.patch', + 'Qt5-5.15.7_GCC-12.patch', + 'Qt5-5.15.10_webengine-chromium-drop-catapult.patch', + 'Qt5-5.15.10_webengine-chromium-python3.patch', + 'Qt5-5.15.10_webengine-drop-catapult.patch', + 'Qt5-5.15.10_webengine-python3.patch', + 'Qt5-5.15.10_webengine-python3.11.patch', + 'Qt5-5.15.13_fix-XKB_KEY_dead.patch', + 'Qt5-5.15.13_fix-includes.patch', +] +checksums = [ + {'qt-everywhere-opensource-src-5.15.13.tar.xz': '9550ec8fc758d3d8d9090e261329700ddcd712e2dda97e5fcfeabfac22bea2ca'}, + {'Qt5-5.13.1_fix-avx2.patch': '6f46005f056bf9e6ff3e5d012a874d18ee03b33e685941f2979c970be91a9dbc'}, + {'Qt5-5.13.1_fix-qmake-libdir.patch': '511ca9c0599ceb1989f73d8ceea9199c041512d3a26ee8c5fd870ead2c10cb63'}, + {'Qt5-5.15.10_fix-OF-Gentoo.patch': '1c4d3b974422dadb4fd62f79581d48d25ae3d5f5f21489ae8c632e43e2e5286b'}, + {'Qt5-5.15.10_fix-qtwebengine-breakpad-glibc-2.34.patch': + '3b536de3b2da9115d96323a00275fc6066bb048f3747f8e6971facd78ed4e2e2'}, + {'Qt5-5.15.7_GCC-12.patch': '9a5bde91b223a3e2e90d3d6bec107af69a1a0f18d789593738a953080473fa68'}, + {'Qt5-5.15.10_webengine-chromium-drop-catapult.patch': + '6325c6f63b144755fcf040614178923406d7526517d58b29d99b100919acec54'}, + {'Qt5-5.15.10_webengine-chromium-python3.patch': + '128d58c1e83f551daec6e9122fc1cea07be76b79d4e99222969649be24334e1e'}, + {'Qt5-5.15.10_webengine-drop-catapult.patch': '7a488a0d73b7a9f33a2bdb87996f0a16938f5f882385190833679d1d17684907'}, + {'Qt5-5.15.10_webengine-python3.patch': '0e35606506cb218841e05d38214ec6a442f7481630c2d856a09b7863af304023'}, + {'Qt5-5.15.10_webengine-python3.11.patch': '8486fc234de2cdf8a600b204bac5d8eb2bc0bc9b1b1d365505f801c4a201f9c3'}, + {'Qt5-5.15.13_fix-XKB_KEY_dead.patch': '7fcee0d8414f5060d2b93a46bbd109b9712c127747dc654bf9dc99038e6b5340'}, + {'Qt5-5.15.13_fix-includes.patch': '95fc8a41572bce7c6b46cede0bd35fd4f80e2f962b8394b26e6265c2e885e758'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), + # deps for QtWebEngine + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('gperf', '3.1'), + ('Ninja', '1.11.1'), + ('Python', '3.11.5'), + ('re2c', '3.1'), +] + +dependencies = [ + ('double-conversion', '3.3.0'), + ('GLib', '2.78.1'), + ('PCRE2', '10.42'), + ('libpng', '1.6.40'), + ('HarfBuzz', '8.2.2'), + ('graphite2', '1.3.14'), + # deps for QtWebEngine + ('X11', '20231019'), + ('fontconfig', '2.14.2'), + ('DBus', '1.15.8'), + ('libevent', '2.1.12'), + ('libGLU', '9.0.3'), + ('libjpeg-turbo', '3.0.1'), + ('NSS', '3.94'), + ('snappy', '1.1.10'), + ('JasPer', '4.0.0'), + ('bzip2', '1.0.8'), + ('OpenSSL', '1.1', '', SYSTEM), + ('ICU', '74.1'), + ('nodejs', '20.9.0'), +] +# qtgamepad needs recent kernel/libevdev (fails on RHEL 6.x) +# qtwayland fails to build on (some) Centos 7 systems +configopts = '-skip qtgamepad -skip qtwayland ' +# make sure QtWebEngine component is being built & installed +check_qtwebengine = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.15.13_fix-XKB_KEY_dead.patch b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.13_fix-XKB_KEY_dead.patch new file mode 100644 index 00000000000..55381a32941 --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.13_fix-XKB_KEY_dead.patch @@ -0,0 +1,19 @@ +see https://bugreports.qt.io/browse/QTBUG-117950 + https://codereview.qt-project.org/c/qt/qtbase/+/510764 +ported to Qt5 5.15.11 by Kenenth Hoste (HPC-UGent) +--- qt-everywhere-src-5.15.11/qtbase/src/platformsupport/input/xkbcommon/qxkbcommon.cpp.orig 2023-11-24 12:19:01.050524400 +0100 ++++ qt-everywhere-src-5.15.11/qtbase/src/platformsupport/input/xkbcommon/qxkbcommon.cpp 2023-11-24 12:19:23.232570214 +0100 +@@ -273,10 +273,14 @@ + Xkb2Qt, + Xkb2Qt, + Xkb2Qt, ++/* The following four XKB_KEY_dead keys got removed in libxkbcommon 1.6.0 ++ The define check is kind of version check here. */ ++#ifdef XKB_KEY_dead_lowline + Xkb2Qt, + Xkb2Qt, + Xkb2Qt, + Xkb2Qt, ++#endif + + // Special keys from X.org - This include multimedia keys, + // wireless/bluetooth/uwb keys, special launcher keys, etc. diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.15.13_fix-includes.patch b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.13_fix-includes.patch new file mode 100644 index 00000000000..eb54e76ede9 --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.13_fix-includes.patch @@ -0,0 +1,286 @@ +add missing stdint includes required when building with GCC 13.x +and replace variable Pixmap --> PresentPixmap in chromium/third_party/xcbproto/src/src/present.xml +see also: +* https://gcc.gnu.org/gcc-13/porting_to.html +* https://bugreports.qt.io/browse/QTBUG-113111 and https://invent.kde.org/qt/qt/qtlocation-mapboxgl/-/merge_requests/1 +* https://github.com/abseil/abseil-cpp/pull/1187 +Author: Richard Top +diff -ruN qt-everywhere-src-5.15.11.org/qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/geometry.hpp qt-everywhere-src-5.15.11/qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/geometry.hpp +--- qt-everywhere-src-5.15.11.org/qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/geometry.hpp 2024-03-14 13:28:06.564124774 +0000 ++++ qt-everywhere-src-5.15.11/qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/geometry.hpp 2024-03-15 13:01:38.931471150 +0000 +@@ -3,6 +3,7 @@ + #include + #include + #include ++#include + + namespace mbgl { + +diff -ruN qt-everywhere-src-5.15.11.org/qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/string.hpp qt-everywhere-src-5.15.11/qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/string.hpp +--- qt-everywhere-src-5.15.11.org/qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/string.hpp 2024-03-14 13:28:06.564124774 +0000 ++++ qt-everywhere-src-5.15.11/qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/string.hpp 2024-03-15 13:02:09.468570971 +0000 +@@ -5,6 +5,7 @@ + #include + #include + #include ++#include + + // Polyfill needed by Qt when building for Android with GCC + #if defined(__ANDROID__) && defined(__GLIBCXX__) +diff -ruN qt-everywhere-src-5.15.11.org/qtlocation/src/3rdparty/mapbox-gl-native/src/mbgl/gl/stencil_mode.hpp qt-everywhere-src-5.15.11/qtlocation/src/3rdparty/mapbox-gl-native/src/mbgl/gl/stencil_mode.hpp +--- qt-everywhere-src-5.15.11.org/qtlocation/src/3rdparty/mapbox-gl-native/src/mbgl/gl/stencil_mode.hpp 2024-03-14 13:28:06.573124804 +0000 ++++ qt-everywhere-src-5.15.11/qtlocation/src/3rdparty/mapbox-gl-native/src/mbgl/gl/stencil_mode.hpp 2024-03-15 13:02:53.996716526 +0000 +@@ -1,6 +1,7 @@ + #pragma once + + #include ++#include + + namespace mbgl { + namespace gl { +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/base/debug/profiler.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/base/debug/profiler.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/base/debug/profiler.h 2024-03-14 13:27:55.904088924 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/base/debug/profiler.h 2024-03-15 10:42:20.790168875 +0000 +@@ -5,6 +5,7 @@ + #ifndef BASE_DEBUG_PROFILER_H_ + #define BASE_DEBUG_PROFILER_H_ + ++#include + #include + + #include +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h 2024-03-14 13:27:42.056042352 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h 2024-03-15 10:41:41.596041171 +0000 +@@ -5,6 +5,7 @@ + #ifndef CONTENT_PUBLIC_BROWSER_BROWSING_DATA_REMOVER_DELEGATE_H_ + #define CONTENT_PUBLIC_BROWSER_BROWSING_DATA_REMOVER_DELEGATE_H_ + ++#include + #include + #include + #include "base/callback_forward.h" +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc 2024-03-14 13:27:43.805048234 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc 2024-03-15 12:23:06.145909864 +0000 +@@ -2,6 +2,8 @@ + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. + ++#include ++ + #include "device/base/synchronization/one_writer_seqlock.h" + + namespace device { +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h 2024-03-14 13:27:43.809048247 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h 2024-03-15 10:46:46.409034325 +0000 +@@ -5,6 +5,7 @@ + #ifndef DEVICE_BLUETOOTH_PUBLIC_CPP_BLUETOOTH_UUID_H_ + #define DEVICE_BLUETOOTH_PUBLIC_CPP_BLUETOOTH_UUID_H_ + ++#include + #include + #include + +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h 2024-03-14 13:27:45.052052428 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h 2024-03-15 10:48:50.023437092 +0000 +@@ -5,6 +5,8 @@ + #ifndef GPU_COMMAND_BUFFER_COMMON_WEBGPU_CMD_ENUMS_H_ + #define GPU_COMMAND_BUFFER_COMMON_WEBGPU_CMD_ENUMS_H_ + ++#include ++ + namespace gpu { + namespace webgpu { + +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/gpu/config/device_perf_info.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/gpu/config/device_perf_info.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/gpu/config/device_perf_info.h 2024-03-14 13:27:45.065052471 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/gpu/config/device_perf_info.h 2024-03-15 10:49:57.512656983 +0000 +@@ -5,6 +5,7 @@ + #ifndef GPU_CONFIG_DEVICE_PERF_INFO_H_ + #define GPU_CONFIG_DEVICE_PERF_INFO_H_ + ++#include + #include + #include + +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h 2024-03-14 13:27:45.067052478 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h 2024-03-15 10:50:20.183730854 +0000 +@@ -5,6 +5,7 @@ + #ifndef GPU_CONFIG_GPU_FEATURE_INFO_H_ + #define GPU_CONFIG_GPU_FEATURE_INFO_H_ + ++#include + #include + #include + +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h 2024-03-14 13:27:45.066052475 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h 2024-03-15 10:50:38.542790675 +0000 +@@ -5,6 +5,7 @@ + #ifndef GPU_CONFIG_GPU_PREFERENCES_H_ + #define GPU_CONFIG_GPU_PREFERENCES_H_ + ++#include + #include + #include + #include +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h 2024-03-14 13:27:43.093045839 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h 2024-03-15 10:51:04.531875353 +0000 +@@ -5,6 +5,7 @@ + #ifndef NET_COOKIES_COOKIE_INCLUSION_STATUS_H_ + #define NET_COOKIES_COOKIE_INCLUSION_STATUS_H_ + ++#include + #include + #include + +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h 2024-03-14 13:27:46.683057913 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h 2024-03-15 10:54:40.617579415 +0000 +@@ -18,6 +18,7 @@ + + #include + ++#include + #include + #include + #include +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h 2024-03-14 13:27:52.447077298 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h 2024-03-15 10:55:28.931736832 +0000 +@@ -10,6 +10,7 @@ + #ifndef GLSLANG_SHADERVARS_H_ + #define GLSLANG_SHADERVARS_H_ + ++#include + #include + #include + #include +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/third_party/angle/src/common/angleutils.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/third_party/angle/src/common/angleutils.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/third_party/angle/src/common/angleutils.h 2024-03-14 13:27:52.545077627 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/third_party/angle/src/common/angleutils.h 2024-03-15 10:55:58.804834168 +0000 +@@ -15,6 +15,7 @@ + # include "absl/container/flat_hash_map.h" + #endif // defined(ANGLE_USE_ABSEIL) + ++#include + #include + #include + #include +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h 2024-03-14 13:27:51.652074624 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h 2024-03-15 10:57:14.952082395 +0000 +@@ -30,6 +30,7 @@ + #ifndef CLIENT_LINUX_HANDLER_MINIDUMP_DESCRIPTOR_H_ + #define CLIENT_LINUX_HANDLER_MINIDUMP_DESCRIPTOR_H_ + ++#include + #include + #include + +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h 2024-03-14 13:27:45.756054795 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h 2024-03-15 10:57:53.513208099 +0000 +@@ -17,6 +17,7 @@ + #ifndef INCLUDE_PERFETTO_EXT_BASE_UUID_H_ + #define INCLUDE_PERFETTO_EXT_BASE_UUID_H_ + ++#include + #include + #include + +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h 2024-03-14 13:27:46.287056581 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h 2024-03-15 10:58:43.177369996 +0000 +@@ -11,6 +11,7 @@ + #ifndef CALL_RTP_DEMUXER_H_ + #define CALL_RTP_DEMUXER_H_ + ++#include + #include + #include + #include +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h 2024-03-14 13:27:46.005055632 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h 2024-03-15 10:59:32.856531943 +0000 +@@ -12,6 +12,7 @@ + #ifndef RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_ + #define RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_ + ++#include + #include + #include + +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.cc qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.cc +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.cc 2024-03-14 13:27:43.604047558 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.cc 2024-03-15 18:53:59.688584563 +0000 +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. + ++#include + #include "ui/events/gesture_event_details.h" + #include "base/check_op.h" + #include "base/notreached.h" +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h 2024-03-14 13:27:56.087089539 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h 2024-03-15 11:00:03.834632926 +0000 +@@ -5,6 +5,7 @@ + #ifndef V8_BASE_LOGGING_H_ + #define V8_BASE_LOGGING_H_ + ++#include + #include + #include + #include +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h 2024-03-14 13:27:56.086089536 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h 2024-03-15 11:00:25.271702805 +0000 +@@ -5,6 +5,7 @@ + #ifndef V8_BASE_MACROS_H_ + #define V8_BASE_MACROS_H_ + ++#include + #include + #include + +diff -ruN qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h +--- qt-everywhere-src-5.15.11.org/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h 2024-03-14 13:27:56.046089401 +0000 ++++ qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h 2024-03-15 11:00:51.074786919 +0000 +@@ -5,6 +5,7 @@ + #ifndef V8_INSPECTOR_V8_STRING_CONVERSIONS_H_ + #define V8_INSPECTOR_V8_STRING_CONVERSIONS_H_ + ++#include + #include + + // Conversion routines between UT8 and UTF16, used by string-16.{h,cc}. You may +diff -ruN qt-everywhere-src-5.15.13.org/qtwebengine/src/3rdparty/chromium/third_party/xcbproto/src/src/present.xml qt-everywhere-src-5.15.13/qtwebengine/src/3rdparty/chromium/third_party/xcbproto/src/src/present.xml +--- qt-everywhere-src-5.15.13.org/qtwebengine/src/3rdparty/chromium/third_party/xcbproto/src/src/present.xml 2024-03-14 13:27:52.060075996 +0000 ++++ qt-everywhere-src-5.15.13/qtwebengine/src/3rdparty/chromium/third_party/xcbproto/src/src/present.xml 2024-03-23 09:26:13.650758730 +0000 +@@ -89,7 +89,7 @@ + + + +- ++ + + + +diff -ruN qt-everywhere-src-5.15.13.org/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h qt-everywhere-src-5.15.13/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h +--- qt-everywhere-src-5.15.13.org/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h 2024-03-14 13:27:55.702088244 +0000 ++++ qt-everywhere-src-5.15.13/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h 2024-03-23 20:30:28.015096733 +0000 +@@ -7,7 +7,7 @@ + + #include + #include +- ++#include + #include "base/macros.h" + + namespace content { diff --git a/easybuild/easyconfigs/q/Qt6/Qt6-6.6.3-GCCcore-13.2.0.eb b/easybuild/easyconfigs/q/Qt6/Qt6-6.6.3-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..605542a89fd --- /dev/null +++ b/easybuild/easyconfigs/q/Qt6/Qt6-6.6.3-GCCcore-13.2.0.eb @@ -0,0 +1,89 @@ +easyblock = 'CMakeNinja' + +name = 'Qt6' +version = '6.6.3' + +homepage = 'https://qt.io/' +description = "Qt is a comprehensive cross-platform C++ application framework." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +# disabling use of -ftree-vectorize is required to avoid compilation failures on some systems (e.g. Intel Skylake X) +toolchainopts = {'vectorize': False} + +source_urls = [ + 'https://download.qt.io/official_releases/qt/%(version_major_minor)s/%(version)s/single/', + 'https://download.qt.io/archive/qt/%(version_major_minor)s/%(version)s/single/', + 'https://download.qt.io/new_archive/qt/%(version_major_minor)s/%(version)s/single/', +] +sources = ['qt-everywhere-src-%(version)s.tar.xz'] +patches = [ + 'Qt6-6.6.3_fix_OF-Gentoo.patch', +] +checksums = [ + {'qt-everywhere-src-6.6.3.tar.xz': '69d0348fef415da98aa890a34651e9cfb232f1bffcee289b7b4e21386bf36104'}, + {'Qt6-6.6.3_fix_OF-Gentoo.patch': 'd4d4878ac76cb985e45eb3b6e90ba2233f65807d6bd9bbe2b71365b181347b7b'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), + ('CMake', '3.27.6'), + ('Ninja', '1.11.1'), + # deps for QtWebEngine + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('gperf', '3.1'), + ('re2c', '3.1'), +] + +dependencies = [ + ('double-conversion', '3.3.0'), + ('GLib', '2.78.1'), + ('PCRE2', '10.42'), + ('libpng', '1.6.40'), + ('LibTIFF', '4.6.0'), + ('libwebp', '1.3.2'), + ('JasPer', '4.0.0'), + ('HarfBuzz', '8.2.2'), + ('SQLite', '3.43.1'), + ('graphite2', '1.3.14'), + ('assimp', '5.3.1'), # for Qt 3D + ('FFmpeg', '6.0'), + ('X11', '20231019'), + ('fontconfig', '2.14.2'), + ('zlib', '1.2.13'), + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), # WebEngine + ('freetype', '2.13.2'), # WebEngine + ('DBus', '1.15.8'), + ('libevent', '2.1.12'), # WebEngine + ('libGLU', '9.0.3'), + ('libjpeg-turbo', '3.0.1'), # WebEngine + ('NSS', '3.94'), # WebEngine, required + ('snappy', '1.1.10'), # WebEngine + ('OpenSSL', '1.1', '', SYSTEM), + ('ICU', '74.1'), # WebEngine, optional + ('nodejs', '20.9.0'), # WebEngine, required + # ('gRPC', '1.52.2'), # WebEngine needs older Abseil/gRPC/protobuf +] + +preconfigopts = 'sed -i "s/MultiMedia/Multimedia/g" ../qt-everywhere-src-%(version)s/qtcharts/CMakeLists.txt &&' # Typo +preconfigopts += 'sed -i "23i set(Python3_ROOT_DIR \\$ENV{EBROOTPYTHON})" ' \ + '../qt-everywhere-src-6.6.3/qtwebengine/src/gn/CMakeLists.txt &&' + +configopts = '-Wno-dev ' +configopts += '-DFEATURE_qtpdf_build=OFF ' # Requires CUPS +configopts += '-DQT_AVOID_CMAKE_ARCHIVING_API=ON ' +configopts += '-DPython3_ROOT_DIR=$EBROOTPYTHON ' +configopts += '-DBUILD_qtwayland=OFF ' # Does not work on CentOS 7 +# Removed from Qt6.0.0 but may be added back in the future +# configopts += '-DBUILD_qtgamepad=OFF ' # Does not work on CentOS 7 + +sanity_check_paths = { + 'files': ['bin/qmake6', 'lib/libQt6Core.%s' % SHLIB_EXT, 'lib/libQt6WebEngineCore.%s' % SHLIB_EXT], + 'dirs': ['include/QtCore', 'include/QtWebEngineCore'], +} + +sanity_check_commands = ['qmake6 --help'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/q/Qt6/Qt6-6.6.3_fix_OF-Gentoo.patch b/easybuild/easyconfigs/q/Qt6/Qt6-6.6.3_fix_OF-Gentoo.patch new file mode 100644 index 00000000000..9ba2974b9b7 --- /dev/null +++ b/easybuild/easyconfigs/q/Qt6/Qt6-6.6.3_fix_OF-Gentoo.patch @@ -0,0 +1,49 @@ +############################################ +# Update from Qt5-5.14.1_fix-OF-Gentoo.patch +# 1. qt3d/..../unzip/ioapi.h and qtquick3d/..../unzip/ioapi.h do not use OF macro anymore +# 2. qtquick3d/..../minizip/ioapi.h is moved to qt3d/..../minizip/ioapi.h +############################################ +fix compilation on top of zlib provided by Gentoo, +where OF macro has been renamed to _Z_OF +see https://bugreports.qt.io/browse/QTBUG-68467 and https://bugs.gentoo.org/383179 +author: Kenneth Hoste (HPC-UGent) +diff --git a/qt3d/src/3rdparty/assimp/src/contrib/unzip/ioapi.h +b/qt3d/src/3rdparty/assimp/src/contrib/zlib/contrib/unzip/ioapi.h +index 8dcbdb06e3..e9cc96914e 100644 +--- a/qt3d/src/3rdparty/assimp/src/contrib/unzip/ioapi.h ++++ b/qt3d/src/3rdparty/assimp/src/contrib/unzip/ioapi.h +@@ -130,6 +130,14 @@ extern "C" { + #endif + + ++// if OF macro is not defined but _Z_OF is, define OF as _Z_OF ++// required when building with zlib provided by Gentoo ++// see https://bugreports.qt.io/browse/QTBUG-68467 and https://bugs.gentoo.org/383179 ++#ifndef OF ++ #ifdef _Z_OF ++ #define OF _Z_OF ++ #endif ++#endif + + + typedef voidpf (ZCALLBACK *open_file_func) OF((voidpf opaque, const char* filename, int mode)); +diff --git a/qtwebengine/src/3rdparty/chromium/third_party/zlib/contrib/minizip/ioapi.h b/qtwebengine/src/3rdparty/chromium/third_party/zlib/contrib/minizip/ioapi.h +index c1b7a54847..c5546a26b9 100644 +--- a/qtwebengine/src/3rdparty/chromium/third_party/zlib/contrib/minizip/ioapi.h ++++ b/qtwebengine/src/3rdparty/chromium/third_party/zlib/contrib/minizip/ioapi.h +@@ -130,6 +130,14 @@ extern "C" { + #endif + + ++// if OF macro is not defined but _Z_OF is, define OF as _Z_OF ++// required when building with zlib provided by Gentoo ++// see https://bugreports.qt.io/browse/QTBUG-68467 and https://bugs.gentoo.org/383179 ++#ifndef OF ++ #ifdef _Z_OF ++ #define OF _Z_OF ++ #endif ++#endif + + + typedef voidpf (ZCALLBACK *open_file_func) OF((voidpf opaque, const char* filename, int mode)); + diff --git a/easybuild/easyconfigs/q/Qt6/Qt6-6.7.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/q/Qt6/Qt6-6.7.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..deb2902a42a --- /dev/null +++ b/easybuild/easyconfigs/q/Qt6/Qt6-6.7.2-GCCcore-13.3.0.eb @@ -0,0 +1,90 @@ +easyblock = 'CMakeNinja' + +name = 'Qt6' +version = '6.7.2' + +homepage = 'https://qt.io/' +description = "Qt is a comprehensive cross-platform C++ application framework." + +toolchain = {'name': 'GCCcore', 'version': '13.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 = [ + '%(name)s-6.6.3_fix_OF-Gentoo.patch', + 'Qt6-6.7.2_fix_cpu_features.patch', +] +checksums = [ + {'qt-everywhere-src-6.7.2.tar.xz': '0aaea247db870193c260e8453ae692ca12abc1bd841faa1a6e6c99459968ca8a'}, + {'Qt6-6.6.3_fix_OF-Gentoo.patch': 'd4d4878ac76cb985e45eb3b6e90ba2233f65807d6bd9bbe2b71365b181347b7b'}, + {'Qt6-6.7.2_fix_cpu_features.patch': '3f37e7a4e4ed38cc82037be9504bc644e48bf258555ffff848183142725c9dc8'}, +] + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), + ('CMake', '3.29.3'), + ('Ninja', '1.12.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.80.4'), + ('PCRE2', '10.43'), + ('libpng', '1.6.43'), + ('LibTIFF', '4.6.0'), + ('libwebp', '1.4.0'), + ('JasPer', '4.2.4'), + ('HarfBuzz', '9.0.0'), + ('SQLite', '3.45.3'), + ('graphite2', '1.3.14'), + ('assimp', '5.4.3'), # for Qt 3D + ('FFmpeg', '7.0.2'), + ('X11', '20240607'), + ('fontconfig', '2.15.0'), + ('zlib', '1.3.1'), + ('Python', '3.12.3'), + ('Python-bundle-PyPI', '2024.06'), + ('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.104'), # WebEngine, required + ('snappy', '1.2.1'), # WebEngine + ('OpenSSL', '3', '', SYSTEM), + ('ICU', '75.1'), + ('nodejs', '20.13.1'), + # ('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 && ' + +preconfigopts += 'sed -i "23i set(Python3_ROOT_DIR \\$ENV{EBROOTPYTHON})" ' +preconfigopts += '../qt-everywhere-src-%(version)s/qtwebengine/src/gn/CMakeLists.txt && ' # Typo + +configopts = "-Wno-dev -DFEATURE_qtpdf_build=OFF -DQT_AVOID_CMAKE_ARCHIVING_API=ON " +configopts += "-DPython3_ROOT_DIR=$EBROOTPYTHON -DBUILD_qtwayland=OFF " + + +# 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.7.2_fix_cpu_features.patch b/easybuild/easyconfigs/q/Qt6/Qt6-6.7.2_fix_cpu_features.patch new file mode 100644 index 00000000000..0109ba0726b --- /dev/null +++ b/easybuild/easyconfigs/q/Qt6/Qt6-6.7.2_fix_cpu_features.patch @@ -0,0 +1,56 @@ +# What: Comment out incorrect detection of CPU features when only AVX2 flag is set. +# See relevant bug reports: +# https://bugs.gentoo.org/908420 +# https://bugs.gentoo.org/898644 +# Author: maxim-masterov (SURF) +diff -Nru qt-everywhere-src-6.7.2.orig/qtbase/src/corelib/global/qsimd_p.h qt-everywhere-src-6.7.2/qtbase/src/corelib/global/qsimd_p.h +--- qt-everywhere-src-6.7.2.orig/qtbase/src/corelib/global/qsimd_p.h 2024-09-20 12:05:26.732359000 +0200 ++++ qt-everywhere-src-6.7.2/qtbase/src/corelib/global/qsimd_p.h 2024-09-23 22:31:44.861936347 +0200 +@@ -227,14 +227,14 @@ + # if defined(__AVX2__) + // List of features present with -march=x86-64-v3 and not architecturally + // implied by __AVX2__ +-# define ARCH_HASWELL_MACROS \ +- (__AVX2__ + __BMI__ + __BMI2__ + __F16C__ + __FMA__ + __LZCNT__ + __POPCNT__) +-# if ARCH_HASWELL_MACROS != 7 +-# error "Please enable all x86-64-v3 extensions; you probably want to use -march=haswell or -march=x86-64-v3 instead of -mavx2" +-# endif +-static_assert(ARCH_HASWELL_MACROS, "Undeclared identifiers indicate which features are missing."); +-# define __haswell__ 1 +-# undef ARCH_HASWELL_MACROS ++//# define ARCH_HASWELL_MACROS \ ++// (__AVX2__ + __BMI__ + __BMI2__ + __F16C__ + __FMA__ + __LZCNT__ + __POPCNT__) ++//# if ARCH_HASWELL_MACROS != 7 ++//# error "Please enable all x86-64-v3 extensions; you probably want to use -march=haswell or -march=x86-64-v3 instead of -mavx2" ++//# endif ++//static_assert(ARCH_HASWELL_MACROS, "Undeclared identifiers indicate which features are missing."); ++//# define __haswell__ 1 ++//# undef ARCH_HASWELL_MACROS + # endif + + // x86-64 sub-architecture version 4 +@@ -244,15 +244,15 @@ + // with AVX512 support and it includes all of these too. The GNU libc subdir for + // this is "glibc-hwcaps/x86-64-v4". + // +-# define ARCH_SKX_MACROS (__AVX512F__ + __AVX512BW__ + __AVX512CD__ + __AVX512DQ__ + __AVX512VL__) +-# if ARCH_SKX_MACROS != 0 +-# if ARCH_SKX_MACROS != 5 +-# error "Please enable all x86-64-v4 extensions; you probably want to use -march=skylake-avx512 or -march=x86-64-v4 instead of -mavx512f" +-# endif +-static_assert(ARCH_SKX_MACROS, "Undeclared identifiers indicate which features are missing."); +-# define __skylake_avx512__ 1 +-# endif +-# undef ARCH_SKX_MACROS ++//# define ARCH_SKX_MACROS (__AVX512F__ + __AVX512BW__ + __AVX512CD__ + __AVX512DQ__ + __AVX512VL__) ++//# if ARCH_SKX_MACROS != 0 ++//# if ARCH_SKX_MACROS != 5 ++//# error "Please enable all x86-64-v4 extensions; you probably want to use -march=skylake-avx512 or -march=x86-64-v4 instead of -mavx512f" ++//# endif ++//static_assert(ARCH_SKX_MACROS, "Undeclared identifiers indicate which features are missing."); ++//# define __skylake_avx512__ 1 ++//# endif ++//# undef ARCH_SKX_MACROS + #endif /* Q_PROCESSOR_X86 */ + + // NEON intrinsics diff --git a/easybuild/easyconfigs/q/QtPy/QtPy-2.4.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/q/QtPy/QtPy-2.4.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..91aea4a371f --- /dev/null +++ b/easybuild/easyconfigs/q/QtPy/QtPy-2.4.1-GCCcore-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'QtPy' +version = '2.4.1' + +homepage = "https://github.com/spyder-ide/qtpy" +description = """QtPy is a small abstraction layer that lets you write applications using a single API call to + either PyQt or PySide. It provides support for PyQt5, PyQt4, PySide2 and PySide.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['a5a15ffd519550a1361bdc56ffc07fda56a6af7292f17c7b395d4083af632987'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('PyQt5', '5.15.10'), + ('Python-bundle-PyPI', '2023.06'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/q/Qtconsole/Qtconsole-5.5.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/q/Qtconsole/Qtconsole-5.5.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..61694a5b190 --- /dev/null +++ b/easybuild/easyconfigs/q/Qtconsole/Qtconsole-5.5.1-GCCcore-12.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonPackage' + +name = 'Qtconsole' +version = '5.5.1' + +homepage = 'https://jupyter.org/' +description = """A rich Qt-based console for working with Jupyter kernels, supporting rich media +output, session export, and more. +The Qtconsole is a very lightweight application that largely feels like a +terminal, but provides a number of enhancements only possible in a GUI, such as +inline figures, proper multiline editing with syntax highlighting, graphical +calltips, and more.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a0e806c6951db9490628e4df80caec9669b65149c7ba40f9bf033c025a5b56bc'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('IPython', '8.14.0'), + ('QtPy', '2.4.1'), + ('Jupyter-bundle', '20230823'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/q/QuPath/QuPath-0.5.0-GCCcore-12.3.0-Java-17.eb b/easybuild/easyconfigs/q/QuPath/QuPath-0.5.0-GCCcore-12.3.0-Java-17.eb new file mode 100644 index 00000000000..f2d3ffb6c4d --- /dev/null +++ b/easybuild/easyconfigs/q/QuPath/QuPath-0.5.0-GCCcore-12.3.0-Java-17.eb @@ -0,0 +1,45 @@ +easyblock = 'CmdCp' + +name = 'QuPath' +version = '0.5.0' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://qupath.github.io' +description = """QuPath is open source software for bioimage analysis. +QuPath is often used for digital pathology applications because it offers + a powerful set of tools for working with whole slide images - but it can + be applied to lots of other kinds of image as well.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/qupath/qupath/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['d244234ea2fd042488ca4a879f22103764dd3ed27cf9367a8293e50794023524'] + +builddependencies = [ + ('binutils', '2.40'), + ('Gradle', '8.6', versionsuffix, SYSTEM), +] + +dependencies = [ + ('OpenSlide-Java', '0.12.4', versionsuffix), + ('Java', '17', '', SYSTEM), +] + +cmds_map = [('.*', "gradle clean jpackage -P openslide=$EBROOTOPENSLIDEMINJAVA/lib/openslide-java/openslide.jar")] + +files_to_copy = [ + 'build/dist/%(name)s/bin', + 'build/dist/%(name)s/lib', +] + +modextrapaths = {'PATH': ['']} + +sanity_check_paths = { + 'files': ['bin/QuPath', 'lib/libapplauncher.%s' % SHLIB_EXT], + 'dirs': ['lib/app', 'lib/runtime'], +} + +sanity_check_commands = ["QuPath --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/q/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/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-2021b.eb b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-6.8-foss-2021b.eb index fc8ad317547..aedc3282d14 100644 --- a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-6.8-foss-2021b.eb +++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-6.8-foss-2021b.eb @@ -41,4 +41,7 @@ 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 index 4b187cd70ee..5982b4efde6 100644 --- a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-6.8-intel-2021a.eb +++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-6.8-intel-2021a.eb @@ -41,4 +41,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-7.0-foss-2021b.eb b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.0-foss-2021b.eb index a0a1ebea9ea..9f62ca5ad84 100644 --- a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.0-foss-2021b.eb +++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.0-foss-2021b.eb @@ -41,4 +41,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 = 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 index febc60c8c61..3aef60958a6 100644 --- a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.0-intel-2021b.eb +++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.0-intel-2021b.eb @@ -41,4 +41,7 @@ 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 index 87066c6ae6d..3f34e98c970 100644 --- a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.1-foss-2022a.eb +++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.1-foss-2022a.eb @@ -48,4 +48,7 @@ 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 index a81be226c25..931d16c7f63 100644 --- a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.1-intel-2022a.eb +++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.1-intel-2022a.eb @@ -48,4 +48,7 @@ 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 index 376073c6808..9362d5a9fb8 100644 --- a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.2-foss-2022b.eb +++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.2-foss-2022b.eb @@ -45,6 +45,8 @@ dependencies = [ # which depends on qe source buildopts = 'all gwl xspectra couple epw gipaw w90' +with_fox = True + # parallel build tends to fail parallel = 1 diff --git a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.2-foss-2023a.eb b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.2-foss-2023a.eb index 4a79d7df97a..8369f3fb31a 100644 --- a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.2-foss-2023a.eb +++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.2-foss-2023a.eb @@ -46,6 +46,8 @@ dependencies = [ # which depends on qe source buildopts = "all gwl xspectra couple epw gipaw w90" +with_fox = True + # parallel build tends to fail parallel = 1 diff --git a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.2-intel-2022b.eb b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.2-intel-2022b.eb index 8b78a44b1f6..53852bd770b 100644 --- a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.2-intel-2022b.eb +++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.2-intel-2022b.eb @@ -9,7 +9,9 @@ It is based on density-functional theory, plane waves, and pseudopotentials """ toolchain = {'name': 'intel', 'version': '2022b'} -toolchainopts = {'usempi': True, 'openmp': True} +# 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 = [ { @@ -45,6 +47,8 @@ dependencies = [ # which depends on qe source buildopts = 'all gwl xspectra couple epw gipaw w90' +with_fox = True + # parallel build tends to fail parallel = 1 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-foss-2024a.eb b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.3.1-foss-2024a.eb new file mode 100644 index 00000000000..8cbd539a51d --- /dev/null +++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.3.1-foss-2024a.eb @@ -0,0 +1,159 @@ +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': '2024a'} + +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.29.3'), + ('pkgconf', '2.2.0'), +] +dependencies = [ + ('HDF5', '1.14.5'), + ('ELPA', '2024.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/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/q2-krona/q2-krona-20220124-GCCcore-11.3.0.eb b/easybuild/easyconfigs/q/q2-krona/q2-krona-20220124-GCCcore-11.3.0.eb index a3b32792201..7666fd54d3b 100644 --- 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 @@ -15,6 +15,7 @@ builddependencies = [ dependencies = [ ('Python', '3.10.4'), + ('KronaTools', '2.8.1'), ] use_pip = True 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/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-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/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-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 index 542cb7906c0..fd091166b36 100644 --- 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 @@ -16,7 +16,6 @@ dependencies = [ ('R', '4.1.0'), ('Boost', '1.76.0'), # for mzR ('GSL', '2.7'), # for flowClust - ('HDF5', '1.10.7'), # for rhdf5 ('ncdf4', '1.17', versionsuffix), # for mzR ('arrow-R', '6.0.0.2', versionsuffix), # required by RcisTarget ] 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 index 761944fd152..e6a7f8828df 100644 --- 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 @@ -18,7 +18,6 @@ dependencies = [ ('R', '4.1.2'), ('Boost', '1.77.0'), # for mzR ###### ('GSL', '2.7'), # for flowClust - ('HDF5', '1.12.1'), # for rhdf5 ('arrow-R', '6.0.0.2', versionsuffix), # required by RcisTarget ] 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 index 2cd7b030d51..ca9f54f0088 100644 --- 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 @@ -16,7 +16,6 @@ dependencies = [ ('R', '4.2.0'), ('Boost', '1.77.0'), # for mzR ('GSL', '2.7'), # for flowClust - ('HDF5', '1.12.1'), # for rhdf5 ('arrow-R', '6.0.0.2', versionsuffix), # required by RcisTarget ] 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 index f6924e214d5..2f9800a49ad 100644 --- 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 @@ -18,7 +18,6 @@ dependencies = [ ('R', '4.2.1'), ('Boost', '1.79.0'), # for mzR ('GSL', '2.7'), # for flowClust - ('HDF5', '1.12.2'), # for rhdf5 ('arrow-R', '8.0.0', versionsuffix), # required by RcisTarget ] 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 index ef1d97ba4c9..1728329d079 100644 --- 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 @@ -16,7 +16,6 @@ dependencies = [ ('R', '4.2.2'), ('Boost', '1.81.0'), # for mzR ('GSL', '2.7'), # for flowClust - ('HDF5', '1.14.0'), # for rhdf5 ('arrow-R', '11.0.0.3', versionsuffix), # required by RcisTarget ] @@ -322,7 +321,12 @@ exts_list = [ 'checksums': ['3dabec627b5e21da365979d6980565bd338e5a6ec8c3a016f3726ebb6184da70'], }), ('Rhdf5lib', '1.20.0', { - 'checksums': ['a73b462be309c9df11afc9b941282dcefb36b4a38d15c050fd98bb3c05bbaf7f'], + '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'], 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/R-bundle-Bioconductor-3.19-foss-2023b-R-4.4.1.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.19-foss-2023b-R-4.4.1.eb new file mode 100644 index 00000000000..f426b6ffbc5 --- /dev/null +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.19-foss-2023b-R-4.4.1.eb @@ -0,0 +1,1362 @@ +easyblock = 'Bundle' + +name = 'R-bundle-Bioconductor' +version = '3.19' +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': '2023b'} + +builddependencies = [('pkgconf', '2.0.3')] + +dependencies = [ + ('R', '4.4.1'), + ('Boost', '1.83.0'), # for mzR + ('GSL', '2.7'), # for flowClust + ('arrow-R', '16.1.0', versionsuffix), # required by RcisTarget +] + +exts_default_options = { + 'source_urls': [ + 'https://bioconductor.org/packages/3.19/bioc/src/contrib/', + 'https://bioconductor.org/packages/3.19/bioc/src/contrib/Archive/%(name)s', + 'https://bioconductor.org/packages/3.19/data/annotation/src/contrib/', + 'https://bioconductor.org/packages/3.19/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 24 June 2024 +exts_list = [ + ('BiocGenerics', '0.50.0', { + 'checksums': ['11d72e20c087911a58d08db7898d47424930e00265d6e65ae87d14d786f20014'], + }), + ('Biobase', '2.64.0', { + 'checksums': ['a21e35cdf4eeb71fc144712bb619d4ea5124c4013ceb14034a4d638231a0b627'], + }), + ('S4Vectors', '0.42.0', { + 'checksums': ['a94ac904e9e86cccefcade949f27992956727ce3ad2f15d8134421aac191002b'], + }), + ('IRanges', '2.38.0', { + 'checksums': ['62e646697a1dc2f292b2ea374abb1026ccbe2deedc2f1e5a87e2f99e2142e610'], + }), + ('GenomeInfoDbData', '1.2.12', { + 'checksums': ['f7556dc1a0e7b8c33ae7b86519f3f4af15d77c3e2a7be2f6e4a291bf0a95a355'], + }), + ('UCSC.utils', '1.0.0', { + 'checksums': ['349de171d96d28875fdbac104e4a10f0d6c891fdec6676d755d1fa6c5a2f2e71'], + }), + ('GenomeInfoDb', '1.40.1', { + 'checksums': ['80432e8531dc1573a573f940ac3da294faf1b801bbc66a9eef71b5754f90bc94'], + }), + ('zlibbioc', '1.50.0', { + 'checksums': ['0298d59b3bb87179a6accd506a51c80fb9ff922defd24208beb2c93e5032b894'], + }), + ('XVector', '0.44.0', { + 'checksums': ['42a35e3056f4289369082b3f04f6fdd66ea8cccf2dddb7388117f074ea49bb3b'], + }), + ('Biostrings', '2.72.1', { + 'checksums': ['fac10383d8a70ccf0f9b30fb0bc44676160462bbcc81b8edd46d5d7db6f0fb18'], + }), + ('KEGGREST', '1.44.1', { + 'checksums': ['3a4ae05edf81e8667c0b56145e987e52aa768d056873a79c5843c1f257d30d27'], + }), + ('AnnotationDbi', '1.66.0', { + 'checksums': ['3aa793c6888ad50a63d88e2a2df59655c6384ada9db2c5d84473ca76fafa5ebc'], + }), + ('GenomicRanges', '1.56.1', { + 'checksums': ['aaceaadc4562c1bd363370df53c8533ecf2a90fc36c5ceafe0bd5d54626a143c'], + }), + ('BiocParallel', '1.38.0', { + 'checksums': ['7e96e07beb4e59ab08d8064aaf6b4e414c9ccd7657e9949d7d9b2325b2113cd6'], + }), + ('Rhtslib', '3.0.0', { + 'checksums': ['dbecc8c9c6763f636eef38e207be238bd2e80feec0813149f6d8b1ce07592711'], + }), + ('Rsamtools', '2.20.0', { + 'checksums': ['689d914c78a085d15cf6d8a2511cd9ae2c6f2c95755ded799228beca7f039f12'], + }), + ('MatrixGenerics', '1.16.0', { + 'checksums': ['ccff61558f067237b96ea71509e4ca95ad465000294067eb21101892d02df6e4'], + }), + ('S4Arrays', '1.4.1', { + 'checksums': ['94b7e95a5f18e4106d8de1f4d8b1c25a8273aca0fe04519d227a7a6870b8bf71'], + }), + ('SparseArray', '1.4.8', { + 'checksums': ['b5c56eec735d429bafae4b9628818b0dae92e1813c6dc67480009c00a3d91caa'], + }), + ('DelayedArray', '0.30.1', { + 'checksums': ['a66af4adea2ab37be5b7bbc1322bb5d9c7f1f18a9171f6f2e3e839f1b3bad758'], + }), + ('SummarizedExperiment', '1.34.0', { + 'checksums': ['e0c2b2c512dcf273b6c74115bac49093932753b69bb0d95ff80fbcb7057e9b09'], + }), + ('GenomicAlignments', '1.40.0', { + 'checksums': ['fa68d1745004157501460f38d79b6ebb00975ad8a270bf97373665a0ac6c5f96'], + }), + ('pwalign', '1.0.0', { + 'checksums': ['67f1cc7342b2bf887e46fdee8e7ce41be9c4c61fffdfe952bbbab8284b0d12d4'], + }), + ('ShortRead', '1.62.0', { + 'checksums': ['550ead16ef1aa2dca0f221a570ca8216b077d1627701c824cf45773145c7b174'], + }), + ('graph', '1.82.0', { + 'checksums': ['1ba6c6c24905dd081880b9faeb8c3fdf11e67b267cd150a354d45ca4920641f1'], + }), + ('affyio', '1.74.0', { + 'checksums': ['10ed36d8317a1998e7d833e1d2268831f015202adc9f8a06b801f89fa48cda94'], + }), + ('preprocessCore', '1.66.0', { + 'installopts': "--configure-args='--disable-threading'", + 'checksums': ['b59794e3a0dce5b80392c88eef087e6c18a832c69a10a6bd84c2dd35550ca9b1'], + }), + ('BiocManager', '1.30.23', { + 'checksums': ['f7b45dbc49c97b2e6ec4b96ec1d472c6f1a5ad9bc0f933eea4c3ebc90dd8f34c'], + }), + ('affy', '1.82.0', { + 'checksums': ['be770650fec7477b478b7f03f0a3481b036bc2ee08a3dbcee4338fe60313e2a7'], + }), + ('GO.db', '3.19.1', { + 'checksums': ['0f6e6045e5cce6c842ad2ca73a13573b6838ed38f71661dd99d127033c993ba5'], + }), + ('limma', '3.60.3', { + 'checksums': ['ef46a3a924730d359df02f0f439ab2c3923a98b1252b977600e3789865a5c33b'], + }), + ('RBGL', '1.80.0', { + 'checksums': ['63376ec40804f76035ef64dfe6f697ae179071b43a6d33feaf263eba5976d9d8'], + }), + ('org.Hs.eg.db', '3.19.1', { + 'checksums': ['1932eff4d5d46c1ab219565dfff6706c93cfddc6bcbc65223832cc583f702bf7'], + }), + ('AnnotationForge', '1.46.0', { + 'checksums': ['c1b234391b582f5d10b87a80a3bbe00d3d2800d5fc3acf03ff12e8b0608a79c6'], + }), + ('annaffy', '1.76.0', { + 'checksums': ['b22e1f1b513684ffa1f2b7328e96afad1857aa27eda21838c62092ef91ad2889'], + }), + ('gcrma', '2.76.0', { + 'checksums': ['e35a659cbd927fd21341888e9ca04f0eeed4bd0f8272254a1104fa1436596905'], + }), + ('oligoClasses', '1.66.0', { + 'checksums': ['962c4f90080dd104bdaeb91178baa1552f761d3261130695bfd2667e2b732c96'], + }), + ('edgeR', '4.2.0', { + 'checksums': ['0f4343a340dbb609b6688d9b1eecb99bc474572c720c8ae7a21e4b30e0b86df0'], + }), + ('PFAM.db', '3.19.1', { + 'checksums': ['737392dc9e92499052761f547771f624b7aa06546f280da3758c747485504b4a'], + }), + ('perm', '1.0-0.4', { + 'checksums': ['561e01793a9032b6a3676a7819fe24175eeb9e96a5314bd78b9c48d46e627be9'], + }), + ('baySeq', '2.38.0', { + 'checksums': ['343d1ffece90f2ce5da7a37f41b471f2e6ad35abb7ed811272867619bff5935a'], + }), + ('qvalue', '2.36.0', { + 'checksums': ['4a3cf7ec1f241779f893e15858c44ea4b74f4a5669c602c26ac8e5a0d7cef3c1'], + }), + ('impute', '1.78.0', { + 'checksums': ['7929cc5eb5895d7f2498e96d4f8e67c3a79ce769b9b03ab09570668d924815bc'], + }), + ('shinyFiles', '0.9.3', { + 'checksums': ['4a72e165ee8a6e8256988f27286a2cfc4d7a42e2a902f4f2a728b1c237c07286'], + }), + ('samr', '3.0', { + 'checksums': ['25f88ac002c2adce8881a562241bc12d683810a05defb553e8e3d4878f037506'], + }), + ('DEGseq', '1.58.0', { + 'checksums': ['e098ca226955c0ca72e1c1e18e7478b778322c8063b79b1dadc8811dda7442c5'], + }), + ('hgu133plus2.db', '3.13.0', { + 'checksums': ['ddde58e777a8341536a664c7d4be874a2f395f8aaa019c1f738462a8ce74cc44'], + }), + ('illuminaio', '0.46.0', { + 'checksums': ['dbeb46b6a2c73bb59d47778595ff92eece58c709a8aea080576ddbf2e90d7650'], + }), + ('BiocIO', '1.14.0', { + 'checksums': ['9010bd8bdf810f571825bc055464219365168c6daadb2d6b8c74ed616fa3fa5e'], + }), + ('restfulr', '0.0.15', { + 'checksums': ['40ff8f1fb2987af2223e1a855bb1680c5ce2143fbce7ebc42f1edb291f80e692'], + }), + ('rtracklayer', '1.64.0', { + 'checksums': ['6f8cbfd14ac9919c28778f8745f72ee6867a2fa2eed98bebdc1d632c43c64c40'], + }), + ('filelock', '1.0.3', { + 'checksums': ['2dcd0ec453f5ec4d96f69b0c472569d57d3c5f9956a82a48492ee02f12071137'], + }), + ('BiocFileCache', '2.12.0', { + 'checksums': ['2e716d10a27ecb677095144dd707273c534f8d1f11d248fed63aa45ea285664b'], + }), + ('biomaRt', '2.60.0', { + 'checksums': ['78e2ad6c877e2b38f12c07fffcf7ce3121423f5e1359a7ce37fa4daf67a3526f'], + }), + ('GenomicFeatures', '1.56.0', { + 'checksums': ['854d651450c227e9ba791e4424ad3905cc3096abaf8b2fb621c917bccb4b2de4'], + }), + ('bumphunter', '1.46.0', { + 'checksums': ['c8f0815529fd7cc8eb147894a1acca2b5ce8547b0636e77cbe65de9a1f686521'], + }), + ('multtest', '2.60.0', { + 'checksums': ['e4cb2c1a8bec46b6b097f67d828622fa2d2f21926cc3214f8d605f8e592ebb11'], + }), + ('scrime', '1.3.5', { + 'checksums': ['5d97d3e57d8eb30709340fe572746029fd139456d7a955421c4e3aa75d825578'], + }), + ('siggenes', '1.78.0', { + 'checksums': ['d53e262aed40e60c4de944583367f84065ca4ea284135e7a0af9378170839648'], + }), + ('DynDoc', '1.82.0', { + 'checksums': ['5a9e0a67e0b628336d687ca5a7b14a265960cd70b3d5cd8fddf5bc837d73929c'], + }), + ('NOISeq', '2.48.0', { + 'checksums': ['7fd5002ed01dd9371cb971cba591ae8f0ef89bb1b6e7adde9dc4a1f2e025f0aa'], + }), + ('Rgraphviz', '2.48.0', { + 'patches': ['Rgraphviz-2.28.0_fno-tree-vectorize.patch'], + 'checksums': [ + {'Rgraphviz_2.48.0.tar.gz': 'a5186c8834061f77da944f562d1561ee2e332942529f63ccf2781f8314392126'}, + {'Rgraphviz-2.28.0_fno-tree-vectorize.patch': + '15783e9daba6f63c8e655858468a99e9f4f088468dbe3b414825e5844cf6b4a9'}, + ], + }), + ('RNASeqPower', '1.44.0', { + 'checksums': ['41b9b5bb5d5cafa88ba92f8b1d4e57a4f5233d30f024214d97ef18224965614b'], + }), + ('annotate', '1.82.0', { + 'checksums': ['0e688a52c2234dc5e30032aa7633899b73840e8d123c05392814664e85c09aec'], + }), + ('GSEABase', '1.66.0', { + 'checksums': ['80e055587af68f40dfb8bd790fa79b5f374026c748e1bc5942f59d796b46cdde'], + }), + ('genefilter', '1.86.0', { + 'checksums': ['f956579624e4445e6c83e7d9655cb4f2c6481fa4682669ce057a85f5df96e74a'], + }), + ('Category', '2.70.0', { + 'checksums': ['9cb2c5ff698299d8d16eaf7c4150966f79650e652836227ba71b2f9d11345f5d'], + }), + ('GOstats', '2.70.0', { + 'checksums': ['9a99832199d42aa749167435d2c393973922613b665200e6757a626a51d6cfb7'], + }), + ('BSgenome', '1.72.0', { + 'checksums': ['98541684ea234a3c102338b4a4d055817d92a088b9e67ea88b6a339fa79a4bde'], + }), + ('VariantAnnotation', '1.50.0', { + 'checksums': ['e7b91042f123b6fbab0d9f84a1dae68e56a308886fe84fffd572c2622aa49b6a'], + }), + ('interactiveDisplayBase', '1.42.0', { + 'checksums': ['ebcb21c762d19262aecab0f8070a5c7cd695ed4c04335ee12628bf80ac590946'], + }), + ('BiocVersion', '3.19.1', { + 'checksums': ['b096e4e98c2000dcc3aaf2aa0628b1c7ecb2f68f7835071dd34bbf11061215fe'], + }), + ('AnnotationHub', '3.12.0', { + 'checksums': ['a138dc289305b598fa7c7ea732c1b5947a54bfd127fe7242b3da772147b042b5'], + }), + ('AnnotationFilter', '1.28.0', { + 'checksums': ['805c593c97cc38a1f52b429fd0c903fffd5cd98f7e40f9e4c23535427541b5e9'], + }), + ('ProtGenerics', '1.36.0', { + 'checksums': ['96ba5d3743bf140911350b45b1c0dd47eceeb9d9cc6f778baad0efa75f231140'], + }), + ('ensembldb', '2.28.0', { + 'checksums': ['8750dacf2b39d9c26fc0972bfd43cb6a18c1251e6000a7e768c0a784f9b30382'], + }), + ('biovizBase', '1.52.0', { + 'checksums': ['e79e81845d095a48ea2a994635fff3f9545f7cf0ee2d0fbcfbc7cbc6a5b46cc9'], + }), + ('txdbmaker', '1.0.0', { + 'checksums': ['b5b40f7832f23c16e0ae956400cb7ee7f5190000f246fc981c25ddccc8363d25'], + }), + ('OrganismDbi', '1.46.0', { + 'checksums': ['53824caa128dbbae0baee8a551c59c625e11818f7c45569aaf74d69bc530d0b1'], + }), + ('ggbio', '1.52.0', { + 'checksums': ['37ac8ba40da018bc7c4162198310b563dc878a3b26a107eabfe9f8af100cd03c'], + }), + ('geneplotter', '1.82.0', { + 'checksums': ['557a3f5b07f83b87509482a3677d380ab56df4a911781e25411d88cbf7c8f6a7'], + }), + ('DESeq2', '1.44.0', { + 'checksums': ['b6b1f0e1d1c626196220e8d8238a71bde6aa36e227b54461ffb01cb6fadcf1c8'], + }), + ('ReportingTools', '2.44.0', { + 'checksums': ['27d0fd4af8a36a2a2500016e910bcb99ec34cd521571665c95358e2d6433046f'], + }), + ('Glimma', '2.14.0', { + 'checksums': ['8afaeb8ec52790b8fbe2c3613414389f699a98e842cbe79672c08e9be3c0f9b4'], + }), + ('affycoretools', '1.76.0', { + 'checksums': ['dc49547685085c9cdc68e0865193388b978bdc0e284d6b23c8cd22e386452370'], + }), + ('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.54.0', { + 'checksums': ['427378b7d953a52da83a997592cd96a5a08c11f00b9ce810e90eb4d75ccfa8ae'], + }), + ('geneLenDataBase', '1.40.1', { + 'checksums': ['689efdfe8d896720a2d43162ea8d877f6cced7efa9c5a4b760f9bcfcb0060e31'], + }), + ('goseq', '1.56.0', { + 'checksums': ['f91ace836dc5a9e2a210e63657cadfea425f5501ee29e40461eb29f02f6b872d'], + }), + ('KEGGgraph', '1.64.0', { + 'checksums': ['e71a46e0d81999c3b473fc07fc1c5e7094b5ed4f26e55e7de14bbacaf7c2ce51'], + }), + ('GEOquery', '2.72.0', { + 'checksums': ['f4da8a7d18af93bd6916f7509c2faaab06792a3c796cc83d327a40444bda1e67'], + }), + ('mixOmics', '6.28.0', { + 'checksums': ['72f37405011a34e5a001c0feeb397488f334154a20ada9f08bde72f2a178ed0e'], + }), + ('Rhdf5lib', '1.26.0', { + 'patches': ['Rhdf5lib-1.20.0_fix_hardcoded_path_to_mv.patch'], + 'checksums': [ + {'Rhdf5lib_1.26.0.tar.gz': '4b3147da31b60c1f2b37db770059762862da7d28cab66d2aaf3799fcede89160'}, + {'Rhdf5lib-1.20.0_fix_hardcoded_path_to_mv.patch': + 'fd35fd20166aa67cf5fbc194861d9196a2220fd40057b0524722ecc3de4774e8'}, + ], + }), + ('rhdf5filters', '1.16.0', { + 'checksums': ['1df1452264bdb9057c682d6c5d90178046bdd34addd923c100b32c77c9b84e3b'], + }), + ('rhdf5', '2.48.0', { + 'checksums': ['9683e5b11da8bda62894f1fefd488490592ed6b739ac4954fa03735a3fb7cb20'], + }), + ('HDF5Array', '1.32.0', { + 'checksums': ['e11ad98c43a280d9a14efaf09921b35546c6f4cc67b3e246d531078e53fa1949'], + }), + ('sparseMatrixStats', '1.16.0', { + 'checksums': ['eed13a7335ef09168ece41481484a5e43c5281644d1e296af76d20a84d4e1312'], + }), + ('DelayedMatrixStats', '1.26.0', { + 'checksums': ['da8c23a5ab6328ce70ef2a9de7f48809b139b5956dbb27c34e86a0e080370eb3'], + }), + ('minfi', '1.50.0', { + 'checksums': ['32b6af0856e91f988224a1a353836fb83808c8052bc82a8f24f079d61a2764c2'], + }), + ('FDb.InfiniumMethylation.hg19', '2.2.0', { + 'checksums': ['605aa3643588a2f40a942fa760b92662060a0dfedb26b4e4cd6f1a78b703093f'], + }), + ('methylumi', '2.50.0', { + 'checksums': ['4a0ea9667c5ac2fd8469739490f2a5b2f0392e8689d666720501f9ed07e143d7'], + }), + ('lumi', '2.56.0', { + 'checksums': ['fe5faa1b13eb5a273cfbf55da2d12eae94cb693a90570381ee596e0f006f2713'], + }), + ('widgetTools', '1.82.0', { + 'checksums': ['1b9b1bf9e611519244f7c7674fc03b8e5625b55b189154f697b6d9ab5cfeda4e'], + }), + ('tkWidgets', '1.82.0', { + 'checksums': ['f4ebf026463b09f89c6e1c6e417ba5bda911a221e2627f20f0795503462e2d4c'], + }), + ('Mfuzz', '2.64.0', { + 'checksums': ['b0681da31f1f5cc19f9e6905e436ced2b9423df47a700ff81682e3f2d6305d03'], + }), + ('venn', '1.12', { + 'checksums': ['ed86b69bd99ceea93352a30699a0baba3fd8cdcde907a9476e92be202ad8721d'], + }), + ('maSigPro', '1.76.0', { + 'checksums': ['3e57ab4633fda25995e4dc0e443e8b57bceb2d1879cfa2db887949829eec65cd'], + }), + ('SPIA', '2.56.0', { + 'checksums': ['88683c83f5355a52d8402d216a34020545ca84317d9a12adc39007718b4fd32a'], + }), + ('Gviz', '1.48.0', { + 'checksums': ['17f80b8e6babc59150a04376d4fa7e7217c12bcf8bb80850fa29f56ff03c831f'], + }), + ('cummeRbund', '2.46.0', { + 'checksums': ['34a9184fc869277201315302d4d4b54ac889888e9d18919717e02b4e8210b541'], + }), + ('GenomicFiles', '1.40.0', { + 'checksums': ['d16cb66995e761aafe533564b80d0ce376c96ab3fdcb196f364b9ab7b12a16ac'], + }), + ('derfinderHelper', '1.38.0', { + 'checksums': ['416cbee2b98043f5d0507f9a79eec1dbb1d197a2abd515ab2accb8afb3e40605'], + }), + ('derfinder', '1.38.0', { + 'checksums': ['31d0ef6e605946d8cd65448c339f6f8fe4d216a2b204f2f564f623b0381095c4'], + }), + ('polyester', '1.39.0', { + 'checksums': ['7d3c5cb370103df7a0d6470200f41cc3ba9ed19a11fbab7d26583ebf2ac4803b'], + }), + ('Rsubread', '2.18.0', { + 'checksums': ['cfdd2848a54098ae9748869f75b4631290b9d7730174cc4772b7eb066658a559'], + }), + ('pcaMethods', '1.96.0', { + 'checksums': ['f15662bdd30fa86cde65a7a2bc17cbc271a80cca4953133d2c89867c6b0738c3'], + }), + ('marray', '1.82.0', { + 'checksums': ['1e742111e2d7e3dfdf40f21591089939bd867ee37de79a994fa6a925125626c1'], + }), + ('CGHbase', '1.64.0', { + 'checksums': ['f3eff2a421b065a6945eefce5179a39a2372378e74bb9b4cfdd06d379b4be3bb'], + }), + ('Wrench', '1.22.0', { + 'checksums': ['87ee979194e17814eefaa6594d9453d7b8688e5f2bab908d616868769fc28bdb'], + }), + ('lpsymphony', '1.32.0', { + 'checksums': ['e15601377a7dbd47dafeadfe22203858cc77b6ec6fec60e04d68cc520caf92f1'], + }), + ('IHW', '1.32.0', { + 'checksums': ['46071fbf7a98644049d4d160acbf05e31fe0e376145e2fb7ff1fe57fa177f948'], + }), + ('metagenomeSeq', '1.46.0', { + 'checksums': ['d30829dae478914884252f3a0a903b174c5c2186b96cf98c049b02fd168f4b2e'], + }), + ('gdsfmt', '1.40.0', { + 'checksums': ['275595c55e959234e3f80fa565c1dcc333e308b697466962d7b5028002366aea'], + }), + ('SNPRelate', '1.38.0', { + 'checksums': ['ae7c666147e00c6a417fb735b2ca31b907727d0e59a09e67bd7e4265f74ed37e'], + }), + ('biomformat', '1.32.0', { + 'checksums': ['ebdfa810c311afb2f72cbdd13a5fc957f93b63530136b74dea6a0c74ab05da4b'], + }), + ('phyloseq', '1.48.0', { + 'checksums': ['7131f8be736a7879c3bfb4e2cbf6f2161a7d07782bbdbec64847778619271829'], + }), + ('NADA', '1.6-1.1', { + 'checksums': ['670ff6595ba074ed0a930b7a09624d5ef20616379a20e768c1a7b37332aee44a'], + }), + ('zCompositions', '1.5.0-4', { + 'checksums': ['73188e1e065a042723ed7a48df04e22317b204222d40744b83e8c392aae16aaf'], + }), + ('RcppZiggurat', '0.1.6', { + 'checksums': ['9c78255ca476c945c05a564d1e4da363de714d890e0e27f3b252fd73c50eed71'], + }), + ('Rfast', '2.1.0', { + 'checksums': ['f9e46cac99db756cd49c9cd83be8adc0d381e6c03102389bfdcb8258d02418ff'], + }), + ('directlabels', '2024.1.21', { + 'checksums': ['bb3ba484ff9486fd8e9ce65073b69ce38e42f1fab2f42822eecfec7823f6b6fe'], + }), + ('ALDEx2', '1.36.0', { + 'checksums': ['7ec4afcf6be7b369aad32a81e02d7b12b0d98643a691529be052f9b5469a17af'], + }), + ('dada2', '1.32.0', { + 'checksums': ['eb2c84383a0c9109d858d8e8d982c96a60dc8db6b5c93de2c5f557b6cab280a9'], + }), + ('LEA', '3.16.0', { + 'patches': ['LEA-3.0.0_support_aarch64_and_ppc64le.patch'], + 'checksums': [ + {'LEA_3.16.0.tar.gz': 'd51945ec3f0b3d724165f0da18153cd90f1764d6a42f17715dd09d339991d664'}, + {'LEA-3.0.0_support_aarch64_and_ppc64le.patch': + 'caeaae7aa0577540bc9c03b54ce5a0fe4ff1a28ac503106e2b3acd1b9db82881'}, + ], + }), + ('tximport', '1.32.0', { + 'checksums': ['6607361be244ae3000ffa6f2217b85256e57cb77ebf5e476e4e6a459c08a5e71'], + }), + ('SingleCellExperiment', '1.26.0', { + 'checksums': ['76e080bbed5634caf152a02799d722750ede9ecf2b97bd9743bd949732984b27'], + }), + ('beachmat', '2.20.0', { + 'checksums': ['deec903046f14e656a92076e4c7bdf1c1ecdb456d942e83d661ac52a78fa7d3f'], + }), + ('RcppAnnoy', '0.0.22', { + 'checksums': ['9f2121d787c4d3e7beccdd65f5d1de81f31c99d57d5d61ca3cc5af7169dd8f65'], + }), + ('RcppHNSW', '0.6.0', { + 'checksums': ['a5a6ed00a84143aa62aa67df66fcccae657d5db0a1f9bb4b955a8e94c2ff580f'], + }), + ('BiocNeighbors', '1.22.0', { + 'checksums': ['2d727fa9e983afd7ff268eef5f6692846e44b50c7248868f98d51b4034232fcf'], + }), + ('rsvd', '1.0.5', { + 'checksums': ['e40686b869acd4f71fdb1e8e7a6c64cd6792fc9d52a78f9e559a7176ab84e21e'], + }), + ('ScaledMatrix', '1.12.0', { + 'checksums': ['f15ea729ef6162a68c437d887d40981aa7f0d613ac777a727e3e0c7d6db9da30'], + }), + ('BiocSingular', '1.20.0', { + 'checksums': ['5ef96e2b745641e3a87429558d57e79d7417c115f8a3459fe47e48aa87e589f6'], + }), + ('scuttle', '1.14.0', { + 'checksums': ['9a0f97f30de69a7f4912f781f110fc54303702dc5df526410f71175fa6294ab2'], + }), + ('RcppML', '0.3.7', { + 'checksums': ['325c6515085527eb9123cc5e87e028547065771ed4d623048f41886ae28908c6'], + }), + ('sitmo', '2.0.2', { + 'checksums': ['448ef8d56e36783354011845daf33f1efb83ea3b9685eea75eaf5134e24fa8c2'], + }), + ('dqrng', '0.4.1', { + 'checksums': ['3d9df935020c3c2538bc712456079925c4b379d67407c83fbc008340e353288f'], + }), + ('uwot', '0.2.2', { + 'checksums': ['d9938c43d29530d4b36d1b2649cc679b09945a740db2cd3a266242b1aa9a6cd1'], + }), + ('ggrastr', '1.0.2', { + 'checksums': ['cb27406dca99cea6440adf6edb7eb53141b60322452f5a5d4409e36516ad20d1'], + }), + ('scater', '1.32.0', { + 'checksums': ['38ca230af45593033d10a9b7f21b4f5a759beddb26fae9af8027265526cfcc24'], + }), + ('bluster', '1.14.0', { + 'checksums': ['8a7b1818ca21442a1d1166f82e248e8eab5d02c21557d69fd87971db44e747ae'], + }), + ('metapod', '1.12.0', { + 'checksums': ['16b9a417ec3bcb68a18e859f24e6ba1b3764892d53af32fbc9c980e3c5d31c80'], + }), + ('scran', '1.32.0', { + 'checksums': ['4129cc3487c32e184edfa75133de244c5b96661d24eb7211ecdca4b209163e68'], + }), + ('SC3', '1.32.0', { + 'checksums': ['d9ead64f1b2ab75aec2487db9b4195905e5c59e6bf40557478c7572ce599977a'], + }), + ('ComplexHeatmap', '2.20.0', { + 'checksums': ['1bed53e570d491a6d5d7b6565d37c816f074d820f9bdd8c5876d6f0b0aeaffde'], + }), + ('GENIE3', '1.26.0', { + 'checksums': ['8f05b94ed052fe11b177919276095c88a4e8071b868d2344d10a2b2d48f75c46'], + }), + ('dupRadar', '1.34.0', { + 'checksums': ['b2b3179e153513b74f55788c283a94aa02ae30061c05806cd8f9568cc71ea071'], + }), + ('DNAcopy', '1.78.0', { + 'checksums': ['b45f09b751ffff9f65737b89f6ff041dfc01c9f2ed552fa7ab2ced6856369ae0'], + }), + ('sva', '3.52.0', { + 'checksums': ['7f3ca65871666e4d1a41e997b0ae2932bb2037bb03092a3b33a615574942381e'], + }), + ('ballgown', '2.36.0', { + 'checksums': ['3b4965a6e33830631a07df7bc8a1508b84d716844cb8afc159f546e0f0da6a74'], + }), + ('DropletUtils', '1.24.0', { + 'checksums': ['8fce3364079e446fc0fedd61fb3dfe0b0323515f756fff64b05a80182d43c807'], + }), + ('DeconRNASeq', '1.46.0', { + 'checksums': ['2fa0a09948d34b22fdfdf3149e7c2d55fcc8bc481198bfed8053354498769b43'], + }), + ('SpatialExperiment', '1.14.0', { + 'checksums': ['99d4de41a441f9adbcb0a1ed8796c8af722d791035b0ba2e5b91696ef4570438'], + }), + ('GSVA', '1.52.3', { + 'checksums': ['64223ed3c067ad4e586621a0283664f46446f007cbe472927bc58232f078dd22'], + }), + ('PureCN', '2.10.0', { + 'checksums': ['6e599102c314a3fbf2085c97f4e74f600d9bd58de6195bd5fa146f0b12dddcef'], + }), + ('globaltest', '5.58.0', { + 'checksums': ['85242a695aab61081a39a75bff818ecc783d21dc78cd6b808e2ba6cb64d0fbb2'], + }), + ('GlobalAncova', '4.22.0', { + 'checksums': ['10af604e16b124e4be81f568fc4885face40bbdb4a11d42198801c4f6051e17c'], + }), + ('vsn', '3.72.0', { + 'checksums': ['15b96f588284cdc966bb5c57eab21a9838c962574e07efdb279d76d2446acce4'], + }), + ('mzID', '1.42.0', { + 'checksums': ['4536c5e31a94f81796bea5c52cfe7e356821dc08f93162223671c3013fd7094e'], + }), + ('mzR', '2.38.0', { + 'checksums': ['b30140c44ff74872359d7fff40fded93159c20323cdc6851fa3e276dfb10bf09'], + }), + ('MsCoreUtils', '1.16.0', { + 'checksums': ['8aa0d960ce488c83d7c644ccd519fed832387e09369edb74d6dfdc41e4c2a6a2'], + }), + ('BiocBaseUtils', '1.6.0', { + 'checksums': ['a4d8aa652a1ab929cd66172b315d2fb79e489f06a2ddbdb4288a76132ffc0b39'], + }), + ('MultiAssayExperiment', '1.30.2', { + 'checksums': ['5ffa2a920e8d3f247d1b2d2523c482c6ad5edb554e32e2b404ae8b4f01c5e4c8'], + }), + ('QFeatures', '1.14.1', { + 'checksums': ['a8250c5e5885d440d0a5a707805113cba7421187c727425e5ef18fa6dc52fbe9'], + }), + ('PSMatch', '1.8.0', { + 'checksums': ['708056aec441ab0e52c9e47f09e4ea91d15c07c406378c451a25b5a16321818f'], + }), + ('MSnbase', '2.30.1', { + 'checksums': ['ce5c78305083a0657210351095dac9f057dbf29f73c02c3a8240c22dab88bb31'], + }), + ('MassSpecWavelet', '1.70.0', { + 'checksums': ['426a6dfa39f95fbfca9f04f940ac67b7dbe0c70493e7471533bf4c06a0b27b32'], + }), + ('MsFeatures', '1.12.0', { + 'checksums': ['6abea027683a04f32f3ac6f8dc34f204a90238f035ea8bd048463245772136df'], + }), + ('MetaboCoreUtils', '1.12.0', { + 'checksums': ['04640049d68077124cdab054c5a6c48bf8d13ebda5c686a8ee9b5d607ac0b4f8'], + }), + ('Spectra', '1.14.1', { + 'checksums': ['54a1cba7a5e664685867bf3e864b3fc9b6c59f1f8da55d7fce6a1f7b5ab36e57'], + }), + ('MsExperiment', '1.6.0', { + 'checksums': ['cd8092c88876873eb025fa0b0c6e3ed10879c3006cdc8cf738314855b81cbb37'], + }), + ('xcms', '4.2.2', { + 'checksums': ['9e1c8f0c283cbaed63a87d40618df04bbc09859a723f9b817487804129a169fe'], + }), + ('CAMERA', '1.60.0', { + 'checksums': ['843476e9fd99a06444f8ba8d1a00bc76357cc96aec6431672fabfd7da28391f1'], + }), + ('fgsea', '1.30.0', { + 'checksums': ['5efa96dd094a5ee6f464f38c49c6d9c03f495c9a94228e912f900899bdc6db5a'], + }), + ('GWASExactHW', '1.2', { + 'checksums': ['d3137a478338f03de52b75b3eb1b9cce135c82b81ed39fde692b1e0157ddecf7'], + }), + ('quantsmooth', '1.70.0', { + 'checksums': ['ec1d0c5271edd34a9719222c098d86dbfcc919030026e2074d62110930ccedd5'], + }), + ('GWASTools', '1.50.0', { + 'checksums': ['84db4b6f555a88585d64ef4c8c423ed8e1d808fe7c8994760e1a24a6b8d87804'], + }), + ('SeqArray', '1.44.0', { + 'checksums': ['13a1b9b44dd66e6e4141ae089f2c9f762bdbf9090c6ac14186113963fc3108bd'], + }), + ('SeqVarTools', '1.42.0', { + 'checksums': ['fe5d89902b14e86cdb439502396bc38275dae6319b1e0f5dd8c196548258a3d7'], + }), + ('GENESIS', '2.34.0', { + 'checksums': ['998cd2df615dbb1d6beb3482c4d68c229bca1daa7ca2d297ea56ec8102af60ca'], + }), + ('MLInterfaces', '1.84.0', { + 'checksums': ['f6628090dcbe5eb440c0f03a521bc72b828db066a9d0cc9dd8dffe5cd6a40cd5'], + }), + ('pRoloc', '1.44.1', { + 'checksums': ['ff5f59eef3447f96ff27afb377657aed7de28af57a8ac97686857d8cc0007527'], + }), + ('pRolocdata', '1.42.0', { + 'checksums': ['4da950b0f8eca905c5cfe1bfe27394c086334276170079f0953f3bf1b2462c37'], + }), + ('fresh', '0.2.0', { + 'checksums': ['a92db254ae88e8371efac44efe2cf1f5be7cce62291fdf994ebd68c14dad079d'], + }), + ('waiter', '0.2.5', { + 'checksums': ['9ac25e979db9242598bd0492ff862360009b51ce672184ec9f4eeb2232164979'], + }), + ('shinydashboardPlus', '2.0.4', { + 'checksums': ['b87cd038ed94235d6210a434d1fa80abac3ecea47e01ad8d9892ec4023ea9385'], + }), + ('shinyhelper', '0.3.2', { + 'checksums': ['f7ed62543ab4d05a34b69a9183517a09e93e1b2da85b113282de0f9982db90b0'], + }), + ('anytime', '0.3.9', { + 'checksums': ['1096c15249ac70997a8a41c37eeb2a6d38530621abeae05d3dcd96a8acc7574a'], + }), + ('shinyWidgets', '0.8.6', { + 'checksums': ['863c245891953795c50f3998d5b17335c5f2a0de9fe902ec6081f53c2e5f60b7'], + }), + ('pRolocGUI', '2.14.0', { + 'checksums': ['0859266cedc16d48d53f46b7f1f502fdd6372ea71047d7aaf3ea9f0e05dcb653'], + }), + ('EBImage', '4.46.0', { + 'checksums': ['5c343d8f0438bc9e1d317e9d8f1300ef4af86e1a8f1c783d9099d34493754a61'], + }), + ('GenomicScores', '2.16.0', { + 'checksums': ['2a9e929c00706bdd18741413304f4bed0107b1dc26cb961363a14a91595c4a87'], + }), + ('BSgenome.Mmusculus.UCSC.mm10', '1.4.3', { + 'checksums': ['dcf602bf9fadf1ef4ce70e0c0fc92b6435467df5affe7d0872d88a93b99ff9ee'], + }), + ('TxDb.Mmusculus.UCSC.mm10.knownGene', '3.10.0', { + 'checksums': ['696281749d01737c94894564d62093433045bc007a4528cc3d94f205edb54977'], + }), + ('regioneR', '1.36.0', { + 'checksums': ['2bef2e8c0d08e9bc092123a485aec22d7e1fe21de81c221aaec5040737a6edf9'], + }), + ('InteractionSet', '1.32.0', { + 'checksums': ['1a06acb7baab7846de9fa437c0f9634453ba2a86495eefab9eb0e6673eac7346'], + }), + ('universalmotif', '1.22.0', { + 'checksums': ['fed7c59661771c859e093f9a51668468df773e1af0e3e40abec85c3a56ac5acd'], + }), + ('ChIPpeakAnno', '3.38.0', { + 'checksums': ['f4e5b298a7c8a6df79c1a02291aecf20bcba400a4e343541e8a3f790de28f7bc'], + }), + ('seqLogo', '1.70.0', { + 'checksums': ['397e7f06b2c5074eb53d4370bf4d13678cec296a844b3e378ada6a13c91b8c94'], + }), + ('rGADEM', '2.52.0', { + 'checksums': ['cace9996ff0b67fa5b5b640e5eac1e11ecd1c9eeb32e4f0e089edc20bb753bb4'], + }), + ('MotifDb', '1.46.0', { + 'checksums': ['707d54cd3bee0064c8ff5ea473cf98f4a5805d0d20a4977e2fc200f49e391ed5'], + }), + ('poweRlaw', '0.80.0', { + 'checksums': ['713556af1f47e1de749670d08f963688908cfa80e9dfda590efd1a28441772cb'], + }), + ('CNEr', '1.40.0', { + 'checksums': ['5b1b172b23847768ff56f1d823634b02797ccf0ad1487df9b261d18fee816ea6'], + }), + ('DirichletMultinomial', '1.46.0', { + 'checksums': ['0b7f0d48ac584d1f50ab89ab928b7ef40cc577c6d317514d9653136737414d36'], + }), + ('TFMPvalue', '0.0.9', { + 'checksums': ['b9db56e75e2cee840d8b7861686dec07ee2c40cbc7d55361e5d04f1bf0c65de7'], + }), + ('TFBSTools', '1.42.0', { + 'checksums': ['505bc906a725f0093ce833f06a29ef317cb2818e737aea725ba984d3ebd3b52e'], + }), + ('motifStack', '1.48.0', { + 'checksums': ['72ea38e4e05695e4bb92433a6d0a61868a7856623f5f15026191bc0954f86497'], + }), + ('ATACseqQC', '1.28.0', { + 'checksums': ['beea902891ff101d81bb71a2f00626b864b948ce446f0b81aab41b08ff6d2c52'], + }), + ('ResidualMatrix', '1.14.0', { + 'checksums': ['f63df941d0df726562ead6d3b8ff87e65c728cbaf6ca4ea615028353e8ff47e0'], + }), + ('batchelor', '1.20.0', { + 'checksums': ['80661ba295afddc1cd9b95a7b97994d71a979a07018f3f936c36840341cde0c0'], + }), + ('gsmoothr', '0.1.7', { + 'checksums': ['b75ffd2a4a0f357762e02e46e355b45cc90ea637830f0a1b01f216bb4541e903'], + }), + ('R.devices', '2.17.2', { + 'checksums': ['403eeaf552dd696142096973dee3460dc52c19b73fd194841dd4638e2bdcec95'], + }), + ('R.filesets', '2.15.1', { + 'checksums': ['08f5e9269b4f5ffb86f9a369fba792d864240d5f5c02dab435007b53ee989de3'], + }), + ('aroma.light', '3.34.0', { + 'checksums': ['9fef7be410af21d4a02217f3f459168147d9f745fbe7f909e1576a3b075944ec'], + }), + ('PSCBS', '0.67.0', { + 'checksums': ['2695d18d197a3bd729cca0940248ddc1880e4f54da95b9ecc5eda002a715cdbe'], + }), + ('aroma.core', '3.3.1', { + 'checksums': ['fa26bca509750eb44e85cae2d78b03870c003d4f7e0360977e924a7838805e44'], + }), + ('R.huge', '0.10.1', { + 'checksums': ['05cb1edaaa0ad120c2946a80405c8c8da6a778873f08ff203391452527786ce8'], + }), + ('aroma.apd', '0.7.0', { + 'checksums': ['9d60ead247edb7bf8d172f14881222adda0893a693f997b0da00c29cfd37d1f6'], + }), + ('aroma.affymetrix', '3.2.2', { + 'checksums': ['18e1c9479e3e41bdfff06769d0ff2d85fcae16042cfd0eefa4dbcd0c4f3c9c40'], + }), + ('Repitools', '1.50.0', { + 'checksums': ['2fbd368ccfaeac7b5e8665ec3f780c6d1eafff0b2bb1f1bd42b2dc79228ff1fa'], + }), + ('BSgenome.Hsapiens.UCSC.hg38', '1.4.5', { + 'checksums': ['b49277e4fd955be76571f187630993b02a459c7c5b69ef62a01a75dd5226e952'], + }), + ('MEDIPS', '1.56.0', { + 'checksums': ['988719a4130d7df5031fae9796b2c8b6b51705cd086c7a888d4bbda12be96453'], + }), + ('RProtoBufLib', '2.16.0', { + 'patches': ['RProtoBufLib-2.8.0_fix-protobuf-build.patch'], + 'checksums': [ + {'RProtoBufLib_2.16.0.tar.gz': 'e98f91b14ecebaa4e8a8a13537ad41e1ad3f27dbef4f408497d4ce28e82017ee'}, + {'RProtoBufLib-2.8.0_fix-protobuf-build.patch': + '8775d74e2288000c57575f4ef45a875b4a377ac02f89efa947699ea786bedf64'}, + ], + }), + ('cytolib', '2.16.0', { + 'checksums': ['381aafeb1bc6cfd9e22c66d547ea1bdf6fa005a171448dca7624c2284542325b'], + }), + ('flowCore', '2.16.0', { + 'checksums': ['d62d608e552db755e033145014e3f49e73dcdcf3d58192116934cd5fafc703ff'], + }), + ('mutoss', '0.1-13', { + 'checksums': ['b60f6fcdce44dc60c7d34c6510047f756f1442366a3566661b22aae12f4ff141'], + }), + ('qqconf', '1.3.2', { + 'checksums': ['9405d627adf9447a003e14dac43701ea3e03ee73244038aa4a6e3dd324dd8ea3'], + }), + ('metap', '1.10', { + 'checksums': ['fd57804c9ebd4c01232e5a9db50699a5a930993f30100e63bbe09567043088a2'], + }), + ('scattermore', '1.2', { + 'checksums': ['5534a87b0bdd1375f0fbffc1a5c980ad64e33a108435a67469b8324b580602d1'], + }), + ('SeuratObject', '5.0.2', { + 'checksums': ['ded30d21f445b7e353fe4a0c4954d45ad19fbe162615d9addf6732f9318ba0cf'], + }), + ('Seurat', '5.1.0', { + 'checksums': ['adcfb43d7a8cc55eaa7a0954a082ac95e14059a82901913379bfec115e224d59'], + }), + ('ALL', '1.46.0', { + 'checksums': ['0a660bf324dadfe32e3b75cbe76857a425db13f6d0461e37e9338588305a88fa'], + }), + ('ConsensusClusterPlus', '1.68.0', { + 'checksums': ['2efad4804e9ed6661a30643d1744e1d1b524a965629002ca6ccaaf61c39f2179'], + }), + ('flowViz', '1.68.0', { + 'checksums': ['f2ff410723412bbf079482b95bd3bce9d6141ca55db9998a124f22a3ddd4e4c7'], + }), + ('ncdfFlow', '2.50.0', { + 'checksums': ['965dba9526063e45afaf305a16836acfbae48a13fa445496839f760b521878d5'], + }), + ('aws.signature', '0.6.0', { + 'checksums': ['f7fe4f686979be21e5a8ba7ae11f0fade4f5aaf4e98063b5349ee0962dbb9496'], + }), + ('aws.s3', '0.3.21', { + 'checksums': ['bd21054ab63555d294e7465dcb6c86f107db52ba841aeac5bdf4d00af0674c8c'], + }), + ('flowWorkspace', '4.16.0', { + 'checksums': ['bf83489eda881fd2c591bc2a270e4876fee34d0bee0d9478ec606bf25c84424c'], + }), + ('ash', '1.0-15', { + 'checksums': ['8b0a7bc39dd0ce2172f09edc5b5e029347d041a4d508bbff3f3fd6f69450c2ab'], + }), + ('hdrcde', '3.4', { + 'checksums': ['4341c6a021da46dcae3b1ef6d580e84dcf625c2b2139f537d0c26ec90899149b'], + }), + ('rainbow', '3.8', { + 'checksums': ['eca456288b70fe4b6c74a587d8624d3b36d67f8f9ffc13320eefb17a952d823d'], + }), + ('fds', '1.8', { + 'checksums': ['203a5e7671e542dcb83d4c75d0f4012aaebc32d54f94657afaf9e71e99dd0489'], + }), + ('fda', '6.1.8', { + 'checksums': ['ef8d858a2879491aa2c441d171ba14462bf27852d16e8420fa49aab83f42c407'], + }), + ('flowStats', '4.16.0', { + 'checksums': ['db48062ef4489fc7c4a74d730e39bee7cbcf34251bfa61567636c255b11e0f61'], + }), + ('flowClust', '3.42.0', { + 'installopts': "--configure-args='--with-gsl=${EBROOTGSL} --enable-bundled-gsl=false'", + 'checksums': ['cd6ea594f5cdb962b054b5fda12e49a28a7af24377cff4203d726d0b82fd52fe'], + }), + ('openCyto', '2.16.1', { + 'checksums': ['940a8708a815998b31b3e192bc4ccf03e3161b3a17afb39f0cf4163aea96cd8e'], + }), + ('ggcyto', '1.32.0', { + 'checksums': ['350b154dca9d91a70bce97cd44f8fb37c36ce57525bc2f2993c30b49fd758c7c'], + }), + ('CytoML', '2.16.0', { + 'checksums': ['791e4bcf3a91354c7ea50afeac1e4ec6170a49bb2f8b6ea8ec8742e547a76e86'], + }), + ('colorRamps', '2.3.4', { + 'checksums': ['3cdf311123ea1924ee1446b9b5bd7aa3282ca00addb6e7181f98578eb6b18ff8'], + }), + ('ggnewscale', '0.4.10', { + 'checksums': ['9fd61539674d056c7b18d6d6014604ba534c710bcd8c05c77590368845280dc9'], + }), + ('ggpointdensity', '0.1.0', { + 'checksums': ['3ea646cf183c8bf7869b122a4ee972b53709056ff443ea71551b823524092a31'], + }), + ('FlowSOM', '2.12.0', { + 'checksums': ['3ad6ae2bb1192d971997551b0cea3ae95d8ab2b8b535e3fedf17804b50b81977'], + }), + ('HMMcopy', '1.46.0', { + 'checksums': ['46808647373e1152e0cf4d30ba4235e1cc0e17dbe1435e597b0ef7b9492456c4'], + }), + ('diffcyt', '1.24.0', { + 'checksums': ['2117cda90702f9c035949ad085f1b0f0ceae7f6084b4a953d0a5c8f2acdad8c7'], + }), + ('blme', '1.0-5', { + 'checksums': ['679a4f19d34a584c2390ffab37810a31f6834b913fceaa2409d297ccdf912310'], + }), + ('remaCor', '0.0.18', { + 'checksums': ['57e4ffba44392f300525b18db36a44437a6fafce38a06eff065f5482e4171631'], + }), + ('fANCOVA', '0.6-1', { + 'checksums': ['c3ea3640d9a87abbfeae713141d606ece93bc88b9952f41a37b3f1fbe802bc12'], + }), + ('variancePartition', '1.34.0', { + 'checksums': ['c9564c6731bc51d688bac4f795574415aaf94150d62c95fd814e16d0ef8f1902'], + }), + ('muscat', '1.18.0', { + 'checksums': ['f105ef9ccbf35853b21e25215892923fb54e2b9a10ddf11f126e247307664ebd'], + }), + ('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.38.0', { + 'checksums': ['5581c863812d7730c06cc1a7587d91e98ebf6a4c25d78070236f55fb3af9487b'], + }), + ('BSgenome.Cfamiliaris.UCSC.canFam3', '1.4.0', { + 'checksums': ['99c55b6f7808822a3dae6679e60ecfb88a2b618159484bc35303c000bd4820c7'], + }), + ('ExperimentHub', '2.12.0', { + 'checksums': ['1081ac5bc7bb90dd5a257b0ef52024a978ed65a46972076ab195a0eb3b564156'], + }), + ('SingleR', '2.6.0', { + 'checksums': ['26605843ba9e6d5c916008349e99c6a0437813827047fa217147ba1fa25e6350'], + }), + ('FlowSorted.Blood.EPIC', '2.8.0', { + 'checksums': ['7037d68a13befd81389d6915c4b5c21f383178b462efb04d44e08949b5ff0aac'], + }), + ('FlowSorted.CordBloodCombined.450k', '1.20.0', { + 'checksums': ['7be9c60cba470938a8e68b7c1f5049f1f4522f8cc33fed6295410ecdc8368890'], + }), + ('DRIMSeq', '1.32.0', { + 'checksums': ['bda8198b730f5c45eeba25de163c1bf8c4a51e63ada544c20d77a73cece85383'], + }), + ('stageR', '1.26.0', { + 'checksums': ['706d4c7805fd3c967cc19b31b3859acca73f7f9fdfc37f0bfe0de114c5e6d22b'], + }), + ('isva', '1.9', { + 'checksums': ['9fd016e0b34034d271d45f8a0d0db62780bf0187112e45f610aa9237014e1d17'], + }), + ('org.Mm.eg.db', '3.19.1', { + 'checksums': ['47cee87aff4ccb7879eb33a50839f45578ee99acb8aff6bbfb78f7655ca6a889'], + }), + ('org.Rn.eg.db', '3.19.1', { + 'checksums': ['76e29f7d3e99c4cba0738514c373136dc245efaff053a245fcad49220516042f'], + }), + ('ROC', '1.80.0', { + 'checksums': ['cb83c39a6c3d0075f85aa59bce06915f23199133e5dd1f278323fb069e348c1c'], + }), + ('wateRmelon', '2.10.0', { + 'checksums': ['3bfcab486704bca8253fd39015016ed2aab9484a9c5a2607969a52fa54daf4a7'], + }), + ('GLAD', '2.68.0', { + 'checksums': ['2167c37a552dcde5804bda5bec6e30483d8ac8ab5fda007e1bc3acb3ce261607'], + }), + ('missMethyl', '1.38.0', { + 'checksums': ['3c4addab6ac17add59fcfa6964195144aa713cfded6d8bdb258d3e6af651d83a'], + }), + ('MethylSeekR', '1.44.0', { + 'checksums': ['a5fdcbc6a41e787839a54c5a293b6031a2876b244f42d2c9b946905f1aa86381'], + }), + ('affxparser', '1.76.0', { + 'checksums': ['626298d9c5235b780ecfe7fb6ef289cbdc466d9e125a9006ade28531b0160c63'], + }), + ('ccdata', '1.30.0', { + 'checksums': ['43ea7ee335b0b0a00a125c175beba49bb7e0ba1f3ea82758b897bb98d36ce760'], + }), + ('lsa', '0.73.3', { + 'checksums': ['f07f1159f215501495d7a077911e7ed2ac61e1705899f3be3a5cf9012778619a'], + }), + ('ccmap', '1.30.0', { + 'checksums': ['861b9bedeb60336520efdcbfac96d2dc1be39288e3ec54f6c31f2bbef3f8c09a'], + }), + ('oligo', '1.68.2', { + 'checksums': ['c7a0be101a56554a9fc57d8114257fd8da17fa8b1147fb1c90ceecf232590632'], + }), + ('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.30.0', { + 'checksums': ['ca19a9fabcb6075aecb7648365954f4844e0402991dee81b8577d01cfc720fbe'], + }), + ('snpStats', '1.54.0', { + 'checksums': ['03d858ea1e808d074a35140053a3bf44ab1b1fee5018d1418a09ede3dba01798'], + }), + ('mixsqp', '0.3-54', { + 'checksums': ['f7d0de918a221c58b3618dc3290a0ebe052256999ee3be35a19384f26b1dfb8e'], + }), + ('susieR', '0.12.35', { + 'checksums': ['ede62644fbbeb5e534e4d049638a990f8e2ffcf54f9c67054c9a5038e9600d3a'], + }), + ('coloc', '5.2.3', { + 'checksums': ['259dbd9613d809aa60ad148f6e187249642510f0dbbd15a50b25588d9a426150'], + }), + ('SCANVIS', '1.18.0', { + 'checksums': ['f7cc6089b4ea7a7a747e1e62b9ddf2006f5b60d31736af7a820f8fbb4af4dc5b'], + }), + ('EnsDb.Hsapiens.v86', '2.99.0', { + 'checksums': ['552c07bcc2a1420089d4330deafaeb5303e03d0fa75c96b78075dfd67eeee7be'], + }), + ('agricolae', '1.3-7', { + 'checksums': ['c5ade90ee23299de1d20e93406d9f4cb39bd92c51094e29306ec74baa1b34a7d'], + }), + ('bookdown', '0.39', { + 'checksums': ['3577ad9e05adeac61770ca0a8057a6486407b917c9a2d0483b55244c41d92eaf'], + }), + ('BiocStyle', '2.32.1', { + 'checksums': ['79ceb7377b7fa27ad4f9c7de99034682c89e44afa857730a37e22052aab016d4'], + }), + ('ggdendro', '0.2.0', { + 'checksums': ['1940c34ddb30083a4c3bc3be98b6b466dcc78e03ac22a32088744db8bff7aa69'], + }), + ('pmp', '1.16.0', { + 'checksums': ['32c062e1b825b696c0956981014ad8d4152eb63596ca18aabff1db615ed8d267'], + }), + ('MultiDataSet', '1.32.0', { + 'checksums': ['1cfb18f3e1a5498e723677c4e9fe61e083b6a7106104ab658f9b8912b72e32f8'], + }), + ('ropls', '1.36.0', { + 'checksums': ['2154c3003759b03d3ee9bb11fc3a0c954a11611206363ca26b019abcf2e7b331'], + }), + ('ontologyIndex', '2.12', { + 'checksums': ['a8e5d67a5ef4acb099edcc0d4ee47aeb013557fafc7ee1c071c405f636f8c03d'], + }), + ('rols', '3.0.0', { + 'checksums': ['ad07add16abfcd82b204d3bbe1a9e1d378881b37f4c14473ec936eb5c1727712'], + }), + ('struct', '1.16.0', { + 'checksums': ['930682e8718f80d22b7fdb81119ad0bc572ee773497ccb7c6428725f6195ce20'], + }), + ('ggthemes', '5.1.0', { + 'checksums': ['074819acfe8bb2233426a0fef3bb448c5ce817bb14d517252fa05932e28bbd0e'], + }), + ('structToolbox', '1.16.0', { + 'checksums': ['84237c505f2e4724d3c9b64ba80b9055903b0938d5c99d6a307a3d6624df3029'], + }), + ('EnsDb.Hsapiens.v75', '2.99.0', { + 'checksums': ['2c59f95959f344b2a3eaa65a00086b01a420823e30b0810fc81e49b08dcba64b'], + }), + ('ggseqlogo', '0.2', { + 'checksums': ['1cbfd532032dd51316a1fa084bc8cdabe5517bc6ce7b3abafc0d94340e6736b7'], + }), + ('sparsesvd', '0.2-2', { + 'checksums': ['bb40cc69ee3aec28ff1418fd16cd76d953701a7b0d6bdcb0424c71793d96d836'], + }), + ('docopt', '0.7.1', { + 'checksums': ['9f473887e4607e9b21fd4ab02e802858d0ac2ca6dad9e357a9d884a47fe4b0ff'], + }), + ('qlcMatrix', '0.9.8', { + 'checksums': ['5b23fde80b0835f673f95cc6b867755149aa1e4fcc6bf40ad0079d51cc926834'], + }), + ('Signac', '1.13.0', { + 'checksums': ['d9b4103c6437391834b2d9e2aab8829f186b6e09d070dfe2a66cc12583241b2a'], + }), + ('motifmatchr', '1.26.0', { + 'checksums': ['b40be9bc37fd17a33ba4bdd783aeceda1d98e8075a68a2f0fd8b85d2cb6bfbf2'], + }), + ('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.5', { + 'checksums': ['f7834c86fd68330ae706d33dfaeb3ee53fa58c2137a29f2b5b37a38158bc046d'], + }), + ('egg', '0.4.5', { + 'checksums': ['15c8ba7cf2676eb0460de7e5dfbc89fc3175ac22a8869cfd44d66d156fd6c7bb'], + }), + ('heatmaply', '1.5.0', { + 'checksums': ['aca4dd8b0181aa97969c8c25c73343e294c4d9c24e7cbf52e97fecbed5a92db3'], + }), + ('OUTRIDER', '1.22.0', { + 'checksums': ['447e64abc7fb0965d1a093d1f791c9cd20019c2cdd7622f6355e0ba32b22bbfd'], + }), + ('FRASER', '2.0.0', { + 'checksums': ['a8899f07f42ce5baa018d81908809cb45e4ae767a65fd9da191802e700ba6660'], + }), + ('JASPAR2020', '0.99.10', { + 'checksums': ['b9b92d141a317ebb32a14708229f6b82522ceeb5f1b88360d93b0a7cfe30375b'], + }), + ('AUCell', '1.26.0', { + 'checksums': ['80b25d75c80cde5d3c311227936b300ea1582f8a557057f755f18d3404523001'], + }), + ('RcisTarget', '1.24.0', { + 'checksums': ['1bc4c94d42c15f6c17f448b3f3e7c6a749b994e0845a0b8b14213385b795a6a0'], + }), + ('NMF', '0.27', { + 'checksums': ['af4302efca4a7654fecd31c376f1bb3496428279a50b8d5691c8a7e66e3f3ef9'], + }), + ('densEstBayes', '1.0-2.2', { + 'checksums': ['8361df9cd4b34fabfca19360bb680a8a3c68386a72bb69cf00dfa19daf97b679'], + }), + ('reldist', '1.7-2', { + 'checksums': ['d9086cbc14ed7c65d72da285b86a07e77cbfebc478ba7327b769bd08549229c9'], + }), + ('M3Drop', '1.30.0', { + 'checksums': ['240728ddf03b7f0089ccf49ff63a3c0c858890978bd099d26d519f50eec94dcf'], + }), + ('bsseq', '1.40.0', { + 'checksums': ['dd6b5d3d886f3af35804dd9d3af421c13568e64a73447b85c7e653427d4eeaac'], + }), + ('DSS', '2.52.0', { + 'checksums': ['68cf758ebad3444b7c76a52e9398a4f3d9d32c6cdd6fe7b9ee03a8c1a2793df9'], + }), + ('pathview', '1.44.0', { + 'checksums': ['1bf462a43f52b891663f95496d18f7a0762440ed83356250ad7842d886e057dd'], + }), + ('chromVAR', '1.26.0', { + 'checksums': ['5b0f0601b36d6feb4eb17c9a4909e37c711344c962eb932bcf72e3a5430f5e24'], + }), + ('EnsDb.Hsapiens.v79', '2.99.0', { + 'checksums': ['eff1ae8d7f4ed5c6bed335de63a758be593750fb0b3483c01cf50402688d244d'], + }), + ('WGCNA', '1.72-5', { + 'checksums': ['03439143ff235c17f0dbca7dd6362afa8ddb5a72594f5c2df1c6df1caca2e79d'], + }), + ('DNABarcodes', '1.34.0', { + 'checksums': ['1312bffc66918b9602da7af6d78726e914d046df64d29b2e2066b2379d79bd6f'], + }), + ('GenomicInteractions', '1.38.0', { + 'checksums': ['af7795cc67e3c178d9f5f3118723122d52064ac207f10fc3b3c5876c89524a99'], + }), + ('CAGEfightR', '1.24.0', { + 'checksums': ['1222c97ec7200ca658d159a4c2f60ea880f16092060ecf9a8fa395f2f82ad8c4'], + }), + ('CAGEr', '2.10.0', { + 'checksums': ['e4668be44971a95d4845de2bd29bea05b1d544e529577969650cede00b3dbdaa'], + }), + ('SPOTlight', '1.8.0', { + 'checksums': ['ebdb447105f5edcdbf0423056555e6a8d4a54c960874e1af16f791414da59621'], + }), + ('CGHcall', '2.66.0', { + 'checksums': ['4733d74916b7f275cb26c0d297e4554aa1a4a238242cc914e36c241edf1b4dbe'], + }), + ('QDNAseq', '1.40.0', { + 'checksums': ['8ea0d0cdd52027e82bde7f54f80475ae54d45062dd746d383eca17421f36d3d7'], + }), + ('HiCcompare', '1.26.0', { + 'checksums': ['ac4f29d0483aaa250699731480960d758a3142e28f961fa867496f0a64c4ede6'], + }), + ('ROntoTools', '2.32.0', { + 'checksums': ['1ffc55647309527c81ea4e2d503875c1c6cb2dd135d1e4f474f5f216a6a7ac45'], + }), + ('scDblFinder', '1.18.0', { + 'checksums': ['802774ce4480105ed3137e27d848f05bf1bc30b62072109171f1f52e6156e3da'], + }), + ('treeio', '1.28.0', { + 'checksums': ['01fa3dba09a75ab99f3726c3320dc463753429305538fa7f3bdfe5e847c0d275'], + }), + ('ggtree', '3.12.0', { + 'checksums': ['b0d6682a3686d487471828c715747abb81c6dc59e51044b7946a61340d61a7ae'], + }), + ('scistreer', '1.2.0', { + 'checksums': ['6c445f61042866d1aef2e8ccae402d79dab657f880a1b07d02db9819cf25cd0e'], + }), + ('hahmmr', '1.0.0', { + 'checksums': ['0990f1eef3afcffd54658f2a6f503f16c633c359c58ce05b38b9c67909d26da5'], + }), + ('numbat', '1.4.0', { + 'checksums': ['4457991d89c3482183b233b6c8376aea6d2d06fe9c37d44c819e9e5a946539a9'], + }), + ('HiCBricks', '1.22.0', { + 'checksums': ['d60a6fe51123b13b491491a95d915bf8752235cdfba14d4536769807f7f17541'], + }), + ('dir.expiry', '1.12.0', { + 'checksums': ['716764398f3058886b65d892bbf6d3339149e75c39686d282e5473cf7947250d'], + }), + ('basilisk.utils', '1.16.0', { + 'checksums': ['d0bd6f0da84ca110f7ee576b1e852ebfb3f8b820b44d9ef20f1e3e0247605511'], + }), + ('basilisk', '1.16.0', { + 'checksums': ['364aa07b07436f2f9aa41841b8c97f9a54928095de1e461af2947c224a560aca'], + }), + ('zellkonverter', '1.14.0', { + 'checksums': ['b61120b1e1957884a7aa71c142bd1ad1be2fd8eff318a395233a96dd5492138f'], + }), + ('DO.db', '2.9', { + 'checksums': ['762bcb9b5188274fd81d82f785cf2846a5acc61fad55e2ff8ec1502282c27881'], + }), + ('GOSemSim', '2.30.0', { + 'checksums': ['9841cb34a7a840db640b0cf2c3f1a6c06ba8ffad78bbea6f5df2f02856e20525'], + }), + ('HDO.db', '0.99.1', { + 'checksums': ['c17cf28d06621d91148a64d47fdeaa906d8621aba7a688715fb9571a55f7cf92'], + }), + ('DOSE', '3.30.1', { + 'checksums': ['a348862714fcfaf1423dc1fea78ba751ae4384d89a13ecad2fc445d67bc8d9cf'], + }), + ('enrichplot', '1.24.0', { + 'checksums': ['88609b8f4cab9edce9901b120458f61cf09d40d958922a4023908cdfe20f7766'], + }), + ('gson', '0.1.0', { + 'checksums': ['14ddbee5be66d0b1dc178e41175a50ab6ed9ffed04d4361ecf5eef3548d9a381'], + }), + ('clusterProfiler', '4.12.0', { + 'checksums': ['1f5aef1116f9767e3a76a820e19563e616bc33b62fd1371e7a352864495eae72'], + }), + ('reactome.db', '1.88.0', { + 'checksums': ['8762f24cab5c1056aacd714e0dc355576c8f3b5a325e638dc21bd2b947718bbb'], + }), + ('graphite', '1.50.0', { + 'checksums': ['fab5eb46d8d48d149a2ad4ca42d2970dd074d4560fff71629a2113f9e07bd5f7'], + }), + ('ReactomePA', '1.48.0', { + 'checksums': ['667e432e42ea75ce3d39d7f4d0360cb1d3634843d8670aba0c9a7df37ecbb244'], + }), + ('flowClean', '1.42.0', { + 'checksums': ['59cbcb27f4e291c8b71cd419939b7af9c6678108c00d7efaa520e0613a47a8a8'], + }), + ('flowAI', '1.34.0', { + 'checksums': ['0aa7cd379275346141554b9b0b634909d7dc2cb6df2d88c6a765aa2892fa38ea'], + }), + ('flowFP', '1.62.0', { + 'checksums': ['0c8e7ca9ea8f2c44bc16990a758dd16de8b7fafffe3eff80e56629c2c9c4f5e6'], + }), + ('simplifyEnrichment', '1.14.0', { + 'checksums': ['1166ba940119c40865320791896333f96007d1608bfcb8c224fdb127e8cc6180'], + }), + ('RPMG', '2.2-7', { + 'checksums': ['c413de3c126bc377fe31a948887d27f404a9637c57fe0e07b087d5509cb99f11'], + }), + ('Rwave', '2.6-5', { + 'checksums': ['6c9ef75bb376f2e3f5c5dcd3b3fdca7d86797ce809da34f444632657189be2e4'], + }), + ('RSEIS', '4.2-0', { + 'checksums': ['93ec391f69660fffdeee79a16b312522dada399a83a35758e69422145e682d14'], + }), + ('splancs', '2.01-45', { + 'checksums': ['8bccf1d61d7feaab52da07a9c95aa66bcd3986a6b214f13b232c1e2bea4b76d3'], + }), + ('MBA', '0.1-0', { + 'checksums': ['78039905c5b98be2bb79a5f292187a2aca21ef449daeefea58b0cac53a5283af'], + }), + ('GEOmap', '2.5-5', { + 'checksums': ['8a17a78926cda3f885584f797db6765d218f89b39eda512ff8af379651fb483f'], + }), + ('RFOC', '3.4-10', { + 'checksums': ['b1211db8960b482ebb516233c86b075d1a1f006a88191a72fa98babd5a8e2100'], + }), + ('flowDensity', '1.38.0', { + 'checksums': ['8cc17c977423544785dda174e8ffd44292ffb7cfbb09f500e709bc97b51c649f'], + }), + ('flowPeaks', '1.50.0', { + 'checksums': ['c5dd336f4819ed27f4bc32fd6ca1026398e41a2669e8b9cce00218151b9db618'], + }), + ('SamSPECTRAL', '1.58.0', { + 'checksums': ['8abe70ee30a05ce4a3da9a012e90b274c27bbe4337d02f287aa0a7a80c7d2317'], + }), + ('ddPCRclust', '1.24.0', { + 'checksums': ['b789c218722571e5bb1d6c643f235ba71eb6f98325ba119317ceafcfa787b65a'], + }), + ('feature', '1.2.15', { + 'checksums': ['de38292b7e800068a20824e2a9e7d5d4d0b465b7925db0d165346aa5030ff67b'], + }), + ('flowMerge', '2.52.0', { + 'checksums': ['ddbb80ed0ac59917d6be9e987ad397880500be087cd9017ab2206a39642dc7fc'], + }), + ('TrajectoryUtils', '1.12.0', { + 'checksums': ['30612e70306819f030dba4b462a8a82b67970e4ee66cc130158e328b08ae0197'], + }), + ('slingshot', '2.12.0', { + 'checksums': ['cc2622ffd37dcb60e54b807730e0bec12e0a7a87380904229c24d92515f5ad14'], + }), + ('TreeSummarizedExperiment', '2.12.0', { + 'checksums': ['b1b4b15858730b62cf07cbaa8506a8a8fe0f393e55a315577efd16b56ce2ff79'], + }), + ('decontam', '1.24.0', { + 'checksums': ['67bdfd2d95036f0d70c03a0c406fe9c5f38083a8ff79eb4c73cf48dabf4c4df6'], + }), + ('DECIPHER', '3.0.0', { + 'checksums': ['95da04138348bf370254893a41d96bc2cee7770b1ff199fb73bd50e2f5a0ffad'], + }), + ('mia', '1.12.0', { + 'checksums': ['512805cf6f77c62b25d95ebc3ed16988cf3297be5b712934c3f8130bcfa2c2f2'], + }), + ('ANCOMBC', '2.6.0', { + 'checksums': ['a8ac172f3308c60d17823c064aac2e9f2edf70ab42fee3c40f143e3836734d92'], + }), + ('decoupleR', '2.10.0', { + 'checksums': ['2c561626029234a3d9ed191c4e6b2db80b1d7eb6218aa20edc0dcc4f61e11c18'], + }), + ('UCell', '2.8.0', { + 'checksums': ['bb8617224382e61a190fc2c5a074a24440dd8edd7f1787f0defbf1e673262627'], + }), + ('intervals', '0.15.4', { + 'checksums': ['50c0e1e3aab3e7b72cc1f0a6559d96caa3a360e969c38538479907e6cbe39f8f'], + }), + ('oompaBase', '3.2.9', { + 'checksums': ['14ca2b8e713a6a7ce13758f7f5c183dbc4fdfedc4f1244ca31bbdadf8a16bcb2'], + }), + ('oompaData', '3.1.4', { + 'checksums': ['06252409a94f9eaf4ef723becd24d17e1ef7b495aada44853f4661d942292d3d'], + }), + ('TailRank', '3.2.2', { + 'checksums': ['21ed95ea47d21155f08ae2ad7bca9547f89f492000bc1defe1cc5ec172739d09'], + }), + ('RnBeads', '2.22.0', { + 'checksums': ['720b927f27713b7a16d703a1c77c1cb481f2c263b625a064dd004fed57fded6c'], + }), + ('RnBeads.hg19', '1.36.0', { + 'checksums': ['c991085a2420b01c075b1f3a27645ed4c7a3b8e11b5c9efa52e6c4b4ffb0c77a'], + }), + ('RnBeads.hg38', '1.36.0', { + 'checksums': ['1498b7131f3e30fc3860977829f8c457306bdd364e3a8807b5367d7314eace15'], + }), + ('RnBeads.mm9', '1.36.0', { + 'checksums': ['0b9456e3c19d7f9cd62a36290bc6d048d5eeae2fa09fbe701d2d4c59a292a5ad'], + }), + ('RnBeads.mm10', '2.12.0', { + 'checksums': ['d4b5f53c0b5da080f7c252965032e250a657e41a80c8181c28c8b9327cdd3194'], + }), + ('RnBeads.rn5', '1.36.0', { + 'checksums': ['8e384bffbe6de580c00779415fd7fefb7f01a7b9e0090a11200f284680f11b25'], + }), + ('log4r', '0.4.3', { + 'checksums': ['dfe3d49d35a8d8f3ad63f156d18e860540a01bd0af0e343cbab3e31a2cf5904c'], + }), + ('MSstatsConvert', '1.14.0', { + 'checksums': ['f55f9381d611b80027c489e52de539d8261d84671817b82afeaa617266e45de0'], + }), + ('MSstats', '4.12.0', { + 'checksums': ['773bfef999416c0c0f5f207984991e9cf209598cd6ae32411aae76bd2404305b'], + }), + ('MSstatsTMT', '2.12.1', { + 'checksums': ['f676d71dcd9abfe2eb88b909dc9945622ed19e50bd482f486a7ce4850be4d60e'], + }), + ('MSstatsPTM', '2.6.0', { + 'checksums': ['7063d7c540b188cbf20c083c94d28431e2ecd8fc47c7630d8c5c67ae44eb6c47'], + }), + ('factoextra', '1.0.7', { + 'checksums': ['624ff01c74933352aca55966f8a052b1ccc878f52c2c307e47f88e0665db94aa'], + }), + ('MSstatsLiP', '1.10.0', { + 'checksums': ['40a60aef2d736da2936f1a4b624a962ed69490e6e38a2587df8b6cf5eff2eece'], + }), + ('babelgene', '22.9', { + 'checksums': ['ce6601dcb78352516d3b0355042c52a20e154b39d3b27b93ff52150a59c885e2'], + }), + ('msigdbr', '7.5.1', { + 'checksums': ['dc30487bdf3594425ae9faec1ca0d7d0cd7278f4f177689133f92880e74acaca'], + }), + ('escape', '2.0.0', { + 'checksums': ['5dfcdaf7d1b1836c276a1284ebbc6bbcaeb35da11805a2491bd4cb795acf8b0f'], + }), + ('plyranges', '1.24.0', { + 'checksums': ['a8505d774d0cf9c1488205343abd1817dd5d016082597bb173d002d496a10566'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': ['AnnotationDbi', 'BiocManager', 'GenomicFeatures'], +} + +moduleclass = 'bio' 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/R-bundle-CRAN-2023.12-foss-2023a.eb b/easybuild/easyconfigs/r/R-bundle-CRAN/R-bundle-CRAN-2023.12-foss-2023a.eb index 9d48ee9ea59..972a8488f6a 100644 --- a/easybuild/easyconfigs/r/R-bundle-CRAN/R-bundle-CRAN-2023.12-foss-2023a.eb +++ b/easybuild/easyconfigs/r/R-bundle-CRAN/R-bundle-CRAN-2023.12-foss-2023a.eb @@ -43,10 +43,6 @@ configopts = "--with-pic --enable-threads --enable-R-shlib" # 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_defaultclass = 'RPackage' exts_default_options = { @@ -64,6 +60,14 @@ local_ext_version_check = "pkgver = packageVersion('%(ext_name)s'); if (pkgver ! local_stop_msg = "stop('%(ext_name)s %(ext_version)s not installed, found ', pkgver, ' instead')" exts_filter = ("R -q --no-save", "%s { %s }" % (local_ext_version_check, local_stop_msg)) +# the dbarts extension needs an additional compiler flag on Arm systems to prevent "incompatible types" errors +# cfr. https://github.com/vdorie/dbarts/issues/66 +if ARCH == 'aarch64': + local_dbarts_preinstallopts = 'sed -i "s|-c partition_neon.c|-flax-vector-conversions -c partition_neon.c|"' + local_dbarts_preinstallopts += ' src/misc/Makefile && ' +else: + local_dbarts_preinstallopts = '' + # !! order of packages is important !! # packages updated on 10th December 2023 exts_list = [ @@ -863,7 +867,10 @@ exts_list = [ 'checksums': ['8e50415e415702402473caf622d86b89ddc881f6e5d888079a4818a8807ac9a2'], }), ('bold', '1.3.0', { - 'checksums': ['0ead11d4386c4c0cd578d3a956f809db2001e387e449a431b4ad503f3da38f5f'], + 'checksums': [ + ('0ead11d4386c4c0cd578d3a956f809db2001e387e449a431b4ad503f3da38f5f', + '4920fbebd22fb1d0f1a31ccc09c98aec446bb6cb5f65a2610437e405c0512c68'), + ], }), ('rredlist', '0.7.1', { 'checksums': ['92a10c37a211dc19b41b93f9ceb13d7ce1c3d3a7290cbba4c1688d944353ae85'], @@ -1593,7 +1600,10 @@ exts_list = [ 'checksums': ['49848bcb03dd3fc3605799893d39986b521921faaa5647815274eb204bb9bf56'], }), ('signal', '1.8-0', { - 'checksums': ['89cba854167a2b051a58cf3b73ccbf74eeb47c890ac39720611cd41f86b94684'], + 'checksums': [ + ('89cba854167a2b051a58cf3b73ccbf74eeb47c890ac39720611cd41f86b94684', + '0a604949bae91410a150a22cfa02d954f5b83166cc7a73e5409554d00e0417a7'), + ], }), ('tuneR', '1.4.6', { 'checksums': ['c5441fb56dc84cafb6aa6b47d83839da1e1a4e5b19eafbb63b268d1a660647d0'], @@ -2577,6 +2587,7 @@ exts_list = [ }), ('dbarts', '0.9-25', { 'checksums': ['39a78228ead17c92bd88fe5f959c888412a22a7cbbc0edfa9c09072b4182d870'], + 'preinstallopts': local_dbarts_preinstallopts, }), ('proftools', '0.99-3', { 'checksums': ['e034eb1531af54013143da3e15229e1d4c2260f8eb79c93846014db3bdefb724'], @@ -3395,6 +3406,30 @@ exts_list = [ ('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': ''} 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..09e8f65ae06 --- /dev/null +++ b/easybuild/easyconfigs/r/R-bundle-CRAN/R-bundle-CRAN-2024.06-foss-2023b.eb @@ -0,0 +1,3481 @@ +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'], + }), + ('fastlogranktest', '0.2.1', { + 'checksums': ['457c411240b5ee73108042370ccea0f8fa1999e876b2306456d4723be27eb5c8'], + }), + ('pbmcapply', '1.5.1', { + 'checksums': ['7ffc2854a384962f0dd523aa9ef33ce8fc290997206b71b840a49049d87112dd'], + }), + ('PWEALL', '1.3.0.1', { + 'checksums': ['6fb7eaf557f9bd17bcb94945814dbd77a081d709976bc8046746ff0be7c1dcdc'], + }), + ('goldilocks', '0.3.0', { + 'checksums': ['94df7f9d3550dc3790ea3c8f3f364f7131c907a235f498473c8c4e4f959b26c0'], + }), + ('r2rtf', '1.1.1', { + 'checksums': ['d64b88187b5eb7bc69eae37f493fdae8417d5127d0a44f1586a00827bc321f52'], + }), + ('gsDesign', '3.6.4', { + 'checksums': ['b96075650a5bcbb9ebab78b7094d51f451d086b7c97a3a427635b52fece176d2'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': ['abind', 'base64', 'calibrate'], +} + +moduleclass = 'lang' 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/R-3.6.0-foss-2019a.eb b/easybuild/easyconfigs/r/R/R-3.6.0-foss-2019a.eb index 4e4d1c99a5f..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'), 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 f20ae1ce680..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'), 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 385c219696e..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'), 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 70af7d3e9fd..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 = [ 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 99a3664d030..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 = [ 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 a3abe2e37ee..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 = [ diff --git a/easybuild/easyconfigs/r/R/R-3.6.3-foss-2020a.eb b/easybuild/easyconfigs/r/R/R-3.6.3-foss-2020a.eb index ad7708d2b1f..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'), @@ -2113,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 faa29bd2b3e..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 = [ 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 782f039b492..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'), @@ -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 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 db5d9c9e47c..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'), 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 c7d07e5f2ac..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'), 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 afc6216b0bf..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'), 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 bf2b31d78ee..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'), 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 be10c211dc4..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'), 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 39597e9f6f9..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 = [ 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 index 954de88b9cb..acc5de78f2b 100644 --- a/easybuild/easyconfigs/r/R/R-4.1.2-foss-2021b.eb +++ b/easybuild/easyconfigs/r/R/R-4.1.2-foss-2021b.eb @@ -9,10 +9,15 @@ toolchain = {'name': 'foss', 'version': '2021b'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -patches = ['%(name)s-4.1.0_identify-flexiblas-in-configure.patch'] +patches = [ + 'R-4.1.0_identify-flexiblas-in-configure.patch', + 'R-4.x_fix-CVE-2024-27322.patch', +] checksums = [ - '2036225e9f7207d4ce097e54972aecdaa8b40d7d9911cd26491fac5a0fab38af', # R-4.1.2.tar.gz - '2c6720e2e144ae4fe00842daab0ebba72241080603e0ff1a6ca758738041b257', # R-4.1.0_identify-flexiblas-in-configure.patch + {'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 = [ diff --git a/easybuild/easyconfigs/r/R/R-4.2.0-foss-2021b.eb b/easybuild/easyconfigs/r/R/R-4.2.0-foss-2021b.eb index e1cfa939335..a8e0a1c8bf4 100644 --- a/easybuild/easyconfigs/r/R/R-4.2.0-foss-2021b.eb +++ b/easybuild/easyconfigs/r/R/R-4.2.0-foss-2021b.eb @@ -9,10 +9,15 @@ toolchain = {'name': 'foss', 'version': '2021b'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -patches = ['%(name)s-4.1.0_identify-flexiblas-in-configure.patch'] +patches = [ + 'R-4.1.0_identify-flexiblas-in-configure.patch', + 'R-4.x_fix-CVE-2024-27322.patch', +] checksums = [ - '38eab7719b7ad095388f06aa090c5a2b202791945de60d3e2bb0eab1f5097488', # R-4.2.0.tar.gz - '2c6720e2e144ae4fe00842daab0ebba72241080603e0ff1a6ca758738041b257', # R-4.1.0_identify-flexiblas-in-configure.patch + {'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 = [ @@ -78,6 +83,14 @@ exts_default_options = { 'source_tmpl': '%(name)s_%(version)s.tar.gz', } +# the dbarts extension needs an additional compiler flag on Arm systems to prevent "incompatible types" errors +# cfr. https://github.com/vdorie/dbarts/issues/66 +if ARCH == 'aarch64': + local_dbarts_preinstallopts = 'sed -i "s|-c partition_neon.c|-flax-vector-conversions -c partition_neon.c|"' + local_dbarts_preinstallopts += ' src/misc/Makefile && ' +else: + local_dbarts_preinstallopts = '' + # !! order of packages is important !! # packages updated on 27th April 2022 exts_list = [ @@ -2796,6 +2809,7 @@ exts_list = [ }), ('dbarts', '0.9-22', { 'checksums': ['68fa2bfe274811c91ea7b67da46c4ffe527eb662d75edbec26ffe934ddc7150a'], + 'preinstallopts': local_dbarts_preinstallopts, }), ('proftools', '0.99-3', { 'checksums': ['e034eb1531af54013143da3e15229e1d4c2260f8eb79c93846014db3bdefb724'], diff --git a/easybuild/easyconfigs/r/R/R-4.2.1-foss-2022a.eb b/easybuild/easyconfigs/r/R/R-4.2.1-foss-2022a.eb index 9d6af6f22c4..7b4e813f60f 100644 --- a/easybuild/easyconfigs/r/R/R-4.2.1-foss-2022a.eb +++ b/easybuild/easyconfigs/r/R/R-4.2.1-foss-2022a.eb @@ -9,7 +9,11 @@ toolchain = {'name': 'foss', 'version': '2022a'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -checksums = ['4d52db486d27848e54613d4ee977ad952ec08ce17807e1b525b10cd4436c643f'] +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'), @@ -77,6 +81,14 @@ exts_default_options = { 'source_tmpl': '%(name)s_%(version)s.tar.gz', } +# the dbarts extension needs an additional compiler flag on Arm systems to prevent "incompatible types" errors +# cfr. https://github.com/vdorie/dbarts/issues/66 +if ARCH == 'aarch64': + local_dbarts_preinstallopts = 'sed -i "s|-c partition_neon.c|-flax-vector-conversions -c partition_neon.c|"' + local_dbarts_preinstallopts += ' src/misc/Makefile && ' +else: + local_dbarts_preinstallopts = '' + # !! order of packages is important !! # packages updated on 23rd June 2022 exts_list = [ @@ -2797,6 +2809,7 @@ exts_list = [ }), ('dbarts', '0.9-22', { 'checksums': ['68fa2bfe274811c91ea7b67da46c4ffe527eb662d75edbec26ffe934ddc7150a'], + 'preinstallopts': local_dbarts_preinstallopts, }), ('proftools', '0.99-3', { 'checksums': ['e034eb1531af54013143da3e15229e1d4c2260f8eb79c93846014db3bdefb724'], diff --git a/easybuild/easyconfigs/r/R/R-4.2.2-foss-2022b.eb b/easybuild/easyconfigs/r/R/R-4.2.2-foss-2022b.eb index 5c533ecb998..65a3ad6c54b 100644 --- a/easybuild/easyconfigs/r/R/R-4.2.2-foss-2022b.eb +++ b/easybuild/easyconfigs/r/R/R-4.2.2-foss-2022b.eb @@ -9,7 +9,11 @@ toolchain = {'name': 'foss', 'version': '2022b'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -checksums = ['0ff62b42ec51afa5713caee7c4fde7a0c45940ba39bef8c5c9487fef0c953df5'] +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'), @@ -51,6 +55,8 @@ dependencies = [ ('MPFR', '4.2.0'), # for Rmpfr ('libgit2', '1.5.0'), ('OpenSSL', '1.1', '', SYSTEM), + ('protobuf', '23.0'), + ('jq', '1.6'), ] # Some R extensions (mclust, quantreg, waveslim for example) require the math library (-lm) to avoid undefined symbols. @@ -75,6 +81,14 @@ exts_default_options = { 'source_tmpl': '%(name)s_%(version)s.tar.gz', } +# the dbarts extension needs an additional compiler flag on Arm systems to prevent "incompatible types" errors +# cfr. https://github.com/vdorie/dbarts/issues/66 +if ARCH == 'aarch64': + local_dbarts_preinstallopts = 'sed -i "s|-c partition_neon.c|-flax-vector-conversions -c partition_neon.c|"' + local_dbarts_preinstallopts += ' src/misc/Makefile && ' +else: + local_dbarts_preinstallopts = '' + # !! order of packages is important !! # packages updated on 17th March 2023 exts_list = [ @@ -2854,6 +2868,7 @@ exts_list = [ }), ('dbarts', '0.9-23', { 'checksums': ['e1ac65fd89c321895d4f0e77d9cd8dcda5f1103485008afd4e19e6c9137557a3'], + 'preinstallopts': local_dbarts_preinstallopts, }), ('proftools', '0.99-3', { 'checksums': ['e034eb1531af54013143da3e15229e1d4c2260f8eb79c93846014db3bdefb724'], @@ -3669,6 +3684,28 @@ exts_list = [ ('ridge', '3.3', { 'checksums': ['5c2daecf6f97aa099ef5fa54f8448518c4f2ed6e44dd29fc60621a70721c60f5'], }), + ('gdalUtilities', '1.2.5', { + 'checksums': ['2a72e990080ad626205c78edc6614959b564413b7fc23132008b7259723571a7'], + }), + ('protolite', '2.3.0', { + 'patches': ['protolite-2.3.0_use-c++17.patch'], + 'checksums': [ + {'protolite_2.3.0.tar.gz': '53ef24d51a8348f97bec39d254df3b97bd8b3d9bbffb81d6b06aad849cf78ce9'}, + {'protolite-2.3.0_use-c++17.patch': 'fb5084c55dfbabc6f3e778accf4553f5c84f2bb0ab0ae84b3538c866a829afa4'}, + ], + }), + ('jqr', '1.3.1', { + 'checksums': ['e22461e75ff7e57fe502dc7d16c5e5fe9f8e4cbe042b5eadad06fc37394f9f36'], + }), + ('geojson', '0.3.5', { + 'checksums': ['e425c8579dc9cf5e3c1f71db3b0eed8225e5ed7ea88b6c861f800f60fc07402a'], + }), + ('geojsonio', '0.11.3', { + 'checksums': ['7168eb3571440479f0cbdd005ff9db3233d3c91fc10d37fb0eb200793da3402b'], + }), + ('MODIStsp', '2.1.0', { + 'checksums': ['9416bf2a32faf4ae7159f50ba56ac7924852af59f932223b2268aedfa1769fda'], + }), ] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/R/R-4.3.2-gfbf-2023a.eb b/easybuild/easyconfigs/r/R/R-4.3.2-gfbf-2023a.eb index ed664162bf5..806624dbe57 100644 --- a/easybuild/easyconfigs/r/R/R-4.3.2-gfbf-2023a.eb +++ b/easybuild/easyconfigs/r/R/R-4.3.2-gfbf-2023a.eb @@ -9,7 +9,11 @@ toolchain = {'name': 'gfbf', 'version': '2023a'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -checksums = ['b3f5760ac2eee8026a3f0eefcb25b47723d978038eee8e844762094c860c452a'] +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'), 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/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/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/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/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-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/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/RE2/RE2-2024-07-02-GCCcore-13.3.0.eb b/easybuild/easyconfigs/r/RE2/RE2-2024-07-02-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..3719af682fd --- /dev/null +++ b/easybuild/easyconfigs/r/RE2/RE2-2024-07-02-GCCcore-13.3.0.eb @@ -0,0 +1,34 @@ +easyblock = "CMakeMake" + +name = 'RE2' +version = '2024-07-02' + +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.3.0'} +toolchainopts = {'pic': True} + +github_account = 'google' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['eb2df807c781601c14a260a507a5bb4509be1ee626024cb45acbd57cb9d4032b'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), +] + +dependencies = [ + ('Abseil', '20240722.0'), +] + +sanity_check_paths = { + 'files': ['lib/libre2.a'], + 'dirs': ['include/re2'], +} + +moduleclass = 'lib' 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/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-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/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.24.06-foss-2021b.eb b/easybuild/easyconfigs/r/ROOT/ROOT-6.24.06-foss-2021b.eb index 91350423753..b7662891803 100644 --- a/easybuild/easyconfigs/r/ROOT/ROOT-6.24.06-foss-2021b.eb +++ b/easybuild/easyconfigs/r/ROOT/ROOT-6.24.06-foss-2021b.eb @@ -10,7 +10,13 @@ toolchainopts = {'pic': True} source_urls = ['https://root.cern.ch/download/'] sources = ['%(namelower)s_v%(version)s.source.tar.gz'] -checksums = ['907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522'] +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'), 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 index e3109d99f7d..0514357e262 100644 --- a/easybuild/easyconfigs/r/ROOT/ROOT-6.26.06-foss-2022a.eb +++ b/easybuild/easyconfigs/r/ROOT/ROOT-6.26.06-foss-2022a.eb @@ -10,7 +10,13 @@ toolchainopts = {'pic': True} source_urls = ['https://root.cern.ch/download/'] sources = ['%(namelower)s_v%(version)s.source.tar.gz'] -checksums = ['b1f73c976a580a5c56c8c8a0152582a1dfc560b4dd80e1b7545237b65e6c89cb'] +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'), 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 index 6e41414b19b..845b0e4db80 100644 --- a/easybuild/easyconfigs/r/ROOT/ROOT-6.26.10-foss-2022b.eb +++ b/easybuild/easyconfigs/r/ROOT/ROOT-6.26.10-foss-2022b.eb @@ -10,7 +10,13 @@ toolchainopts = {'pic': True} source_urls = ['https://root.cern.ch/download/'] sources = ['%(namelower)s_v%(version)s.source.tar.gz'] -checksums = ['8e56bec397104017aa54f9eb554de7a1a134474fe0b3bb0f43a70fc4fabd625f'] +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'), 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-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-2023a.eb b/easybuild/easyconfigs/r/RSEM/RSEM-1.3.3-foss-2023a.eb new file mode 100644 index 00000000000..559d54704d5 --- /dev/null +++ b/easybuild/easyconfigs/r/RSEM/RSEM-1.3.3-foss-2023a.eb @@ -0,0 +1,54 @@ +## +# 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': '2023a'} +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 = [ + ('Java', '11', '', SYSTEM), + ('ncurses', '6.4'), + ('zlib', '1.2.13'), + ('Perl', '5.36.1'), + ('Perl-bundle-CPAN', '5.36.1'), + ('R', '4.3.2'), + ('R-bundle-CRAN', '2023.12'), + ('HISAT2', '2.2.1'), + ('STAR', '2.7.11a'), + ('Bowtie2', '2.5.1'), + ('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/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/RStudio-Server/RStudio-Server-2024.09.0+375-foss-2023b-Java-11-R-4.4.1.eb b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2024.09.0+375-foss-2023b-Java-11-R-4.4.1.eb new file mode 100644 index 00000000000..2c81f46688a --- /dev/null +++ b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2024.09.0+375-foss-2023b-Java-11-R-4.4.1.eb @@ -0,0 +1,98 @@ +easyblock = 'CMakeNinja' + +name = 'RStudio-Server' +version = '2024.09.0+375' +versionsuffix = '-Java-%(javaver)s-R-%(rver)s' +local_git_rev = 'c8fc7aee6dc218d5687553f9041c6b1e5ea268ff' + +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': '2023b'} + +source_urls = ['https://github.com/rstudio/rstudio/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8a29b77c53a3db8379d824a9f4a491843036003d105ed71981cd40fe39d2c8c8'] + +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.4.1'), + ('R-bundle-CRAN', '2024.06'), + ('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-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/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/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-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/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/Ray-project/Ray-project-2.37.0-foss-2024a.eb b/easybuild/easyconfigs/r/Ray-project/Ray-project-2.37.0-foss-2024a.eb new file mode 100644 index 00000000000..9b52d2bc91f --- /dev/null +++ b/easybuild/easyconfigs/r/Ray-project/Ray-project-2.37.0-foss-2024a.eb @@ -0,0 +1,67 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'Ray-project' +version = '2.37.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': '2024a'} +toolchainopts = {'usempi': True} + +builddependencies = [ + ('redis-py', '5.1.1'), + ('hatchling', '1.24.2'), + ('Cython', '3.0.10') +] + +dependencies = [ + ('Python', '3.12.3'), + ('SciPy-bundle', '2024.05'), + ('protobuf-python', '5.28.0'), + ('PyYAML', '6.0.2'), + ('lz4', '1.9.4'), + ('mpi4py', '4.0.1'), +] + +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-cp312-cp312-manylinux2014_%(arch)s.whl', + 'checksums': ['0268c7bc2e8bb6ef9bb8969299deb5857bf672bfcb59da95db7495a8a502f8ba'], + }), +] + +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/ReFrame/ReFrame-4.3.2.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-4.3.2.eb index b8237231c17..7e01526d78c 100644 --- a/easybuild/easyconfigs/r/ReFrame/ReFrame-4.3.2.eb +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-4.3.2.eb @@ -29,6 +29,8 @@ exts_list = [ }), ('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', diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-4.3.3.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-4.3.3.eb index af6b22f4846..f4319b13ae5 100644 --- a/easybuild/easyconfigs/r/ReFrame/ReFrame-4.3.3.eb +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-4.3.3.eb @@ -30,6 +30,8 @@ exts_list = [ }), ('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', 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/ReFrame/ReFrame-4.6.3-GCCcore-13.3.0.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-4.6.3-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..6541b14b799 --- /dev/null +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-4.6.3-GCCcore-13.3.0.eb @@ -0,0 +1,76 @@ +easyblock = 'PythonBundle' + +name = 'ReFrame' +version = '4.6.3' + +homepage = 'https://github.com/reframe-hpc/reframe' +description = '''ReFrame is a framework for writing regression tests for HPC systems.''' + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +builddependencies = [ + ('binutils', '2.42'), + ('cURL', '8.7.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.12.3'), + ('libxslt', '1.1.42'), # Required by lxml, which is installed by ReFrame's bootstrap installer + ('libxml2', '2.12.7'), # 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': ['0f335e588d21a26d76beb011bc86baf80ba633d875512ecd564d0aeb320fcf2c'], + }), +] + +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/ReaxFF/ReaxFF-2.0-GCC-11.3.0-sim.eb b/easybuild/easyconfigs/r/ReaxFF/ReaxFF-2.0-GCC-11.3.0-sim.eb index 7c566136239..fe63e07bdec 100644 --- a/easybuild/easyconfigs/r/ReaxFF/ReaxFF-2.0-GCC-11.3.0-sim.eb +++ b/easybuild/easyconfigs/r/ReaxFF/ReaxFF-2.0-GCC-11.3.0-sim.eb @@ -24,7 +24,7 @@ Register at https://www.engr.psu.edu/adri/Home.aspx and follow instructions start_dir = 'src' -prebuildopts = r"sed -ie 's/^\(\s\)gcc /\1gfortran /g' makefile && " # noqa: W605 +prebuildopts = r"sed -ie 's/^\(\s\)gcc /\1gfortran /g' makefile && " prebuildopts += 'rm *.o && ' buildopts = 'SUFFIX="-c -O3 -std=legacy"' diff --git a/easybuild/easyconfigs/r/Redis/Redis-7.2.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/r/Redis/Redis-7.2.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..d91246b6fe3 --- /dev/null +++ b/easybuild/easyconfigs/r/Redis/Redis-7.2.3-GCCcore-12.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'Redis' +version = '7.2.3' + +homepage = 'https://redis.io' +description = """Redis is an open source (BSD licensed), in-memory data structure store, used as +a database, cache, and message broker. Redis provides data structures such as +strings, hashes, lists, sets, sorted sets with range queries, bitmaps, +hyperloglogs, geospatial indexes, and streams. Redis has built-in replication, +Lua scripting, LRU eviction, transactions, and different levels of on-disk +persistence, and provides high availability via Redis Sentinel and automatic +partitioning with Redis Cluster.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://download.redis.io/releases'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3e2b196d6eb4ddb9e743088bfc2915ccbb42d40f5a8a3edd8cb69c716ec34be7'] + +builddependencies = [ + ('pkgconf', '1.9.5'), + ('binutils', '2.40'), +] + +skipsteps = ['configure'] + +# tests must be run from a local filesystem +# runtest = 'test' + +installopts = 'PREFIX="%(installdir)s"' + +sanity_check_paths = { + 'files': ['bin/redis-cli', 'bin/redis-server'], + 'dirs': [], +} + +sanity_check_commands = [('redis-server', '--version')] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/r/Redis/Redis-7.4.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/r/Redis/Redis-7.4.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..299d66ea0b3 --- /dev/null +++ b/easybuild/easyconfigs/r/Redis/Redis-7.4.1-GCCcore-13.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'Redis' +version = '7.4.1' + +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.3.0'} + +source_urls = ['https://download.redis.io/releases'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['bc34b878eb89421bbfca6fa78752343bf37af312a09eb0fae47c9575977dfaa2'] + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), +] + +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/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/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/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/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 index dc6ba8f38af..02f29a4634f 100644 --- a/easybuild/easyconfigs/r/Ruby/Ruby-3.0.1-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/r/Ruby/Ruby-3.0.1-GCCcore-11.2.0.eb @@ -12,7 +12,11 @@ source_urls = ['https://cache.ruby-lang.org/pub/ruby/%(version_major_minor)s'] sources = [SOURCELOWER_TAR_GZ] checksums = ['369825db2199f6aeef16b408df6a04ebaddb664fb9af0ec8c686b0ce7ab77727'] -builddependencies = [('binutils', '2.37')] +dependencies = [ + ('binutils', '2.37'), # needed for gem + ('zlib', '1.2.11'), + ('OpenSSL', '1.1', '', SYSTEM), +] exts_default_options = { 'source_urls': ['https://rubygems.org/downloads/'], diff --git a/easybuild/easyconfigs/r/Ruby/Ruby-3.0.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/r/Ruby/Ruby-3.0.3-GCCcore-11.3.0.eb index 864a9112c6a..8fd64d2779d 100644 --- a/easybuild/easyconfigs/r/Ruby/Ruby-3.0.3-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/r/Ruby/Ruby-3.0.3-GCCcore-11.3.0.eb @@ -12,7 +12,11 @@ source_urls = ['https://cache.ruby-lang.org/pub/ruby/%(version_major_minor)s'] sources = [SOURCELOWER_TAR_GZ] checksums = ['3586861cb2df56970287f0fd83f274bd92058872d830d15570b36def7f1a92ac'] -builddependencies = [('binutils', '2.38')] +dependencies = [ + ('binutils', '2.38'), # needed for gem + ('zlib', '1.2.12'), + ('OpenSSL', '1.1', '', SYSTEM), +] exts_default_options = { 'source_urls': ['https://rubygems.org/downloads/'], diff --git a/easybuild/easyconfigs/r/Ruby/Ruby-3.0.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/r/Ruby/Ruby-3.0.5-GCCcore-11.3.0.eb index 13a6f73ff7b..510f94f6868 100644 --- a/easybuild/easyconfigs/r/Ruby/Ruby-3.0.5-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/r/Ruby/Ruby-3.0.5-GCCcore-11.3.0.eb @@ -12,7 +12,11 @@ source_urls = ['https://cache.ruby-lang.org/pub/ruby/%(version_major_minor)s'] sources = [SOURCELOWER_TAR_GZ] checksums = ['9afc6380a027a4fe1ae1a3e2eccb6b497b9c5ac0631c12ca56f9b7beb4848776'] -builddependencies = [('binutils', '2.38')] +dependencies = [ + ('binutils', '2.38'), # needed for gem + ('zlib', '1.2.12'), + ('OpenSSL', '1.1', '', SYSTEM), +] exts_default_options = { 'source_urls': ['https://rubygems.org/downloads/'], diff --git a/easybuild/easyconfigs/r/Ruby/Ruby-3.2.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/r/Ruby/Ruby-3.2.2-GCCcore-12.2.0.eb index 0f53d7206f9..6b8254f9c1f 100644 --- a/easybuild/easyconfigs/r/Ruby/Ruby-3.2.2-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/r/Ruby/Ruby-3.2.2-GCCcore-12.2.0.eb @@ -12,11 +12,10 @@ source_urls = ['https://cache.ruby-lang.org/pub/ruby/%(version_major_minor)s'] sources = [SOURCELOWER_TAR_GZ] checksums = ['96c57558871a6748de5bc9f274e93f4b5aad06cd8f37befa0e8d94e7b8a423bc'] -builddependencies = [ - ('binutils', '2.39'), -] - dependencies = [ + ('binutils', '2.39'), # needed for gem + ('zlib', '1.2.12'), + ('OpenSSL', '1.1', '', SYSTEM), ('libyaml', '0.2.5'), ] diff --git a/easybuild/easyconfigs/r/Ruby/Ruby-3.3.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/r/Ruby/Ruby-3.3.0-GCCcore-12.3.0.eb index 3059ed91825..9b9a28660c7 100644 --- 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 @@ -12,11 +12,10 @@ source_urls = ['https://cache.ruby-lang.org/pub/ruby/%(version_major_minor)s'] sources = [SOURCELOWER_TAR_GZ] checksums = ['96518814d9832bece92a85415a819d4893b307db5921ae1f0f751a9a89a56b7d'] -builddependencies = [ - ('binutils', '2.40'), -] - dependencies = [ + ('binutils', '2.40'), # needed for gem + ('zlib', '1.2.13'), + ('OpenSSL', '1.1', '', SYSTEM), ('libyaml', '0.2.5'), ] 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/Rust/Rust-1.81.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/r/Rust/Rust-1.81.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..ca97c690c02 --- /dev/null +++ b/easybuild/easyconfigs/r/Rust/Rust-1.81.0-GCCcore-13.3.0.eb @@ -0,0 +1,31 @@ +name = 'Rust' +version = '1.81.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.81.0-src.tar.gz': '872448febdff32e50c3c90a7e15f9bb2db131d13c588fe9071b0ed88837ccfa7'}, + {'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/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-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/rasterio/rasterio-1.3.9-foss-2023a.eb b/easybuild/easyconfigs/r/rasterio/rasterio-1.3.9-foss-2023a.eb new file mode 100644 index 00000000000..443760ece32 --- /dev/null +++ b/easybuild/easyconfigs/r/rasterio/rasterio-1.3.9-foss-2023a.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'rasterio' +version = '1.3.9' + +homepage = 'https://github.com/mapbox/rasterio' +description = "Rasterio reads and writes geospatial raster data." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('GDAL', '3.7.1'), + ('matplotlib', '3.7.2'), # plot extra + ('boto3', '1.28.70'), # s3 extra +] + +use_pip = True + +exts_list = [ + ('affine', '2.4.0', { + 'checksums': ['a24d818d6a836c131976d22f8c27b8d3ca32d0af64c1d8d29deb7bafa4da1eea'], + }), + ('click-plugins', '1.1.1', { + 'checksums': ['46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b'], + }), + ('cligj', '0.7.2', { + 'checksums': ['a4bc13d623356b373c2c27c53dbd9c68cae5d526270bfa71f6c6fa69669c6b27'], + }), + ('snuggs', '1.4.7', { + 'checksums': ['501cf113fe3892e14e2fee76da5cd0606b7e149c411c271898e6259ebde2617b'], + }), + (name, version, { + 'use_pip_extras': 'plot,s3', + 'checksums': ['fc6d0d290492fa1a5068711cfebb21cc936968891b7ed9da0690c8a7388885c5'], + }), +] + +fix_python_shebang_for = ['bin/jp.py', 'bin/rio'] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/rio'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "jp.py --help", + "rio --help", +] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/r/rclone/rclone-1.65.2.eb b/easybuild/easyconfigs/r/rclone/rclone-1.65.2.eb new file mode 100644 index 00000000000..6110c02c2b1 --- /dev/null +++ b/easybuild/easyconfigs/r/rclone/rclone-1.65.2.eb @@ -0,0 +1,34 @@ +easyblock = 'GoPackage' + +name = 'rclone' +version = '1.65.2' + +homepage = 'https://rclone.org' + +description = """ + Rclone is a command line program to sync files and directories to and from + a variety of online storage services +""" + +toolchain = SYSTEM + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['5ae6179908650429e8d366e4940b586a4bd4aa9ee90c23c423be35550dded346'] + +builddependencies = [('Go', '1.21.6', '', SYSTEM)] + +postinstallcmds = [ + "mkdir -p %(installdir)s/share/{doc,man/man1}", + "cp README.* MANUAL.* %(installdir)s/share/doc/", + "cp rclone.1 %(installdir)s/share/man/man1/", +] + +sanity_check_paths = { + 'files': ['bin/rclone', 'share/doc/README.md', 'share/man/man1/rclone.1'], + 'dirs': [] +} + +sanity_check_commands = ['rclone --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/rclone/rclone-1.66.0.eb b/easybuild/easyconfigs/r/rclone/rclone-1.66.0.eb new file mode 100644 index 00000000000..18b8b6c77b8 --- /dev/null +++ b/easybuild/easyconfigs/r/rclone/rclone-1.66.0.eb @@ -0,0 +1,34 @@ +easyblock = 'GoPackage' + +name = 'rclone' +version = '1.66.0' + +homepage = 'https://rclone.org' + +description = """ + Rclone is a command line program to sync files and directories to and from + a variety of online storage services +""" + +toolchain = SYSTEM + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['9249391867044a0fa4c5a948b46a03b320706b4d5c4d59db9d4aeff8d47cade2'] + +builddependencies = [('Go', '1.22.1', '', SYSTEM)] + +postinstallcmds = [ + "mkdir -p %(installdir)s/share/{doc,man/man1}", + "cp README.* MANUAL.* %(installdir)s/share/doc/", + "cp rclone.1 %(installdir)s/share/man/man1/", +] + +sanity_check_paths = { + 'files': ['bin/rclone', 'share/doc/README.md', 'share/man/man1/rclone.1'], + 'dirs': [] +} + +sanity_check_commands = ['rclone --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/rclone/rclone-1.68.1.eb b/easybuild/easyconfigs/r/rclone/rclone-1.68.1.eb new file mode 100644 index 00000000000..12c72ff4ab8 --- /dev/null +++ b/easybuild/easyconfigs/r/rclone/rclone-1.68.1.eb @@ -0,0 +1,34 @@ +easyblock = 'GoPackage' + +name = 'rclone' +version = '1.68.1' + +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 = ['26259526855a12499d00e3a3135ee95e7aeb3ecf2f85886d8c837a2e7b236226'] + +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-3.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/r/re2c/re2c-3.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..d40fa786722 --- /dev/null +++ b/easybuild/easyconfigs/r/re2c/re2c-3.1-GCCcore-13.3.0.eb @@ -0,0 +1,33 @@ +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.3.0'} + +source_urls = ['https://github.com/skvadrik/%(name)s/releases/download/%(version)s'] +sources = [SOURCE_TAR_XZ] +checksums = ['0ac299ad359e3f512b06a99397d025cfff81d3be34464ded0656f8a96676c029'] + +builddependencies = [ + ('binutils', '2.42'), + ('Python', '3.12.3'), +] + +configopts = '--disable-rust' + + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +sanity_check_commands = ['%(name)s --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-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/redis-py/redis-py-5.1.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/r/redis-py/redis-py-5.1.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..257c413dbaa --- /dev/null +++ b/easybuild/easyconfigs/r/redis-py/redis-py-5.1.1-GCCcore-13.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'redis-py' +version = '5.1.1' + +homepage = 'https://github.com/redis/redis-py' +description = "The Python interface to the Redis key-value store." + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('Python', '3.12.3'), + ('typing-extensions', '4.11.0'), + ('Redis', '7.4.1'), +] + +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': ['e1df6dd98eb2bdbc68dabb4b19a5167468ae36dbb53a1c777d5cf7ba8345450e'], + }), +] + +sanity_pip_check = True + +moduleclass = "data" 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/remake/remake-4.3+dbg-1.6-GCCcore-11.3.0.eb b/easybuild/easyconfigs/r/remake/remake-4.3+dbg-1.6-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..aa3958606a9 --- /dev/null +++ b/easybuild/easyconfigs/r/remake/remake-4.3+dbg-1.6-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'remake' +version = '4.3+dbg-1.6' + +homepage = 'https://bashdb.sourceforge.net/remake' +description = """remake is an enhanced version of GNU Make that adds improved error reporting, better tracing, + profiling and a debugger""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/rocky/remake/releases/download/remake-%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['f6a0c6179cd92524ad5dd04787477c0cd45afb5822d977be93d083b810647b87'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('libreadline', '8.1.2'), +] + +sanity_check_paths = { + 'files': ['bin/remake'], + 'dirs': ['share'], +} + +sanity_check_commands = [ + "remake --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/rethinking/rethinking-2.40-20230914-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/r/rethinking/rethinking-2.40-20230914-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..2f61ca5e87b --- /dev/null +++ b/easybuild/easyconfigs/r/rethinking/rethinking-2.40-20230914-foss-2023a-R-4.3.2.eb @@ -0,0 +1,32 @@ +easyblock = 'RPackage' + +name = 'rethinking' +# see DESCRIPTION file for version + add datestamp of commit +local_commit = 'f3ac8de' +version = '2.40-20230914' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/rmcelreath/rethinking' +description = """R package that contains tools for conducting both quick quadratic approximation of the posterior + distribution as well as Hamiltonian Monte Carlo.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/rmcelreath/rethinking/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['831b6bebc861615aee94415c42ec37000e74b00242b30830af17bb5a126fd786'] + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-CRAN', '2023.12'), + ('CmdStanR', '0.7.1', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(namelower)s'], +} + +options = {'modulename': '%(namelower)s'} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/r/rioxarray/rioxarray-0.15.0-foss-2023a.eb b/easybuild/easyconfigs/r/rioxarray/rioxarray-0.15.0-foss-2023a.eb new file mode 100644 index 00000000000..602dfef5387 --- /dev/null +++ b/easybuild/easyconfigs/r/rioxarray/rioxarray-0.15.0-foss-2023a.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'rioxarray' +version = '0.15.0' + +homepage = 'https://corteva.github.io/rioxarray' +description = "Geospatial xarray extension powered by rasterio" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('rasterio', '1.3.9'), + ('pyproj', '3.6.0'), + ('xarray', '2023.9.0'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'use_pip_extras': 'interp', + 'checksums': ['d2a8429a5b6405913c7b6f515ef2992b05139c96eb39a2dc1c9f475ce0848c9c'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/r/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/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-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/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.5.15-foss-2023a.eb b/easybuild/easyconfigs/r/rpy2/rpy2-3.5.15-foss-2023a.eb new file mode 100644 index 00000000000..11bd5f95fe8 --- /dev/null +++ b/easybuild/easyconfigs/r/rpy2/rpy2-3.5.15-foss-2023a.eb @@ -0,0 +1,43 @@ +# Author: Pavel Grochal (INUITS) +# Updated: Denis Kristak, Pavel Tománek (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'rpy2' +version = '3.5.15' + +homepage = 'https://rpy2.github.io' +description = """rpy2 is an interface to R running embedded in a Python process.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('R', '4.3.2'), + ('R-bundle-CRAN', '2023.12'), + ('IPython', '8.14.0'), + ('cffi', '1.15.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('coverage', '7.4.3', { + 'checksums': ['276f6077a5c61447a48d133ed13e759c09e62aff0dc84274a68dc18660104d52'], + }), + ('pytest-cov', '4.1.0', { + 'checksums': ['3904b13dfbfec47f003b8e77fd5b589cd11904a21ddf1ab38a64f204d6a10ef6'], + }), + ('tzlocal', '5.2', { + 'checksums': ['8d399205578f1a9342816409cc1e46a93ebd5755e39ea2d85334bea911bf0e6e'], + }), + (name, version, { + 'checksums': ['444fae4a84dc7f233b70eaab0aa81398ee0147c4e1ae38dd4524d779d6f25b2b'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/ruamel.yaml/ruamel.yaml-0.18.6-GCCcore-13.2.0.eb b/easybuild/easyconfigs/r/ruamel.yaml/ruamel.yaml-0.18.6-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..48c01ce24a2 --- /dev/null +++ b/easybuild/easyconfigs/r/ruamel.yaml/ruamel.yaml-0.18.6-GCCcore-13.2.0.eb @@ -0,0 +1,60 @@ +easyblock = 'PythonBundle' + +name = 'ruamel.yaml' +version = '0.18.6' + +homepage = 'https://sourceforge.net/projects/ruamel-yaml' +description = "ruamel.yaml is a YAML 1.2 loader/dumper package for Python." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('poetry', '1.6.1'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), +] + +use_pip = True + +exts_list = [ + ('ruamel.yaml.jinja2', '0.2.7', { + 'checksums': ['8449be29d9a157fa92d1648adc161d718e469f0d38a6b21e0eabb76fd5b3e663'], + }), + ('ruamel.yaml.clib', '0.2.8', { + 'modulename': False, + 'checksums': ['beb2e0404003de9a4cab9753a8805a8fe9320ee6673136ed7f04255fe60bb512'], + }), + (name, version, { + 'checksums': ['8b27e6a217e786c6fbe5634d8f3f11bc63e0f80f6a5890f28863d9c45aac311b'], + }), + ('configobj', '5.0.8', { + 'checksums': ['6f704434a07dc4f4dc7c9a745172c1cad449feb548febd9f7fe362629c627a97'], + }), + ('lz4', '4.3.3', { + 'checksums': ['01fe674ef2889dbb9899d8a67361e0c4a2c833af5aeb37dd505727cf5d2a131e'], + }), + ('ruamel.yaml.base', '0.3.2', { + 'checksums': ['88b6edc8ace60c12d98f05fda22e5d9d69ba9a4b531cf54783142151145b0372'], + }), + ('ruamel.yaml.convert', '0.3.2', { + 'checksums': ['065ed9492a3189291d5bc0256709afc0231b52e4a01376fc91cf1757560ac9c4'], + }), + ('ruamel.yaml.cmd', '0.6.5', { + 'checksums': ['49af59514cb87d7637d1186e31c9345c9947120a9ce49cf6975435aa7abd5aa8'], + }), +] + +sanity_check_paths = { + 'files': ['bin/yaml'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["yaml --help"] + +sanity_pip_check = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/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/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-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/SAMtools/SAMtools-1.21-GCC-13.3.0.eb b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.21-GCC-13.3.0.eb new file mode 100644 index 00000000000..775ce37b311 --- /dev/null +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.21-GCC-13.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 +# Updated to 1.21 jpecar / EMBL + +name = 'SAMtools' +version = '1.21' + +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.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['05724b083a6b6f0305fcae5243a056cc36cf826309c3cb9347a6b89ee3fc5ada'] + +# The htslib component of SAMtools >= 1.4 uses zlib, bzip2 and lzma compression. +# The latter is currently provided by XZ. +dependencies = [ + ('ncurses', '6.5'), + ('zlib', '1.3.1'), + ('bzip2', '1.0.8'), + ('XZ', '5.4.5'), + ('cURL', '8.7.1'), +] + + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SBCL/SBCL-2.4.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/SBCL/SBCL-2.4.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..21e0f89860e --- /dev/null +++ b/easybuild/easyconfigs/s/SBCL/SBCL-2.4.1-GCCcore-12.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' +name = 'SBCL' +version = '2.4.1' + +homepage = 'http://sbcl.sourceforge.net/' +description = """ +Steel Bank Common Lisp (SBCL) is a high performance Common Lisp compiler. It is +open source / free software, with a permissive license. In addition to the +compiler and runtime system for ANSI Common Lisp, it provides an interactive +environment including a debugger, a statistical profiler, a code coverage tool, +and many other extensions.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(namelower)s-%(version)s-source.tar.bz2'] +checksums = ['da4f9486fad413d3af7abb1b09269325fdb4bff7e7b88f2195ddee743263cf7e'] + +builddependencies = [ + ('binutils', '2.40'), + ('CCL', '1.12.2'), +] + +parallel = False +skipsteps = ['configure'] +local_prefixarg = '--prefix=%(installdir)s' + +# Build SBCL with Clozure CL +# Using the binary distribution of SBCL to build SBCL is not trivial because +# it needs GLIBC v2.28 +build_cmd = "sh make.sh" +buildopts = "%s --xc-host=ccl" % local_prefixarg + +install_cmd = "sh install.sh" +installopts = local_prefixarg + +sanity_check_paths = { + 'files': ['bin/sbcl'], + 'dirs': ['lib/sbcl'], +} + +sanity_check_commands = ["sbcl --help"] + +modextrapaths = {'SBCL_HOME': 'lib/sbcl'} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SCENIC/SCENIC-1.3.0-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/s/SCENIC/SCENIC-1.3.0-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..8200a80dba1 --- /dev/null +++ b/easybuild/easyconfigs/s/SCENIC/SCENIC-1.3.0-foss-2023a-R-4.3.2.eb @@ -0,0 +1,27 @@ +easyblock = 'RPackage' + +name = 'SCENIC' +version = '1.3.0' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://scenic.aertslab.org' +description = "SCENIC Suite is a set of tools to study and decipher gene regulation." + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/aertslab/SCENIC/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['dcae14b1008cb11a34b03cd7c0830e2f00567bd073ff27da11d57501360965f8'] + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-CRAN', '2023.12'), + ('R-bundle-Bioconductor', '3.18', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['SCENIC'], +} + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/s/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.9b0-foss-2021b.eb b/easybuild/easyconfigs/s/SCGid/SCGid-0.9b0-foss-2021b.eb index 173bc41c41a..750f9c843ff 100644 --- a/easybuild/easyconfigs/s/SCGid/SCGid-0.9b0-foss-2021b.eb +++ b/easybuild/easyconfigs/s/SCGid/SCGid-0.9b0-foss-2021b.eb @@ -36,7 +36,7 @@ dependencies = [ use_pip = True sanity_pip_check = True -download_dep_fail = False +download_dep_fail = True exts_defaultclass = "Tarball" diff --git a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.0-gompi-2021a.eb b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.0-gompi-2021a.eb index 7f0edffee3a..5b7962d2cd0 100644 --- a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.0-gompi-2021a.eb +++ b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.0-gompi-2021a.eb @@ -4,7 +4,7 @@ name = 'SCOTCH' version = '6.1.0' -homepage = 'https://gforge.inria.fr/projects/scotch/' +homepage = 'https://www.labri.fr/perso/pelegrin/scotch/' description = """Software package and libraries for sequential and parallel graph partitioning, static mapping, and sparse matrix block ordering, and sequential mesh and hypergraph partitioning.""" diff --git a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.0-iimpi-2021a.eb b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.0-iimpi-2021a.eb index 7baa08f4825..5dd92fc68d3 100644 --- a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.0-iimpi-2021a.eb +++ b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.0-iimpi-2021a.eb @@ -1,7 +1,7 @@ name = 'SCOTCH' version = '6.1.0' -homepage = 'https://gforge.inria.fr/projects/scotch/' +homepage = 'https://www.labri.fr/perso/pelegrin/scotch/' description = """Software package and libraries for sequential and parallel graph partitioning, static mapping, and sparse matrix block ordering, and sequential mesh and hypergraph partitioning.""" diff --git a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.2-gompi-2021b.eb b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.2-gompi-2021b.eb index c98ffbdf7ef..190b28fe2cd 100644 --- a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.2-gompi-2021b.eb +++ b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.2-gompi-2021b.eb @@ -4,7 +4,7 @@ name = 'SCOTCH' version = '6.1.2' -homepage = 'https://gforge.inria.fr/projects/scotch/' +homepage = 'https://www.labri.fr/perso/pelegrin/scotch/' description = """Software package and libraries for sequential and parallel graph partitioning, static mapping, and sparse matrix block ordering, and sequential mesh and hypergraph partitioning.""" diff --git a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.2-iimpi-2021b.eb b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.2-iimpi-2021b.eb index 9f69f5ceddf..3cdf4567b3a 100644 --- a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.2-iimpi-2021b.eb +++ b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.2-iimpi-2021b.eb @@ -1,7 +1,7 @@ name = 'SCOTCH' version = '6.1.2' -homepage = 'https://gforge.inria.fr/projects/scotch/' +homepage = 'https://www.labri.fr/perso/pelegrin/scotch/' description = """Software package and libraries for sequential and parallel graph partitioning, static mapping, and sparse matrix block ordering, and sequential mesh and hypergraph partitioning.""" diff --git a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-7.0.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.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/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.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.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.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/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/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 index 7cb1689c5c2..30b9729414a 100644 --- 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 @@ -31,12 +31,18 @@ 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'] +# 1.7.7 was rereleased with code changes. Old checksum was: +# 3b5072d8a32a9e9858d85dfe4dc01e7cfdbf54cdaa60660e760b634ee08d8a4c +checksums = ['e37c42975b47dead4649d34fbcaf5a95d2257240039756a0d7f3c1ff312aebcc'] builddependencies = [ ('binutils', '2.37'), ] +# remove -m64 flag from PFLAG variable in Makefiles for CPU architectures that don't support it +if ARCH != 'x86_64': + preconfigopts = 'sed -i "s|PFLAG = -m\\$(PREC)|PFLAG = |" mf/Makefile.defs.linux-gomp* && ' + configopts = '--disable-cxx --disable-fortran --disable-ompi ' # Comment it out if you have Xeon Phi: 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 index 9d094c2cb89..f948c852c2d 100644 --- 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 @@ -31,12 +31,18 @@ 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'] +# 1.7.7 was rereleased with code changes. Old checksum was: +# 3b5072d8a32a9e9858d85dfe4dc01e7cfdbf54cdaa60660e760b634ee08d8a4c +checksums = ['e37c42975b47dead4649d34fbcaf5a95d2257240039756a0d7f3c1ff312aebcc'] builddependencies = [ ('binutils', '2.38'), ] +# remove -m64 flag from PFLAG variable in Makefiles for CPU architectures that don't support it +if ARCH != 'x86_64': + preconfigopts = 'sed -i "s|PFLAG = -m\\$(PREC)|PFLAG = |" mf/Makefile.defs.linux-gomp* && ' + configopts = '--disable-cxx --disable-fortran --disable-ompi ' # Comment it out if you have Xeon Phi: 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 index 5bf659a141a..3921083e94f 100644 --- 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 @@ -31,12 +31,18 @@ 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'] +# 1.7.7 was rereleased with code changes. Old checksum was: +# 3b5072d8a32a9e9858d85dfe4dc01e7cfdbf54cdaa60660e760b634ee08d8a4c +checksums = ['e37c42975b47dead4649d34fbcaf5a95d2257240039756a0d7f3c1ff312aebcc'] builddependencies = [ ('binutils', '2.39'), ] +# remove -m64 flag from PFLAG variable in Makefiles for CPU architectures that don't support it +if ARCH != 'x86_64': + preconfigopts = 'sed -i "s|PFLAG = -m\\$(PREC)|PFLAG = |" mf/Makefile.defs.linux-gomp* && ' + configopts = '--disable-cxx --disable-fortran --disable-ompi ' # Comment it out if you have Xeon Phi: 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 index 7cae952e521..2a1c723de5a 100644 --- 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 @@ -31,12 +31,18 @@ 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'] +# 1.7.7 was rereleased with code changes. Old checksum was: +# 3b5072d8a32a9e9858d85dfe4dc01e7cfdbf54cdaa60660e760b634ee08d8a4c +checksums = ['e37c42975b47dead4649d34fbcaf5a95d2257240039756a0d7f3c1ff312aebcc'] builddependencies = [ ('binutils', '2.40'), ] +# remove -m64 flag from PFLAG variable in Makefiles for CPU architectures that don't support it +if ARCH != 'x86_64': + preconfigopts = 'sed -i "s|PFLAG = -m\\$(PREC)|PFLAG = |" mf/Makefile.defs.linux-gomp* && ' + configopts = '--disable-cxx --disable-fortran --disable-ompi ' # Comment it out if you have Xeon Phi: 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..90f04ab5dff --- /dev/null +++ b/easybuild/easyconfigs/s/SIONlib/SIONlib-1.7.7-GCCcore-13.2.0-tools.eb @@ -0,0 +1,57 @@ +# # +# 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'] +# 1.7.7 was rereleased with code changes. Old checksum was: +# 3b5072d8a32a9e9858d85dfe4dc01e7cfdbf54cdaa60660e760b634ee08d8a4c +checksums = ['e37c42975b47dead4649d34fbcaf5a95d2257240039756a0d7f3c1ff312aebcc'] + +builddependencies = [ + ('binutils', '2.40'), +] + +# remove -m64 flag from PFLAG variable in Makefiles for CPU architectures that don't support it +if ARCH != 'x86_64': + preconfigopts = 'sed -i "s|PFLAG = -m\\$(PREC)|PFLAG = |" mf/Makefile.defs.linux-gomp* && ' + +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..ff0762c0c4e --- /dev/null +++ b/easybuild/easyconfigs/s/SIONlib/SIONlib-1.7.7-GCCcore-13.3.0-tools.eb @@ -0,0 +1,57 @@ +# # +# 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'] +# 1.7.7 was rereleased with code changes. Old checksum was: +# 3b5072d8a32a9e9858d85dfe4dc01e7cfdbf54cdaa60660e760b634ee08d8a4c +checksums = ['e37c42975b47dead4649d34fbcaf5a95d2257240039756a0d7f3c1ff312aebcc'] + +builddependencies = [ + ('binutils', '2.42'), +] + +# remove -m64 flag from PFLAG variable in Makefiles for CPU architectures that don't support it +if ARCH != 'x86_64': + preconfigopts = 'sed -i "s|PFLAG = -m\\$(PREC)|PFLAG = |" mf/Makefile.defs.linux-gomp* && ' + +configopts = '--disable-cxx --disable-fortran --disable-ompi ' + +# Comment it out if you have Xeon Phi: +configopts += '--disable-mic ' + +sanity_check_paths = { + 'files': ['bin/sionconfig'] + + ['lib/lib%s_64.a' % x for x in ['lsioncom', 'lsiongen', 'lsionser']], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SIP/SIP-6.8.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/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/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/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-HMM/SNAP-HMM-20221022-GCC-12.3.0.eb b/easybuild/easyconfigs/s/SNAP-HMM/SNAP-HMM-20221022-GCC-12.3.0.eb new file mode 100644 index 00000000000..06b3173938e --- /dev/null +++ b/easybuild/easyconfigs/s/SNAP-HMM/SNAP-HMM-20221022-GCC-12.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': '12.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/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/SNPTEST/SNPTEST-2.5.6.eb b/easybuild/easyconfigs/s/SNPTEST/SNPTEST-2.5.6.eb new file mode 100644 index 00000000000..a404d99e468 --- /dev/null +++ b/easybuild/easyconfigs/s/SNPTEST/SNPTEST-2.5.6.eb @@ -0,0 +1,33 @@ +easyblock = 'Tarball' + +name = 'SNPTEST' +version = '2.5.6' + +homepage = 'https://www.chg.ox.ac.uk/~gav/snptest/' +description = """SNPTEST is a program for the analysis of single SNP association in genome-wide studies. + The tests implemented include + + Binary (case-control) phenotypes, single and multiple quantitative phenotypes + Bayesian and Frequentist tests + Ability to condition upon an arbitrary set of covariates and/or SNPs. + Various different methods for the dealing with imputed SNPs. +""" + +toolchain = SYSTEM + +source_urls = ['https://www.well.ox.ac.uk/~gav/resources/'] +sources = ['snptest_v2.5.6_CentOS_Linux7.8-x86_64_dynamic.tgz'] +checksums = ['c2c829def961dd2f6377c388d8aa22cab17945961c47e39c4a94493466c0a52e'] + +postinstallcmds = ["cd %(installdir)s && ln -s snptest_v2.5.6 snptest"] + +sanity_check_paths = { + 'files': ['LICENCE'], + 'dirs': ['doc', 'example'], +} + +modextrapaths = {'PATH': ''} + +sanity_check_commands = ["snptest -help"] + +moduleclass = 'bio' 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 index a0d2e6b9948..3647d8fcef1 100644 --- a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.13.0-GCC-10.3.0.eb +++ b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.13.0-GCC-10.3.0.eb @@ -12,12 +12,12 @@ easyblock = 'CMakeMake' name = 'SPAdes' version = '3.13.0' -homepage = 'https://cab.spbu.ru/software/spades/' +homepage = 'https://github.com/ablab/spades' description = "Genome assembler for single-cell and isolates data sets" toolchain = {'name': 'GCC', 'version': '10.3.0'} -source_urls = ['http://cab.spbu.ru/files/release%(version)s'] +source_urls = ['https://github.com/ablab/spades/releases/download/v%(version)s/'] sources = [SOURCE_TAR_GZ] checksums = ['c63442248c4c712603979fa70503c2bff82354f005acda2abc42dd5598427040'] diff --git a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.14.1-GCC-9.3.0-Python-3.8.2.eb b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.14.1-GCC-9.3.0-Python-3.8.2.eb index 797c1dc12b6..24ec86b9fb0 100644 --- a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.14.1-GCC-9.3.0-Python-3.8.2.eb +++ b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.14.1-GCC-9.3.0-Python-3.8.2.eb @@ -13,12 +13,12 @@ name = 'SPAdes' version = '3.14.1' versionsuffix = '-Python-%(pyver)s' -homepage = 'http://cab.spbu.ru/software/spades/' +homepage = 'https://github.com/ablab/spades' description = "Genome assembler for single-cell and isolates data sets" toolchain = {'name': 'GCC', 'version': '9.3.0'} -source_urls = ['http://cab.spbu.ru/files/release%(version)s'] +source_urls = ['https://github.com/ablab/spades/releases/download/v%(version)s/'] sources = [SOURCE_TAR_GZ] checksums = ['d629b78f7e74c82534ac20f5b3c2eb367f245e6840a67b9ef6a76f6fac5323ca'] diff --git a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.2-GCC-10.2.0-Python-2.7.18.eb b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.2-GCC-10.2.0-Python-2.7.18.eb index 54ab5e1ceb0..a2f6af4df23 100644 --- a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.2-GCC-10.2.0-Python-2.7.18.eb +++ b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.2-GCC-10.2.0-Python-2.7.18.eb @@ -13,12 +13,12 @@ name = 'SPAdes' version = '3.15.2' versionsuffix = '-Python-%(pyver)s' -homepage = 'https://cab.spbu.ru/software/spades/' +homepage = 'https://github.com/ablab/spades' description = "Genome assembler for single-cell and isolates data sets" toolchain = {'name': 'GCC', 'version': '10.2.0'} -source_urls = ['http://cab.spbu.ru/files/release%(version)s'] +source_urls = ['https://github.com/ablab/spades/releases/download/v%(version)s/'] sources = [SOURCE_TAR_GZ] checksums = ['e93b43951a814dc7bd6a246e1e863bbad6aac4bfe1928569402c131b2af99d0d'] diff --git a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.2-GCC-10.2.0.eb b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.2-GCC-10.2.0.eb index d1300d60a18..4a3432922a8 100644 --- a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.2-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.2-GCC-10.2.0.eb @@ -12,12 +12,12 @@ easyblock = 'CMakeMake' name = 'SPAdes' version = '3.15.2' -homepage = 'https://cab.spbu.ru/software/spades/' +homepage = 'https://github.com/ablab/spades' description = "Genome assembler for single-cell and isolates data sets" toolchain = {'name': 'GCC', 'version': '10.2.0'} -source_urls = ['http://cab.spbu.ru/files/release%(version)s'] +source_urls = ['https://github.com/ablab/spades/releases/download/v%(version)s/'] sources = [SOURCE_TAR_GZ] checksums = ['e93b43951a814dc7bd6a246e1e863bbad6aac4bfe1928569402c131b2af99d0d'] diff --git a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.3-GCC-10.3.0.eb b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.3-GCC-10.3.0.eb index 14828be4967..689bdea5858 100644 --- a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.3-GCC-10.3.0.eb +++ b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.3-GCC-10.3.0.eb @@ -12,12 +12,12 @@ easyblock = 'CMakeMake' name = 'SPAdes' version = '3.15.3' -homepage = 'https://cab.spbu.ru/software/spades/' +homepage = 'https://github.com/ablab/spades' description = "Genome assembler for single-cell and isolates data sets" toolchain = {'name': 'GCC', 'version': '10.3.0'} -source_urls = ['http://cab.spbu.ru/files/release%(version)s'] +source_urls = ['https://github.com/ablab/spades/releases/download/v%(version)s/'] sources = [SOURCE_TAR_GZ] checksums = ['b2e5a9fd7a65aee5ab886222d6af4f7b7bc7f755da7a03941571fabd6b9e1499'] diff --git a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.3-GCC-11.2.0.eb b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.3-GCC-11.2.0.eb index 047f59e56a7..3190e8efd2a 100644 --- a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.3-GCC-11.2.0.eb +++ b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.3-GCC-11.2.0.eb @@ -14,12 +14,12 @@ easyblock = 'CMakeMake' name = 'SPAdes' version = '3.15.3' -homepage = 'https://cab.spbu.ru/software/spades/' +homepage = 'https://github.com/ablab/spades' description = "Genome assembler for single-cell and isolates data sets" toolchain = {'name': 'GCC', 'version': '11.2.0'} -source_urls = ['http://cab.spbu.ru/files/release%(version)s'] +source_urls = ['https://github.com/ablab/spades/releases/download/v%(version)s/'] sources = [SOURCE_TAR_GZ] checksums = ['b2e5a9fd7a65aee5ab886222d6af4f7b7bc7f755da7a03941571fabd6b9e1499'] diff --git a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.4-GCC-12.2.0.eb b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.4-GCC-12.2.0.eb index cd2ebd173bc..19425c9193c 100644 --- a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.4-GCC-12.2.0.eb +++ b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.4-GCC-12.2.0.eb @@ -14,12 +14,12 @@ easyblock = 'CMakeMake' name = 'SPAdes' version = '3.15.4' -homepage = 'https://cab.spbu.ru/software/spades/' +homepage = 'https://github.com/ablab/spades' description = "Genome assembler for single-cell and isolates data sets" toolchain = {'name': 'GCC', 'version': '12.2.0'} -source_urls = ['http://cab.spbu.ru/files/release%(version)s'] +source_urls = ['https://github.com/ablab/spades/releases/download/v%(version)s/'] sources = [SOURCE_TAR_GZ] checksums = ['3b241c528a42a8bdfdf23e5bf8f0084834790590d08491decea9f0f009d8589f'] diff --git a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.4-GCC-12.3.0.eb b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.4-GCC-12.3.0.eb new file mode 100644 index 00000000000..4988f48656f --- /dev/null +++ b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.4-GCC-12.3.0.eb @@ -0,0 +1,48 @@ +# This file is an EasyBuild reciPY as per https://easybuilders.github.io/easybuild/ +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# Modified by: +# Adam Huffman +# The Francis Crick Institute +# Updated by: +# Filip Kružík (INUITS) +# Pavel Tománek (INUIS) + +easyblock = 'CMakeMake' + +name = 'SPAdes' +version = '3.15.4' + +homepage = 'https://github.com/ablab/spades' +description = "Genome assembler for single-cell and isolates data sets" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/ablab/spades/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['3b241c528a42a8bdfdf23e5bf8f0084834790590d08491decea9f0f009d8589f'] + +builddependencies = [ + ('CMake', '3.26.3'), +] +dependencies = [ + ('Python', '3.11.3'), + ('zlib', '1.2.13'), + ('bzip2', '1.0.8'), + ('libreadline', '8.2'), +] + +start_dir = 'src' + +configopts = " -DBoost_NO_BOOST_CMAKE=ON" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['spades-bwa', 'spades-core', 'spades-gbuilder', 'spades-hammer', + 'spades-ionhammer', 'spades-kmercount', 'spades.py']], + 'dirs': [], +} + +sanity_check_commands = [('%(namelower)s.py', '--test')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.5-GCC-11.3.0.eb b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.5-GCC-11.3.0.eb index 4bc38b80160..edb35db2e8b 100644 --- a/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.5-GCC-11.3.0.eb +++ b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.5-GCC-11.3.0.eb @@ -14,12 +14,12 @@ easyblock = 'CMakeMake' name = 'SPAdes' version = '3.15.5' -homepage = 'https://cab.spbu.ru/software/spades/' +homepage = 'https://github.com/ablab/spades' description = "Genome assembler for single-cell and isolates data sets" toolchain = {'name': 'GCC', 'version': '11.3.0'} -source_urls = ['http://cab.spbu.ru/files/release%(version)s'] +source_urls = ['https://github.com/ablab/spades/releases/download/v%(version)s/'] sources = [SOURCE_TAR_GZ] checksums = ['155c3640d571f2e7b19a05031d1fd0d19bd82df785d38870fb93bd241b12bbfa'] diff --git a/easybuild/easyconfigs/s/SPOOLES/SPOOLES-2.2-gompi-2023a.eb b/easybuild/easyconfigs/s/SPOOLES/SPOOLES-2.2-gompi-2023a.eb new file mode 100644 index 00000000000..b62a968bd10 --- /dev/null +++ b/easybuild/easyconfigs/s/SPOOLES/SPOOLES-2.2-gompi-2023a.eb @@ -0,0 +1,51 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'MakeCp' + +name = 'SPOOLES' +version = '2.2' + +homepage = 'https://netlib.org/linalg/spooles/spooles.2.2.html' +description = """SPOOLES is a library for solving sparse real and complex linear + systems of equations, written in the C language using object oriented design. +""" + +toolchain = {'name': 'gompi', 'version': '2023a'} + +source_urls = ['https://netlib.org/linalg/spooles'] +sources = ['%(namelower)s.%(version)s.tgz'] +patches = [ + '%(name)s-2.2_build-mpi-mt.patch', + '%(name)s-2.2_shared-libs.patch', +] +checksums = [ + {'spooles.2.2.tgz': 'a84559a0e987a1e423055ef4fdf3035d55b65bbe4bf915efaa1a35bef7f8c5dd'}, + {'SPOOLES-2.2_build-mpi-mt.patch': 'c983c7f37eb0904959cd2f6dff0b1fdb6a36440ca2a044fb2d324fd301e3dd7c'}, + {'SPOOLES-2.2_shared-libs.patch': 'bca50e13e3c552240f7494c4d9f69be8725054c9f79ebc82dbe6b7531588d09e'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + ('Perl', '5.36.1'), +] + +build_cmd_targets = 'lib' +buildopts = 'CC="$CC" CFLAGS="$CFLAGS" MPI_LIB_PATH="-L$MPI_LIB_DIR" MPI_INCLUDE_DIR="-I$MPI_INC_DIR"' + +files_to_copy = [ + (['libspooles*'], 'lib'), +] + +# install header files, keeping relative subdirectories +_install_headers = " ".join([ + "cd %(builddir)s && mkdir -p %(installdir)s/include/spooles &&", + r"find . -name '*.h' -print -exec install -D {} %(installdir)s/include/spooles/{} \;" +]) + +postinstallcmds = [_install_headers] + +sanity_check_paths = { + 'files': ['lib/lib%%(namelower)s.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': ['include/spooles'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/SQLAlchemy/SQLAlchemy-2.0.25-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/SQLAlchemy/SQLAlchemy-2.0.25-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..352d4e5fd08 --- /dev/null +++ b/easybuild/easyconfigs/s/SQLAlchemy/SQLAlchemy-2.0.25-GCCcore-12.3.0.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'SQLAlchemy' +version = '2.0.25' + +homepage = 'https://www.sqlalchemy.org/' +description = """SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives +application developers the full power and flexibility of SQL. SQLAlchemy +provides a full suite of well known enterprise-level persistence patterns, +designed for efficient and high-performing database access, adapted into a +simple and Pythonic domain language.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('psycopg2', '2.9.9'), # optional, postgresql extra + ('Mako', '1.2.4'), # needed by alembic +] + +use_pip = True + +exts_list = [ + ('greenlet', '3.0.3', { + 'checksums': ['43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491'], + }), + ('async-timeout', '4.0.3', { + 'checksums': ['4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f'], + }), + ('asyncpg', '0.29.0', { + 'checksums': ['d1c49e1f44fffafd9a55e1a9b101590859d881d639ea2922516f5d9c512d354e'], + }), + (name, version, { + 'use_pip_extras': 'asyncio,postgresql,postgresql_asyncpg', + 'checksums': ['a2c69a7664fb2d54b8682dd774c3b54f67f84fa123cf84dda2a5f40dcaa04e08'], + }), + ('alembic', '1.13.1', { + 'checksums': ['4932c8558bf68f2ee92b9bbcb8218671c627064d5b08939437af6d77dc05e595'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SQLAlchemy/SQLAlchemy-2.0.29-GCCcore-12.2.0.eb b/easybuild/easyconfigs/s/SQLAlchemy/SQLAlchemy-2.0.29-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..2f335afc78c --- /dev/null +++ b/easybuild/easyconfigs/s/SQLAlchemy/SQLAlchemy-2.0.29-GCCcore-12.2.0.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'SQLAlchemy' +version = '2.0.29' + +homepage = 'https://www.sqlalchemy.org/' +description = """SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives +application developers the full power and flexibility of SQL. SQLAlchemy +provides a full suite of well known enterprise-level persistence patterns, +designed for efficient and high-performing database access, adapted into a +simple and Pythonic domain language.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [('binutils', '2.39')] + + +dependencies = [ + ('Python', '3.10.8'), + ('Greenlet', '2.0.2'), + ('psycopg', '3.1.18'), # optional, postgresql extra + ('Mako', '1.2.4'), # needed by alembic +] + +use_pip = True + +exts_list = [ + ('async-timeout', '4.0.3', { + 'checksums': ['4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f'], + }), + ('asyncpg', '0.29.0', { + 'checksums': ['d1c49e1f44fffafd9a55e1a9b101590859d881d639ea2922516f5d9c512d354e'], + }), + ('typing_extensions', '4.7.1', { + 'checksums': ['b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2'], + }), + (name, version, { + 'use_pip_extras': 'asyncio,postgresql,postgresql_asyncpg', + 'checksums': ['bd9566b8e58cabd700bc367b60e90d9349cd16f0984973f98a9a09f9c64e86f0'], + }), + ('alembic', '1.13.1', { + 'checksums': ['4932c8558bf68f2ee92b9bbcb8218671c627064d5b08939437af6d77dc05e595'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SQLAlchemy/SQLAlchemy-2.0.29-GCCcore-13.2.0.eb b/easybuild/easyconfigs/s/SQLAlchemy/SQLAlchemy-2.0.29-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..c6ee1ce6cb5 --- /dev/null +++ b/easybuild/easyconfigs/s/SQLAlchemy/SQLAlchemy-2.0.29-GCCcore-13.2.0.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonBundle' + +name = 'SQLAlchemy' +version = '2.0.29' + +homepage = 'https://www.sqlalchemy.org/' +description = """SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives +application developers the full power and flexibility of SQL. SQLAlchemy +provides a full suite of well known enterprise-level persistence patterns, +designed for efficient and high-performing database access, adapted into a +simple and Pythonic domain language.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.5'), + ('Greenlet', '3.0.3'), + ('psycopg', '3.1.18'), # optional, postgresql extra + ('Mako', '1.2.4'), # needed by alembic +] + +use_pip = True + +exts_list = [ + ('async-timeout', '4.0.3', { + 'checksums': ['4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f'], + }), + ('asyncpg', '0.29.0', { + 'checksums': ['d1c49e1f44fffafd9a55e1a9b101590859d881d639ea2922516f5d9c512d354e'], + }), + (name, version, { + 'use_pip_extras': 'asyncio,postgresql,postgresql_asyncpg', + 'checksums': ['bd9566b8e58cabd700bc367b60e90d9349cd16f0984973f98a9a09f9c64e86f0'], + }), + ('alembic', '1.13.1', { + 'checksums': ['4932c8558bf68f2ee92b9bbcb8218671c627064d5b08939437af6d77dc05e595'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/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.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.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/STAR/STAR-2.7.11a-GCC-12.2.0.eb b/easybuild/easyconfigs/s/STAR/STAR-2.7.11a-GCC-12.2.0.eb index 42f094bb67b..a61fe5e85bb 100644 --- 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 @@ -24,6 +24,10 @@ checksums = [ {'STAR-%(version)s_use-external-htslib.patch': '2fdc3ed9372d983f77d861d6f16a60a553598358dce9ff8216f96eb20e63ce4e'}, ] +builddependencies = [ + ('xxd', '9.0.1696'), +] + dependencies = [ ('HTSlib', '1.17'), ('zlib', '1.2.12'), @@ -31,6 +35,9 @@ dependencies = [ 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 = [ 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 index 1943af96d5e..a017a2ba109 100644 --- 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 @@ -24,6 +24,10 @@ checksums = [ {'STAR-%(version)s_use-external-htslib.patch': '2fdc3ed9372d983f77d861d6f16a60a553598358dce9ff8216f96eb20e63ce4e'}, ] +builddependencies = [ + ('xxd', '9.0.2112'), +] + dependencies = [ ('HTSlib', '1.18'), ('zlib', '1.2.13'), @@ -31,6 +35,9 @@ dependencies = [ 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 = [ 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/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-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/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 index 500d7fdeab1..351d740b8e5 100644 --- 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 @@ -38,6 +38,7 @@ _copts = [ '-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) 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/SURVIVOR/SURVIVOR-1.0.7-20231201-GCC-13.3.0.eb b/easybuild/easyconfigs/s/SURVIVOR/SURVIVOR-1.0.7-20231201-GCC-13.3.0.eb new file mode 100644 index 00000000000..072cc459dd8 --- /dev/null +++ b/easybuild/easyconfigs/s/SURVIVOR/SURVIVOR-1.0.7-20231201-GCC-13.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'MakeCp' + +name = 'SURVIVOR' +local_commit = 'd613ec5' +version = '1.0.7-20231201' + +homepage = 'https://github.com/fritzsedlazeck/SURVIVOR' +description = "Toolset for SV simulation, comparison and filtering" + +toolchain = {'name': 'GCC', 'version': '13.3.0'} + +github_account = 'fritzsedlazeck' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['848733bcccb3b485eea95d649a8cbaa2ac1b82d180020340121f71125b543861'] + +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/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/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/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/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 index e709378f6ea..304dbf50669 100644 --- a/easybuild/easyconfigs/s/Satsuma2/Satsuma2-20220304-GCC-11.3.0.eb +++ b/easybuild/easyconfigs/s/Satsuma2/Satsuma2-20220304-GCC-11.3.0.eb @@ -21,6 +21,12 @@ checksums = [ 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': [], diff --git a/easybuild/easyconfigs/s/Saxon-HE/Saxon-HE-12.4-Java-21.eb b/easybuild/easyconfigs/s/Saxon-HE/Saxon-HE-12.4-Java-21.eb new file mode 100644 index 00000000000..7a942df7b9a --- /dev/null +++ b/easybuild/easyconfigs/s/Saxon-HE/Saxon-HE-12.4-Java-21.eb @@ -0,0 +1,26 @@ +easyblock = 'Tarball' + +name = 'Saxon-HE' +version = '12.4' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'http://saxon.sourceforge.net' +description = """Open Source SAXON XSLT processor developed by Saxonica Limited.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/Saxonica/Saxon-HE/releases/download/SaxonHE12-4/'] +sources = ['SaxonHE%sJ.zip' % version.replace('.', '-')] +checksums = ['44ab28ea945090983196f0b6479596a27fd57a341e8465b6db7fc2eca8c3ddce'] + +dependencies = [('Java', '21')] + +local_jarfiles = [ + '%(namelower)s-%(version)s.jar', '%(namelower)s-test-%(version)s.jar', '%(namelower)s-xqj-%(version)s.jar' +] + +sanity_check_paths = { + 'files': local_jarfiles, + 'dirs': [], +} +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/ScaFaCoS/ScaFaCoS-1.0.4-foss-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.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-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/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/SciANN/SciANN-0.7.0.1-foss-2022a.eb b/easybuild/easyconfigs/s/SciANN/SciANN-0.7.0.1-foss-2022a.eb new file mode 100644 index 00000000000..9b14f9ce1be --- /dev/null +++ b/easybuild/easyconfigs/s/SciANN/SciANN-0.7.0.1-foss-2022a.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'SciANN' +version = '0.7.0.1' + +homepage = 'https://github.com/ehsanhaghighat/sciann' +description = """ +A Keras/Tensorflow wrapper for scientific computations and physics-informed deep learning +using artificial neural networks. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('h5py', '3.7.0'), + ('scikit-learn', '1.1.2'), + ('TensorFlow', '2.11.0'), + ('pymatgen', '2023.3.10'), # for pybtex and latexcodec + ('matplotlib', '3.5.2'), + ('pygraphviz', '1.10'), + ('pydot', '1.4.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'modulename': 'sciann', + 'checksums': ['7d7acf61346b4201628c5656e2c904e9a9c7cda78086e76d075b5c7bb90adf3c'], + }), +] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/s/SciKeras/SciKeras-0.12.0-foss-2022a.eb b/easybuild/easyconfigs/s/SciKeras/SciKeras-0.12.0-foss-2022a.eb new file mode 100644 index 00000000000..7ef8def71d7 --- /dev/null +++ b/easybuild/easyconfigs/s/SciKeras/SciKeras-0.12.0-foss-2022a.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'SciKeras' +version = '0.12.0' + +homepage = 'https://adriangb.com/scikeras' +description = """ +Scikit-Learn API wrapper for Keras. The goal of scikeras is to make it possible to use +Keras/TensorFlow with sklearn. This is achieved by providing a wrapper around Keras that has +an Scikit-Learn interface. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('scikit-learn', '1.1.2'), + ('TensorFlow', '2.11.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('scikeras', version, { + 'checksums': ['f60d81255a8904671bd33cbff060926cfa5ddd52fa234b12290afe3cb69dcc6c'], + }), +] + +moduleclass = 'ai' 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 2c0770da7e9..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 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 index 3f0596710cc..21890734ddf 100644 --- 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 @@ -25,6 +25,7 @@ exts_list = [ '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', ], @@ -36,6 +37,8 @@ exts_list = [ '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 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 index 3deadeac9d6..730ac590d33 100644 --- 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 @@ -25,6 +25,7 @@ exts_list = [ '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', ], @@ -36,6 +37,8 @@ exts_list = [ '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 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 index f806bd48d7a..1bd36b39378 100644 --- 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 @@ -29,6 +29,7 @@ exts_list = [ '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': [ @@ -39,6 +40,8 @@ exts_list = [ '32ca32dd7ee8d6fcdce5875067acd50970c731cbb2603c6d1ad84ff81ff8c6d5', # numpy-1.16.6_handle_failing_linalg_test.patch 'be9dce98649626b7322ed8d1241b74a4e28c1d1de070a8072dc912cad3eb143d', + {'numpy-1.20.3_fix-fortran-compiler-error.patch': + '016e0d02ffabe013248c4fd203a4456edee76839f747c05daf92ac1fe9925189'}, ], }), ('ply', '3.11', { 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 index 46f9647ad26..3e1d85982cc 100644 --- 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 @@ -25,9 +25,14 @@ use_pip = True exts_list = [ ('numpy', '1.21.3', { 'sources': ['%(name)s-%(version)s.zip'], - 'patches': ['numpy-1.20.3_skip-ppc-long-complex-test.patch'], + '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', ], 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 index 87a1dfe3175..68420c45219 100644 --- 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 @@ -29,6 +29,7 @@ exts_list = [ '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 @@ -37,6 +38,8 @@ exts_list = [ '43cc2e675c52db1776efcc6c84ebd5fc008b48e6355c81087420d5e790e4af9b', # numpy-1.20.3_disable_fortran_callback_test.patch '44975a944544fd0e771b7e63c32590d257a3713070f8f7fdf60105dc516f1d75', + {'numpy-1.20.3_fix-fortran-compiler-error.patch': + '016e0d02ffabe013248c4fd203a4456edee76839f747c05daf92ac1fe9925189'}, ], }), ('ply', '3.11', { 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 index e07fdee1c03..613b1853e88 100644 --- 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 @@ -26,6 +26,7 @@ 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'], @@ -33,6 +34,8 @@ exts_list = [ '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', ], 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 index ce504e9607a..21a801b8fb9 100644 --- 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 @@ -26,6 +26,7 @@ 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', ], @@ -34,6 +35,8 @@ exts_list = [ '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 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 index 06ad5e918f6..97966712185 100644 --- 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 @@ -27,6 +27,7 @@ exts_list = [ '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'], @@ -35,6 +36,8 @@ exts_list = [ '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', ], 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 index a07d23a7f56..4e06a815c50 100644 --- 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 @@ -27,6 +27,7 @@ exts_list = [ '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'], @@ -35,6 +36,8 @@ exts_list = [ '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', ], diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.02-gfbf-2022b.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.02-gfbf-2022b.eb index 9f60a08cff4..e9e059afe3a 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.02-gfbf-2022b.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.02-gfbf-2022b.eb @@ -28,9 +28,14 @@ use_pip = True # order is important! exts_list = [ ('numpy', '1.24.2', { - 'patches': ['numpy-1.22.3_disable-broken-override-test.patch'], + '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'}, ], @@ -52,6 +57,7 @@ exts_list = [ 'scipy-1.10.1_disable-tests.patch', 'scipy-1.10.1_xfail-aarch64_test_maxiter_worsening.patch', 'scipy-1.10.1_fix-lobpcg-test.patch', + 'scipy-1.10.1_fix-test_det_and_ortho.patch', ], 'checksums': [ {'scipy-1.10.1.tar.gz': '2cf9dfb80a7b4589ba4c40ce7588986d6d5cebc5457cad2c2880f6bc2d42f3a5'}, @@ -59,6 +65,8 @@ exts_list = [ {'scipy-1.10.1_xfail-aarch64_test_maxiter_worsening.patch': '48177d6af51cf3e3d46aed8425807f0a65a498f7558f475032e0ad846559a23e'}, {'scipy-1.10.1_fix-lobpcg-test.patch': 'eb4c576959108df0b1749705e64fe42e79edcf5aa8f6b4d7908f9b136d0d6648'}, + {'scipy-1.10.1_fix-test_det_and_ortho.patch': + 'beb7516659c2458f91029ee0562da2ff7cf8875f2cfafeeef473e7c7b60e65fe'}, ], 'enable_slow_tests': True, 'ignore_test_result': False, diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.07-gfbf-2023a.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.07-gfbf-2023a.eb index 44b5725fe7d..424296cf1fe 100644 --- 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 @@ -16,6 +16,7 @@ builddependencies = [ ('Meson', '1.1.1'), ('Ninja', '1.11.1'), ('pkgconf', '1.9.5'), # required by scipy + ('Cython', '3.0.8'), ] dependencies = [ @@ -30,6 +31,7 @@ use_pip = True 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', @@ -38,6 +40,8 @@ exts_list = [ ], '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': @@ -70,12 +74,15 @@ exts_list = [ 'patches': [ 'scipy-1.11.1_disable-tests.patch', 'scipy-1.11.1_xfail-aarch64_test_maxiter_worsening.patch', + 'scipy-1.11.1_vectorization_error.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_vectorization_error.patch': + 'bfba00ab84d7d6d73b87e4e94ea2487058d155f845c12212552c095fea9e5cae'}, ], }), ('numexpr', '2.8.4', { 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..a41da775912 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.07-iimkl-2023a.eb @@ -0,0 +1,121 @@ +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 + ('Cython', '3.0.8'), +] + +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-2023b.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.11-gfbf-2023b.eb index ae7ab11bbc4..38fb986242d 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.11-gfbf-2023b.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.11-gfbf-2023b.eb @@ -17,6 +17,7 @@ builddependencies = [ ('meson-python', '0.15.0'), ('Ninja', '1.11.1'), ('pkgconf', '2.0.3'), # required by scipy + ('Cython', '3.0.10'), ] dependencies = [ @@ -68,6 +69,7 @@ exts_list = [ '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', + 'scipy-1.11.1_vectorization_error.patch', ], 'checksums': [ {'scipy-1.11.4.tar.gz': '90a2b78e7f5733b9de748f589f09225013685f9b218275257f8a8168ededaeaa'}, @@ -76,6 +78,8 @@ exts_list = [ '918c8e6fa8215d459126f267764c961bde729ea4a116c7f6287cddfdc58ffcea'}, {'scipy-1.11.4_fix-deps-ellip_harm_2.patch': '5c3b4d4dab76cd4c9398c87e6a67b39e3806994ef955fa35781b49f9f99328a8'}, + {'scipy-1.11.1_vectorization_error.patch': + 'bfba00ab84d7d6d73b87e4e94ea2487058d155f845c12212552c095fea9e5cae'}, ], 'enable_slow_tests': True, 'ignore_test_result': False, 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..5584d888f30 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2024.05-gfbf-2024a.eb @@ -0,0 +1,106 @@ +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', + 'scipy-1.13.1_TestLinprogIPSparse.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'}, + {'scipy-1.13.1_TestLinprogIPSparse.patch': + '7213c2690b76c69f7e7103529cea3fa2098c05fbea556f04325fab9ca8c065f5'}, + ], + }), + ('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/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.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.25.1_disable-broken-fortran-docstring-test.patch b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_disable-broken-fortran-docstring-test.patch new file mode 100644 index 00000000000..55cc2989ca9 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_disable-broken-fortran-docstring-test.patch @@ -0,0 +1,16 @@ +Disable test for docstrings in fortran extension modules, as it fails due to an error +in autogenerated test code (int * versus npy_intp*). + +Author: Jakob Schiotz (Techn. Univ. Denmark) + +--- numpy/f2py/tests/test_module_doc.old 2023-10-23 15:49:00.858332420 +0200 ++++ numpy/f2py/tests/test_module_doc.py 2023-10-23 15:50:04.072826243 +0200 +@@ -7,7 +7,7 @@ + from numpy.testing import IS_PYPY + + +-class TestModuleDocString(util.F2PyTest): ++class Disabled_for_intel_TestModuleDocString(util.F2PyTest): + sources = [ + util.getpath("tests", "src", "module_data", + "module_data_docstring.f90") diff --git a/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_disable-broken-test_long_long_map.patch b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_disable-broken-test_long_long_map.patch new file mode 100644 index 00000000000..c79e894951a --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_disable-broken-test_long_long_map.patch @@ -0,0 +1,15 @@ +Disable test that imports a fortran function, it breaks on iimkl toolchain. + +Author: Jakob Schiotz (Techn. Univ. Denmark) + +--- numpy-1.25.1/numpy/f2py/tests/test_value_attrspec.old 2023-07-08 21:25:45.000000000 +0200 ++++ numpy-1.25.1/numpy/f2py/tests/test_value_attrspec.py 2023-09-27 11:21:32.172791528 +0200 +@@ -7,7 +7,7 @@ + sources = [util.getpath("tests", "src", "value_attrspec", "gh21665.f90")] + + # gh-21665 +- def test_long_long_map(self): ++ def ignored_test_long_long_map(self): + inp = 2 + out = self.module.fortfuncs.square(inp) + exp_out = 4 diff --git a/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_disable_fortran_callback_test.patch b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_disable_fortran_callback_test.patch new file mode 100644 index 00000000000..8bd095ba002 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_disable_fortran_callback_test.patch @@ -0,0 +1,17 @@ +Disable TestF90Callback which fails when compiling the resulting code with ifort. +The resulting code is incorrect Fortran. +See https://github.com/numpy/numpy/issues/20157 + +Åke Sandgren, 20211021 +Updated: Jakob Schiøtz, 20230927 +--- numpy-1.25.1/numpy/f2py/tests/test_callback.old 2023-09-27 14:15:21.076625096 +0200 ++++ numpy-1.25.1/numpy/f2py/tests/test_callback.py 2023-09-27 14:15:46.401827839 +0200 +@@ -202,7 +202,7 @@ + options = ["-DF2PY_USE_PYTHON_TLS"] + + +-class TestF90Callback(util.F2PyTest): ++class Disabled_for_intel_TestF90Callback(util.F2PyTest): + sources = [util.getpath("tests", "src", "callback", "gh17797.f90")] + + def test_gh17797(self): diff --git a/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_fix_selected_kind_for_ifort.patch b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_fix_selected_kind_for_ifort.patch new file mode 100644 index 00000000000..6b20bc7fb27 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_fix_selected_kind_for_ifort.patch @@ -0,0 +1,65 @@ +Intel Fortran compiler does not support 10-byte reals, nor 16-byte integers. +The f2py module needs to know the supported types to reliably build Fortran extensions. + +This patch was inspired by the discussion at https://github.com/numpy/numpy/issues/13053 +in particular the comments at + https://github.com/numpy/numpy/issues/13053#issuecomment-470314843 +and + https://github.com/numpy/numpy/issues/13053#issuecomment-471008975 +by GitHub user @oleksandr-pavlyk + +Author: Jakob Schiotz (Tech. U. Denmark) + +--- numpy/f2py/crackfortran.py.old 2023-10-23 14:39:51.510964440 +0200 ++++ numpy/f2py/crackfortran.py 2023-10-23 15:10:21.963115914 +0200 +@@ -2385,7 +2385,8 @@ + return 'kind(' + string + ')' + + +-def _selected_int_kind_func(r): ++def _selected_int_kind_func_intel(r): ++ # Intel(R) Fortran compiler only supports kinds 1, 2, 4, 8. + # XXX: This should be processor dependent + m = 10 ** r + if m <= 2 ** 8: +@@ -2396,29 +2397,27 @@ + return 4 + if m <= 2 ** 63: + return 8 +- if m <= 2 ** 128: +- return 16 ++ # Not supported by ifort ++ #if m <= 2 ** 128: ++ # return 16 + return -1 + ++_selected_int_kind_func = _selected_int_kind_func_intel + +-def _selected_real_kind_func(p, r=0, radix=0): ++def _selected_real_kind_func_intel(p, r=0, radix=0): ++ # Intel(R) Fotran compiler only supports kinds 4, 8, 16 + # XXX: This should be processor dependent +- # This is only verified for 0 <= p <= 20, possibly good for p <= 33 and above ++ # This is only good for 0 <= p <= 20 + if p < 7: + return 4 + if p < 16: + return 8 +- machine = platform.machine().lower() +- if machine.startswith(('aarch64', 'arm64', 'power', 'ppc', 'riscv', 's390x', 'sparc')): +- if p <= 33: +- return 16 +- else: +- if p < 19: +- return 10 +- elif p <= 33: +- return 16 ++ if p <= 33: ++ return 16 + return -1 + ++_selected_real_kind_func = _selected_real_kind_func_intel ++ + + def get_parameters(vars, global_params={}): + params = copy.copy(global_params) diff --git a/easybuild/easyconfigs/s/SciPy-bundle/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_fix-test_det_and_ortho.patch b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.10.1_fix-test_det_and_ortho.patch new file mode 100644 index 00000000000..4e09e3285d7 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.10.1_fix-test_det_and_ortho.patch @@ -0,0 +1,43 @@ +Based on https://github.com/scipy/scipy/pull/18288 to fix failing TestOrthoGroup.test_det_and_ortho +> /tmp/easybuild-tmp/eb-cdq2z1jo/tmp8_aj6pfo/install/lib/python3.10/site-packages/scipy/stats/tests/test_multivariate.py:1827: in test_det_and_ortho +> assert_array_less([0]*10, [np.nonzero(d < 0)[0].shape[0] for d in dets]) +> ... +> E AssertionError: +> E Arrays are not less-ordered +> E +> E Mismatched elements: 1 / 10 (10%) +> E Max absolute difference: 7 +> E Max relative difference: 1. +> E x: array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) +> E y: array([4, 5, 5, 6, 6, 0, 6, 7, 5, 4]) + +But removed the new test_det_distribution_gh18272 which fails with +> ValueError('expected square matrix') + +which is likely an issue caused by the differing versions + +Author: Alexander Grund (TU Dresden) + +diff --git a/scipy/stats/tests/test_multivariate.py b/scipy/stats/tests/test_multivariate.py +index ec16e94c7775..3a8abceb6152 100644 +--- a/scipy/stats/tests/test_multivariate.py ++++ b/scipy/stats/tests/test_multivariate.py +@@ -1860,18 +1860,12 @@ def test_det_and_ortho(self): + dets = np.array([[np.linalg.det(x) for x in xx] for xx in xs]) + assert_allclose(np.fabs(dets), np.ones(dets.shape), rtol=1e-13) + +- # Test that we get both positive and negative determinants +- # Check that we have at least one and less than 10 negative dets in a sample of 10. The rest are positive by the previous test. +- # Test each dimension separately +- assert_array_less([0]*10, [np.nonzero(d < 0)[0].shape[0] for d in dets]) +- assert_array_less([np.nonzero(d < 0)[0].shape[0] for d in dets], [10]*10) +- + # Test that these are orthogonal matrices + for xx in xs: + for x in xx: + assert_array_almost_equal(np.dot(x, x.T), + np.eye(x.shape[0])) + + def test_haar(self): + # Test that the distribution is constant under rotation + # Every column should have the same distribution diff --git a/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.11.1_disable-tests-iimkl.patch b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.11.1_disable-tests-iimkl.patch new file mode 100644 index 00000000000..6ec02dee408 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.11.1_disable-tests-iimkl.patch @@ -0,0 +1,43 @@ +Skip tests that fail when compiling with iimkl/2023a: + +Disable PROPACK test for complex, as it appears to be broken when +using Intel compiler. The tests were already skipped in a few other +cases for similar reasons. + +Skip test test_x0_equals_Mb[bicgstab-nonsymposdef-F], it fails to +converge. Many other solvers are skipped with this test case for +similar reasons, although it is worrying that it works with OpenBLAS +and not with MKL. + +Author: Jakob Schiotz (Techn. Univ. Denmark) + +--- scipy/sparse/linalg/tests/test_propack.py.old 2023-10-24 12:12:17.722133108 +0200 ++++ scipy/sparse/linalg/tests/test_propack.py 2023-10-24 12:14:02.072938068 +0200 +@@ -34,14 +34,8 @@ + for dtype_flavour in TOLS.keys(): + marks = [] + if is_complex_type(dtype_flavour): +- if is_32bit(): +- # PROPACK has issues w/ complex on 32-bit; see gh-14433 +- marks = [pytest.mark.skip] +- elif is_windows() and np.dtype(dtype_flavour).itemsize == 16: +- # windows crashes for complex128 (so don't xfail); see gh-15108 +- marks = [pytest.mark.skip] +- else: +- marks = [pytest.mark.slow] # type: ignore[list-item] ++ # PROPACK crashes for complex with Intel compiler. ++ marks = [pytest.mark.skip] + _dtypes.append(pytest.param(dtype_flavour, marks=marks, + id=dtype_flavour.__name__)) + _dtypes = tuple(_dtypes) # type: ignore[assignment] +--- scipy/sparse/linalg/_isolve/tests/test_iterative.py.old 2023-10-24 17:07:24.697195558 +0200 ++++ scipy/sparse/linalg/_isolve/tests/test_iterative.py 2023-10-24 17:07:46.106361595 +0200 +@@ -162,7 +162,7 @@ + self.cases.append(Case("nonsymposdef", A, + skip=sym_solvers + [cgs, qmr, bicg, tfqmr])) + self.cases.append(Case("nonsymposdef-F", A.astype('F'), +- skip=sym_solvers + [cgs, qmr, bicg, tfqmr])) ++ skip=sym_solvers + [cgs, qmr, bicg, bicgstab, tfqmr])) + + # Symmetric, non-pd, hitting cgs/bicg/bicgstab/qmr/tfqmr breakdown + A = np.array([[0, 0, 0, 0, 0, 1, -1, -0, -0, -0, -0], diff --git a/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.11.1_relaxed_test_accuracy.patch b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.11.1_relaxed_test_accuracy.patch new file mode 100644 index 00000000000..df99f4a7389 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.11.1_relaxed_test_accuracy.patch @@ -0,0 +1,110 @@ +Backported test from main branch of scipy on Github, relaxing the +tolerances of a few tests. Some of these fail with the Intel +compiler. + +The patch has been edited directly to backport it (np.double had been replaced +by np.float64 in the main branch), and one patch was to code that is not in +scipy-1.11.1. + +Backported by: Jakob Schiotz (Techn. Univ. Denmark) + +Original description: + +From a4fba82078d2e95005343150d821ccd33cb5de20 Mon Sep 17 00:00:00 2001 +From: Ralf Gommers +Date: Wed, 6 Sep 2023 15:08:59 +0200 +Subject: [PATCH] TST: test tolerance bumps to fix reported failures + +Closes gh-19117 + +The `test_sygst` one was reported in gh-19153. +--- + scipy/fft/_pocketfft/tests/test_real_transforms.py | 2 +- + scipy/linalg/tests/test_lapack.py | 2 +- + scipy/ndimage/tests/test_datatypes.py | 4 +++- + scipy/spatial/transform/tests/test_rotation.py | 8 ++++---- + scipy/special/tests/test_hyp2f1.py | 6 +++--- + 5 files changed, 12 insertions(+), 10 deletions(-) + +diff --git a/scipy/fft/_pocketfft/tests/test_real_transforms.py b/scipy/fft/_pocketfft/tests/test_real_transforms.py +index d1f4e1d..a217e75 100644 +--- a/scipy/fft/_pocketfft/tests/test_real_transforms.py ++++ b/scipy/fft/_pocketfft/tests/test_real_transforms.py +@@ -239,7 +239,7 @@ dec_map: DecMapType = { + (dst, np.float32, 3): 7, + + (dst, np.double, 4): 13, +- (dst, np.float32, 4): 6, ++ (dst, np.float32, 4): 5, + + # IDST + (idst, np.double, 1): 14, +diff --git a/scipy/linalg/tests/test_lapack.py b/scipy/linalg/tests/test_lapack.py +index 6c64a2a..2c994f6 100644 +--- a/scipy/linalg/tests/test_lapack.py ++++ b/scipy/linalg/tests/test_lapack.py +@@ -1031,7 +1031,7 @@ def test_sygst(): + + eig, _, info = syevd(a) + assert_(info == 0) +- assert_allclose(eig, eig_gvd, rtol=1e-4) ++ assert_allclose(eig, eig_gvd, rtol=1.2e-4) + + + def test_hegst(): +diff --git a/scipy/ndimage/tests/test_datatypes.py b/scipy/ndimage/tests/test_datatypes.py +index 327cc5a..1eb056b 100644 +--- a/scipy/ndimage/tests/test_datatypes.py ++++ b/scipy/ndimage/tests/test_datatypes.py +@@ -45,7 +45,7 @@ def test_map_coordinates_dts(): + assert_array_almost_equal(these_data, out) + + +-@pytest.mark.xfail(not sys.platform == 'darwin', reason="runs only on darwin") ++@pytest.mark.xfail(True, reason="Broken on many platforms") + def test_uint64_max(): + # Test interpolation respects uint64 max. Reported to fail at least on + # win32 (due to the 32 bit visual C compiler using signed int64 when +@@ -53,6 +53,8 @@ def test_uint64_max(): + # Interpolation is always done in double precision floating point, so + # we use the largest uint64 value for which int(float(big)) still fits + # in a uint64. ++ # This test was last enabled on macOS only, and there it started failing ++ # on arm64 as well (see gh-19117). + big = 2**64 - 1025 + arr = np.array([big, big, big], dtype=np.uint64) + # Tests geometric transform (map_coordinates, affine_transform) +diff --git a/scipy/special/tests/test_hyp2f1.py b/scipy/special/tests/test_hyp2f1.py +index 2fe732f..200d4bb 100644 +--- a/scipy/special/tests/test_hyp2f1.py ++++ b/scipy/special/tests/test_hyp2f1.py +@@ -474,7 +474,7 @@ class TestHyp2f1: + c=-15.5, + z=(1.1578947368421053-1.1578947368421053j), + expected=(0.9778506962676361+0.044083801141231616j), +- rtol=1e-12, ++ rtol=3e-12, + ), + ), + pytest.param( +@@ -1378,7 +1378,7 @@ class TestHyp2f1: + c=-7.949900487447654, + z=(0.4172413793103451-0.8724137931034484j), + expected=(-2258.1590330318213+8860.193389158803j), +- rtol=1e-10, ++ rtol=1.4e-10, + ), + ), + ] +@@ -1433,7 +1433,7 @@ class TestHyp2f1: + c=-15.964218273004214, + z=(0.6448275862068968+0.8724137931034486j), + expected=(85592537010.05054-8061416766688.324j), +- rtol=1e-14, ++ rtol=2e-14, + ), + ), + pytest.param( +-- +1.8.3.1 + diff --git a/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.11.1_vectorization_error.patch b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.11.1_vectorization_error.patch new file mode 100644 index 00000000000..6cf77dee6f5 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.11.1_vectorization_error.patch @@ -0,0 +1,105 @@ +Fixes the vectorization bug. `ValueError: buffer source array is read-only` +see https://github.com/scipy/scipy/issues/16792 +patch source: https://github.com/scipy/scipy/pull/20195 +--- scipy/linalg/_cythonized_array_utils.pyx.orig ++++ scipy/linalg/_cythonized_array_utils.pyx +@@ -158,7 +158,7 @@ + + + @cython.initializedcheck(False) +-def bandwidth_c(np_numeric_t[:, ::1]A): ++def bandwidth_c(const np_numeric_t[:, ::1]A): + cdef int l, u + with nogil: + l, u = band_check_internal_c(A) +@@ -166,7 +166,7 @@ + + + @cython.initializedcheck(False) +-def bandwidth_noncontig(np_numeric_t[:, :]A): ++def bandwidth_noncontig(const np_numeric_t[:, :]A): + cdef int l, u + with nogil: + l, u = band_check_internal_noncontig(A) +@@ -176,7 +176,7 @@ + @cython.initializedcheck(False) + @cython.boundscheck(False) + @cython.wraparound(False) +-cdef inline (int, int) band_check_internal_c(np_numeric_t[:, ::1]A) noexcept nogil: ++cdef inline (int, int) band_check_internal_c(const np_numeric_t[:, ::1]A) noexcept nogil: + cdef Py_ssize_t n = A.shape[0], m = A.shape[1] + cdef Py_ssize_t lower_band = 0, upper_band = 0, r, c + cdef np_numeric_t zero = 0 +@@ -207,7 +207,7 @@ + @cython.initializedcheck(False) + @cython.boundscheck(False) + @cython.wraparound(False) +-cdef inline (int, int) band_check_internal_noncontig(np_numeric_t[:, :]A) noexcept nogil: ++cdef inline (int, int) band_check_internal_noncontig(const np_numeric_t[:, :]A) noexcept nogil: + cdef Py_ssize_t n = A.shape[0], m = A.shape[1] + cdef Py_ssize_t lower_band = 0, upper_band = 0, r, c + cdef np_numeric_t zero = 0 +@@ -324,7 +324,7 @@ + + + @cython.initializedcheck(False) +-def is_sym_her_real_c(np_numeric_t[:, ::1]A): ++def is_sym_her_real_c(const np_numeric_t[:, ::1]A): + cdef bint s + with nogil: + s = is_sym_her_real_c_internal(A) +@@ -332,7 +332,7 @@ + + + @cython.initializedcheck(False) +-def is_sym_her_real_noncontig(np_numeric_t[:, :]A): ++def is_sym_her_real_noncontig(const np_numeric_t[:, :]A): + cdef bint s + with nogil: + s = is_sym_her_real_noncontig_internal(A) +@@ -342,7 +342,7 @@ + @cython.initializedcheck(False) + @cython.boundscheck(False) + @cython.wraparound(False) +-cdef inline bint is_sym_her_real_c_internal(np_numeric_t[:, ::1]A) noexcept nogil: ++cdef inline bint is_sym_her_real_c_internal(const np_numeric_t[:, ::1]A) noexcept nogil: + cdef Py_ssize_t n = A.shape[0], r, c + + for r in xrange(n): +@@ -355,7 +355,7 @@ + @cython.initializedcheck(False) + @cython.boundscheck(False) + @cython.wraparound(False) +-cdef inline bint is_sym_her_real_noncontig_internal(np_numeric_t[:, :]A) noexcept nogil: ++cdef inline bint is_sym_her_real_noncontig_internal(const np_numeric_t[:, :]A) noexcept nogil: + cdef Py_ssize_t n = A.shape[0], r, c + + for r in xrange(n): +@@ -469,7 +469,7 @@ + + + @cython.initializedcheck(False) +-def is_sym_her_complex_c(np_complex_numeric_t[:, ::1]A): ++def is_sym_her_complex_c(const np_complex_numeric_t[:, ::1]A): + cdef bint s + with nogil: + s = is_sym_her_complex_c_internal(A) +@@ -485,7 +485,7 @@ + @cython.initializedcheck(False) + @cython.boundscheck(False) + @cython.wraparound(False) +-cdef inline bint is_sym_her_complex_c_internal(np_complex_numeric_t[:, ::1]A) noexcept nogil: ++cdef inline bint is_sym_her_complex_c_internal(const np_complex_numeric_t[:, ::1]A) noexcept nogil: + cdef Py_ssize_t n = A.shape[0], r, c + + for r in xrange(n): +@@ -497,7 +497,7 @@ + @cython.initializedcheck(False) + @cython.boundscheck(False) + @cython.wraparound(False) +-cdef inline bint is_sym_her_complex_noncontig_internal(np_complex_numeric_t[:, :]A) noexcept nogil: ++cdef inline bint is_sym_her_complex_noncontig_internal(const np_complex_numeric_t[:, :]A) noexcept nogil: + cdef Py_ssize_t n = A.shape[0], r, c + + for r in xrange(n): + diff --git a/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.13.1_TestLinprogIPSparse.patch b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.13.1_TestLinprogIPSparse.patch new file mode 100644 index 00000000000..1b057319086 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.13.1_TestLinprogIPSparse.patch @@ -0,0 +1,30 @@ +disable problematic tests +TestLinprogIPSparse::test_bug_6139 + TestLinprogIPSparsePresolve::test_bug_6139 fail on Grace Hopper aarch64 +author: Sebastian Achilles (Juelich Supercomputing Centre) + +diff --git a/scipy/optimize/tests/test_linprog.py b/scipy/optimize/tests/test_linprog.py +index 49a0f8de5..8ffbb0b47 100644 +--- a/scipy/optimize/tests/test_linprog.py ++++ b/scipy/optimize/tests/test_linprog.py +@@ -1977,6 +1977,10 @@ if has_umfpack: + class TestLinprogIPSparse(LinprogIPTests): + options = {"sparse": True, "cholesky": False, "sym_pos": False} + ++ @pytest.mark.skipif( ++ platform.machine() == 'aarch64', ++ reason="Fails on aarch64" ++ ) + @pytest.mark.xfail_on_32bit("This test is sensitive to machine epsilon level " + "perturbations in linear system solution in " + "_linprog_ip._sym_solve.") +@@ -2027,6 +2031,10 @@ class TestLinprogIPSparse(LinprogIPTests): + class TestLinprogIPSparsePresolve(LinprogIPTests): + options = {"sparse": True, "_sparse_presolve": True} + ++ @pytest.mark.skipif( ++ platform.machine() == 'aarch64', ++ reason="Fails on aarch64" ++ ) + @pytest.mark.xfail_on_32bit("This test is sensitive to machine epsilon level " + "perturbations in linear system solution in " + "_linprog_ip._sym_solve.") 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/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/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.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/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/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/Seqmagick/Seqmagick-0.8.6-foss-2023a.eb b/easybuild/easyconfigs/s/Seqmagick/Seqmagick-0.8.6-foss-2023a.eb new file mode 100644 index 00000000000..faee813b46f --- /dev/null +++ b/easybuild/easyconfigs/s/Seqmagick/Seqmagick-0.8.6-foss-2023a.eb @@ -0,0 +1,45 @@ +# EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Copyright:: Copyright 2016 University of Geneva Switzerland +# Authors:: Yann Sagon +# License:: MIT/GPL +# Update:: Pavel Tománek (INUITS) + +easyblock = "PythonBundle" + +name = 'Seqmagick' +version = '0.8.6' + +homepage = 'https://fhcrc.github.io/seqmagick/' +description = """We often have to convert between sequence formats and do + little tasks on them, and it's not worth writing scripts for that. Seqmagick + is a kickass little utility built in the spirit of imagemagick to expose the + file format conversion in Biopython in a convenient way. Instead of having a + big mess of scripts, there is one that takes arguments.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Biopython', '1.83'), +] + +exts_list = [ + ('pygtrie', '2.5.0', { + 'checksums': ['203514ad826eb403dab1d2e2ddd034e0d1534bbe4dbe0213bb0593f66beba4e2'], + }), + (name, version, { + 'modulename': 'Bio', + 'source_urls': ['https://files.pythonhosted.org/packages/source/s/seqmagick/'], + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'checksums': ['7f09ef40836b12a2d4c842b179633f1087352855b6ff8fcd045d56003fee622a'], + }), +] + +sanity_check_paths = { + 'files': ['bin/seqmagick'], + 'dirs': [] +} + +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Seurat/Seurat-5.0.1-foss-2022b-R-4.2.2.eb b/easybuild/easyconfigs/s/Seurat/Seurat-5.0.1-foss-2022b-R-4.2.2.eb new file mode 100644 index 00000000000..274c7432188 --- /dev/null +++ b/easybuild/easyconfigs/s/Seurat/Seurat-5.0.1-foss-2022b-R-4.2.2.eb @@ -0,0 +1,76 @@ +easyblock = 'Bundle' + +name = 'Seurat' +version = '5.0.1' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://satijalab.org/seurat' +description = "Seurat is an R package designed for QC, analysis, and exploration of single cell RNA-seq data." + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('R', '4.2.2'), + ('R-bundle-Bioconductor', '3.16', versionsuffix), +] + +exts_defaultclass = 'RPackage' +exts_default_options = { + 'sources': ['%(name)s_%(version)s.tar.gz'], + 'source_urls': [ + 'https://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive + 'https://cran.r-project.org/src/contrib/', # current version of packages + 'https://cran.freestatistics.org/src/contrib', # mirror alternative for current packages + ], +} + +exts_list = [ + ('Matrix', '1.6-5', { + 'checksums': ['726c8d46626e73d1d6e76a74679813c6df96ffdee1aee45d94e7014cb4ceb97d'], + }), + ('sp', '1.5-1', { + 'checksums': ['69b9eab481d389bbb736d2adcf50c180aca248c3ffc4ebda8ffe2accc5f229df'], + }), + ('SeuratObject', version, { + 'checksums': ['5ace1720fef373d44da36d28cab8947cd3c342e76f889c2f204a62d668f5f941'], + }), + ('sctransform', '0.4.1', { + 'checksums': ['5f6be7f8be543e4c32c8007207b603a750881459370b7bb5afd63e8c8fabf171'], + }), + ('uwot', '0.1.14', { + 'checksums': ['8016e8192b7e72604ca71840cbe43fa1d2caed8a8ad7cbf20e85cd3b384a9fe0'], + }), + ('spatstat.utils', '3.0-1', { + 'checksums': ['cba1c7806564fd9145ca15edf77233d6ba5609f0989f7812221f5fc1ece0b91a'], + }), + ('spatstat.data', '3.0-0', { + 'checksums': ['cff9058a88489020a4a05b9576cd452f37fa9b42084873c474d06931f5187057'], + }), + ('spatstat.geom', '3.0-3', { + 'checksums': ['6e5b56c60e774a0cdcaa5a8ffde071225f233832446a341588bd8a7840913c84'], + }), + ('spatstat.random', '3.0-1', { + 'checksums': ['938c845c063b8781bf894c0a67537e7b2a7c425a4beba4a95ec9d2c37b43e5b6'], + }), + ('spatstat.sparse', '3.0-0', { + 'checksums': ['99be0a3c7592760fdf1668dc0811f75ed91c400390d1ecc3d5e643255f501ad2'], + }), + ('spatstat.explore', '3.0-5', { + 'checksums': ['9f438a12fac3f3e1d0bd550b1393c1e5732be694517b0878db09da557d6dc862'], + }), + ('scattermore', '1.2', { + 'checksums': ['5534a87b0bdd1375f0fbffc1a5c980ad64e33a108435a67469b8324b580602d1'], + }), + (name, version, { + 'checksums': ['0713b434be5bf14fcea068fbfc632ba15bebdec1007f1f48effd0dbb95c5150d'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/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-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/Shapely/Shapely-2.0.6-gfbf-2024a.eb b/easybuild/easyconfigs/s/Shapely/Shapely-2.0.6-gfbf-2024a.eb new file mode 100644 index 00000000000..4488ff1f7e4 --- /dev/null +++ b/easybuild/easyconfigs/s/Shapely/Shapely-2.0.6-gfbf-2024a.eb @@ -0,0 +1,31 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +easyblock = 'PythonPackage' + +name = 'Shapely' +version = '2.0.6' + +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': '2024a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['997f6159b1484059ec239cacaa53467fd8b5564dabe186cd84ac2944663b0bf6'] + +builddependencies = [ + ('Cython', '3.0.10'), +] + +dependencies = [ + ('Python', '3.12.3'), + ('SciPy-bundle', '2024.05'), + ('GEOS', '3.12.2'), +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = 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/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-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/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.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/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/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/SoX/SoX-14.4.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/s/SoX/SoX-14.4.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..747709683fb --- /dev/null +++ b/easybuild/easyconfigs/s/SoX/SoX-14.4.2-GCCcore-13.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': '13.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b45f598643ffbd8e363ff24d61166ccec4836fea6d3888881b8df53e3bb55f6c'] + +builddependencies = [('binutils', '2.42')] + +dependencies = [ + ('FLAC', '1.4.3'), + ('LAME', '3.100'), + ('libmad', '0.15.1b'), + ('libvorbis', '1.3.7'), + ('FFmpeg', '7.0.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/Solids4foam/Solids4foam-2.1-foss-2023a.eb b/easybuild/easyconfigs/s/Solids4foam/Solids4foam-2.1-foss-2023a.eb new file mode 100644 index 00000000000..9c203d21c27 --- /dev/null +++ b/easybuild/easyconfigs/s/Solids4foam/Solids4foam-2.1-foss-2023a.eb @@ -0,0 +1,45 @@ +easyblock = 'Binary' + +name = 'Solids4foam' +version = '2.1' + +homepage = 'https://www.solids4foam.com/' +description = 'A toolbox for performing solid mechanics and fluid-solid interactions in OpenFOAM.' + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/solids4foam/solids4foam/archive/'] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}] +checksums = ['354dad483f8b086d64bf294829cf6fdf1e5784fd615578acff753791f2f391ca'] + +builddependencies = [('Eigen', '3.4.0')] +dependencies = [ + ('OpenFOAM', 'v2312'), + ('gnuplot', '5.4.8'), + ('M4', '1.4.19'), +] + +extract_sources = True + +# build + install cmds: +install_cmd = 'source $FOAM_BASH && ' +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 += 'export EIGEN_DIR=$EBROOTEIGEN && ' +install_cmd += 'export S4F_NO_FILE_FIXES=1 && ./Allwmake -j %(parallel)s' +# copy tests +install_cmd += ' && cp -av tutorials %(installdir)s' + +sanity_check_paths = { + 'files': ['bin/solids4Foam'], + 'dirs': ['lib'], +} +sanity_check_commands = [ + 'source $FOAM_BASH && cd %(installdir)s/tutorials && ./Alltest' +] + +modloadmsg = "Please run 'source $FOAM_BASH' before using Solids4foam." + +moduleclass = 'chem' 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/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-3.5.1-foss-2023a-Java-17.eb b/easybuild/easyconfigs/s/Spark/Spark-3.5.1-foss-2023a-Java-17.eb new file mode 100644 index 00000000000..00240ff36f9 --- /dev/null +++ b/easybuild/easyconfigs/s/Spark/Spark-3.5.1-foss-2023a-Java-17.eb @@ -0,0 +1,53 @@ +# Author: Denis Krišťák (INUITS) + +easyblock = 'Tarball' + +name = 'Spark' +version = '3.5.1' +versionsuffix = '-Java-%(javaver)s' +homepage = 'https://spark.apache.org' +description = """Spark is Hadoop MapReduce done in memory""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = [ + 'https://archive.apache.org/dist//%(namelower)s/%(namelower)s-%(version)s/', + 'https://downloads.apache.org/%(namelower)s/%(namelower)s-%(version)s/' +] +sources = ['%(namelower)s-%(version)s-bin-hadoop3.tgz'] +checksums = ['5df15f8027067c060fe47ebd351a1431a61dbecc9c28b8dd29e2c6e1935c23eb'] + +dependencies = [ + ('Python', '3.11.3'), + ('Java', '17', '', SYSTEM), + ('Arrow', '14.0.1'), +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, +} + +exts_list = [ + ('py4j', '0.10.9.7', { + 'checksums': ['0b6e5315bb3ada5cf62ac651d107bb2ebc02def3dee9d9548e3baac644ea8dbb'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pyspark', 'bin/spark-shell'], + 'dirs': ['python'] +} + +sanity_check_commands = [ + "pyspark -h", + "python -c 'import pyspark'", +] + +modextrapaths = {'PYTHONPATH': ['python', 'lib/python%(pyshortver)s/site-packages']} + +modextravars = {'SPARK_HOME': '%(installdir)s'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SpectrA/SpectrA-1.0.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/SpectrA/SpectrA-1.0.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a9834861515 --- /dev/null +++ b/easybuild/easyconfigs/s/SpectrA/SpectrA-1.0.1-GCCcore-12.3.0.eb @@ -0,0 +1,35 @@ +# EasyBuild easyconfig +# +# Fred Hutchinson Cancer Research Center - Seattle - Washington - US +# https://www.fredhutch.org +# John Dey +# +easyblock = 'CMakeMake' + +name = 'SpectrA' +version = '1.0.1' + +homepage = 'https://spectralib.org/' +description = """Spectra stands for Sparse Eigenvalue Computation Toolkit as a Redesigned ARPACK. It is a C++ + library for large scale eigenvalue problems, built on top of Eigen, an open source linear algebra library.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'yixuan' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['919e3fbc8c539a321fd5a0766966922b7637cc52eb50a969241a997c733789f3'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), +] + +dependencies = [('Eigen', '3.4.0')] + +sanity_check_paths = { + 'files': ['include/Spectra/SymEigsSolver.h'], + 'dirs': ['include/Spectra/LinAlg', 'share/spectra/cmake'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/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/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.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.68-foss-2023a.eb b/easybuild/easyconfigs/s/Stacks/Stacks-2.68-foss-2023a.eb new file mode 100644 index 00000000000..f5c8c3b976d --- /dev/null +++ b/easybuild/easyconfigs/s/Stacks/Stacks-2.68-foss-2023a.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'Stacks' +version = '2.68' + +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': '2023a'} + +source_urls = ['https://catchenlab.life.illinois.edu/stacks/source/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['9dc51ea356d60eb4557b0b2d1a8854aafae492aed87f974e0249cc09aa5e7650'] + +dependencies = [ + ('zlib', '1.2.13'), +] + +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/Statistics-R/Statistics-R-0.34-foss-2023a.eb b/easybuild/easyconfigs/s/Statistics-R/Statistics-R-0.34-foss-2023a.eb new file mode 100644 index 00000000000..7a351d75a26 --- /dev/null +++ b/easybuild/easyconfigs/s/Statistics-R/Statistics-R-0.34-foss-2023a.eb @@ -0,0 +1,28 @@ +easyblock = 'PerlModule' + +name = 'Statistics-R' +version = '0.34' + +homepage = 'https://metacpan.org/pod/Statistics::R' +description = "Perl interface with the R statistical program" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://cpan.metacpan.org/authors/id/F/FA/FANGLY'] +sources = [SOURCE_TAR_GZ] +checksums = ['782dd064876ac94680d97899f24fb0e727df42c05ba474ec096a9116438fbed4'] + +dependencies = [ + ('Perl', '5.36.1'), + ('Perl-bundle-CPAN', '5.36.1'), + ('R', '4.3.2'), +] + +options = {'modulename': 'Statistics::R'} + +sanity_check_paths = { + 'files': ['lib/perl5/site_perl/%(perlver)s/Statistics/R.pm'], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/Statistics/R'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/Stellarscope/Stellarscope-1.4.1-foss-2023a.eb b/easybuild/easyconfigs/s/Stellarscope/Stellarscope-1.4.1-foss-2023a.eb new file mode 100644 index 00000000000..27dd6fd92b4 --- /dev/null +++ b/easybuild/easyconfigs/s/Stellarscope/Stellarscope-1.4.1-foss-2023a.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'Stellarscope' +version = '1.4.1' + +homepage = 'https://github.com/nixonlab/stellarscope' +description = """Single-cell Transposable Element Locus Level Analysis of scRNA Sequencing.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('PyYAML', '6.0'), + ('Pysam', '0.22.0'), + ('HTSlib', '1.18'), + ('intervaltree-python', '3.1.0'), + ('SAMtools', '1.18'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/nixonlab/stellarscope/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['64aa3fa30e9ee1d4857572a0f491fd4983c15a5b5906edf9a3b7cacda780b99c'], + }), +] + +sanity_check_paths = { + 'files': ['bin/stellarscope'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["stellarscope -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/StringTie/StringTie-2.2.3-GCC-12.3.0.eb b/easybuild/easyconfigs/s/StringTie/StringTie-2.2.3-GCC-12.3.0.eb new file mode 100644 index 00000000000..b8bf61dd6cf --- /dev/null +++ b/easybuild/easyconfigs/s/StringTie/StringTie-2.2.3-GCC-12.3.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.3' + +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': '12.3.0'} + +source_urls = ['https://github.com/gpertea/%(namelower)s/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f372640b70a8fde763712d2f0565aff71f5facdc2300c8af829fea94a05ff208'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('libdeflate', '1.18'), + ('XZ', '5.4.2'), + ('zlib', '1.2.13'), + ('HTSlib', '1.18'), + ('Python', '3.11.3'), +] + +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/Subread/Subread-2.0.6-GCC-12.3.0.eb b/easybuild/easyconfigs/s/Subread/Subread-2.0.6-GCC-12.3.0.eb new file mode 100644 index 00000000000..b7c21d845bf --- /dev/null +++ b/easybuild/easyconfigs/s/Subread/Subread-2.0.6-GCC-12.3.0.eb @@ -0,0 +1,39 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'MakeCp' + +name = 'Subread' +version = '2.0.6' + +homepage = 'https://subread.sourceforge.net/' +description = """High performance read alignment, quantification and mutation discovery""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(namelower)s-%(version)s-source.tar.gz'] +checksums = ['f0fdda6b98634d2946028948c220253e10a0f27c7fa5f24913b65b3ac6cbb045'] + +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/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-7.8.2-foss-2024a-METIS-5.1.0.eb b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-7.8.2-foss-2024a-METIS-5.1.0.eb new file mode 100644 index 00000000000..7bcd3143b6f --- /dev/null +++ b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-7.8.2-foss-2024a-METIS-5.1.0.eb @@ -0,0 +1,29 @@ +name = 'SuiteSparse' +version = '7.8.2' +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': '2024a'} +toolchainopts = {'unroll': True, 'pic': True} + +source_urls = ['https://github.com/DrTimothyAldenDavis/SuiteSparse/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['996c48c87baaeb5fc04bd85c7e66d3651a56fe749c531c60926d75b4db5d2181'] + +builddependencies = [ + ('CMake', '3.29.3'), + ('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/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 index 1527189c23b..39de229b710 100644 --- a/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.1.0-foss-2022a.eb +++ b/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.1.0-foss-2022a.eb @@ -28,8 +28,12 @@ configopts += '-DTPL_PARMETIS_LIBRARIES="${EBROOTPARMETIS}/lib/libparmetis.a;${E # Include only first four tests, which should be fairly small to run pretestopts = 'export ARGS="$ARGS --tests-regex pdtest_[21]x1_[13]_2_8_20_SP" && ' +# remove broken symlink to libsuperlu.a postinstallcmds = [ - "rm %(installdir)s/lib64/libsuperlu.a", # remove broken symlink to libsuperlu.a + "if [ -f %(installdir)s/lib64/libsuperlu.a ]; then rm %(installdir)s/lib64/libsuperlu.a; fi", + # This second one can be removed when https://github.com/easybuilders/easybuild-framework/pull/4435 is merged + # (i.e. in EasyBuild 5.0) + "if [ -f %(installdir)s/lib/libsuperlu.a ]; then rm %(installdir)s/lib/libsuperlu.a; fi" ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.1.2-foss-2022b.eb b/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.1.2-foss-2022b.eb index 44b3702b12b..a1b9096b3c3 100644 --- a/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.1.2-foss-2022b.eb +++ b/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.1.2-foss-2022b.eb @@ -28,8 +28,12 @@ configopts += '-DTPL_PARMETIS_LIBRARIES="${EBROOTPARMETIS}/lib/libparmetis.a;${E # Include only first four tests, which should be fairly small to run pretestopts = 'export ARGS="$ARGS --tests-regex pdtest_[21]x1_[13]_2_8_20_SP" && ' +# remove broken symlink to libsuperlu.a postinstallcmds = [ - "rm %(installdir)s/lib64/libsuperlu.a", # remove broken symlink to libsuperlu.a + "if [ -f %(installdir)s/lib64/libsuperlu.a ]; then rm %(installdir)s/lib64/libsuperlu.a; fi", + # This second one can be removed when https://github.com/easybuilders/easybuild-framework/pull/4435 is merged + # (i.e. in EasyBuild 5.0) + "if [ -f %(installdir)s/lib/libsuperlu.a ]; then rm %(installdir)s/lib/libsuperlu.a; fi" ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.1.2-foss-2023a.eb b/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.1.2-foss-2023a.eb new file mode 100644 index 00000000000..c69bddd6e3e --- /dev/null +++ b/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.1.2-foss-2023a.eb @@ -0,0 +1,44 @@ +easyblock = "EB_SuperLU" + +name = 'SuperLU_DIST' +version = '8.1.2' + +homepage = 'https://crd-legacy.lbl.gov/~xiaoye/SuperLU/' +description = """SuperLU is a general purpose library for the direct solution of large, sparse, nonsymmetric systems + of linear equations on high performance machines.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True, 'openmp': True} + +github_account = 'xiaoyeli' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ["v%(version)s.tar.gz"] +checksums = ['7b16c442bb01ea8b298c0aab9a2584aa4615d09786aac968cb2f3118c058206b'] + +builddependencies = [('CMake', '3.26.3')] + +dependencies = [ + ('ParMETIS', '4.0.3'), +] + +configopts = '-DTPL_PARMETIS_INCLUDE_DIRS="${EBROOTPARMETIS}/include" ' +configopts += '-DTPL_PARMETIS_LIBRARIES="${EBROOTPARMETIS}/lib/libparmetis.a;${EBROOTPARMETIS}/lib/libmetis.a" ' + +# Some tests run longer than default 1500s timeout on fairly big machine (36 cores). +# Include only first four tests, which should be fairly small to run +pretestopts = 'export ARGS="$ARGS --tests-regex pdtest_[21]x1_[13]_2_8_20_SP" && ' + +# remove broken symlink to libsuperlu.a +postinstallcmds = [ + "if [ -f %(installdir)s/lib64/libsuperlu.a ]; then rm %(installdir)s/lib64/libsuperlu.a; fi", + # This second one can be removed when https://github.com/easybuilders/easybuild-framework/pull/4435 is merged + # (i.e. in EasyBuild 5.0) + "if [ -f %(installdir)s/lib/libsuperlu.a ]; then rm %(installdir)s/lib/libsuperlu.a; fi" +] + +sanity_check_paths = { + 'files': ['lib64/libsuperlu_dist.a'], + 'dirs': ['include'] +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/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/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/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/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 index b2d223898c7..70a9918dc8e 100644 --- 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 @@ -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': '11.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-11.3.0.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-11.3.0.eb index 3dc0b200849..6d34fd7a476 100644 --- 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 @@ -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': '11.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-12.2.0.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-12.2.0.eb index 6f536c566dd..e58b9c3ffef 100644 --- 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 @@ -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': '12.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-12.3.0.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-12.3.0.eb index e0a01221b9d..ee9fd884627 100644 --- 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 @@ -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': '12.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-13.2.0.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-13.2.0.eb index 8eb12670652..5fcc21050e5 100644 --- 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 @@ -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': '13.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-13.3.0.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..6ac6fb2e784 --- /dev/null +++ b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-13.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'Szip' +version = '2.1.1' + +homepage = 'https://docs.hdfgroup.org/archive/support/doc_resource/SZIP/index.html' + +description = """ + Szip compression software, providing lossless compression of scientific data +""" + +toolchain = {'name': 'GCCcore', 'version': '13.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.42'), +] + +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-2024.9.0-foss-2024a.eb b/easybuild/easyconfigs/s/s3fs/s3fs-2024.9.0-foss-2024a.eb new file mode 100644 index 00000000000..9177b8c01b8 --- /dev/null +++ b/easybuild/easyconfigs/s/s3fs/s3fs-2024.9.0-foss-2024a.eb @@ -0,0 +1,32 @@ +easyblock = "PythonBundle" + +name = 's3fs' +version = '2024.9.0' + +homepage = 'https://github.com/fsspec/s3fs/' +description = """S3FS builds on aiobotocore to provide a convenient Python filesystem interface for S3..""" + +toolchain = {'name': 'foss', 'version': '2024a'} + +dependencies = [ + ('Python', '3.12.3'), + ('Python-bundle-PyPI', '2024.06'), + ('hatchling', '1.24.2'), + ('aiohttp', '3.10.10'), + ('wrapt', '1.16.0'), + ('boto3', '1.35.36'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('fsspec', version, { + 'checksums': ['4b0afb90c2f21832df142f292649035d80b421f60a9e1c027802e5a0da2b04e8'], + }), + (name, version, { + 'checksums': ['6493705abb50374d6b7994f9616d27adbdd8a219c8635100bdc286382efd91f5'], + }), +] + +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/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.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-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/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/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..49724e4ae26 --- /dev/null +++ b/easybuild/easyconfigs/s/scanpy/scanpy-1.9.8-foss-2023a.eb @@ -0,0 +1,72 @@ +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} + +builddependencies = [ + ('hatchling', '1.18.0'), +] + +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'), + ('anndata', '0.10.5.post1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('stdlib_list', '0.10.0', { + 'checksums': ['6519c50d645513ed287657bfe856d527f277331540691ddeaf77b25459964a14'], + }), + ('packaging', '23.2', { + 'checksums': ['048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5'], + }), + ('natsort', '8.4.0', { + 'checksums': ['45312c4a0e5507593da193dedd04abb1469253b601ecaf63445ad80f0a1ea581'], + }), + ('joblib', '1.3.2', { + 'checksums': ['92f865e621e17784e7955080b6d042489e3b8e294949cc44c6eac304f59772b1'], + }), + ('session-info', '1.0.0', { + 'sources': ['session_info-%(version)s.tar.gz'], + 'checksums': ['3cda5e03cca703f32ae2eadbd6bd80b6c21442cfb60e412c21cb8ad6d5cbb6b7'], + }), + ('legacy_api_wrap', '1.4', { + 'checksums': ['92dfa274cedb26d6e6f70fac85c856fbdcc05058066656d76a665fb4bf11b785'], + }), + (name, version, { + 'checksums': ['2ab1790d2b82eadb0cf8d487f468beac7a8f6a3a8fd7112d1ae989f8c52a4353'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['natsort', 'scanpy']], + 'dirs': ['lib/python%(pyshortver)s/site-packages/'], +} + +sanity_check_commands = [ + "natsort --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scib-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.4-foss-2023a.eb b/easybuild/easyconfigs/s/scib/scib-1.1.4-foss-2023a.eb new file mode 100644 index 00000000000..0f3d25a3ad1 --- /dev/null +++ b/easybuild/easyconfigs/s/scib/scib-1.1.4-foss-2023a.eb @@ -0,0 +1,43 @@ +# author: Denis Kristak (INUITS) +# update: Pavel Tománek (INUITS) + +easyblock = 'PythonBundle' + +name = 'scib' +version = '1.1.4' + +homepage = 'https://github.com/theislab/scib' +description = "Benchmarking atlas-level data integration in single-cell genomics." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Seaborn', '0.13.2'), + ('matplotlib', '3.7.2'), + ('numba', '0.58.1'), + ('scanpy', '1.9.8'), + ('h5py', '3.9.0'), + ('scikit-learn', '1.3.1'), + ('scikit-misc', '0.3.1'), + ('leidenalg', '0.10.2'), + ('umap-learn', '0.5.5'), + ('pydot', '2.0.0'), + ('igraph', '0.10.10'), + ('python-igraph', '0.11.4'), + ('Deprecated', '1.2.14'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['b7800f308cd6acc36db6e159a53b0432adb2f48e9b7b434240bc5d696df10bfb'], + }), +] + +preinstallopts = "sed -i 's|pandas<2|pandas>=2|g' setup.cfg && " + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.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 index 672a73b4031..226560cd69c 100644 --- 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 @@ -25,6 +25,10 @@ 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'], }), 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..f95d5d59160 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.9.3-GCCcore-13.2.0.eb @@ -0,0 +1,37 @@ +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 = [ + ('pyproject-metadata', '0.8.0', { + 'sources': ['pyproject_metadata-%(version)s.tar.gz'], + 'checksums': ['376d5a00764ac29440a54579f88e66b7d9cb7e629d35c35a1c7248bfebc9b455'], + }), + ('scikit_build_core', version, { + 'checksums': ['341d113e473a5409dc62522e8b1b1b8b1647a0b95557ad15f6be2a36071fd390'], + }), +] + +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-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.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.7.4-foss-2023a.eb b/easybuild/easyconfigs/s/scikit-lego/scikit-lego-0.7.4-foss-2023a.eb new file mode 100644 index 00000000000..0d3f98e8132 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-lego/scikit-lego-0.7.4-foss-2023a.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'scikit-lego' +version = '0.7.4' + +homepage = 'https://github.com/koaning/scikit-lego' +description = """ +We love scikit learn but very often we find ourselves writing custom transformers, metrics and +models. The goal of this project is to attempt to consolidate these into a package that offers +code quality/testing. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +github_account = 'koaning' + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('scikit-learn', '1.3.1'), + ('matplotlib', '3.7.2'), + ('Deprecated', '1.2.14'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'modulename': 'sklego', + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/%(github_account)s/%(name)s/archive'], + 'checksums': ['eefef84cd72f4c019423cc1de6579b6b4bf96512f5b9680cdeb9a12023b4764f'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/scikit-misc/scikit-misc-0.3.1-foss-2023a.eb b/easybuild/easyconfigs/s/scikit-misc/scikit-misc-0.3.1-foss-2023a.eb new file mode 100644 index 00000000000..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/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-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/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/semla/semla-1.1.6-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/s/semla/semla-1.1.6-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..e214778d526 --- /dev/null +++ b/easybuild/easyconfigs/s/semla/semla-1.1.6-foss-2023a-R-4.3.2.eb @@ -0,0 +1,31 @@ +easyblock = 'RPackage' + +name = 'semla' +version = '1.1.6' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/arrow' +description = "R interface to the Apache Arrow C++ library" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = [ + 'https://github.com/ludvigla/semla/releases/download/v%(version)s', +] +sources = ['semla_%(version)s.tar.gz'] +checksums = ['845b7af52a1d7f74ef3158936c1bcaa0f81724e1d0938c6326ced6128d6fbec3'] + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-CRAN', '2023.12'), + ('R-bundle-Bioconductor', '3.18', versionsuffix), +] + + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(namelower)s'], +} + + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/seqtk/seqtk-1.4-GCC-12.3.0.eb b/easybuild/easyconfigs/s/seqtk/seqtk-1.4-GCC-12.3.0.eb new file mode 100644 index 00000000000..d19790ad481 --- /dev/null +++ b/easybuild/easyconfigs/s/seqtk/seqtk-1.4-GCC-12.3.0.eb @@ -0,0 +1,36 @@ +## +# created by Thomas Eylenbosch +# updated by Pavel Tománek (INUITS) +## + +easyblock = 'ConfigureMake' + +name = 'seqtk' +version = '1.4' + +homepage = 'https://github.com/lh3/seqtk/' +description = """Seqtk is a fast and lightweight tool for processing sequences in the FASTA or FASTQ format. + It seamlessly parses both FASTA and FASTQ files which can also be optionally compressed by gzip.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +github_account = 'lh3' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['d124604ec24f29ed14ce127426ab90e0f3a2c0280c80d1a3ff8b1c09feede19c'] + +dependencies = [('zlib', '1.2.13')] + +skipsteps = ['configure'] + +buildopts = 'CC="$CC" CFLAGS="$CLFAGS"' + +preinstallopts = "mkdir %(installdir)s/bin && " +installopts = 'BINDIR=%(installdir)s/bin/' + +sanity_check_paths = { + 'files': ['bin/seqtk'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/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 index 8cbf2db9fe7..b2517ef684c 100644 --- 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 @@ -18,11 +18,8 @@ dependencies = [ ('Python', '3.11.3'), ] -exts_default_options = { - 'download_dep_fail': True, - 'sanity_pip_check': True, - 'use_pip': True, -} +sanity_pip_check = True +use_pip = True exts_list = [ ('typing_extensions', '4.6.3', { 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 index 669229c8f11..044d56266ae 100644 --- 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 @@ -18,11 +18,8 @@ dependencies = [ ('Python', '3.11.5'), ] -exts_default_options = { - 'download_dep_fail': True, - 'sanity_pip_check': True, - 'use_pip': True, -} +sanity_pip_check = True +use_pip = True exts_list = [ ('typing_extensions', '4.8.0', { 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/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/skani/skani-0.2.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/skani/skani-0.2.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..889947f5c2c --- /dev/null +++ b/easybuild/easyconfigs/s/skani/skani-0.2.2-GCCcore-12.3.0.eb @@ -0,0 +1,481 @@ +easyblock = 'Cargo' + +name = 'skani' +version = '0.2.2' + +homepage = 'https://github.com/bluenote-1577/skani' +description = "skani - accurate, fast nucleotide identity calculation for MAGs, genomes, and databases" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'bluenote-1577' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = [ + {'v0.2.2.tar.gz': 'e047d52b9f753625eff480fe90f1abb68f82cc6892d9d1910b18bfcedbfc0b9d'}, + {'adler-1.0.2.tar.gz': 'f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe'}, + {'aho-corasick-1.1.2.tar.gz': 'b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0'}, + {'anyhow-1.0.75.tar.gz': 'a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6'}, + {'approx-0.5.1.tar.gz': 'cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6'}, + {'assert_cmd-1.0.8.tar.gz': 'c98233c6673d8601ab23e77eb38f999c51100d46c5703b17288c57fddf3a1ffe'}, + {'atty-0.2.14.tar.gz': 'd9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8'}, + {'autocfg-0.1.8.tar.gz': '0dde43e75fd43e8a1bf86103336bc699aa8d17ad1be60c76c0bdfd4828e19b78'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'bincode-1.3.3.tar.gz': 'b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad'}, + {'bio-1.4.0.tar.gz': 'ea643e25059ce02b94e8f6eb4e902d160baa6d0beb91834ed971dd5a880c02ba'}, + {'bio-types-1.0.1.tar.gz': '9d45749b87f21808051025e9bf714d14ff4627f9d8ca967eade6946ea769aa4a'}, + {'bit-set-0.5.3.tar.gz': '0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1'}, + {'bit-vec-0.5.1.tar.gz': 'f59bbe95d4e52a6398ec21238d31577f2b28a9d86807f06ca59d191d8440d0bb'}, + {'bit-vec-0.6.3.tar.gz': '349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'bitflags-2.4.0.tar.gz': 'b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635'}, + {'bstr-0.2.17.tar.gz': 'ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223'}, + {'buffer-redux-1.0.0.tar.gz': 'd2886ea01509598caac116942abd33ab5a88fa32acdf7e4abfa0fc489ca520c9'}, + {'bv-0.11.1.tar.gz': '8834bb1d8ee5dc048ee3124f2c7c1afcc6bc9aed03f11e9dfd8c69470a5db340'}, + {'bytecount-0.6.4.tar.gz': 'ad152d03a2c813c80bb94fedbf3a3f02b28f793e39e7c214c8a0bcc196343de7'}, + {'bytemuck-1.14.0.tar.gz': '374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6'}, + {'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.83.tar.gz': 'f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0'}, + {'cfg-if-0.1.10.tar.gz': '4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'clap-3.2.25.tar.gz': '4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123'}, + {'clap_lex-0.2.4.tar.gz': '2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5'}, + {'cloudabi-0.0.3.tar.gz': 'ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f'}, + {'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'}, + {'csv-1.3.0.tar.gz': 'ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe'}, + {'csv-core-0.1.11.tar.gz': '5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70'}, + {'custom_derive-0.1.7.tar.gz': 'ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a01b9'}, + {'dashmap-5.5.3.tar.gz': '978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856'}, + {'derive-new-0.5.9.tar.gz': '3418329ca0ad70234b9735dc4ceed10af4df60eff9c8e7b06cb5e520d92c3535'}, + {'difference-2.0.0.tar.gz': '524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198'}, + {'difflib-0.4.0.tar.gz': '6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8'}, + {'doc-comment-0.3.3.tar.gz': 'fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10'}, + {'editdistancek-1.0.2.tar.gz': '3e02df23d5b1c6f9e69fa603b890378123b93073df998a21e6e33b9db0a32613'}, + {'either-1.9.0.tar.gz': 'a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07'}, + {'enum-map-1.1.1.tar.gz': 'e893a7ba6116821058dec84a6fb14fb2a97cd8ce5fd0f85d5a4e760ecd7329d9'}, + {'enum-map-derive-0.6.0.tar.gz': '84278eae0af6e34ff6c1db44c11634a694aafac559ff3080e4db4e4ac35907aa'}, + {'equivalent-1.0.1.tar.gz': '5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5'}, + {'errno-0.3.5.tar.gz': 'ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860'}, + {'fastrand-1.9.0.tar.gz': 'e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be'}, + {'fastrand-2.0.1.tar.gz': '25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5'}, + {'feature-probe-0.1.1.tar.gz': '835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da'}, + {'fixedbitset-0.4.2.tar.gz': '0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80'}, + {'flate2-1.0.27.tar.gz': 'c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010'}, + {'float-cmp-0.8.0.tar.gz': 'e1267f4ac4f343772758f7b1bdcbe767c218bbab93bb432acbf5162bbf85a6c4'}, + {'fnv-1.0.7.tar.gz': '3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1'}, + {'fuchsia-cprng-0.1.1.tar.gz': 'a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba'}, + {'futures-0.3.28.tar.gz': '23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40'}, + {'futures-channel-0.3.28.tar.gz': '955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2'}, + {'futures-core-0.3.28.tar.gz': '4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c'}, + {'futures-executor-0.3.28.tar.gz': 'ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0'}, + {'futures-io-0.3.28.tar.gz': '4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964'}, + {'futures-sink-0.3.28.tar.gz': 'f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e'}, + {'futures-task-0.3.28.tar.gz': '76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65'}, + {'futures-util-0.3.28.tar.gz': '26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533'}, + {'fxhash-0.2.1.tar.gz': 'c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c'}, + {'gbdt-0.1.1.tar.gz': '74248386ea349f903cee13fae53f41bdae987f74eb798c6cbcb08370c99ccd34'}, + {'gcollections-1.5.0.tar.gz': '2f551fdf23ef80329f754919669147a71c67b6cfe3569cd93b6fabdd62044377'}, + {'getrandom-0.2.10.tar.gz': 'be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427'}, + {'getset-0.1.2.tar.gz': 'e45727250e75cc04ff2846a66397da8ef2b3db8e40e0cef4df67950a07621eb9'}, + {'hashbrown-0.12.3.tar.gz': '8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888'}, + {'hashbrown-0.14.1.tar.gz': '7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'hermit-abi-0.1.19.tar.gz': '62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33'}, + {'indexed-0.1.1.tar.gz': 'd480125acf340d6a6e59dab69ae19d6fca3a906e1eade277671272cc8f73794b'}, + {'indexmap-1.9.3.tar.gz': 'bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99'}, + {'indexmap-2.0.2.tar.gz': '8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897'}, + {'instant-0.1.12.tar.gz': '7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c'}, + {'intervallum-1.4.0.tar.gz': 'c8ccecd834666f695ecec3ff0d5fc32e32c91abea91a28fd0aceb4b35a82cee1'}, + {'itertools-0.10.5.tar.gz': 'b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473'}, + {'itertools-0.11.0.tar.gz': 'b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57'}, + {'itertools-num-0.1.3.tar.gz': 'a872a22f9e6f7521ca557660adb96dd830e54f0f490fa115bb55dd69d38b27e7'}, + {'itoa-1.0.9.tar.gz': 'af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'libc-0.2.149.tar.gz': 'a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b'}, + {'libm-0.2.8.tar.gz': '4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058'}, + {'linux-raw-sys-0.4.10.tar.gz': 'da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f'}, + {'lock_api-0.4.10.tar.gz': 'c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16'}, + {'log-0.4.20.tar.gz': 'b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f'}, + {'lzma-sys-0.1.20.tar.gz': '5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27'}, + {'matrixmultiply-0.3.8.tar.gz': '7574c1cf36da4798ab73da5b215bbf444f50718207754cb522201d78d1cd0ff2'}, + {'memchr-2.6.4.tar.gz': 'f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167'}, + {'memoffset-0.9.0.tar.gz': '5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c'}, + {'miniz_oxide-0.7.1.tar.gz': 'e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7'}, + {'multimap-0.8.3.tar.gz': 'e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a'}, + {'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'}, + {'normalize-line-endings-0.3.0.tar.gz': '61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be'}, + {'num-complex-0.4.4.tar.gz': '1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214'}, + {'num-integer-0.1.45.tar.gz': '225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9'}, + {'num-rational-0.4.1.tar.gz': '0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0'}, + {'num-traits-0.2.17.tar.gz': '39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c'}, + {'once_cell-1.18.0.tar.gz': 'dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d'}, + {'ordered-float-3.9.1.tar.gz': '2a54938017eacd63036332b4ae5c8a49fc8c0c1d6d629893057e4f13609edd06'}, + {'os_str_bytes-6.5.1.tar.gz': '4d5d9eb14b174ee9aa2ef96dc2b94637a2d4b6e7cb873c7e171f0c20c6cf3eac'}, + {'parking_lot-0.12.1.tar.gz': '3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f'}, + {'parking_lot_core-0.9.8.tar.gz': '93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447'}, + {'partitions-0.2.4.tar.gz': '9249745fe5a60e2ebd69cc649af1baf28fa3f4606b24146490124405401510d8'}, + {'paste-1.0.14.tar.gz': 'de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c'}, + {'petgraph-0.6.4.tar.gz': 'e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9'}, + {'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'}, + {'predicates-1.0.8.tar.gz': 'f49cfaf7fdaa3bfacc6fa3e7054e65148878354a5cfddcf661df4c851f8021df'}, + {'predicates-2.1.5.tar.gz': '59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd'}, + {'predicates-core-1.0.6.tar.gz': 'b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174'}, + {'predicates-tree-1.0.9.tar.gz': '368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf'}, + {'proc-macro-error-1.0.4.tar.gz': 'da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c'}, + {'proc-macro-error-attr-1.0.4.tar.gz': 'a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869'}, + {'proc-macro2-0.2.3.tar.gz': 'cd07deb3c6d1d9ff827999c7f9b04cdfd66b1b17ae508e14fe47b620f2282ae0'}, + {'proc-macro2-1.0.69.tar.gz': '134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da'}, + {'proptest-0.8.7.tar.gz': '926d0604475349f463fe44130aae73f2294b5309ab2ca0310b998bd334ef191f'}, + {'quick-error-1.2.3.tar.gz': 'a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0'}, + {'quote-0.4.2.tar.gz': '1eca14c727ad12702eb4b6bfb5a232287dcf8385cb8ca83a3eeaf6519c44c408'}, + {'quote-1.0.33.tar.gz': '5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae'}, + {'rand-0.5.6.tar.gz': 'c618c47cd3ebd209790115ab837de41425723956ad3ce2e6a7f09890947cacb9'}, + {'rand-0.6.5.tar.gz': '6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca'}, + {'rand-0.8.5.tar.gz': '34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404'}, + {'rand_chacha-0.1.1.tar.gz': '556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef'}, + {'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'}, + {'rand_distr-0.4.3.tar.gz': '32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31'}, + {'rand_hc-0.1.0.tar.gz': '7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4'}, + {'rand_isaac-0.1.1.tar.gz': 'ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08'}, + {'rand_jitter-0.1.4.tar.gz': '1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b'}, + {'rand_os-0.1.3.tar.gz': '7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071'}, + {'rand_pcg-0.1.2.tar.gz': 'abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44'}, + {'rand_xorshift-0.1.1.tar.gz': 'cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c'}, + {'rawpointer-0.2.1.tar.gz': '60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3'}, + {'rayon-1.8.0.tar.gz': '9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1'}, + {'rayon-core-1.12.0.tar.gz': '5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed'}, + {'rdrand-0.4.0.tar.gz': '678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2'}, + {'redox_syscall-0.1.57.tar.gz': '41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce'}, + {'redox_syscall-0.3.5.tar.gz': '567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29'}, + {'reflection-0.1.3.tar.gz': 'f477a471bda4d66e69c64a07ded91ac097ca12614b767b53da3dbd439483c514'}, + {'reflection_derive-0.1.1.tar.gz': 'b420cc74a3c074892142c8a11dbc97273c00983e0ea63119eec45cf188be7729'}, + {'regex-1.10.0.tar.gz': 'd119d7c7ca818f8a53c300863d4f87566aac09943aef5b355bb83969dae75d87'}, + {'regex-automata-0.1.10.tar.gz': '6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132'}, + {'regex-automata-0.4.1.tar.gz': '465c6fc0621e4abc4187a2bda0937bfd4f722c2730b29562e19689ea796c9a4b'}, + {'regex-syntax-0.6.29.tar.gz': 'f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1'}, + {'regex-syntax-0.8.0.tar.gz': 'c3cbb081b9784b07cceb8824c8583f86db4814d172ab043f3c23f7dc600bf83d'}, + {'rust-lapper-1.1.0.tar.gz': 'ee43d8e721ac803031dbab6a944b957b49a3b11eadbc099880c8aaaebf23ed27'}, + {'rustc_version-0.1.7.tar.gz': 'c5f5376ea5e30ce23c03eb77cbe4962b988deead10910c372b226388b594c084'}, + {'rustix-0.38.18.tar.gz': '5a74ee2d7c2581cd139b42447d7d9389b889bdaad3a73f1ebb16f2a3237bb19c'}, + {'rustversion-1.0.14.tar.gz': '7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4'}, + {'rusty-fork-0.2.2.tar.gz': '3dd93264e10c577503e926bd1430193eeb5d21b059148910082245309b424fae'}, + {'ryu-1.0.15.tar.gz': '1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741'}, + {'safe_arch-0.7.1.tar.gz': 'f398075ce1e6a179b46f51bd88d0598b92b00d3551f1a2d4ac49e771b56ac354'}, + {'safemem-0.3.3.tar.gz': 'ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072'}, + {'scopeguard-1.2.0.tar.gz': '94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49'}, + {'semver-0.1.20.tar.gz': 'd4f410fedcf71af0345d7607d246e7ad15faaadd49d240ee3b24e5dc21a820ac'}, + {'serde-1.0.188.tar.gz': 'cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e'}, + {'serde_derive-1.0.188.tar.gz': '4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2'}, + {'serde_derive_internals-0.21.0.tar.gz': '370aa477297975243dc914d0b0e1234927520ec311de507a560fbd1c80f7ab8c'}, + {'serde_json-1.0.107.tar.gz': '6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65'}, + {'serial_test-0.10.0.tar.gz': '1c789ec87f4687d022a2405cf46e0cd6284889f1839de292cadeb6c6019506f2'}, + {'serial_test_derive-0.10.0.tar.gz': 'b64f9e531ce97c88b4778aad0ceee079216071cffec6ac9b904277f8f92e7fe3'}, + {'simba-0.6.0.tar.gz': 'f0b7840f121a46d63066ee7a99fc81dcabbc6105e437cae43528cea199b5a05f'}, + {'simple-logging-2.0.2.tar.gz': 'b00d48e85675326bb182a2286ea7c1a0b264333ae10f27a937a72be08628b542'}, + {'slab-0.4.9.tar.gz': '8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67'}, + {'smallvec-1.11.1.tar.gz': '942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a'}, + {'statrs-0.16.0.tar.gz': '2d08e5e1748192713cc281da8b16924fb46be7b0c2431854eadc785823e5696e'}, + {'strsim-0.10.0.tar.gz': '73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623'}, + {'strum-0.25.0.tar.gz': '290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125'}, + {'strum_macros-0.25.2.tar.gz': 'ad8d03b598d3d0fff69bf533ee3ef19b8eeb342729596df84bcc7e1f96ec4059'}, + {'syn-0.12.15.tar.gz': 'c97c05b8ebc34ddd6b967994d5c6e9852fa92f8b82b3858c39451f97346dcce5'}, + {'syn-1.0.109.tar.gz': '72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237'}, + {'syn-2.0.38.tar.gz': 'e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b'}, + {'tempfile-3.8.0.tar.gz': 'cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef'}, + {'termcolor-1.3.0.tar.gz': '6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64'}, + {'termtree-0.4.1.tar.gz': '3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76'}, + {'textwrap-0.16.0.tar.gz': '222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d'}, + {'thiserror-1.0.49.tar.gz': '1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4'}, + {'thiserror-impl-1.0.49.tar.gz': '10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc'}, + {'thread-id-3.3.0.tar.gz': 'c7fbf4c9d56b320106cd64fd024dadfa0be7cb4706725fc44a7d7ce952d820c1'}, + {'tikv-jemalloc-sys-0.5.4+5.3.0-patched.tar.gz': + '9402443cb8fd499b6f327e40565234ff34dbda27460c5b47db0db77443dd85d1'}, + {'tikv-jemallocator-0.5.4.tar.gz': '965fe0c26be5c56c94e38ba547249074803efd52adfb66de62107d95aab3eaca'}, + {'trees-0.2.1.tar.gz': 'afa1821e85be4f56cc5bd08bdbc32c0e26d105c90bed9c637992f6c7f747c180'}, + {'trilean-1.1.0.tar.gz': '683ba5022fe6dbd7133cad150478ccf51bdb6d861515181e5fc6b4323d4fa424'}, + {'triple_accel-0.4.0.tar.gz': '22048bc95dfb2ffd05b1ff9a756290a009224b60b2f0e7525faeee7603851e63'}, + {'tsv-0.1.1.tar.gz': '418001090d0ccdf2284690ff051c0c10d18ddd320ea9dd8ff6d205cb8436a0aa'}, + {'typenum-1.17.0.tar.gz': '42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825'}, + {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'}, + {'unicode-xid-0.1.0.tar.gz': 'fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc'}, + {'vec_map-0.8.2.tar.gz': 'f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191'}, + {'version_check-0.9.4.tar.gz': '49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f'}, + {'wait-timeout-0.2.0.tar.gz': '9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6'}, + {'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}, + {'wide-0.7.12.tar.gz': 'ebecebefc38ff1860b4bc47550bbfa63af5746061cf0d29fcd7fa63171602598'}, + {'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-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'}, + {'xz2-0.1.7.tar.gz': '388c44dc09d76f1536602ead6d325eb532f5c122f17782bd57fb47baeeb767e2'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('Rust', '1.75.0'), +] + +dependencies = [ + ('bzip2', '1.0.8'), + ('XZ', '5.4.2'), +] + +# Since we do the download of partitions, remove the download part from skani +prebuildopts = """sed -i -e 's/^partitions = {/#&/' -e 's/^#partitions = ".*/partitions = "0.2.4"/' Cargo.toml && """ + +crates = [ + ('adler', '1.0.2'), + ('aho-corasick', '1.1.2'), + ('anyhow', '1.0.75'), + ('approx', '0.5.1'), + ('assert_cmd', '1.0.8'), + ('atty', '0.2.14'), + ('autocfg', '0.1.8'), + ('autocfg', '1.1.0'), + ('bincode', '1.3.3'), + ('bio', '1.4.0'), + ('bio-types', '1.0.1'), + ('bit-set', '0.5.3'), + ('bit-vec', '0.5.1'), + ('bit-vec', '0.6.3'), + ('bitflags', '1.3.2'), + ('bitflags', '2.4.0'), + ('bstr', '0.2.17'), + ('buffer-redux', '1.0.0'), + ('bv', '0.11.1'), + ('bytecount', '0.6.4'), + ('bytemuck', '1.14.0'), + ('byteorder', '1.5.0'), + ('bzip2', '0.4.4'), + ('bzip2-sys', '0.1.11+1.0.8'), + ('cc', '1.0.83'), + ('cfg-if', '0.1.10'), + ('cfg-if', '1.0.0'), + ('clap', '3.2.25'), + ('clap_lex', '0.2.4'), + ('cloudabi', '0.0.3'), + ('crc32fast', '1.3.2'), + ('crossbeam-deque', '0.8.3'), + ('crossbeam-epoch', '0.9.15'), + ('crossbeam-utils', '0.8.16'), + ('csv', '1.3.0'), + ('csv-core', '0.1.11'), + ('custom_derive', '0.1.7'), + ('dashmap', '5.5.3'), + ('derive-new', '0.5.9'), + ('difference', '2.0.0'), + ('difflib', '0.4.0'), + ('doc-comment', '0.3.3'), + ('editdistancek', '1.0.2'), + ('either', '1.9.0'), + ('enum-map', '1.1.1'), + ('enum-map-derive', '0.6.0'), + ('equivalent', '1.0.1'), + ('errno', '0.3.5'), + ('fastrand', '1.9.0'), + ('fastrand', '2.0.1'), + ('feature-probe', '0.1.1'), + ('fixedbitset', '0.4.2'), + ('flate2', '1.0.27'), + ('float-cmp', '0.8.0'), + ('fnv', '1.0.7'), + ('fuchsia-cprng', '0.1.1'), + ('futures', '0.3.28'), + ('futures-channel', '0.3.28'), + ('futures-core', '0.3.28'), + ('futures-executor', '0.3.28'), + ('futures-io', '0.3.28'), + ('futures-sink', '0.3.28'), + ('futures-task', '0.3.28'), + ('futures-util', '0.3.28'), + ('fxhash', '0.2.1'), + ('gbdt', '0.1.1'), + ('gcollections', '1.5.0'), + ('getrandom', '0.2.10'), + ('getset', '0.1.2'), + ('hashbrown', '0.12.3'), + ('hashbrown', '0.14.1'), + ('heck', '0.4.1'), + ('hermit-abi', '0.1.19'), + ('indexed', '0.1.1'), + ('indexmap', '1.9.3'), + ('indexmap', '2.0.2'), + ('instant', '0.1.12'), + ('intervallum', '1.4.0'), + ('itertools', '0.10.5'), + ('itertools', '0.11.0'), + ('itertools-num', '0.1.3'), + ('itoa', '1.0.9'), + ('lazy_static', '1.4.0'), + ('libc', '0.2.149'), + ('libm', '0.2.8'), + ('linux-raw-sys', '0.4.10'), + ('lock_api', '0.4.10'), + ('log', '0.4.20'), + ('lzma-sys', '0.1.20'), + ('matrixmultiply', '0.3.8'), + ('memchr', '2.6.4'), + ('memoffset', '0.9.0'), + ('miniz_oxide', '0.7.1'), + ('multimap', '0.8.3'), + ('nalgebra', '0.29.0'), + ('nalgebra-macros', '0.1.0'), + ('ndarray', '0.15.6'), + ('needletail', '0.5.1'), + ('newtype_derive', '0.1.6'), + ('normalize-line-endings', '0.3.0'), + ('num-complex', '0.4.4'), + ('num-integer', '0.1.45'), + ('num-rational', '0.4.1'), + ('num-traits', '0.2.17'), + ('once_cell', '1.18.0'), + ('ordered-float', '3.9.1'), + ('os_str_bytes', '6.5.1'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.8'), + ('partitions', '0.2.4'), + ('paste', '1.0.14'), + ('petgraph', '0.6.4'), + ('pin-project-lite', '0.2.13'), + ('pin-utils', '0.1.0'), + ('pkg-config', '0.3.27'), + ('ppv-lite86', '0.2.17'), + ('predicates', '1.0.8'), + ('predicates', '2.1.5'), + ('predicates-core', '1.0.6'), + ('predicates-tree', '1.0.9'), + ('proc-macro-error', '1.0.4'), + ('proc-macro-error-attr', '1.0.4'), + ('proc-macro2', '0.2.3'), + ('proc-macro2', '1.0.69'), + ('proptest', '0.8.7'), + ('quick-error', '1.2.3'), + ('quote', '0.4.2'), + ('quote', '1.0.33'), + ('rand', '0.5.6'), + ('rand', '0.6.5'), + ('rand', '0.8.5'), + ('rand_chacha', '0.1.1'), + ('rand_chacha', '0.3.1'), + ('rand_core', '0.3.1'), + ('rand_core', '0.4.2'), + ('rand_core', '0.6.4'), + ('rand_distr', '0.4.3'), + ('rand_hc', '0.1.0'), + ('rand_isaac', '0.1.1'), + ('rand_jitter', '0.1.4'), + ('rand_os', '0.1.3'), + ('rand_pcg', '0.1.2'), + ('rand_xorshift', '0.1.1'), + ('rawpointer', '0.2.1'), + ('rayon', '1.8.0'), + ('rayon-core', '1.12.0'), + ('rdrand', '0.4.0'), + ('redox_syscall', '0.1.57'), + ('redox_syscall', '0.3.5'), + ('reflection', '0.1.3'), + ('reflection_derive', '0.1.1'), + ('regex', '1.10.0'), + ('regex-automata', '0.1.10'), + ('regex-automata', '0.4.1'), + ('regex-syntax', '0.6.29'), + ('regex-syntax', '0.8.0'), + ('rust-lapper', '1.1.0'), + ('rustc_version', '0.1.7'), + ('rustix', '0.38.18'), + ('rustversion', '1.0.14'), + ('rusty-fork', '0.2.2'), + ('ryu', '1.0.15'), + ('safe_arch', '0.7.1'), + ('safemem', '0.3.3'), + ('scopeguard', '1.2.0'), + ('semver', '0.1.20'), + ('serde', '1.0.188'), + ('serde_derive', '1.0.188'), + ('serde_derive_internals', '0.21.0'), + ('serde_json', '1.0.107'), + ('serial_test', '0.10.0'), + ('serial_test_derive', '0.10.0'), + ('simba', '0.6.0'), + ('simple-logging', '2.0.2'), + ('slab', '0.4.9'), + ('smallvec', '1.11.1'), + ('statrs', '0.16.0'), + ('strsim', '0.10.0'), + ('strum', '0.25.0'), + ('strum_macros', '0.25.2'), + ('syn', '0.12.15'), + ('syn', '1.0.109'), + ('syn', '2.0.38'), + ('tempfile', '3.8.0'), + ('termcolor', '1.3.0'), + ('termtree', '0.4.1'), + ('textwrap', '0.16.0'), + ('thiserror', '1.0.49'), + ('thiserror-impl', '1.0.49'), + ('thread-id', '3.3.0'), + ('tikv-jemalloc-sys', '0.5.4+5.3.0-patched'), + ('tikv-jemallocator', '0.5.4'), + ('trees', '0.2.1'), + ('trilean', '1.1.0'), + ('triple_accel', '0.4.0'), + ('tsv', '0.1.1'), + ('typenum', '1.17.0'), + ('unicode-ident', '1.0.12'), + ('unicode-xid', '0.1.0'), + ('vec_map', '0.8.2'), + ('version_check', '0.9.4'), + ('wait-timeout', '0.2.0'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('wide', '0.7.12'), + ('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-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'), + ('xz2', '0.1.7'), +] + +sanity_check_paths = { + 'files': ['bin/skani'], + 'dirs': [], +} + +sanity_check_commands = [ + 'skani --help', +] + + +moduleclass = 'bio' 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.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/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/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/snakemake/snakemake-8.4.2-foss-2023a.eb b/easybuild/easyconfigs/s/snakemake/snakemake-8.4.2-foss-2023a.eb new file mode 100644 index 00000000000..2bfe0da0595 --- /dev/null +++ b/easybuild/easyconfigs/s/snakemake/snakemake-8.4.2-foss-2023a.eb @@ -0,0 +1,144 @@ +easyblock = 'PythonBundle' + +name = 'snakemake' +version = '8.4.2' + +homepage = 'https://snakemake.readthedocs.io' +description = "The Snakemake workflow management system is a tool to create reproducible and scalable data analyses." + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('poetry', '1.5.1'), +] +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('GitPython', '3.1.40'), + ('IPython', '8.14.0'), + ('PyYAML', '6.0'), + ('wrapt', '1.15.0'), + ('PuLP', '2.8.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('datrie', '0.8.2', { + 'checksums': ['525b08f638d5cf6115df6ccd818e5a01298cd230b2dac91c8ff2e6499d18765d'], + }), + ('plac', '1.4.2', { + 'checksums': ['b0d04d9bc4875625df45982bc900e9d9826861c221850dbfda096eab82fe3330'], + }), + ('dpath', '2.1.6', { + 'checksums': ['f1e07c72e8605c6a9e80b64bc8f42714de08a789c7de417e49c3f87a19692e47'], + }), + ('yte', '1.5.4', { + 'checksums': ['d2d77e53eafca74f58234fcd3fea28cc0a719e4f3784911511e35e86594bc880'], + }), + ('toposort', '1.10', { + 'checksums': ['bfbb479c53d0a696ea7402601f4e693c97b0367837c8898bc6471adfca37a6bd'], + }), + ('throttler', '1.2.2', { + 'checksums': ['d54db406d98e1b54d18a9ba2b31ab9f093ac64a0a59d730c1cf7bb1cdfc94a58'], + }), + ('stopit', '1.1.2', { + 'checksums': ['f7f39c583fd92027bd9d06127b259aee7a5b7945c1f1fa56263811e1e766996d'], + }), + ('ConfigArgParse', '1.7', { + 'checksums': ['e7067471884de5478c58a511e529f0f9bd1c66bfef1dea90935438d6c23306d1'], + }), + ('argparse-dataclass', '2.0.0', { + 'modulename': 'argparse_dataclass', + 'source_tmpl': 'argparse_dataclass-%(version)s.tar.gz', + 'checksums': ['09ab641c914a2f12882337b9c3e5086196dbf2ee6bf0ef67895c74002cc9297f'], + }), + ('snakemake-interface-common', '1.15.2', { + 'modulename': 'snakemake_interface_common', + 'source_tmpl': 'snakemake_interface_common-%(version)s.tar.gz', + 'checksums': ['f2a4908a5ec5d6e657723f90221da3c136e70a1c5897b4e1d65a703bc08e8d7a'], + }), + ('reretry', '0.11.8', { + 'checksums': ['f2791fcebe512ea2f1d153a2874778523a8064860b591cd90afc21a8bed432e3'], + }), + ('snakemake-interface-storage-plugins', '3.0.0', { + 'modulename': 'snakemake_interface_storage_plugins', + 'source_tmpl': 'snakemake_interface_storage_plugins-%(version)s.tar.gz', + 'checksums': ['f20d85ee7e86a1e2ffa3f72e2385dd5abb17fa7b58a26cba8ba59096872fe169'], + }), + ('snakemake-interface-executor-plugins', '8.2.0', { + 'modulename': 'snakemake_interface_executor_plugins', + 'source_tmpl': 'snakemake_interface_executor_plugins-%(version)s.tar.gz', + 'checksums': ['4c74e3e1751bab6b266baf8688e854b8b4c5c5e10f5e34c581f42d69af4ff13b'], + }), + ('smart-open', '6.4.0', { + 'sources': ['smart_open-%(version)s.tar.gz'], + 'checksums': ['be3c92c246fbe80ebce8fbacb180494a481a77fcdcb7c1aadb2ea5b9c2bee8b9'], + }), + ('jupyter-core', '5.7.1', { + 'modulename': 'jupyter_core', + 'source_tmpl': 'jupyter_core-%(version)s.tar.gz', + 'checksums': ['de61a9d7fc71240f688b2fb5ab659fbb56979458dc66a71decd098e03c79e218'], + }), + ('fastjsonschema', '2.19.1', { + 'checksums': ['e3126a94bdc4623d3de4485f8d468a12f02a67921315ddc87836d6e456dc789d'], + }), + ('nbformat', '5.9.2', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['1c5172d786a41b82bcfd0c23f9e6b6f072e8fb49c39250219e4acfff1efe89e9'], + }), + ('immutables', '0.20', { + 'checksums': ['1d2f83e6a6a8455466cd97b9a90e2b4f7864648616dfa6b19d18f49badac3876'], + }), + ('humanfriendly', '10.0', { + 'checksums': ['6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc'], + }), + ('connection-pool', '0.0.3', { + 'sources': ['connection_pool-%(version)s.tar.gz'], + 'checksums': ['bf429e7aef65921c69b4ed48f3d48d3eac1383b05d2df91884705842d974d0dc'], + }), + ('conda-inject', '1.3.1', { + 'sources': ['conda_inject-%(version)s.tar.gz'], + 'checksums': ['9e8d902230261beba74083aae12c2c5a395e29b408469fefadc8aaf51ee441e5'], + }), + (name, version, { + 'checksums': ['ea9273d7a27706b635fafae87bb21100dad02275570e138fdcff125cb3cba4f4'], + }), + # Also install some of the snakemake executors + ('snakemake-executor-plugin-slurm-jobstep', '0.1.10', { + 'modulename': 'snakemake_executor_plugin_slurm_jobstep', + 'source_tmpl': 'snakemake_executor_plugin_slurm_jobstep-%(version)s.tar.gz', + 'checksums': ['321b6bdf7883a8fb40ff4aeeb88633502e4db8394e40b6628db41a430c2eae2b'], + }), + ('snakemake-executor-plugin-flux', '0.1.0', { + 'modulename': 'snakemake_executor_plugin_flux', + 'source_tmpl': 'snakemake_executor_plugin_flux-%(version)s.tar.gz', + 'checksums': ['92b1944dcf9ea163519a8879d4d638df2b3d0cd83ea6e8397d26046897811214'], + }), + ('snakemake-executor-plugin-slurm', '0.2.1', { + 'modulename': 'snakemake_executor_plugin_slurm', + 'source_tmpl': 'snakemake_executor_plugin_slurm-%(version)s.tar.gz', + 'checksums': ['dd484fcb136612a3f2bdcccf15ca4ebffc2f5fcdfa7f1fcc14416dd272812999'], + }), + ('snakemake-executor-plugin-cluster-sync', '0.1.3', { + 'modulename': 'snakemake_executor_plugin_cluster_sync', + 'source_tmpl': 'snakemake_executor_plugin_cluster_sync-%(version)s.tar.gz', + 'checksums': ['c30fca6ccb98a3f7ca52ca8a95414c71360a3d4a835bd4a097a13445d6fce2ac'], + }), + ('snakemake-executor-plugin-cluster-generic', '1.0.7', { + 'modulename': 'snakemake_executor_plugin_cluster_generic', + 'source_tmpl': 'snakemake_executor_plugin_cluster_generic-%(version)s.tar.gz', + 'checksums': ['093808e63cc48294a9d1eb0b620cdff8cc970806294a2f6ba127a49f8a81d473'], + }), +] + +sanity_check_paths = { + 'files': ['bin/snakemake'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/snakemake'], +} + +sanity_check_commands = ['snakemake --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/snappy/snappy-1.1.10-GCCcore-13.2.0.eb b/easybuild/easyconfigs/s/snappy/snappy-1.1.10-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..18fb59c8e11 --- /dev/null +++ b/easybuild/easyconfigs/s/snappy/snappy-1.1.10-GCCcore-13.2.0.eb @@ -0,0 +1,38 @@ + +easyblock = 'CMakeMake' + +name = 'snappy' +version = '1.1.10' + +homepage = 'https://github.com/google/snappy' +description = """Snappy is a compression/decompression library. It does not aim +for maximum compression, or compatibility with any other compression library; +instead, it aims for very high speeds and reasonable compression.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/google/snappy/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + '%(name)s-1.1.9_use-default-rtti.patch', +] +checksums = [ + {'1.1.10.tar.gz': '49d831bffcc5f3d01482340fe5af59852ca2fe76c3e05df0e67203ebbe0f1d90'}, + {'snappy-1.1.9_use-default-rtti.patch': 'af56538330b2d781677c7d94576c15fc36e004ae0b4f1ac7d86bbec22b65e73d'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +# Disable building tests and benchmarks - we're not using them and they require googletest and benchmark source code +_configopts = '-DSNAPPY_BUILD_TESTS=OFF -DSNAPPY_BUILD_BENCHMARKS=OFF' +configopts = ['%s' % _configopts, '-DBUILD_SHARED_LIBS=ON %s' % _configopts] + +sanity_check_paths = { + 'files': ['lib64/libsnappy.a', 'lib64/libsnappy.%s' % SHLIB_EXT, 'include/snappy.h'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/snappy/snappy-1.1.10-GCCcore-13.3.0.eb b/easybuild/easyconfigs/s/snappy/snappy-1.1.10-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..f72e577513b --- /dev/null +++ b/easybuild/easyconfigs/s/snappy/snappy-1.1.10-GCCcore-13.3.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.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.42'), + ('CMake', '3.29.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.2.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/s/snappy/snappy-1.2.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..2310edf5555 --- /dev/null +++ b/easybuild/easyconfigs/s/snappy/snappy-1.2.1-GCCcore-13.3.0.eb @@ -0,0 +1,38 @@ + +easyblock = 'CMakeMake' + +name = 'snappy' +version = '1.2.1' + +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.3.0'} + +source_urls = ['https://github.com/google/%(name)s/archive/'] +sources = ['%(version)s.tar.gz'] +patches = ['%(name)s-1.1.9_use-default-rtti.patch'] +checksums = [ + {'1.2.1.tar.gz': '736aeb64d86566d2236ddffa2865ee5d7a82d26c9016b36218fcc27ea4f09f86'}, + {'snappy-1.1.9_use-default-rtti.patch': 'af56538330b2d781677c7d94576c15fc36e004ae0b4f1ac7d86bbec22b65e73d'}, +] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), +] + +configopts = [ + "-DSNAPPY_BUILD_TESTS=OFF -DSNAPPY_BUILD_BENCHMARKS=OFF", + "-DBUILD_SHARED_LIBS=ON -DSNAPPY_BUILD_TESTS=OFF -DSNAPPY_BUILD_BENCHMARKS=OFF", +] + + +sanity_check_paths = { + 'files': ['lib64/libsnappy.a', 'lib64/libsnappy.%s' % SHLIB_EXT, 'include/snappy.h'], + 'dirs': [], +} + +moduleclass = 'lib' 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/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.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-3.0.6b-GCC-12.3.0.eb b/easybuild/easyconfigs/s/spaln/spaln-3.0.6b-GCC-12.3.0.eb new file mode 100644 index 00000000000..18fe5408f73 --- /dev/null +++ b/easybuild/easyconfigs/s/spaln/spaln-3.0.6b-GCC-12.3.0.eb @@ -0,0 +1,49 @@ +# updated: Denis Kristak (INUITS) +# Update: Petr Král (INUITS) +easyblock = 'ConfigureMake' + +name = 'spaln' +version = '3.0.6b' + +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': '12.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 = ['8e496ef6d02696543f4a5e31922f464555eff9b8405da366587ba7bea27b4e76'] + +dependencies = [ + ('zlib', '1.2.13'), + ('Perl', '5.36.1'), +] + +start_dir = 'src' + +# not a standard `configure` - does not accept standard `--prefix` option +# see https://github.com/ogotoh/spaln/issues/74 +prefix_opt = '--exec_prefix=' + +configopts = "--exec_prefix=bin --table_dir=table --alndbs_dir=seqdb" + +installopts = 'DESTDIR=%(installdir)s/' + +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/sparsehash/sparsehash-2.0.4-GCCcore-13.3.0.eb b/easybuild/easyconfigs/s/sparsehash/sparsehash-2.0.4-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..66056138103 --- /dev/null +++ b/easybuild/easyconfigs/s/sparsehash/sparsehash-2.0.4-GCCcore-13.3.0.eb @@ -0,0 +1,36 @@ +# 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': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = [GITHUB_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['8cd1a95827dfd8270927894eb77f62b4087735cbede953884647f16c521c7e58'] + +builddependencies = [ + ('binutils', '2.42'), +] + +sanity_check_paths = { + 'files': ['include/google/type_traits.h'], + 'dirs': [], +} + +moduleclass = 'devel' 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.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-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-python/spglib-python-2.5.0-gfbf-2024a.eb b/easybuild/easyconfigs/s/spglib-python/spglib-python-2.5.0-gfbf-2024a.eb new file mode 100644 index 00000000000..a6954207aa7 --- /dev/null +++ b/easybuild/easyconfigs/s/spglib-python/spglib-python-2.5.0-gfbf-2024a.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': '2024a'} + +builddependencies = [ + ('scikit-build-core', '0.10.6') +] + +dependencies = [ + ('Python', '3.12.3'), + ('Python-bundle-PyPI', '2024.06'), + ('SciPy-bundle', '2024.05'), +] + +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-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-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/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/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.4-gfbf-2024a.eb b/easybuild/easyconfigs/s/statsmodels/statsmodels-0.14.4-gfbf-2024a.eb new file mode 100644 index 00000000000..ee5cb197a7d --- /dev/null +++ b/easybuild/easyconfigs/s/statsmodels/statsmodels-0.14.4-gfbf-2024a.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'statsmodels' +version = '0.14.4' + +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': '2024a'} + +builddependencies = [('Cython', '3.0.10')] + +dependencies = [ + ('Python', '3.12.3'), + ('SciPy-bundle', '2024.05'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('patsy', '0.5.6', { + 'checksums': ['95c6d47a7222535f84bff7f63d7303f2e297747a598db89cf5c67f0c0c7d2cdb'], + }), + (name, version, { + 'patches': ['statsmodels-0.14.4_fix_setup.patch'], + 'checksums': [ + {'statsmodels-0.14.4.tar.gz': '5d69e0f39060dc72c067f9bb6e8033b6dccdb0bae101d76a7ef0bcc94e898b67'}, + {'statsmodels-0.14.4_fix_setup.patch': 'd24bedb6382945ac415927faa9279d75d0a71dad56fce7032a58485981b44fe5'}, + ], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/statsmodels/statsmodels-0.14.4_fix_setup.patch b/easybuild/easyconfigs/s/statsmodels/statsmodels-0.14.4_fix_setup.patch new file mode 100644 index 00000000000..56e9c5f3e2c --- /dev/null +++ b/easybuild/easyconfigs/s/statsmodels/statsmodels-0.14.4_fix_setup.patch @@ -0,0 +1,13 @@ +# What: Put manually typed version in setup.py +# Author: maxim-masterov (SURF) +diff -Nru statsmodels-0.14.4.orig/setup.py statsmodels-0.14.4/setup.py +--- statsmodels-0.14.4.orig/setup.py 2024-10-10 16:20:53.020145000 +0200 ++++ statsmodels-0.14.4/setup.py 2024-10-10 16:21:08.330504032 +0200 +@@ -353,6 +353,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/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/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/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/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.13.3-gfbf-2024a.eb b/easybuild/easyconfigs/s/sympy/sympy-1.13.3-gfbf-2024a.eb new file mode 100644 index 00000000000..98256c920da --- /dev/null +++ b/easybuild/easyconfigs/s/sympy/sympy-1.13.3-gfbf-2024a.eb @@ -0,0 +1,22 @@ +name = 'sympy' +version = '1.13.3' + +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': '2024a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['b27fd2c6530e0ab39e275fc9b683895367e51d5da91baa8d3d64db2565fec4d9'] + +dependencies = [ + ('Python', '3.12.3'), + ('SciPy-bundle', '2024.05'), + ('gmpy2', '2.2.0'), +] + + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2020a-Python-3.8.2.eb new file mode 100644 index 00000000000..22eb629671d --- /dev/null +++ b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2020a-Python-3.8.2.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonPackage' + +name = 'TAMkin' +version = '1.2.6' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://molmod.github.io/tamkin/' +description = """TAMkin is a post-processing toolkit for normal mode analysis, + thermochemistry and reaction kinetics. It uses a Hessian computation from a + standard computational chemistry program as its input.""" + +toolchain = {'name': 'foss', 'version': '2020a'} + +source_urls = ['https://github.com/molmod/tamkin/releases/download/%(version)s'] +sources = [SOURCE_TAR_GZ] +patches = [ + 'TAMkin-1.2.6_fix-python38.patch', + 'TAMkin-1.2.6_fix-test_vsa_no_mass.patch', +] +checksums = [ + {'TAMkin-1.2.6.tar.gz': '1bde275a09be91e5241616aaa9fedc60cb359a263f5c5909bb14431c3a4ed5fd'}, + {'TAMkin-1.2.6_fix-python38.patch': '1633d5b24b012f8c4b6731491e4072c819ebbba65574966b7185ecca52eeac9b'}, + {'TAMkin-1.2.6_fix-test_vsa_no_mass.patch': '67d8b8671d7c71123e8ee9a7b9ebea6562e9711edb41555d1926b1b51d549066'}, +] + +dependencies = [ + ('Python', '3.8.2'), + ('matplotlib', '3.2.1', versionsuffix), + ('molmod', '1.4.5', versionsuffix), +] + +download_dep_fail = True +use_pip = True + +# disable tests that require X11 by specifying "backend: agg" in matplotlibrc +runtest = 'export MATPLOTLIBRC=$PWD; echo "backend: agg" > $MATPLOTLIBRC/matplotlibrc; ' +runtest += 'export OMP_NUM_THREADS=1; nosetests -v tamkin' + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2020b.eb b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2020b.eb new file mode 100644 index 00000000000..385046a56c9 --- /dev/null +++ b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2020b.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonPackage' + +name = 'TAMkin' +version = '1.2.6' + +homepage = 'https://molmod.github.io/tamkin/' +description = """TAMkin is a post-processing toolkit for normal mode analysis, + thermochemistry and reaction kinetics. It uses a Hessian computation from a + standard computational chemistry program as its input.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = ['https://github.com/molmod/tamkin/releases/download/%(version)s'] +sources = [SOURCE_TAR_GZ] +patches = [ + 'TAMkin-1.2.6_fix-python38.patch', + 'TAMkin-1.2.6_fix-test_vsa_no_mass.patch', +] +checksums = [ + {'TAMkin-1.2.6.tar.gz': '1bde275a09be91e5241616aaa9fedc60cb359a263f5c5909bb14431c3a4ed5fd'}, + {'TAMkin-1.2.6_fix-python38.patch': '1633d5b24b012f8c4b6731491e4072c819ebbba65574966b7185ecca52eeac9b'}, + {'TAMkin-1.2.6_fix-test_vsa_no_mass.patch': '67d8b8671d7c71123e8ee9a7b9ebea6562e9711edb41555d1926b1b51d549066'}, +] + +dependencies = [ + ('Python', '3.8.6'), + ('matplotlib', '3.3.3'), + ('molmod', '1.4.8'), +] + +download_dep_fail = True +use_pip = True + +# disable tests that require X11 by specifying "backend: agg" in matplotlibrc +runtest = 'export MATPLOTLIBRC=$PWD; echo "backend: agg" > $MATPLOTLIBRC/matplotlibrc; ' +runtest += 'export OMP_NUM_THREADS=1; nosetests -v tamkin' + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2021a.eb b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2021a.eb new file mode 100644 index 00000000000..d1d4b1cf994 --- /dev/null +++ b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2021a.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonPackage' + +name = 'TAMkin' +version = '1.2.6' + +homepage = 'https://molmod.github.io/tamkin/' +description = """TAMkin is a post-processing toolkit for normal mode analysis, + thermochemistry and reaction kinetics. It uses a Hessian computation from a + standard computational chemistry program as its input.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/molmod/tamkin/releases/download/%(version)s'] +sources = [SOURCE_TAR_GZ] +patches = [ + 'TAMkin-1.2.6_fix-python38.patch', + 'TAMkin-1.2.6_fix-test_vsa_no_mass.patch', +] +checksums = [ + {'TAMkin-1.2.6.tar.gz': '1bde275a09be91e5241616aaa9fedc60cb359a263f5c5909bb14431c3a4ed5fd'}, + {'TAMkin-1.2.6_fix-python38.patch': '1633d5b24b012f8c4b6731491e4072c819ebbba65574966b7185ecca52eeac9b'}, + {'TAMkin-1.2.6_fix-test_vsa_no_mass.patch': '67d8b8671d7c71123e8ee9a7b9ebea6562e9711edb41555d1926b1b51d549066'}, +] + +dependencies = [ + ('Python', '3.9.5'), + ('matplotlib', '3.4.2'), + ('molmod', '1.4.8'), +] + +download_dep_fail = True +use_pip = True + +# disable tests that require X11 by specifying "backend: agg" in matplotlibrc +runtest = 'export MATPLOTLIBRC=$PWD; echo "backend: agg" > $MATPLOTLIBRC/matplotlibrc; ' +runtest += 'export OMP_NUM_THREADS=1; nosetests -v tamkin' + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2021b.eb b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2021b.eb new file mode 100644 index 00000000000..4a7883c7f8e --- /dev/null +++ b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2021b.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonPackage' + +name = 'TAMkin' +version = '1.2.6' + +homepage = 'https://molmod.github.io/tamkin/' +description = """TAMkin is a post-processing toolkit for normal mode analysis, + thermochemistry and reaction kinetics. It uses a Hessian computation from a + standard computational chemistry program as its input.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/molmod/tamkin/releases/download/%(version)s'] +sources = [SOURCE_TAR_GZ] +patches = [ + 'TAMkin-1.2.6_fix-python38.patch', + 'TAMkin-1.2.6_fix-test_vsa_no_mass.patch', +] +checksums = [ + {'TAMkin-1.2.6.tar.gz': '1bde275a09be91e5241616aaa9fedc60cb359a263f5c5909bb14431c3a4ed5fd'}, + {'TAMkin-1.2.6_fix-python38.patch': '1633d5b24b012f8c4b6731491e4072c819ebbba65574966b7185ecca52eeac9b'}, + {'TAMkin-1.2.6_fix-test_vsa_no_mass.patch': '67d8b8671d7c71123e8ee9a7b9ebea6562e9711edb41555d1926b1b51d549066'}, +] + +dependencies = [ + ('Python', '3.9.6'), + ('matplotlib', '3.4.3'), + ('molmod', '1.4.8'), +] + +download_dep_fail = True +use_pip = True + +# disable tests that require X11 by specifying "backend: agg" in matplotlibrc +runtest = 'export MATPLOTLIBRC=$PWD; echo "backend: agg" > $MATPLOTLIBRC/matplotlibrc; ' +runtest += 'export OMP_NUM_THREADS=1; nosetests -v tamkin' + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-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/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/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/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/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.2.1-foss-2023a.eb b/easybuild/easyconfigs/t/TRIQS-cthyb/TRIQS-cthyb-3.2.1-foss-2023a.eb new file mode 100644 index 00000000000..aba94fc78c9 --- /dev/null +++ b/easybuild/easyconfigs/t/TRIQS-cthyb/TRIQS-cthyb-3.2.1-foss-2023a.eb @@ -0,0 +1,69 @@ +easyblock = 'CMakeMake' + +name = 'TRIQS-cthyb' +version = '3.2.1' + +homepage = 'https://triqs.github.io/cthyb/' +description = """ + TRIQS (Toolbox for Research on Interacting Quantum Systems) is a + scientific project providing a set of C++ and Python libraries to + develop new tools for the study of interacting quantum systems. + + cthyb = continuous-time hybridisation-expansion quantum Monte Carlo + + The TRIQS-based hybridization-expansion solver allows to solve the + generic problem of a quantum impurity embedded in a conduction bath + for an arbitrary local interaction vertex. The “impurity” can be any + set of orbitals, on one or several atoms. +""" + +docurls = ['https://triqs.github.io/cthyb/%(version_major_minor)s.x/'] +software_license = 'LicenseGPLv3' + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/TRIQS/cthyb/releases/download/%(version)s/'] +sources = ['cthyb-%(version)s.tar.gz'] +checksums = ['6f4cd36efcd19b0f1efbed2c9aa6d2640ef84f8fcf7b97675af8d54cdc327c9f'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Boost', '1.82.0'), + ('Clang', '16.0.6'), + ('Clang-Python-bindings', '16.0.6'), + ('GMP', '6.2.1'), + ('HDF5', '1.14.0'), + ('Mako', '1.2.4'), + ('TRIQS', '3.2.0'), + ('NFFT', '3.5.3') +] + +builddependencies = [ + ('CMake', '3.26.3') +] + +separate_build_dir = True + +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib/libtriqs_cthyb_c.a'], + 'dirs': ['include', 'include/triqs_cthyb', 'lib', + 'lib/python%(pyshortver)s/site-packages', 'share'], +} + +sanity_check_commands = ["python -c 'import triqs_cthyb'"] + +modextrapaths = { + 'CPLUS_INCLUDE_PATH': 'include', + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'CMAKE_PREFIX_PATH': 'lib/cmake/triqs_cthyb', +} +modextravars = { + 'TRIQS_CTHYB_ROOT': '%(installdir)s', + 'TRIQS_CTHYB_VERSION': '%(version)s', +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/t/TRIQS-dft_tools/TRIQS-dft_tools-3.2.0-foss-2023a.eb b/easybuild/easyconfigs/t/TRIQS-dft_tools/TRIQS-dft_tools-3.2.0-foss-2023a.eb new file mode 100644 index 00000000000..4a136f51689 --- /dev/null +++ b/easybuild/easyconfigs/t/TRIQS-dft_tools/TRIQS-dft_tools-3.2.0-foss-2023a.eb @@ -0,0 +1,70 @@ +easyblock = 'CMakeMake' + +name = 'TRIQS-dft_tools' +version = '3.2.0' + +homepage = 'https://triqs.github.io/dft_tools/' +description = """ + TRIQS (Toolbox for Research on Interacting Quantum Systems) is a + scientific project providing a set of C++ and Python libraries to + develop new tools for the study of interacting quantum systems. + + This TRIQS-based-based application is aimed at ab-initio calculations + for correlated materials, combining realistic DFT band-structure calculation + with the dynamical mean-field theory. Together with the necessary tools to + perform the DMFT self-consistency loop for realistic multi-band problems, + the package provides a full-fledged charge self-consistent interface to the + Wien2K package. In addition, if Wien2k is not available, it provides a generic + interface for one-shot DFT+DMFT calculations, where only the single-particle + Hamiltonian in orbital space has to be provided. +""" + +docurls = ['https://triqs.github.io/dft_tools/%(version_major_minor)s.x/'] +software_license = 'LicenseGPLv3' + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/TRIQS/dft_tools/releases/download/%(version)s/'] +sources = ['dft_tools-%(version)s.tar.gz'] +checksums = ['77d89bc5c9a36636a720b6cae78967cd6dd83d0018c854a68bef91219a456307'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Boost', '1.82.0'), + ('Clang', '16.0.6'), + ('Clang-Python-bindings', '16.0.6'), + ('GMP', '6.2.1'), + ('HDF5', '1.14.0'), + ('Mako', '1.2.4'), + ('TRIQS', '3.2.0'), +] + +builddependencies = [ + ('CMake', '3.26.3') +] + +separate_build_dir = True + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/dmftproj', 'lib/libtriqs_dft_tools_c.a'], + 'dirs': ['include/triqs_dft_tools', 'bin', 'lib', 'share', + 'lib/python%(pyshortver)s/site-packages/triqs_dft_tools'], +} + +sanity_check_commands = ["python -c 'import triqs_dft_tools'"] + +modextrapaths = { + 'CPLUS_INCLUDE_PATH': 'include', + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'CMAKE_PREFIX_PATH': 'lib/cmake/triqs_dft_tools', +} +modextravars = { + 'TRIQS_DFT_TOOLS_ROOT': '%(installdir)s', + 'TRIQS_DFT_TOOLS_VERSION': '%(version)s', +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/t/TRIQS-tprf/TRIQS-tprf-3.2.1-foss-2023a.eb b/easybuild/easyconfigs/t/TRIQS-tprf/TRIQS-tprf-3.2.1-foss-2023a.eb new file mode 100644 index 00000000000..1547b3cf999 --- /dev/null +++ b/easybuild/easyconfigs/t/TRIQS-tprf/TRIQS-tprf-3.2.1-foss-2023a.eb @@ -0,0 +1,70 @@ +easyblock = 'CMakeMake' + +name = 'TRIQS-tprf' +version = '3.2.1' + +homepage = 'https://triqs.github.io/tprf' +description = """ + TRIQS (Toolbox for Research on Interacting Quantum Systems) is a + scientific project providing a set of C++ and Python libraries to + develop new tools for the study of interacting quantum systems. + + TPRF is a TRIQS-based two-particle response function tool box that + implements basic operations for higher order response functions such + as inversion, products, the random phase approximation, the bethe + salpeter equation (in the local vertex approximation), etc.. + + The aim is to provide efficient (C++/OpenMP/MPI) implementations of + the basic operations needed to compute the two-particle response in + the different two-particle channels (particle-hole, particle-particle). +""" + +docurls = ['https://triqs.github.io/tprf/%(version_major_minor)s.x/'] +software_license = 'LicenseGPLv3' + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/TRIQS/tprf/releases/download/%(version)s/'] +sources = ['tprf-%(version)s.tar.gz'] +checksums = ['f1d4dd5986af4b37dc65f3af2a0be507455f0b4a74ea7d4de892739ccd86158c'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Boost', '1.82.0'), + ('Clang', '16.0.6'), + ('Clang-Python-bindings', '16.0.6'), + ('GMP', '6.2.1'), + ('HDF5', '1.14.0'), + ('Mako', '1.2.4'), + ('TRIQS', '3.2.0'), +] + +builddependencies = [ + ('CMake', '3.26.3') +] + +separate_build_dir = True + +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib/libtriqs_tprf_c.a'], + 'dirs': ['include/triqs_tprf', 'lib', 'share', + 'lib/python%(pyshortver)s/site-packages/triqs_tprf'], +} + +sanity_check_commands = ["python -c 'import triqs_tprf'"] + +modextrapaths = { + 'CPLUS_INCLUDE_PATH': 'include', + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'CMAKE_PREFIX_PATH': 'lib/cmake/triqs_tprf', +} +modextravars = { + 'TRIQS_TPRF_ROOT': '%(installdir)s', + 'TRIQS_TPRF_VERSION': '%(version)s' +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/t/TRIQS/TRIQS-3.2.0-foss-2023a.eb b/easybuild/easyconfigs/t/TRIQS/TRIQS-3.2.0-foss-2023a.eb new file mode 100644 index 00000000000..7daf38a60f6 --- /dev/null +++ b/easybuild/easyconfigs/t/TRIQS/TRIQS-3.2.0-foss-2023a.eb @@ -0,0 +1,69 @@ +easyblock = 'CMakeMake' + +name = 'TRIQS' +version = '3.2.0' + +homepage = 'https://triqs.github.io/triqs' +description = """ + TRIQS (Toolbox for Research on Interacting Quantum Systems) is a + scientific project providing a set of C++ and Python libraries to + develop new tools for the study of interacting quantum systems. +""" + +docurls = ['https://triqs.github.io/triqs/%(version_major_minor)s.x/'] +software_license = 'LicenseGPLv3' + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/TRIQS/triqs/releases/download/%(version)s/'] +sources = ['triqs-%(version)s.tar.gz'] +checksums = ['b001ed1339ff6024f62b4e61fb8a955b044feac2d53b5a58575a3175e9bf6776'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Boost', '1.82.0'), + ('Clang', '16.0.6'), + ('Clang-Python-bindings', '16.0.6'), + ('GMP', '6.2.1'), + ('HDF5', '1.14.0'), + ('Mako', '1.2.4'), + ('mpi4py', '3.1.4') +] + +builddependencies = [ + ('CMake', '3.26.3') +] + +separate_build_dir = True + +# Remove installation directory before building. This fixes problems with +# failing builds in the presence of preexisting installation. +preconfigopts = "rm -rf %(installdir)s && " + +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib/libtriqs.%s' % SHLIB_EXT], + 'dirs': ['include/triqs', 'include/itertools', 'include/mpi', 'include/cpp2py', + 'lib/python%(pyshortver)s/site-packages', 'share'], +} + +sanity_check_commands = [ + "triqs++ --help", + "c++2py --help", + "python -c 'import triqs'" +] + +modextrapaths = { + 'CPLUS_INCLUDE_PATH': 'include', + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'CMAKE_PREFIX_PATH': ['lib/cmake/triqs', 'lib/cmake/cpp2py'] +} +modextravars = { + 'TRIQS_ROOT': '%(installdir)s', + 'TRIQS_VERSION': '%(version)s' +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/t/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/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.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 2cfb8444ca4..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: 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 54fdbc44964..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 @@ -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: 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-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/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/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/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/Trim_Galore/Trim_Galore-0.6.10-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.10-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..bf5c351c4fd --- /dev/null +++ b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.10-GCCcore-12.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': '12.3.0'} + +source_urls = ['https://github.com/FelixKrueger/TrimGalore/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['3a4e414fc658d6eb4356f1572351204e8475a9d7dc79f6798270b57d35bda017'] + +dependencies = [ + ('Python', '3.11.3'), + ('Java', '11', '', SYSTEM), + ('pigz', '2.8'), + ('Perl', '5.36.1'), + ('cutadapt', '4.9'), + ('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/Trimmomatic/Trimmomatic-0.39-Java-11.eb b/easybuild/easyconfigs/t/Trimmomatic/Trimmomatic-0.39-Java-11.eb index b5a28e53771..4108cd9de19 100644 --- a/easybuild/easyconfigs/t/Trimmomatic/Trimmomatic-0.39-Java-11.eb +++ b/easybuild/easyconfigs/t/Trimmomatic/Trimmomatic-0.39-Java-11.eb @@ -22,11 +22,18 @@ checksums = ['2f97e3a237378d55c221abfc38e4b11ea232c8a41d511b8b4871f00c0476abca'] dependencies = [('Java', '11')] -modloadmsg = """To execute Trimmomatic run: java -jar $EBROOTTRIMMOMATIC/trimmomatic-%(version)s.jar\n""" +postinstallcmds = [ + "mkdir %(installdir)s/bin", + """echo -e '#!/bin/bash\nexec java -jar "$EBROOTTRIMMOMATIC"/trimmomatic-*.jar "$@"' """ + """> %(installdir)s/bin/trimmomatic""", + "chmod a+rx %(installdir)s/bin/trimmomatic", +] sanity_check_paths = { - 'files': ["trimmomatic-%(version)s.jar"], + 'files': ["trimmomatic-%(version)s.jar", 'bin/trimmomatic'], 'dirs': [""], } +sanity_check_commands = ['trimmomatic -version'] + moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/Trimmomatic/Trimmomatic-0.39-Java-17.eb b/easybuild/easyconfigs/t/Trimmomatic/Trimmomatic-0.39-Java-17.eb index 5f9d39b5c69..bd49df5d0a8 100644 --- a/easybuild/easyconfigs/t/Trimmomatic/Trimmomatic-0.39-Java-17.eb +++ b/easybuild/easyconfigs/t/Trimmomatic/Trimmomatic-0.39-Java-17.eb @@ -22,11 +22,18 @@ checksums = ['2f97e3a237378d55c221abfc38e4b11ea232c8a41d511b8b4871f00c0476abca'] dependencies = [('Java', '17')] -modloadmsg = """To execute Trimmomatic run: java -jar $EBROOTTRIMMOMATIC/trimmomatic-%(version)s.jar\n""" +postinstallcmds = [ + "mkdir %(installdir)s/bin", + """echo -e '#!/bin/bash\nexec java -jar "$EBROOTTRIMMOMATIC"/trimmomatic-*.jar "$@"' """ + """> %(installdir)s/bin/trimmomatic""", + "chmod a+rx %(installdir)s/bin/trimmomatic", +] sanity_check_paths = { - 'files': ["trimmomatic-%(version)s.jar"], + 'files': ["trimmomatic-%(version)s.jar", 'bin/trimmomatic'], 'dirs': [""], } +sanity_check_commands = ['trimmomatic -version'] + moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/Trinity/Trinity-2.15.2-foss-2023a.eb b/easybuild/easyconfigs/t/Trinity/Trinity-2.15.2-foss-2023a.eb new file mode 100644 index 00000000000..7c85236b0a4 --- /dev/null +++ b/easybuild/easyconfigs/t/Trinity/Trinity-2.15.2-foss-2023a.eb @@ -0,0 +1,65 @@ +## +# 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.2' + +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': '2023a'} + +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.2.FULL.tar.gz': 'baab87e4878ad097e265c46de121414629bf88fa9342022baae5cac12432a15c'}, + {'Trinity-2.15.2_fix-bamsifter.patch': 'f557a3d462218e27f3601ac07edd2bbafe5fdb088ab81f642e7025edfe3e48ef'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + ('CMake', '3.26.3'), +] + +# 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.14', '-Java-%(javaver)s', SYSTEM), + ('picard', '2.25.1', '-Java-%(javaver)s', SYSTEM), + ('GATK', '4.3.0.0', '-Java-%(javaver)s'), + ('Perl', '5.36.1'), + ('Perl-bundle-CPAN', '5.36.1'), + ('DB', '18.1.40'), # for DB_File + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('BLAST+', '2.14.1'), + ('BLAT', '3.7'), + ('Bowtie', '1.3.1'), + ('Bowtie2', '2.5.1'), + ('GMAP-GSNAP', '2023-04-20'), + ('HISAT2', '2.2.1'), + ('HTSlib', '1.18'), + ('Jellyfish', '2.3.1'), + ('kallisto', '0.51.1'), + ('ncurses', '6.4'), + ('RSEM', '1.3.3'), + ('Salmon', '1.10.3'), + ('SAMtools', '1.18'), + ('STAR', '2.7.11a'), + ('zlib', '1.2.13'), +] + +withsampledata = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/Trinity/Trinity-2.15.2_fix-bamsifter.patch b/easybuild/easyconfigs/t/Trinity/Trinity-2.15.2_fix-bamsifter.patch new file mode 100644 index 00000000000..9e414a414f1 --- /dev/null +++ b/easybuild/easyconfigs/t/Trinity/Trinity-2.15.2_fix-bamsifter.patch @@ -0,0 +1,18 @@ +Fix build of Trinity plugin bamsifter: +* use external HTSlib from EasyBuild environment +* use compilation flags from environment +author: Alex Domingo (Vrije Universiteit Brussel) +diff -ru trinityrnaseq-v2.15.2.orig/trinity-plugins/bamsifter/Makefile trinityrnaseq-v2.15.2/trinity-plugins/bamsifter/Makefile +--- trinityrnaseq-v2.15.2.orig/trinity-plugins/bamsifter/Makefile 2024-08-01 14:53:23.000000000 +0200 ++++ trinityrnaseq-v2.15.2/trinity-plugins/bamsifter/Makefile 2024-10-21 07:50:10.911559350 +0200 +@@ -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 : 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.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.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/tRNAscan-SE/tRNAscan-SE-2.0.12-foss-2023a.eb b/easybuild/easyconfigs/t/tRNAscan-SE/tRNAscan-SE-2.0.12-foss-2023a.eb new file mode 100644 index 00000000000..107e7dbb9c9 --- /dev/null +++ b/easybuild/easyconfigs/t/tRNAscan-SE/tRNAscan-SE-2.0.12-foss-2023a.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': '2023a'} + +source_urls = ['https://github.com/UCSC-LoweLab/tRNAscan-SE/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['4b255c2c5e0255381194166f857ab2ea21c55aa7de409e201333ba615aa3dc61'] + +builddependencies = [ + # tRNAscan-SE's configure script really wants Autoconf 2.69 + ('Autoconf', '2.71', '', SYSTEM), +] + +dependencies = [ + ('Perl', '5.36.1'), + ('Infernal', '1.1.5'), +] + +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/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/tantan/tantan-50-GCC-12.3.0.eb b/easybuild/easyconfigs/t/tantan/tantan-50-GCC-12.3.0.eb new file mode 100644 index 00000000000..c4a4ce67c25 --- /dev/null +++ b/easybuild/easyconfigs/t/tantan/tantan-50-GCC-12.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'tantan' +version = '50' + +homepage = 'https://gitlab.com/mcfrith/tantan' +description = "tantan identifies simple regions / low complexity / tandem repeats in DNA or protein sequences" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://gitlab.com/mcfrith/tantan/-/archive/%(version)s/'] +sources = ['tantan-%(version)s.tar.gz'] +checksums = ['a239e9fb3c059ed9eb4c25a29b3c44a2ef1c1b492a9780874f429de7ae8b5407'] + +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/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-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.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.13.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/t/tbb/tbb-2021.13.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..d75527cdfb0 --- /dev/null +++ b/easybuild/easyconfigs/t/tbb/tbb-2021.13.0-GCCcore-13.3.0.eb @@ -0,0 +1,33 @@ +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.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 = ['3ad5dd08954b39d113dc5b3f8a8dc6dc1fd5250032b7c491eb07aed5c94133e1'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), +] +dependencies = [ + ('hwloc', '2.10.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.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 index 8cb78e848ca..c1d2f495db6 100644 --- a/easybuild/easyconfigs/t/tbl2asn/tbl2asn-20220427-linux64.eb +++ b/easybuild/easyconfigs/t/tbl2asn/tbl2asn-20220427-linux64.eb @@ -2,8 +2,9 @@ # Author: Pablo Escobar Lopez # sciCORE - University of Basel # SIB Swiss Institute of Bioinformatics +# revised by Ariel Lozano -easyblock = 'CmdCp' +easyblock = 'Bundle' name = 'tbl2asn' version = '20220427' @@ -14,27 +15,42 @@ description = """Tbl2asn is a command-line program that automates the creation o sequence records for submission to GenBank""" toolchain = SYSTEM +builddependencies = [ + ('binutils', '2.35'), +] + +default_easyblock = 'CmdCp' # It is not entirely clean how long NCBI keeps "older" versions. At April 29, 2022, we had six timestamps/versions, # reporiting the same verion (tbl2asn --help -> 25.8) but 5 out of 6 (gunzipped) executables have different sha256 # checksums. -source_urls = ['https://ftp.ncbi.nih.gov/toolbox/ncbi_tools/converters/versions/%s/all/' % - (version[:4] + '-' + version[4:6] + '-' + version[6:])] -sources = [{'download_filename': 'tbl2asn.%s.gz' % versionsuffix[1:], - 'filename': '%(name)s-%(version)s%(versionsuffix)s.gz'}] -checksums = ['c76481700e196ebd98a83f4174e0146569db9d6fe5753ac18691e9836d5c6a75'] - -cmds_map = [('.*', "cp %(name)s-%(version)s%(versionsuffix)s tbl2asn")] -files_to_copy = [ - (['tbl2asn'], 'bin'), +components = [ + ('libidn', '1.34', { + 'easyblock': 'ConfigureMake', + 'source_urls': [GNU_SOURCE], + 'sources': [SOURCELOWER_TAR_GZ], + 'start_dir': '%(namelower)s-%(version)s', + 'checksums': ['3719e2975f2fb28605df3479c380af2cf4ab4e919e1506527e4c7670afff6e3c'], + }), + (name, version, { + 'source_urls': ['https://ftp.ncbi.nih.gov/toolbox/ncbi_tools/converters/versions/%s/all/' % + (version[:4] + '-' + version[4:6] + '-' + version[6:])], + 'sources': [{'download_filename': 'tbl2asn.%s.gz' % versionsuffix[1:], + 'filename': '%(name)s-%(version)s%(versionsuffix)s.gz'}], + 'checksums': ['c76481700e196ebd98a83f4174e0146569db9d6fe5753ac18691e9836d5c6a75'], + 'cmds_map': [('.*', "cp %(name)s-%(version)s%(versionsuffix)s tbl2asn")], + 'files_to_copy': [(['tbl2asn'], 'bin')], + }), ] +postinstallcmds = ["chmod +x %(installdir)s/bin/tbl2asn"] + sanity_check_paths = { - 'files': ['bin/tbl2asn'], - 'dirs': [], + 'files': ['bin/tbl2asn', 'bin/idn', 'lib/libidn.%s' % SHLIB_EXT], + 'dirs': ['include'], } -postinstallcmds = ["chmod +x %(installdir)s/bin/tbl2asn"] +sanity_check_commands = ['tbl2asn --help'] moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/tbl2asn/tbl2asn-20230713-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/tbl2asn/tbl2asn-20230713-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..dcf4c39e8d0 --- /dev/null +++ b/easybuild/easyconfigs/t/tbl2asn/tbl2asn-20230713-GCCcore-12.3.0.eb @@ -0,0 +1,64 @@ +# 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' + +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 = {'name': 'GCCcore', 'version': '12.3.0'} +builddependencies = [ + ('binutils', '2.40'), + ('patchelf', '0.18.0'), +] + +# libraries that are copied to installdir need to be patched to have an RPATH section +# when EasyBuild is configured to use RPATH linking (required to pass RPATH sanity check); + +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.linux64.gz', + '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 = [ + "if %(rpath_enabled)s; then " + " patchelf --force-rpath --set-rpath %(installdir)s/lib %(installdir)s/bin/tbl2asn;" + "fi", + "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-GCCcore-13.3.0.eb b/easybuild/easyconfigs/t/tbl2asn/tbl2asn-20230713-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..12b79ddde0f --- /dev/null +++ b/easybuild/easyconfigs/t/tbl2asn/tbl2asn-20230713-GCCcore-13.3.0.eb @@ -0,0 +1,64 @@ +# 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' + +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 = {'name': 'GCCcore', 'version': '13.3.0'} +builddependencies = [ + ('binutils', '2.42'), + ('patchelf', '0.18.0'), +] + +# libraries that are copied to installdir need to be patched to have an RPATH section +# when EasyBuild is configured to use RPATH linking (required to pass RPATH sanity check); + +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.linux64.gz', + '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 = [ + "if %(rpath_enabled)s; then " + " patchelf --force-rpath --set-rpath %(installdir)s/lib %(installdir)s/bin/tbl2asn;" + "fi", + "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 index 1f682d08a35..71b750650ba 100644 --- a/easybuild/easyconfigs/t/tbl2asn/tbl2asn-20230713-linux64.eb +++ b/easybuild/easyconfigs/t/tbl2asn/tbl2asn-20230713-linux64.eb @@ -2,8 +2,9 @@ # Author: Pablo Escobar Lopez # sciCORE - University of Basel # SIB Swiss Institute of Bioinformatics +# revised by Ariel Lozano -easyblock = 'CmdCp' +easyblock = 'Bundle' name = 'tbl2asn' version = '20230713' @@ -14,27 +15,42 @@ description = """Tbl2asn is a command-line program that automates the creation o sequence records for submission to GenBank""" toolchain = SYSTEM +builddependencies = [ + ('binutils', '2.35'), +] + +default_easyblock = 'CmdCp' # It is not entirely clean how long NCBI keeps "older" versions. At April 29, 2022, we had six timestamps/versions, # reporiting the same verion (tbl2asn --help -> 25.8) but 5 out of 6 (gunzipped) executables have different sha256 # checksums. -source_urls = ['https://ftp.ncbi.nih.gov/toolbox/ncbi_tools/converters/versions/%s/all/' % - (version[:4] + '-' + version[4:6] + '-' + version[6:])] -sources = [{'download_filename': 'tbl2asn.%s.gz' % versionsuffix[1:], - 'filename': '%(name)s-%(version)s%(versionsuffix)s.gz'}] -checksums = ['544c4a2a53f2121fd21c44778fc61980a701ce852ea0142979241c0465c38a0c'] - -cmds_map = [('.*', "cp %(name)s-%(version)s%(versionsuffix)s tbl2asn")] -files_to_copy = [ - (['tbl2asn'], 'bin'), +components = [ + ('libidn', '1.34', { + 'easyblock': 'ConfigureMake', + 'source_urls': [GNU_SOURCE], + 'sources': [SOURCELOWER_TAR_GZ], + 'start_dir': '%(namelower)s-%(version)s', + 'checksums': ['3719e2975f2fb28605df3479c380af2cf4ab4e919e1506527e4c7670afff6e3c'], + }), + (name, version, { + 'source_urls': ['https://ftp.ncbi.nih.gov/toolbox/ncbi_tools/converters/versions/%s/all/' % + (version[:4] + '-' + version[4:6] + '-' + version[6:])], + 'sources': [{'download_filename': 'tbl2asn.%s.gz' % versionsuffix[1:], + 'filename': '%(name)s-%(version)s%(versionsuffix)s.gz'}], + 'checksums': ['544c4a2a53f2121fd21c44778fc61980a701ce852ea0142979241c0465c38a0c'], + 'cmds_map': [('.*', "cp %(name)s-%(version)s%(versionsuffix)s tbl2asn")], + 'files_to_copy': [(['tbl2asn'], 'bin')], + }), ] +postinstallcmds = ["chmod +x %(installdir)s/bin/tbl2asn"] + sanity_check_paths = { - 'files': ['bin/tbl2asn'], - 'dirs': [], + 'files': ['bin/tbl2asn', 'bin/idn', 'lib/libidn.%s' % SHLIB_EXT], + 'dirs': ['include'], } -postinstallcmds = ["chmod +x %(installdir)s/bin/tbl2asn"] +sanity_check_commands = ['tbl2asn --help'] moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/tcsh/tcsh-6.24.13-GCCcore-13.3.0.eb b/easybuild/easyconfigs/t/tcsh/tcsh-6.24.13-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..a7712f10368 --- /dev/null +++ b/easybuild/easyconfigs/t/tcsh/tcsh-6.24.13-GCCcore-13.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.13' + +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': '13.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 = ['1e927d52e9c85d162bf985f24d13c6ccede9beb880d86fec492ed15480a5c71a'] + +builddependencies = [ + ('binutils', '2.42'), +] +dependencies = [ + ('ncurses', '6.5'), +] + +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 index 4cf2f36f1d5..83fc611834b 100644 --- a/easybuild/easyconfigs/t/tensorboard/tensorboard-2.10.0-foss-2022a.eb +++ b/easybuild/easyconfigs/t/tensorboard/tensorboard-2.10.0-foss-2022a.eb @@ -9,6 +9,14 @@ 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'), 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/tensorboardX/tensorboardX-2.6.2.2-foss-2023a.eb b/easybuild/easyconfigs/t/tensorboardX/tensorboardX-2.6.2.2-foss-2023a.eb new file mode 100644 index 00000000000..c6f2278fae0 --- /dev/null +++ b/easybuild/easyconfigs/t/tensorboardX/tensorboardX-2.6.2.2-foss-2023a.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'tensorboardX' +version = '2.6.2.2' + +homepage = 'https://github.com/lanpa/tensorboardX' +description = "Tensorboard for PyTorch." + +toolchain = {'name': 'foss', 'version': '2023a'} + +# tensorboardX v2.x works with tensorboards generated with TensorFlow 2, +# but TensorFlow is not needed to use tensorboardX +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('protobuf-python', '4.24.0'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['c6476d7cd0d529b0b72f4acadb1269f9ed8b22f441e87a84f2a3b940bb87b666'], + 'modulename': '%(name)s', + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/tensorflow-probability/tensorflow-probability-0.20.0-foss-2023a.eb b/easybuild/easyconfigs/t/tensorflow-probability/tensorflow-probability-0.20.0-foss-2023a.eb new file mode 100644 index 00000000000..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/tensorstore/tensorstore-0.1.65-foss-2023a.eb b/easybuild/easyconfigs/t/tensorstore/tensorstore-0.1.65-foss-2023a.eb new file mode 100644 index 00000000000..5dd271c0d88 --- /dev/null +++ b/easybuild/easyconfigs/t/tensorstore/tensorstore-0.1.65-foss-2023a.eb @@ -0,0 +1,62 @@ +# Thomas Hoffmann, EMBL Heidlelberg, structures-it@embl.de, 2024/10 +easyblock = 'PythonBundle' + +name = 'tensorstore' +version = '0.1.65' + +homepage = 'https://github.com/google/tensorstore' +description = """TensorStore is an open-source C++ and Python software library designed for +storage and manipulation of large multi-dimensional arrays.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +builddependencies = [ + ('NASM', '2.16.01'), + ('pybind11', '2.11.1'), + ('Bazel', '6.3.1'), + + + + ('PyYAML', '6.0'), + ('zlib', '1.2.13'), + ('LibTIFF', '4.5.0'), + ('snappy', '1.1.10'), + ('Brotli', '1.0.9'), + ('protobuf', '24.0'), + ('bzip2', '1.0.8'), + ('zstd', '1.5.5'), + ('libwebp', '1.3.1'), + ('nlohmann_json', '3.11.2'), + ('Blosc', '1.21.5'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('ml_dtypes', '0.3.2'), +] + +use_pip = True + + +local_ts_useebbazel = """sed -i 's/bazel_path =.*/""" +local_ts_useebbazel += """bazel_path = os.path.join(os.getenv("EBROOTBAZEL"),"bin", "bazel")/g'""" +local_ts_useebbazel += " bazelisk.py&& " # TODO: patch? +local_ts_version = """sed -i "s/use_scm_version=/version='%(version)s',&/g" setup.py&&""" +local_ts_bzl_exp = """export TENSORSTORE_BAZEL_STARTUP_OPTIONS='--output_user_root %(builddir)s/cache' &&""" +# inject CFLAGS: +local_ts_bzl_exp += """export TENSORSTORE_BAZEL_BUILD_OPTIONS="$(for i in $CFLAGS;do echo --copt=$i; done)" &&""" + + +local_ts_preinstall = local_ts_version + local_ts_useebbazel + local_ts_bzl_exp + +exts_list = [ + (name, version, { + 'installopts': '-v', + 'preinstallopts': local_ts_preinstall, + 'checksums': ['65cbe5a600c32569bb0b9f597ea318cc298a13b42d5fc98168c97bb11f320eae'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' 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-7.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/texinfo/texinfo-7.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..4622c62f424 --- /dev/null +++ b/easybuild/easyconfigs/t/texinfo/texinfo-7.1-GCCcore-12.3.0.eb @@ -0,0 +1,42 @@ +## +# Author: Robert Mijakovic +## +# Update: Petr Král (INUITS) + +easyblock = 'ConfigureMake' + +name = 'texinfo' +version = '7.1' + +homepage = 'https://www.gnu.org/software/texinfo/' +description = """Texinfo is the official documentation format of the GNU project.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['deeec9f19f159e046fdf8ad22231981806dac332cc372f1c763504ad82b30953'] + +builddependencies = [('binutils', '2.40')] + +osdependencies = ['texlive'] + +preinstallopts = "make TEXMF=%(installdir)s/texmf install-tex && " + +# This will overwrite a users $TEXMFHOME so this module is best used as a build dependency +modextravars = {'TEXMFHOME': '%(installdir)s/texmf'} +modloadmsg = "\n\nWARNING: This texinfo module has (re)defined the value for the environment variable $TEXMFHOME.\n" +modloadmsg += "If you use a custom texmf directory (such as ~/texmf) you should copy files found in the\n" +modloadmsg += "new $TEXMFHOME to your custom directory and reset the value of $TEXMFHOME to point to that space:\n" +modloadmsg += "\tcp -r $TEXMFHOME/* /path/to/your/texmf\n" +modloadmsg += "\texport TEXMFHOME=/path/to/your/texmf\n\n" + +sanity_check_paths = { + 'files': [ + 'texmf/tex/texinfo/texinfo.tex', + 'bin/install-info', 'bin/makeinfo', 'bin/pdftexi2dvi', 'bin/pod2texi', 'bin/texi2pdf' + ], + 'dirs': ['bin', 'share', 'texmf'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/texlive/texlive-20230313-GCC-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/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/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/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/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.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/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/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/tornado/tornado-timeouts.patch b/easybuild/easyconfigs/t/tornado/tornado-6.1_increase-default-timeouts.patch similarity index 65% rename from easybuild/easyconfigs/t/tornado/tornado-timeouts.patch rename to easybuild/easyconfigs/t/tornado/tornado-6.1_increase-default-timeouts.patch index 635fa6d7143..1fc291ae62e 100644 --- a/easybuild/easyconfigs/t/tornado/tornado-timeouts.patch +++ b/easybuild/easyconfigs/t/tornado/tornado-6.1_increase-default-timeouts.patch @@ -1,7 +1,8 @@ -# Increase timeouts to prevent tornado from killing jupyter on compute nodes +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 ---- tornado.orig/tornado-6.1/tornado/httpclient.py 2020-10-30 21:17:45.000000000 +0100 -+++ tornado/tornado-6.1/tornado/httpclient.py 2022-05-01 22:01:50.923741948 +0200 +--- 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. 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 index 9fd6757d976..eab25faf448 100644 --- 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 @@ -9,10 +9,10 @@ description = "Tornado is a Python web framework and asynchronous networking lib toolchain = {"name": "GCCcore", "version": "12.3.0"} sources = [SOURCE_TAR_GZ] -patches = ['tornado-timeouts.patch'] +patches = ['tornado-6.1_increase-default-timeouts.patch'] checksums = [ {'tornado-6.3.2.tar.gz': '4b927c4f19b71e627b13f3db2324e4ae660527143f9e1f2e2fb404f3a187e2ba'}, - {'tornado-timeouts.patch': 'dd97748cb80506b36570f1274b19c8fc53d81e15f0eb2c5b6d0ba9d80141af34'}, + {'tornado-6.1_increase-default-timeouts.patch': '32e09dd8243acb8c55162f361880dc294d76770a7ff083c05aef6b8660e3bfb9'}, ] builddependencies = [ 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/tornado/tornado-6.4.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/t/tornado/tornado-6.4.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..d4266c8c1c9 --- /dev/null +++ b/easybuild/easyconfigs/t/tornado/tornado-6.4.1-GCCcore-13.3.0.eb @@ -0,0 +1,29 @@ +easyblock = "PythonPackage" + +name = "tornado" +version = "6.4.1" + +homepage = "https://github.com/tornadoweb/tornado" +description = "Tornado is a Python web framework and asynchronous networking library." + +toolchain = {"name": "GCCcore", "version": "13.3.0"} + +sources = [SOURCE_TAR_GZ] +patches = ['tornado-6.1_increase-default-timeouts.patch'] +checksums = [ + {'tornado-6.4.1.tar.gz': '92d3ab53183d8c50f8204a51e6f91d18a15d5ef261e84d452800d4ff6fc504e9'}, + {'tornado-6.1_increase-default-timeouts.patch': '32e09dd8243acb8c55162f361880dc294d76770a7ff083c05aef6b8660e3bfb9'}, +] + +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/tqdm/tqdm-4.66.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/tqdm/tqdm-4.66.1-GCCcore-12.3.0.eb index 1fce3aea1b1..c61e2a04e53 100644 --- a/easybuild/easyconfigs/t/tqdm/tqdm-4.66.1-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/t/tqdm/tqdm-4.66.1-GCCcore-12.3.0.eb @@ -16,7 +16,6 @@ checksums = ['d88e651f9db8d8551a62556d3cff9e3034274ca5d66e93197cf2490e2dcb69c7'] builddependencies = [ ('binutils', '2.40'), - ('hatchling', '1.18.0'), ] dependencies = [('Python', '3.11.3')] diff --git a/easybuild/easyconfigs/t/tqdm/tqdm-4.66.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/t/tqdm/tqdm-4.66.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..7277b56af66 --- /dev/null +++ b/easybuild/easyconfigs/t/tqdm/tqdm-4.66.2-GCCcore-13.2.0.eb @@ -0,0 +1,27 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonPackage' + +name = 'tqdm' +version = '4.66.2' + +homepage = "https://github.com/tqdm/tqdm" +description = """A fast, extensible progress bar for Python and CLI""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['6cd52cdf0fef0e0f543299cfc96fec90d7b8a7e88745f411ec33eb44d5ed3531'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [('Python', '3.11.5')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/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/treeseg/treeseg-0.2.2-foss-2023a.eb b/easybuild/easyconfigs/t/treeseg/treeseg-0.2.2-foss-2023a.eb new file mode 100644 index 00000000000..27d7480c372 --- /dev/null +++ b/easybuild/easyconfigs/t/treeseg/treeseg-0.2.2-foss-2023a.eb @@ -0,0 +1,48 @@ +easyblock = 'CMakeMake' + +name = 'treeseg' +version = '0.2.2' + +homepage = 'https://github.com/apburt/treeseg' +description = """ +treeseg has been developed to near-automatically segment individual tree point +clouds from high-density larger-area lidar point clouds acquired in forests. A +formal, albeit somewhat outdated description of the methods can be found in our +paper (https://doi.org/10.1111/2041-210X.13121).""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/apburt/treeseg/archive'] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_fix_boost_include.patch'] +checksums = [ + {'v0.2.2.tar.gz': '69d674ff5eafb24af5a5166fa3ed3b00ebafe9540e747f24a209bb5be3c5227c'}, + {'treeseg-0.2.2_fix_boost_include.patch': '5bc6704c07f61dc24255397327906ed7c2ccc95b2518b51d8b2c2089b746759f'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('PCL', '1.14.1'), + ('Armadillo', '12.6.2'), +] + +_libs = ['libleafsep.%s' % SHLIB_EXT, 'libtreeseg.%s' % SHLIB_EXT] + +_bins = ['downsample', 'getcrownvolume', 'nearestneighbour', 'pcdPointXYZRGB2txt', 'segmentcrown', 'sepwoodleaf', + 'txtPointTreeseg2pcd', 'findstems', 'getdtmslice', 'pcdPointTreeseg2txt', 'plotcoords', 'segmentstem', 'thin'] + +install_cmd = ' && '.join([ + 'mkdir -p %(installdir)s/{lib,bin}', + 'cp %s %%(installdir)s/lib/' % ' '.join(_libs), + 'cp %s %%(installdir)s/bin/' % ' '.join(_bins), +]) + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _bins] + ['lib/%s' % x for x in _libs], + 'dirs': [], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/t/treeseg/treeseg-0.2.2_fix_boost_include.patch b/easybuild/easyconfigs/t/treeseg/treeseg-0.2.2_fix_boost_include.patch new file mode 100644 index 00000000000..baedd0de22f --- /dev/null +++ b/easybuild/easyconfigs/t/treeseg/treeseg-0.2.2_fix_boost_include.patch @@ -0,0 +1,58 @@ +From cc6ff5b3b53a227c34171ea91164f4eaa035c890 Mon Sep 17 00:00:00 2001 +From: david +Date: Mon, 20 Mar 2023 21:22:20 +0100 +Subject: [PATCH] fix make error: split is not a member of boost + +--- + src/pcdPointTreeseg2txt.cpp | 1 + + src/pcdPointXYZRGB2txt.cpp | 1 + + src/treeseg.cpp | 1 + + src/txtPointTreeseg2pcd.cpp | 1 + + 4 files changed, 4 insertions(+) + +diff --git a/src/pcdPointTreeseg2txt.cpp b/src/pcdPointTreeseg2txt.cpp +index b189e55..af4d865 100644 +--- a/src/pcdPointTreeseg2txt.cpp ++++ b/src/pcdPointTreeseg2txt.cpp +@@ -1,6 +1,7 @@ + #include "treeseg.h" + + #include ++#include + + int main (int argc, char **argv) + { +diff --git a/src/pcdPointXYZRGB2txt.cpp b/src/pcdPointXYZRGB2txt.cpp +index 9fd1520..f99458f 100644 +--- a/src/pcdPointXYZRGB2txt.cpp ++++ b/src/pcdPointXYZRGB2txt.cpp +@@ -1,4 +1,5 @@ + #include ++#include + + int main (int argc, char **argv) + { +diff --git a/src/treeseg.cpp b/src/treeseg.cpp +index a7a0fd3..590759e 100644 +--- a/src/treeseg.cpp ++++ b/src/treeseg.cpp +@@ -39,6 +39,7 @@ + #include + #include + #include ++#include + + //File IO + +diff --git a/src/txtPointTreeseg2pcd.cpp b/src/txtPointTreeseg2pcd.cpp +index cf8b2a0..04abfbe 100644 +--- a/src/txtPointTreeseg2pcd.cpp ++++ b/src/txtPointTreeseg2pcd.cpp +@@ -1,6 +1,7 @@ + #include "treeseg.h" + + #include ++#include + + int main (int argc, char **argv) + { 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/trimesh/trimesh-4.4.9-gfbf-2024a.eb b/easybuild/easyconfigs/t/trimesh/trimesh-4.4.9-gfbf-2024a.eb new file mode 100644 index 00000000000..a25c1a4ac0f --- /dev/null +++ b/easybuild/easyconfigs/t/trimesh/trimesh-4.4.9-gfbf-2024a.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonPackage' + +name = 'trimesh' +version = '4.4.9' + +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': '2024a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['e9f54cb4ef70f9db49446cad3845b7a8043fc7d62d9192b241741f3fb0d813ac'] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + + +dependencies = [ + ('Python', '3.12.3'), + ('SciPy-bundle', '2024.05'), # numpy required +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + + +moduleclass = 'lib' 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/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 index 45727a0c4bc..2c50c82b7d8 100644 --- 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 @@ -20,6 +20,11 @@ checksums = [ {'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'), 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.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.15.0-GCCcore-13.2.0-CUDA-12.3.0.eb b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.15.0-GCCcore-13.2.0-CUDA-12.4.0.eb similarity index 96% rename from easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.15.0-GCCcore-13.2.0-CUDA-12.3.0.eb rename to easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.15.0-GCCcore-13.2.0-CUDA-12.4.0.eb index c292b853f63..7ddf4131415 100644 --- a/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.15.0-GCCcore-13.2.0-CUDA-12.3.0.eb +++ b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.15.0-GCCcore-13.2.0-CUDA-12.4.0.eb @@ -33,7 +33,7 @@ builddependencies = [ dependencies = [ ('zlib', '1.2.13'), ('UCX', version), - ('CUDA', '12.3.0', '', SYSTEM), + ('CUDA', '12.4.0', '', SYSTEM), ('GDRCopy', '2.4'), ] diff --git a/easybuild/easyconfigs/u/UCX-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/UCX-1.13.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.13.1-GCCcore-12.2.0.eb index 00fb55690cd..18bdf44c47d 100644 --- 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 @@ -40,10 +40,10 @@ dependencies = [ ('numactl', '2.0.16'), ] -configure_cmd = "contrib/configure-release" - configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' configopts += '--without-java --without-go --disable-doxygen-doc ' +# include the configure options from contrib/configure-release +configopts += '--disable-logging --disable-debug --disable-assertions --disable-params-check ' buildopts = 'V=1' 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 index 0bf2334b18f..b8ea3f98832 100644 --- 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 @@ -37,10 +37,10 @@ dependencies = [ ('numactl', '2.0.16'), ] -configure_cmd = "contrib/configure-release" - configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' configopts += '--without-java --without-go --disable-doxygen-doc ' +# include the configure options from contrib/configure-release +configopts += '--disable-logging --disable-debug --disable-assertions --disable-params-check ' buildopts = 'V=1' 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 index af30595f9c5..1705ab53f4d 100644 --- 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 @@ -37,10 +37,10 @@ dependencies = [ ('numactl', '2.0.16'), ] -configure_cmd = "contrib/configure-release" - configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' configopts += '--without-java --without-go --disable-doxygen-doc ' +# include the configure options from contrib/configure-release +configopts += '--disable-logging --disable-debug --disable-assertions --disable-params-check ' buildopts = 'V=1' 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 index 6380530f16c..c419432071f 100644 --- 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 @@ -37,10 +37,16 @@ dependencies = [ ('numactl', '2.0.16'), ] -configure_cmd = "contrib/configure-release" +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' 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/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/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-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/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/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/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/utf8proc/utf8proc-2.9.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/u/utf8proc/utf8proc-2.9.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..c0a4954721b --- /dev/null +++ b/easybuild/easyconfigs/u/utf8proc/utf8proc-2.9.0-GCCcore-13.3.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.3.0'} + +source_urls = ['https://github.com/JuliaStrings/utf8proc/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['18c1626e9fc5a2e192311e36b3010bfc698078f692888940f1fa150547abb0c1'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.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/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/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.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/VEP/VEP-111-GCC-12.2.0.eb b/easybuild/easyconfigs/v/VEP/VEP-111-GCC-12.2.0.eb new file mode 100644 index 00000000000..3266a41274c --- /dev/null +++ b/easybuild/easyconfigs/v/VEP/VEP-111-GCC-12.2.0.eb @@ -0,0 +1,42 @@ +name = 'VEP' +version = '111' + +homepage = 'https://www.ensembl.org/info/docs/tools/vep' +description = """Variant Effect Predictor (VEP) determines the effect of your + variants (SNPs, insertions, deletions, CNVs or structural variants) on genes, + transcripts, and protein sequence, as well as regulatory regions. + Includes EnsEMBL-XS, which provides pre-compiled replacements for frequently + used routines in VEP.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://github.com/Ensembl/ensembl-vep/archive/release/'] +sources = ['%(version)s.tar.gz'] +checksums = ['4e46a81640e8527e2717d6684fca13e6766fe7970c0410589195d77e19bd2971'] + +dependencies = [ + ('Perl', '5.36.0'), + ('Archive-Zip', '1.68'), + ('DBD-mysql', '4.050'), + ('BioPerl', '1.7.8'), + ('Bio-DB-HTS', '3.01'), + # VEP requires Compress::Raw::Zlib >= 2.103 + ('Compress-Raw-Zlib', '2.202'), +] + +# To select all species use 'all' (but this was broken as of 2024.02.01 and species need to explicitly listed +# with comma separation, see https://github.com/Ensembl/ensembl-vep/issues/1364#issuecomment-1753080504) +species = 'cyprinus_carpio_carpio' + +exts_defaultclass = 'PerlModule' +exts_filter = ("perl -e 'require %(ext_name)s'", "") + +exts_list = [ + ('Bio::EnsEMBL::XS', '2.3.2', { + 'source_urls': ['https://github.com/Ensembl/ensembl-xs/archive'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['aafc59568cd1042259196575e99cdfeef9c0fb7966e5f915cfaf38c70885ffa5'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/VSCode/VSCode-1.85.0.eb b/easybuild/easyconfigs/v/VSCode/VSCode-1.85.0.eb index 87bd4a020ed..a07a5ae511c 100644 --- a/easybuild/easyconfigs/v/VSCode/VSCode-1.85.0.eb +++ b/easybuild/easyconfigs/v/VSCode/VSCode-1.85.0.eb @@ -18,7 +18,7 @@ toolchain = {'name': 'system', 'version': 'system'} source_urls = ['https://code.visualstudio.com/sha/download?build=stable&os=linux-x64&'] sources = ['code-stable-x64-%s.tar.gz' % local_version_id] -checksums = ['01669d69e567a5290336b1d2f7b2f0f1816e9d7099004b81a26f8f40ee17c9fc'] +checksums = [None] # the tarballs are not stable modaliases = {'vscode': '%(installdir)s/bin/code'} diff --git a/easybuild/easyconfigs/v/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.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-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 index 9278837da13..740fd888dfb 100644 --- a/easybuild/easyconfigs/v/VTK/VTK-9.3.0-foss-2023a.eb +++ b/easybuild/easyconfigs/v/VTK/VTK-9.3.0-foss-2023a.eb @@ -2,6 +2,7 @@ # Authors:: # * Fotis Georgatos # * Robert Mijakovic +# Update: Pavel Tománek (Inuits) ## easyblock = 'CMakeNinja' @@ -42,6 +43,7 @@ dependencies = [ ('XZ', '5.4.2'), ('libGLU', '9.0.3'), ('X11', '20230603'), + ('Qt5', '5.15.10'), ] separate_build_dir = True @@ -57,7 +59,11 @@ 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 += "-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 && " 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 index 9b6582a6610..d33e54a7818 100644 --- a/easybuild/easyconfigs/v/VTune/VTune-2021.6.0.eb +++ b/easybuild/easyconfigs/v/VTune/VTune-2021.6.0.eb @@ -13,7 +13,7 @@ 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/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18012/'] sources = ['l_oneapi_vtune_p_%(version)s.411_offline.sh'] checksums = ['6b1df7da713337aa665bcc6ff23e4a006695b5bfaf71dffd305cbadca2e5560c'] diff --git a/easybuild/easyconfigs/v/VTune/VTune-2021.9.0.eb b/easybuild/easyconfigs/v/VTune/VTune-2021.9.0.eb index cd2356a18bb..b0f65557f62 100644 --- a/easybuild/easyconfigs/v/VTune/VTune-2021.9.0.eb +++ b/easybuild/easyconfigs/v/VTune/VTune-2021.9.0.eb @@ -13,7 +13,7 @@ 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/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18302/'] sources = ['l_oneapi_vtune_p_%(version)s.545_offline.sh'] checksums = ['55c8ac25e685f03c849bb5383da249c7caaf2138a2b57a10c8975a38fa3828bc'] diff --git a/easybuild/easyconfigs/v/VTune/VTune-2022.0.0.eb b/easybuild/easyconfigs/v/VTune/VTune-2022.0.0.eb index e205471e1e5..16f445c0f64 100644 --- a/easybuild/easyconfigs/v/VTune/VTune-2022.0.0.eb +++ b/easybuild/easyconfigs/v/VTune/VTune-2022.0.0.eb @@ -13,7 +13,7 @@ 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/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18406/'] sources = ['l_oneapi_vtune_p_%(version)s.94_offline.sh'] checksums = ['aa4d575c22e7be0c950b87d67d9e371f470f682906864c4f9b68e530ecd22bd7'] diff --git a/easybuild/easyconfigs/v/VTune/VTune-2022.2.0.eb b/easybuild/easyconfigs/v/VTune/VTune-2022.2.0.eb index 773718fc442..458b8143c02 100644 --- a/easybuild/easyconfigs/v/VTune/VTune-2022.2.0.eb +++ b/easybuild/easyconfigs/v/VTune/VTune-2022.2.0.eb @@ -13,7 +13,7 @@ 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/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18602/'] sources = ['l_oneapi_vtune_p_%(version)s.172_offline.sh'] checksums = ['d9f92ab6486a02c8ba226c98893492a54eda706d9edd3206a6b6143bfbc97195'] diff --git a/easybuild/easyconfigs/v/VTune/VTune-2022.3.0.eb b/easybuild/easyconfigs/v/VTune/VTune-2022.3.0.eb index b8a718b77b0..e2fea76fc3a 100644 --- a/easybuild/easyconfigs/v/VTune/VTune-2022.3.0.eb +++ b/easybuild/easyconfigs/v/VTune/VTune-2022.3.0.eb @@ -13,7 +13,7 @@ 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/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18656/'] sources = ['l_oneapi_vtune_p_%(version)s.195_offline.sh'] checksums = ['7921fce7fcc3b82575be22d9c36beec961ba2a9fb5262ba16a04090bcbd2e1a6'] diff --git a/easybuild/easyconfigs/v/VTune/VTune-2024.3.0.eb b/easybuild/easyconfigs/v/VTune/VTune-2024.3.0.eb new file mode 100644 index 00000000000..a7340fe52b8 --- /dev/null +++ b/easybuild/easyconfigs/v/VTune/VTune-2024.3.0.eb @@ -0,0 +1,25 @@ + +name = 'VTune' +version = '2024.3.0' + +homepage = 'https://www.intel.com/content/www/us/en/developer/tools/oneapi/vtune-profiler.html' +description = """Intel® VTune™ Profiler optimizes application performance, system performance, + and system configuration for HPC, cloud, IoT, media, storage, and more.""" + +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/d7e1fdb1-cfc7-40fb-bf46-3719e9372d67/'] +sources = ['l_oneapi_vtune_p_%(version)s.31_offline.sh'] +checksums = ['da9f45ee4a5ea337756e85e58e40b235417cffbca6813cf224db49061947253d'] + +sanity_check_paths = { + 'files': ['%(namelower)s/%(version_major_minor)s/bin64/amplxe-perf'], + 'dirs': ['%(namelower)s/%(version_major_minor)s/bin64', + '%(namelower)s/%(version_major_minor)s/lib64', + '%(namelower)s/%(version_major_minor)s/include/intel64'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/v/VTune/VTune-2025.0.0.eb b/easybuild/easyconfigs/v/VTune/VTune-2025.0.0.eb new file mode 100644 index 00000000000..1be37c7d69e --- /dev/null +++ b/easybuild/easyconfigs/v/VTune/VTune-2025.0.0.eb @@ -0,0 +1,24 @@ +name = 'VTune' +version = '2025.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/e7797b12-ce87-4df0-aa09-df4a272fc5d9/'] +sources = ['intel-vtune-%(version)s.1130_offline.sh'] +checksums = ['6742e5c6b1cd6e4efb794bde5d995ba738be1a991ac84678e0efca04fc080074'] + +sanity_check_paths = { + 'files': ['%(namelower)s/%(version_major_minor)s/bin64/amplxe-perf'], + 'dirs': ['%(namelower)s/%(version_major_minor)s/bin64', + '%(namelower)s/%(version_major_minor)s/lib64', + '%(namelower)s/%(version_major_minor)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.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/Velvet/Velvet-1.2.10-foss-2023a-mt-kmer_191.eb b/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-foss-2023a-mt-kmer_191.eb new file mode 100644 index 00000000000..3b712ec8ed1 --- /dev/null +++ b/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-foss-2023a-mt-kmer_191.eb @@ -0,0 +1,35 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA, 2012-2013 The Cyprus Institute +# Authors:: Cedric Laczny , Fotis Georgatos , +# Thekla Loizou , Andreas Panteli +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +## + +name = 'Velvet' +version = '1.2.10' +versionsuffix = '-mt-kmer_191' + +homepage = 'https://github.com/dzerbino/velvet/' +description = """Sequence assembler for very short reads""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'openmp': True, 'pic': True} + +github_account = 'dzerbino' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['4615e52dc2e8a05f1009daf2c0978c218860be364afa044f73677cd298f10c7b'] + +dependencies = [('zlib', '1.2.13')] + +buildopts = "OPENMP=1 MAXKMERLENGTH=%s LONGSEQUENCES=1" % versionsuffix.split('_')[1] + +postinstallcmds = ["cd contrib/MetaVelvet-1.* && make && cd ../../ && cp -a contrib %(installdir)s/"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/Vim/Vim-9.1.0004-GCCcore-12.3.0.eb b/easybuild/easyconfigs/v/Vim/Vim-9.1.0004-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..d0ee82a07da --- /dev/null +++ b/easybuild/easyconfigs/v/Vim/Vim-9.1.0004-GCCcore-12.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'Vim' +version = "9.1.0004" + +homepage = 'http://www.vim.org' +description = """ Vim is an advanced text editor that seeks to provide the power + of the de-facto Unix editor 'Vi', with a more complete feature set. """ + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['b930d02549e246a220d6ee95a4ef4938e56881e33b82e992e9439ac0f9fc7c13'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.3'), + ('Perl', '5.36.1'), + ('PCRE', '8.45'), +] + +configopts = "--with-features=huge --enable-python3interp=yes --enable-perlinterp=yes" + + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'bin/vimtutor', 'bin/xxd'], + 'dirs': ['bin', 'share'], +} + +sanity_check_commands = ['%(namelower)s --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/v/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/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/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-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-13.3.0.eb b/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..9f6458281b3 --- /dev/null +++ b/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-GCCcore-13.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': '13.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.42')] + + +# No configure +skipsteps = ['configure'] + +# Override CXX and CFLAGS variables from Makefile +buildopts = 'CXX="$CXX" CFLAGS="$CXXFLAGS"' + +# Override PREFIX variable from Makefile +installopts = "PREFIX=%(installdir)s" + +sanity_check_paths = { + 'files': ['bin/voro++', 'lib/libvoro++.a', 'include/voro++/voro++.hh'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/v/vcflib/vcflib-1.0.9-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/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 index 122f3d8d6c8..c36c435d1da 100644 --- 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 @@ -18,11 +18,8 @@ dependencies = [ ('Python', '3.11.3'), ] -exts_default_options = { - 'download_dep_fail': True, - 'sanity_pip_check': True, - 'use_pip': True, -} +sanity_pip_check = True +use_pip = True exts_list = [ ('distlib', '0.3.6', { 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 index a0b9921fb5c..2820042ba9d 100644 --- 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 @@ -18,11 +18,8 @@ dependencies = [ ('Python', '3.11.5'), ] -exts_default_options = { - 'download_dep_fail': True, - 'sanity_pip_check': True, - 'use_pip': True, -} +sanity_pip_check = True +use_pip = True exts_list = [ ('distlib', '0.3.7', { 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/vsc-mympirun/vsc-mympirun-5.4.0.eb b/easybuild/easyconfigs/v/vsc-mympirun/vsc-mympirun-5.4.0.eb new file mode 100644 index 00000000000..e9340780aab --- /dev/null +++ b/easybuild/easyconfigs/v/vsc-mympirun/vsc-mympirun-5.4.0.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonBundle' + +name = 'vsc-mympirun' +version = '5.4.0' + +homepage = 'https://github.com/hpcugent/vsc-mympirun' +description = """mympirun is a tool to make it easier for users of HPC clusters to +run MPI programs with good performance.""" + +# we build this to work with every python version +toolchain = SYSTEM + +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +use_pip = False + +exts_list = [ + ('setuptools', '41.6.0', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['6afa61b391dcd16cb8890ec9f66cc4015a8a31a6e1c2b4e0c464514be1a3d722'], + }), + ('future', '1.0.0', { + 'checksums': ['bd2968309307861edae1458a4f8a4f3598c03be43b97521076aebf5d94c07b05'], + }), + ('pbr', '6.0.0', { + 'checksums': ['d1377122a5a00e2f940ee482999518efe16d745d423a670c27773dfbc3c9a7d9'], + }), + ('funcsigs', '1.0.2', { + 'checksums': ['a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50'], + }), + ('mock', '5.1.0', { + 'checksums': ['5e96aad5ccda4718e0a229ed94b2024df75cc2d55575ba5762d31f5767b8767d'], + }), + ('IPy', '1.01', { + 'modulename': 'IPy', + 'checksums': ['edeca741dea2d54aca568fa23740288c3fe86c0f3ea700344571e9ef14a7cc1a'], + }), + ('vsc-install', '0.20.1', { + 'modulename': 'vsc.install', + 'checksums': ['2eba4768205bf61c0845666a8ddb4eb0e2697e433d1800d75be8310159483cac'], + }), + ('vsc-base', '3.5.9', { + 'modulename': 'vsc.utils', + 'checksums': ['05015bf13c921e6e09fedce774e50fa4c7e71247e65666189aef212206af3fb6'], + }), + (name, version, { + 'modulename': False, + 'checksums': ['3321106e4b6ba0b09634309003ff6f5a0e5e51d4419650ab826a46c150e05c6d'], + }), +] + +# we ship something in bin/fake +modextrapaths = {'PATH': 'bin/fake'} + +sanity_check_paths = { + 'files': ['bin/mympirun', 'bin/mypmirun', 'bin/mympisanity', 'bin/mytasks'], + 'dirs': ['bin/fake'], +} +sanity_check_commands = ["mympirun --help"] + +# can't enable 'pip check' since pip may not be installed in OS +sanity_pip_check = False + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/w/WCSLIB/WCSLIB-7.11-GCC-13.2.0.eb b/easybuild/easyconfigs/w/WCSLIB/WCSLIB-7.11-GCC-13.2.0.eb new file mode 100644 index 00000000000..4a6ebb8aacf --- /dev/null +++ b/easybuild/easyconfigs/w/WCSLIB/WCSLIB-7.11-GCC-13.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'WCSLIB' +version = '7.11' + +homepage = 'https://www.atnf.csiro.au/people/mcalabre/WCS/' +description = """The FITS "World Coordinate System" (WCS) standard defines keywords +and usage that provide for the description of astronomical coordinate systems in a +FITS image header.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['ftp://ftp.atnf.csiro.au/pub/software/%(namelower)s/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['46befbfdf50cd4953896676a7d570094dc7661e2ae9677b092e7fb13cee3da5f'] + +builddependencies = [ + ('binutils', '2.40'), + ('M4', '1.4.19'), + ('flex', '2.6.4'), +] +dependencies = [ + ('CFITSIO', '4.3.1'), + ('PGPLOT', '5.2.2'), + ('X11', '20231019'), +] + +configopts = "--with-cfitsiolib=$EBROOTCFITSIO/lib --with-cfitsioinc=$EBROOTCFITSIO/include " +configopts += "--with-pgplotlib=$EBROOTPGPLOT/lib --with-pgplotinc=$EBROOTPGPLOT/include " + +sanity_check_paths = { + 'files': ['bin/wcsgrid', 'bin/wcsware', 'lib/libpgsbox-%(version)s.a', 'lib/libpgsbox.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = ["wcsgrid --help 2>&1 | grep '^Usage: wcsgrid'"] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/w/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.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/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-23.2-intel-2021b.eb b/easybuild/easyconfigs/w/WIEN2k/WIEN2k-23.2-intel-2021b.eb index a8881dbe118..0dd0b641ceb 100644 --- a/easybuild/easyconfigs/w/WIEN2k/WIEN2k-23.2-intel-2021b.eb +++ b/easybuild/easyconfigs/w/WIEN2k/WIEN2k-23.2-intel-2021b.eb @@ -61,6 +61,10 @@ fix_perl_shebang_for = [ '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']), 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-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-2023a.eb b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-foss-2023a.eb index 9807690b35c..57105d3bdb6 100644 --- a/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-foss-2023a.eb +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-foss-2023a.eb @@ -12,10 +12,12 @@ 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'] +patches = ['Wannier90_3x_ignore_makeinc.patch', + 'Wannier90_3.1.0_fix_mpi_include.patch'] checksums = [ '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz '561c0d296e0e30b8bb303702cd6e41ded54c153d9b9e6cd9cab73858e5e2945e', # Wannier90_3x_ignore_makeinc.patch + 'dd7217d8bf12ac4161fd0b6504f7c085ebcc69b23ab2ac4abcf9251f34b8bc30', # Wannier90_3.1.0_fix_mpi_include.patch ] # The -fallow-argument-mismatch allows MPI communication calls to be @@ -25,10 +27,11 @@ buildopts = 'all F90=$F90 MPIF90=$MPIF90 FCOPTS="$FFLAGS -fallow-argument-mismat buildopts += 'LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK" ' buildopts += 'COMMS=mpi' -files_to_copy = [(['wannier90.x', 'postw90.x'], 'bin'), (['libwannier.a'], 'lib')] +local_executables = ['wannier90.x', 'postw90.x', 'w90chk2chk.x', 'w90spn2spn.x'] +files_to_copy = [(local_executables, 'bin'), (['libwannier.a'], 'lib')] sanity_check_paths = { - 'files': ['bin/wannier90.x', 'bin/postw90.x', 'lib/libwannier.a'], + 'files': ['bin/%s' % x for x in local_executables] + ['lib/libwannier.a'], 'dirs': [] } 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..26e4b587a1f --- /dev/null +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-foss-2024a.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': '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', + 'Wannier90_3.1.0_fix_mpi_include.patch'] +checksums = [ + '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz + '561c0d296e0e30b8bb303702cd6e41ded54c153d9b9e6cd9cab73858e5e2945e', # Wannier90_3x_ignore_makeinc.patch + 'dd7217d8bf12ac4161fd0b6504f7c085ebcc69b23ab2ac4abcf9251f34b8bc30', # Wannier90_3.1.0_fix_mpi_include.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-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 index 336ac8a3895..a3e59ef46a9 100644 --- a/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-gomkl-2023a.eb +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-gomkl-2023a.eb @@ -12,10 +12,12 @@ 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'] +patches = ['Wannier90_3x_ignore_makeinc.patch', + 'Wannier90_3.1.0_fix_mpi_include.patch'] checksums = [ '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz '561c0d296e0e30b8bb303702cd6e41ded54c153d9b9e6cd9cab73858e5e2945e', # Wannier90_3x_ignore_makeinc.patch + 'dd7217d8bf12ac4161fd0b6504f7c085ebcc69b23ab2ac4abcf9251f34b8bc30', # Wannier90_3.1.0_fix_mpi_include.patch ] # The -fallow-argument-mismatch allows MPI communication calls to be @@ -25,10 +27,11 @@ buildopts = 'all F90=$F90 MPIF90=$MPIF90 FCOPTS="$FFLAGS -fallow-argument-mismat buildopts += 'LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK" ' buildopts += 'COMMS=mpi' -files_to_copy = [(['wannier90.x', 'postw90.x'], 'bin'), (['libwannier.a'], 'lib')] +local_executables = ['wannier90.x', 'postw90.x', 'w90chk2chk.x', 'w90spn2spn.x'] +files_to_copy = [(local_executables, 'bin'), (['libwannier.a'], 'lib')] sanity_check_paths = { - 'files': ['bin/wannier90.x', 'bin/postw90.x', 'lib/libwannier.a'], + 'files': ['bin/%s' % x for x in local_executables] + ['lib/libwannier.a'], 'dirs': [] } 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 index cf258368771..eb71d75290d 100644 --- a/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-intel-2023a.eb +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-intel-2023a.eb @@ -12,20 +12,23 @@ 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'] +patches = ['Wannier90_3x_ignore_makeinc.patch', + 'Wannier90_3.1.0_fix_mpi_include.patch'] checksums = [ '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz '561c0d296e0e30b8bb303702cd6e41ded54c153d9b9e6cd9cab73858e5e2945e', # Wannier90_3x_ignore_makeinc.patch + 'dd7217d8bf12ac4161fd0b6504f7c085ebcc69b23ab2ac4abcf9251f34b8bc30', # Wannier90_3.1.0_fix_mpi_include.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')] +local_executables = ['wannier90.x', 'postw90.x', 'w90chk2chk.x', 'w90spn2spn.x'] +files_to_copy = [(local_executables, 'bin'), (['libwannier.a'], 'lib')] sanity_check_paths = { - 'files': ['bin/wannier90.x', 'bin/postw90.x', 'lib/libwannier.a'], + 'files': ['bin/%s' % x for x in local_executables] + ['lib/libwannier.a'], 'dirs': [] } 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..34d3457ccc4 --- /dev/null +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-intel-2024a.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': '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', + 'Wannier90_3.1.0_fix_mpi_include.patch'] +checksums = [ + '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz + '561c0d296e0e30b8bb303702cd6e41ded54c153d9b9e6cd9cab73858e5e2945e', # Wannier90_3x_ignore_makeinc.patch + 'dd7217d8bf12ac4161fd0b6504f7c085ebcc69b23ab2ac4abcf9251f34b8bc30', # Wannier90_3.1.0_fix_mpi_include.patch +] + +buildopts = 'all F90=$F90 MPIF90=$MPIF90 FCOPTS="$FFLAGS" 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_fix_mpi_include.patch b/easybuild/easyconfigs/w/Wannier90/Wannier90_3.1.0_fix_mpi_include.patch new file mode 100644 index 00000000000..fdc859c8a7f --- /dev/null +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90_3.1.0_fix_mpi_include.patch @@ -0,0 +1,27 @@ +Use "use mpi" to load all required interfaces. +See https://github.com/wannier-developers/wannier90/issues/521 +Author: Stefan Wolfsheimer (SURF) + + +diff -ruN wannier90-3.1.0.orig/src/comms.F90 wannier90-3.1.0/src/comms.F90 +--- wannier90-3.1.0.orig/src/comms.F90 2020-03-05 19:41:10.000000000 +0100 ++++ wannier90-3.1.0/src/comms.F90 2024-10-21 17:01:00.542755184 +0200 +@@ -23,15 +23,13 @@ + + use w90_constants, only: dp + use w90_io, only: io_error +- ++#ifdef MPI ++ use mpi ++#endif + implicit none + + private + +-#ifdef MPI +- include 'mpif.h' +-#endif +- + logical, public, save :: on_root + !! Are we the root node + integer, public, save :: num_nodes 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/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/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-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/w/waLBerla/waLBerla-6.1-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..b77e1abbaca --- /dev/null +++ b/easybuild/easyconfigs/w/waLBerla/waLBerla-6.1-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,63 @@ +# easyconfig file for waLBerla v6.1 +easyblock = 'CMakeMakeCp' + +name = 'waLBerla' +version = '6.1' +versionsuffix = '-CUDA-%(cudaver)s' + +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': '2023a'} +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.26.3')] + +dependencies = [ + ('Boost.MPI', '1.82.0'), + ('CUDA', '12.1.1', '', SYSTEM), +] + +parallel = 1 + +# 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 = "-DWALBERLA_BUILD_WITH_PYTHON=OFF " +configopts += "-DCMAKE_CUDA_ARCHITECTURES='%(cuda_cc_cmake)s' " +configopts += "-DWALBERLA_BUILD_WITH_CUDA=ON " +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-foss-2023a.eb b/easybuild/easyconfigs/w/waLBerla/waLBerla-6.1-foss-2023a.eb new file mode 100644 index 00000000000..85f6371e807 --- /dev/null +++ b/easybuild/easyconfigs/w/waLBerla/waLBerla-6.1-foss-2023a.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': '2023a'} +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.26.3')] + +dependencies = [ + ('Boost.MPI', '1.82.0'), +] + +parallel = 1 + +configopts = "-DWALBERLA_BUILD_WITH_PYTHON=OFF " +configopts += "-DWALBERLA_BUILD_SHOWCASES=OFF " +configopts += "-DWALBERLA_BUILD_DOC=OFF " +configopts += "-DWALBERLA_BUILD_BENCHMARKS=OFF" + + +files_to_copy = [ + (['%(builddir)s/easybuild_obj/*'], 'build'), + (['%(start_dir)s/src/*'], 'src'), +] + +sanity_check_paths = { + 'files': [ + 'build/src/waLBerlaDefinitions.h', + 'build/apps/tutorials/basics/01_Tutorial_BlocksAndFields1', + 'build/utilities/filterCompileCommands.py' + ], + 'dirs': ['src', 'build/apps', 'build/tests', 'build/utilities'] +} + +sanity_check_commands = [ + "mkdir -p %(builddir)s && cp -a %(installdir)s/build/apps/tutorials/lbm %(builddir)s/", + "cd %(builddir)s/lbm && chmod -R u+w . && ./01_BasicLBM 01_BasicLBM.prm", +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/w/waLBerla/waLBerla-6.1_fix_cmakelist_for_easybuild_without_python.patch b/easybuild/easyconfigs/w/waLBerla/waLBerla-6.1_fix_cmakelist_for_easybuild_without_python.patch new file mode 100644 index 00000000000..44686c013d9 --- /dev/null +++ b/easybuild/easyconfigs/w/waLBerla/waLBerla-6.1_fix_cmakelist_for_easybuild_without_python.patch @@ -0,0 +1,15 @@ +diff -ruN walberla-v6.1.orig/CMakeLists.txt walberla-v6.1/CMakeLists.txt +--- walberla-v6.1.orig/CMakeLists.txt 2023-10-17 13:06:02.619565000 +0200 ++++ walberla-v6.1/CMakeLists.txt 2023-10-26 19:28:03.622447001 +0200 +@@ -1313,8 +1313,9 @@ + configure_file ( src/waLBerlaDefinitions.in.h + src/waLBerlaDefinitions.h ) + +-install( FILES ${walberla_BINARY_DIR}/src/waLBerlaDefinitions.h DESTINATION walberla/ ) +- ++install( FILES ${walberla_BINARY_DIR}/src/waLBerlaDefinitions.h DESTINATION . ) ++install( DIRECTORY ${walberla_BINARY_DIR}/apps/benchmarks/ DESTINATION benchmarks/ ) ++install( DIRECTORY ${walberla_BINARY_DIR}/apps/tutorials/ DESTINATION tutorials/ ) + + # test + if ( WALBERLA_BUILD_TESTS ) diff --git a/easybuild/easyconfigs/w/wandb/wandb-0.16.1-GCC-12.3.0.eb b/easybuild/easyconfigs/w/wandb/wandb-0.16.1-GCC-12.3.0.eb index 878f6cc3f72..b8bf8eefb30 100644 --- a/easybuild/easyconfigs/w/wandb/wandb-0.16.1-GCC-12.3.0.eb +++ b/easybuild/easyconfigs/w/wandb/wandb-0.16.1-GCC-12.3.0.eb @@ -9,13 +9,16 @@ tracking your machine learning experiments.""" toolchain = {'name': 'GCC', 'version': '12.3.0'} +builddependencies = [ + ('hatchling', '1.18.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 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.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/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/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.16.0-gfbf-2024a.eb b/easybuild/easyconfigs/w/wrapt/wrapt-1.16.0-gfbf-2024a.eb new file mode 100644 index 00000000000..10f6d8cf5cf --- /dev/null +++ b/easybuild/easyconfigs/w/wrapt/wrapt-1.16.0-gfbf-2024a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonBundle' + +name = 'wrapt' +version = '1.16.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': '2024a'} + +dependencies = [ + ('Python', '3.12.3'), + ('SciPy-bundle', '2024.05'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.2.6-GCC-13.3.0.eb b/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.2.6-GCC-13.3.0.eb new file mode 100644 index 00000000000..0c9c8976770 --- /dev/null +++ b/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.2.6-GCC-13.3.0.eb @@ -0,0 +1,71 @@ +easyblock = 'ConfigureMake' + +name = 'wxWidgets' +version = '3.2.6' + +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': '13.3.0'} +toolchainopts = {'pic': True} + +github_account = 'wxWidgets' +source_urls = [GITHUB_RELEASE] +sources = [SOURCE_TAR_BZ2] +checksums = ['939e5b77ddc5b6092d1d7d29491fe67010a2433cf9b9c0d841ee4d04acb9dce7'] + +builddependencies = [ + ('gettext', '0.22.5'), + ('pkgconf', '2.2.0'), + ('Python', '3.12.3'), +] + +dependencies = [ + ('libpng', '1.6.43'), + ('zlib', '1.3.1'), + ('libjpeg-turbo', '3.0.1'), + ('XZ', '5.4.5'), + ('jbigkit', '2.1'), + ('LibTIFF', '4.6.0'), + ('expat', '2.6.2'), + ('GTK3', '3.24.42'), + ('X11', '20240607'), + ('Mesa', '24.1.3'), + ('libGLU', '9.0.3'), + ('SDL2', '2.30.6'), + ('cairo', '1.18.0'), + ('GST-plugins-base', '1.24.8'), + ('GLib', '2.80.4'), +] + +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-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/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/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/XML-Compile/XML-Compile-1.63-GCCcore-13.2.0.eb b/easybuild/easyconfigs/x/XML-Compile/XML-Compile-1.63-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..7c564210edb --- /dev/null +++ b/easybuild/easyconfigs/x/XML-Compile/XML-Compile-1.63-GCCcore-13.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': '13.2.0'} + +builddependencies = [ + ('pkgconf', '2.0.3'), + ('binutils', '2.40'), +] + +dependencies = [ + ('Perl', '5.38.0'), + ('XML-LibXML', '2.0210'), +] + +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.0210-GCCcore-13.2.0.eb b/easybuild/easyconfigs/x/XML-LibXML/XML-LibXML-2.0210-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..9e8ac11247f --- /dev/null +++ b/easybuild/easyconfigs/x/XML-LibXML/XML-LibXML-2.0210-GCCcore-13.2.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.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('Perl', '5.38.0'), + ('Perl-bundle-CPAN', '5.38.0'), + ('libxml2', '2.11.5'), +] + +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-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.47-GCCcore-13.3.0-Perl-5.38.2.eb b/easybuild/easyconfigs/x/XML-Parser/XML-Parser-2.47-GCCcore-13.3.0-Perl-5.38.2.eb new file mode 100644 index 00000000000..2afd8c1daf8 --- /dev/null +++ b/easybuild/easyconfigs/x/XML-Parser/XML-Parser-2.47-GCCcore-13.3.0-Perl-5.38.2.eb @@ -0,0 +1,31 @@ +easyblock = 'PerlModule' + +name = 'XML-Parser' +version = '2.47' +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': '13.3.0'} + +source_urls = ['https://cpan.metacpan.org/authors/id/T/TO/TODDR/'] +sources = [SOURCE_TAR_GZ] +checksums = ['ad4aae643ec784f489b956abe952432871a622d4e2b5c619e8855accbfc4d1d8'] + +builddependencies = [ + ('binutils', '2.42'), +] +dependencies = [ + ('Perl', '5.38.2'), + ('expat', '2.6.2'), +] + +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/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.6.3-GCCcore-14.2.0.eb b/easybuild/easyconfigs/x/XZ/XZ-5.6.3-GCCcore-14.2.0.eb new file mode 100644 index 00000000000..388a4bb239c --- /dev/null +++ b/easybuild/easyconfigs/x/XZ/XZ-5.6.3-GCCcore-14.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'XZ' +version = '5.6.3' + +homepage = 'https://tukaani.org/xz/' +description = "xz: XZ utilities" + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} + +source_urls = ['https://tukaani.org/xz/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['a95a49147b2dbb5487517acc0adcd77f9c2032cf00664eeae352405357d14a6c'] + +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/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/Xerces-C++/Xerces-C++-3.2.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.2.5-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..d9cb7a779c7 --- /dev/null +++ b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.2.5-GCCcore-13.3.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.3.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.2.0'), + ('binutils', '2.42'), + ('CMake', '3.29.3'), +] + +dependencies = [ + ('cURL', '8.7.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/x264/x264-20231019-GCCcore-13.2.0.eb b/easybuild/easyconfigs/x/x264/x264-20231019-GCCcore-13.2.0.eb index a1d60486ce0..3a5bb6947d8 100644 --- a/easybuild/easyconfigs/x/x264/x264-20231019-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/x/x264/x264-20231019-GCCcore-13.2.0.eb @@ -14,7 +14,11 @@ 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}] -checksums = ['bf6a61dcc7e1f4e623a44f09de02e843f06e7ec14f807557b43130fc84287f29'] +patches = ['x264-20231019_add-riscv-support.patch'] +checksums = [ + {'x264-20231019.tar.gz': 'bf6a61dcc7e1f4e623a44f09de02e843f06e7ec14f807557b43130fc84287f29'}, + {'x264-20231019_add-riscv-support.patch': 'd4455f3f643f255d4e907cf8a7bd803a3184ab2b6cc3445298bd2986fbb976f6'}, +] builddependencies = [ ('binutils', '2.40'), 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-11.2.0.eb b/easybuild/easyconfigs/x/x265/x265-3.5-GCCcore-11.2.0.eb index 0732a992f17..e053931ce57 100644 --- 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 @@ -25,7 +25,7 @@ builddependencies = [ start_dir = 'source' -configopts = '-DGIT_ARCHETYPE=1' +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], 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 index 281db53772b..1544a97d4b6 100644 --- 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 @@ -22,7 +22,7 @@ builddependencies = [ ('Yasm', '1.3.0'), ] -configopts = '-DGIT_ARCHETYPE=1' +configopts = '-DGIT_ARCHETYPE=1 -DENABLE_PIC=ON' start_dir = 'source' 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 index 27b2b066296..d31e45da477 100644 --- 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 @@ -22,7 +22,7 @@ builddependencies = [ ('Yasm', '1.3.0'), ] -configopts = '-DGIT_ARCHETYPE=1' +configopts = '-DGIT_ARCHETYPE=1 -DENABLE_PIC=ON' start_dir = 'source' 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 index 4c754f3021d..4bd77d7f07e 100644 --- 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 @@ -22,7 +22,7 @@ builddependencies = [ ('Yasm', '1.3.0'), ] -configopts = '-DGIT_ARCHETYPE=1' +configopts = '-DGIT_ARCHETYPE=1 -DENABLE_PIC=ON' start_dir = 'source' 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 index d1bca35c8d7..1466e0c5f3c 100644 --- 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 @@ -22,7 +22,7 @@ builddependencies = [ ('Yasm', '1.3.0'), ] -configopts = '-DGIT_ARCHETYPE=1' +configopts = '-DGIT_ARCHETYPE=1 -DENABLE_PIC=ON' start_dir = 'source' 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.8.6-foss-2023a.eb b/easybuild/easyconfigs/x/xESMF/xESMF-0.8.6-foss-2023a.eb new file mode 100644 index 00000000000..c77c2e324ed --- /dev/null +++ b/easybuild/easyconfigs/x/xESMF/xESMF-0.8.6-foss-2023a.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'xESMF' +version = '0.8.6' + +homepage = 'https://xesmf.readthedocs.io' +description = "xESMF: Universal Regridder for Geospatial Data" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('pytest', '7.4.2'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('ESMPy', '8.6.0'), + ('numba', '0.58.1'), + ('Shapely', '2.0.1'), + ('xarray', '2023.9.0'), + ('dask', '2023.9.2'), +] + +use_pip = True + +exts_list = [ + ('cftime', '1.6.2', { + 'checksums': ['8614c00fb8a5046de304fdd86dbd224f99408185d7b245ac6628d0276596e6d2'], + }), + ('cf_xarray', '0.9.3', { + 'checksums': ['5012444078964ef931cdc71d559f58488edd5fa9a175fbec326f9356e481b2cf'], + }), + ('sparse', '0.14.0', { + 'checksums': ['5f5827a37f6cd6f6730a541f994c95c60a3ae2329e01f4ba21ced5339aea0098'], + }), + ('xesmf', version, { + 'checksums': ['61c54f0db19fe4871623791db50b1ae589ea1a834d0df461cb58ffbd10d875de'], + 'runtest': 'pytest', + 'testopts': "-v --pyargs xesmf", + 'testinstall': True, + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' 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/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.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/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.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-foss-2023a.eb b/easybuild/easyconfigs/x/xtb/xtb-6.6.1-gfbf-2023a.eb similarity index 95% rename from easybuild/easyconfigs/x/xtb/xtb-6.6.1-foss-2023a.eb rename to easybuild/easyconfigs/x/xtb/xtb-6.6.1-gfbf-2023a.eb index 2c7121360de..7b92e5920d5 100644 --- a/easybuild/easyconfigs/x/xtb/xtb-6.6.1-foss-2023a.eb +++ b/easybuild/easyconfigs/x/xtb/xtb-6.6.1-gfbf-2023a.eb @@ -6,7 +6,7 @@ version = '6.6.1' homepage = 'https://xtb-docs.readthedocs.io' description = """ xtb - An extended tight-binding semi-empirical program package. """ -toolchain = {'name': 'foss', 'version': '2023a'} +toolchain = {'name': 'gfbf', 'version': '2023a'} github_account = 'grimme-lab' source_urls = [GITHUB_LOWER_SOURCE] diff --git a/easybuild/easyconfigs/x/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 index afb2af5900a..14ae87a2bac 100644 --- a/easybuild/easyconfigs/x/xtensor/xtensor-0.24.0-foss-2021b.eb +++ b/easybuild/easyconfigs/x/xtensor/xtensor-0.24.0-foss-2021b.eb @@ -37,6 +37,7 @@ components = [ }), ('xtensor-python', '0.26.0', { 'checksums': ['04dcfe84181c23f364b1e68a6d55d89d1679f31d8da0372db01af72534baf728'], + 'configopts': '-DPYTHON_EXECUTABLE=$EBROOTPYTHON/bin/python', }), ] diff --git a/easybuild/easyconfigs/x/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/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-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-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/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/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/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.12.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/z/Z3/Z3-4.12.2-GCCcore-12.3.0.eb index 2d9ade32924..e34dbd5ade0 100644 --- a/easybuild/easyconfigs/z/Z3/Z3-4.12.2-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/z/Z3/Z3-4.12.2-GCCcore-12.3.0.eb @@ -1,35 +1,51 @@ -easyblock = 'CMakeMake' +easyblock = 'PythonBundle' name = 'Z3' version = '4.12.2' homepage = 'https://github.com/Z3Prover/z3' -description = """ - Z3 is a theorem prover from Microsoft Research. +description = """Z3 is a theorem prover from Microsoft Research with support for bitvectors, +booleans, arrays, floating point numbers, strings, and other data types. This +module includes z3-solver, the Python interface of Z3. """ toolchain = {'name': 'GCCcore', 'version': '12.3.0'} -source_urls = ['https://github.com/Z3Prover/z3/archive/'] -sources = [SOURCELOWER_TAR_GZ] -checksums = [ - {'z3-4.12.2.tar.gz': '9f58f3710bd2094085951a75791550f547903d75fe7e2fcb373c5f03fc761b8f'}, -] - builddependencies = [ ('CMake', '3.26.3'), ('binutils', '2.40'), ] dependencies = [ + ('Python', '3.11.3'), ('GMP', '6.2.1'), ] -configopts = '-DZ3_USE_LIB_GMP=ON -DZ3_LINK_TIME_OPTIMIZATION=ON ' +use_pip = True + +_fix_parallelism = """sed -i 's/str(multiprocessing.cpu_count())/"%(parallel)s"/' setup.py && """ +_enable_gmp = """sed -i "s/Z3_USE_LIB_GMP.*/Z3_USE_LIB_GMP' : True,/" setup.py && """ + +exts_list = [ + ('z3-solver', version + '.0', { + 'modulename': 'z3', + 'checksums': ['65ab47a0a8ef0bfb80db0670775beb11b32c3c0ae4b35943e44121f4af7ef411'], + 'preinstallopts': _fix_parallelism + _enable_gmp, + }), +] + +# make Z3 headers and libraries accessible in their usual location +local_z3_site_path = "lib/python%(pyshortver)s/site-packages/%(namelower)s" +postinstallcmds = [ + 'ln -s %s/include "%%(installdir)s/include"' % local_z3_site_path, + 'cd "%%(installdir)s"; for lib in %s/lib/*; do ln -s ../$lib lib/$(basename $lib); done' % local_z3_site_path +] + +sanity_pip_check = True sanity_check_paths = { 'files': ['bin/z3', 'include/z3_api.h', 'lib/libz3.%s' % SHLIB_EXT], - 'dirs': [], + 'dirs': ['include', 'lib/python%(pyshortver)s/site-packages'], } moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/Z3/Z3-4.12.2-GCCcore-12.3.0-Python-3.11.3.eb b/easybuild/easyconfigs/z/Z3/Z3-4.13.0-GCCcore-13.2.0.eb similarity index 62% rename from easybuild/easyconfigs/z/Z3/Z3-4.12.2-GCCcore-12.3.0-Python-3.11.3.eb rename to easybuild/easyconfigs/z/Z3/Z3-4.13.0-GCCcore-13.2.0.eb index 0eb7b2c600f..b30bdb6cf49 100644 --- a/easybuild/easyconfigs/z/Z3/Z3-4.12.2-GCCcore-12.3.0-Python-3.11.3.eb +++ b/easybuild/easyconfigs/z/Z3/Z3-4.13.0-GCCcore-13.2.0.eb @@ -1,8 +1,7 @@ easyblock = 'PythonBundle' name = 'Z3' -version = '4.12.2' -versionsuffix = '-Python-%(pyver)s' +version = '4.13.0' homepage = 'https://github.com/Z3Prover/z3' description = """Z3 is a theorem prover from Microsoft Research with support for bitvectors, @@ -10,43 +9,41 @@ booleans, arrays, floating point numbers, strings, and other data types. This module includes z3-solver, the Python interface of Z3. """ -toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} builddependencies = [ - ('CMake', '3.26.3'), + ('CMake', '3.27.6'), ('binutils', '2.40'), ] - dependencies = [ - ('Python', '3.11.3'), - ('GMP', '6.2.1'), + ('Python', '3.11.5'), + ('GMP', '6.3.0'), ] use_pip = True -_fix_parallelism = """sed -i 's/str(multiprocessing.cpu_count())/"%(parallel)s"/' setup.py &&""" -_enable_gmp = """sed -i "s/Z3_USE_LIB_GMP.*/Z3_USE_LIB_GMP' : True,/" setup.py &&""" +_fix_parallelism = """sed -i 's/str(multiprocessing.cpu_count())/"%(parallel)s"/' setup.py && """ +_enable_gmp = """sed -i "s/Z3_USE_LIB_GMP.*/Z3_USE_LIB_GMP' : True,/" setup.py && """ exts_list = [ ('z3-solver', version + '.0', { 'modulename': 'z3', - 'checksums': ['65ab47a0a8ef0bfb80db0670775beb11b32c3c0ae4b35943e44121f4af7ef411'], + 'checksums': ['52588e92aec7cb338fd6288ce93758ae01770f62ca0c80e8f4f2b2333feaf51b'], 'preinstallopts': _fix_parallelism + _enable_gmp, }), ] # make Z3 headers and libraries accessible in their usual location local_z3_site_path = "lib/python%(pyshortver)s/site-packages/%(namelower)s" -local_libz3 = 'libz3.' + SHLIB_EXT postinstallcmds = [ - "ln -s %s/include '%%(installdir)s/include'" % local_z3_site_path, - "ln -s ../%s/lib/%s '%%(installdir)s/lib/%s'" % (local_z3_site_path, local_libz3, local_libz3) + 'ln -s %s/include "%%(installdir)s/include"' % local_z3_site_path, + 'cd "%%(installdir)s"; for lib in %s/lib/*; do ln -s ../$lib lib/$(basename $lib); done' % local_z3_site_path ] sanity_pip_check = True sanity_check_paths = { - 'files': ['bin/z3', 'include/z3_api.h', 'lib/libz3.%s' % SHLIB_EXT], + 'files': ['bin/z3', 'include/z3_api.h', 'lib/libz3.' + SHLIB_EXT], 'dirs': ['include', 'lib/python%(pyshortver)s/site-packages'], } diff --git a/easybuild/easyconfigs/z/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/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/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/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-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.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/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.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.3-intel-2023a.eb b/easybuild/easyconfigs/z/zlib/zlib-1.3.1-GCCcore-13.3.0.eb similarity index 58% rename from easybuild/easyconfigs/z/zlib/zlib-1.3-intel-2023a.eb rename to easybuild/easyconfigs/z/zlib/zlib-1.3.1-GCCcore-13.3.0.eb index e726074c711..3f9304a080e 100644 --- a/easybuild/easyconfigs/z/zlib/zlib-1.3-intel-2023a.eb +++ b/easybuild/easyconfigs/z/zlib/zlib-1.3.1-GCCcore-13.3.0.eb @@ -1,19 +1,22 @@ easyblock = 'ConfigureMake' name = 'zlib' -version = '1.3' +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': 'intel', 'version': '2023a'} +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} toolchainopts = {'pic': True} -source_urls = ['https://www.zlib.net/'] -sources = ['zlib-%(version)s.tar.gz'] -checksums = ['ff0ba4c292013dbc27530b3a81e1f9a813cd39de01ca5e0f8bf355702efa593e'] +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], 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-GCCcore-13.3.0.eb b/easybuild/easyconfigs/z/zsh/zsh-5.9-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..2f5aa6a9ca5 --- /dev/null +++ b/easybuild/easyconfigs/z/zsh/zsh-5.9-GCCcore-13.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'zsh' + +version = '5.9' + +homepage = 'http://www.zsh.org/' +description = """ +Zsh is a shell designed for interactive use, although it is also a powerful scripting language. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['9b8d1ecedd5b5e81fbf1918e876752a7dd948e05c1a0dba10ab863842d45acd5'] + +configopts = '--without-tcsetpgrp' + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('ncurses', '6.5'), +] + +modextrapaths = { + 'FPATH': 'share/zsh/%(version)s/functions' +} + +sanity_check_paths = { + 'files': ['bin/zsh'], + 'dirs': ['lib/zsh/%(version)s', 'share'], +} + +sanity_check_commands = ['zsh --version'] + +moduleclass = 'tools' 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.py b/setup.py index 52ad359c69c..15cbcf7470d 100644 --- a/setup.py +++ b/setup.py @@ -1,5 +1,5 @@ ## -# Copyright 2012-2023 Ghent University +# Copyright 2012-2024 Ghent University # # This file is part of EasyBuild, # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en), @@ -44,7 +44,7 @@ # recent setuptools versions will *TRANSFORM* something like 'X.Y.Zdev' into 'X.Y.Z.dev0', with a warning like # UserWarning: Normalizing '2.4.0dev' to '2.4.0.dev0' # This causes problems further up the dependency chain... -VERSION = '4.9.1.dev0' +VERSION = '4.9.5.dev0' MAJ_VER = VERSION.split('.')[0] MAJMIN_VER = '.'.join(VERSION.split('.')[0:2]) diff --git a/test/__init__.py b/test/__init__.py index 01ba03af458..8ab7c0ed706 100644 --- a/test/__init__.py +++ b/test/__init__.py @@ -1,5 +1,5 @@ ## -# Copyright 2009-2023 Ghent University +# Copyright 2009-2024 Ghent University # # This file is part of EasyBuild, # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en), diff --git a/test/easyconfigs/easyconfigs.py b/test/easyconfigs/easyconfigs.py index 41a322acdb4..8279a98c16b 100644 --- a/test/easyconfigs/easyconfigs.py +++ b/test/easyconfigs/easyconfigs.py @@ -1,5 +1,5 @@ ## -# Copyright 2013-2023 Ghent University +# Copyright 2013-2024 Ghent University # # This file is part of EasyBuild, # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en), @@ -336,6 +336,14 @@ def test_deps(self): fails = [] for ec in self.parsed_easyconfigs: + # make sure we don't add backdoored XZ versions (5.6.0, 5.6.1) + # see https://access.redhat.com/security/cve/CVE-2024-3094 + if ec['ec']['name'] == 'XZ' and ec['ec']['version'] in ('5.6.0', '5.6.1'): + fail = ("XZ versions 5.6.0 and 5.6.1 contain malicious code, and should not be introduced into" + " EasyBuild. Please use another version instead. For more details, see" + " https://access.redhat.com/security/cve/CVE-2024-3094") + fails.append(fail) + # make sure that no odd versions (like 1.13) of HDF5 are used as a dependency, # since those are released candidates - only even versions (like 1.12) are stable releases; # see https://docs.hdfgroup.org/archive/support/HDF5/doc/TechNotes/Version.html @@ -355,9 +363,9 @@ def check_dep_vars(self, gen, dep, dep_vars): # '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 = [] @@ -394,6 +402,18 @@ def check_dep_vars(self, gen, dep, dep_vars): if all(ec.startswith('%s-%s-' % (parent_name, dep_ver)) for ec in ecs) and len(dep_vars) > 1: dep_vars.pop(key) + # multiple variants of Meson is OK as long as they are deps for meson-python, since meson-python should only be + # a build dependency elsewhere + if dep == 'Meson' and len(dep_vars) > 1: + for key in list(dep_vars): + ecs = dep_vars[key] + # filter out Meson variants that are only used as a dependency for meson-python + if all(ec.startswith('meson-python-') for ec in ecs): + dep_vars.pop(key) + # always retain at least one dep variant + if len(dep_vars) == 1: + break + # multiple versions of Boost is OK as long as they are deps for a matching Boost.Python if dep == 'Boost' and len(dep_vars) > 1: for key in list(dep_vars): @@ -419,6 +439,10 @@ def check_dep_vars(self, gen, dep, dep_vars): # 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 @@ -565,6 +589,8 @@ def check_dep_vars(self, gen, dep, dep_vars): # 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; @@ -587,6 +613,11 @@ def check_dep_vars(self, gen, dep, dep_vars): # OpenFOAM 5.0 requires older ParaView, CFDEMcoupling depends on OpenFOAM 5.0 (r'5\.4\.1', [r'CFDEMcoupling-3\.8\.0', r'OpenFOAM-5\.0-20180606']), ], + 'pydantic': [ + # GTDB-Tk v2.3.2 requires pydantic 1.x (see https://github.com/Ecogenomics/GTDBTk/pull/530) + ('1.10.13;', ['GTDB-Tk-2.3.2-', '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 @@ -598,13 +629,14 @@ def check_dep_vars(self, gen, dep, dep_vars): ], # 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'])], + r'CGmapTools-0\.1\.2', r'BatMeth2-2\.1', r'OPERA-MS-0\.9\.0-20240703'])], # 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 - 'tbb': [('2020.3', ['UShER-0.5.0-'])], + # 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 @@ -631,6 +663,10 @@ def check_dep_vars(self, gen, dep, dep_vars): # 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 @@ -967,14 +1003,13 @@ 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""" @@ -995,7 +1030,7 @@ def test_easyconfig_name_clashes(self): duplicates[name] = names[name] if duplicates: - self.assertTrue(False, "EasyConfigs with case-insensitive name clash: %s" % 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): @@ -1013,25 +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' - bundle_easyblocks = ['Bundle', 'CargoPythonBundle', 'PythonBundle', 'EB_OpenSSL_wrapper'] - for ec in self.changed_ecs: - if ec['easyblock'] in bundle_easyblocks or ec['name'] in ['Clang-AOMP']: - 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() @@ -1048,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 = [] @@ -1181,8 +1215,9 @@ def test_pr_sanity_check_paths(self): # 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', 'CargoPythonBundle', 'CargoPythonPackage', 'CMakePythonPackage', 'CrayToolchain', - 'GoPackage', 'JuliaBundle', 'ModuleRC', 'PerlBundle', '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, @@ -1330,6 +1365,51 @@ def test_pr_patch_descr(self): self.assertFalse(no_descr_patches, "No description found in patches: %s" % ', '.join(no_descr_patches)) +def verify_patch(specdir, patch_spec, checksum_idx, patch_checksums, extension_name=None): + """Verify existance and checksum of the given patch. + + specdir - Directory of the easyconfig + patch_spec - Patch entry + checksum_idx - Expected index in the checksum list + patch_checksums - List of checksums for patches + extension_name - Name of the extensions this patch is for if any + + Return a (possibly empty) list of failure messages + """ + patch_dir = specdir + if isinstance(patch_spec, str): + patch_name = patch_spec + elif isinstance(patch_spec, (tuple, list)): + patch_name = patch_spec[0] + elif isinstance(patch_spec, dict): + patch_name = patch_spec['name'] + alt_location = patch_spec.get('alt_location') + if alt_location: + basedir = os.path.dirname(os.path.dirname(specdir)) + patch_dir = os.path.join(basedir, letter_dir_for(alt_location), alt_location) + else: + # Should have already been verified + raise RuntimeError('Patch spec is not a string, tuple, list or dict: %s\nType: %s' % (patch_spec, + type(patch_spec))) + + patch_path = os.path.join(patch_dir, patch_name) + patch_descr = "patch file " + patch_name + if extension_name: + patch_descr += "of extension " + extension_name + + # only check actual patch files, not other files being copied via the patch functionality + if patch_path.endswith('.patch'): + if not os.path.isfile(patch_path): + return [patch_descr + "is missing"] + + if checksum_idx < len(patch_checksums): + checksum = patch_checksums[checksum_idx] + if not verify_checksum(patch_path, checksum): + return ["Invalid checksum for %s: %s" % (patch_descr, checksum)] + + return [] # No error + + def template_easyconfig_test(self, spec): """Tests for an individual easyconfig: parsing, instantiating easyblock, check patches, ...""" @@ -1346,7 +1426,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)) @@ -1390,18 +1470,20 @@ def template_easyconfig_test(self, spec): app = app_class(ec) # more sanity checks - self.assertTrue(name, app.name) - self.assertTrue(ec['version'], app.version) + self.assertEqual(name, app.name) + self.assertEqual(ec['version'], app.version) + + failing_checks = [] # make sure that deprecated 'dummy' toolchain is no longer used, should use 'system' toolchain instead - ec_fn = os.path.basename(spec) - error_msg_tmpl = "%s should use 'system' toolchain rather than deprecated 'dummy' toolchain" - self.assertFalse(ec['toolchain']['name'] == 'dummy', error_msg_tmpl % os.path.basename(spec)) + if ec['toolchain']['name'] == 'dummy': + failing_checks.append("%s should use 'system' toolchain rather than deprecated 'dummy' toolchain") # make sure that $root is not used, since it is not compatible with module files in Lua syntax res = re.findall(r'.*\$root.*', ec.rawtxt, re.M) - error_msg = "Found use of '$root', not compatible with modules in Lua syntax, use '%%(installdir)s' instead: %s" - self.assertFalse(res, error_msg % res) + if res: + failing_checks.append("Found use of '$root', not compatible with modules in Lua syntax, " + "use '%%(installdir)s' instead: %s" % res) # check for redefined easyconfig parameters, there should be none... param_def_regex = re.compile(r'^(?P\w+)\s*=', re.M) @@ -1412,10 +1494,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 = [ @@ -1423,8 +1504,10 @@ 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': @@ -1442,15 +1525,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 @@ -1470,51 +1553,33 @@ 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:] + src_cnt = len(sources) + patch_checksums = checksums[src_cnt:] # make sure all patch files are available specdir = os.path.dirname(spec) - basedir = os.path.dirname(os.path.dirname(specdir)) - specfn = os.path.basename(spec) - for idx, patch in enumerate(ec['patches']): - patch_dir = specdir - if isinstance(patch, str): - 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(patch_dir, patch_name) - if patch_name.endswith('.patch'): - msg = "Patch file %s is available for %s" % (patch_full, specfn) - self.assertTrue(os.path.isfile(patch_full), msg) - - # verify checksum for each patch file - if idx < len(patch_checksums) and (os.path.exists(patch_full) or patch_name.endswith('.patch')): - checksum = patch_checksums[idx] - error_msg = "Invalid checksum for patch file %s in %s: %s" % (patch_name, ec_fn, checksum) - res = verify_checksum(patch_full, checksum) - self.assertTrue(res, error_msg) + + for idx, patch in enumerate(patches): + failing_checks.extend(verify_patch(specdir, patch, idx, patch_checksums)) # 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.get_ref('exts_list'): if isinstance(ext, (tuple, list)) and len(ext) == 3: ext_name = ext[0] - self.assertTrue(isinstance(ext[2], dict), - "3rd element of extension spec for %s must be a dictionary" % ext_name) + if not isinstance(ext[2], dict): + failing_checks.append("3rd element of extension spec for %s must be a dictionary" % ext_name) + + # Need to check now as collect_exts_file_info relies on correct exts_list + if failing_checks: + self.fail('Verification for %s failed:\n' % os.path.basename(spec) + '\n'.join(failing_checks)) - ext_patch_issues = [] # After the sanity check above, use collect_exts_file_info to resolve templates etc. correctly for ext in app.collect_exts_file_info(fetch_files=False, verify_checksums=False): try: @@ -1528,28 +1593,13 @@ def template_easyconfig_test(self, spec): patch_checksums = checksums[src_cnt:] 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['name']) - if ext_patch_full.endswith('.patch') and not os.path.isfile(ext_patch_full): - ext_patch_issues.append("Patch file %s for extension %s is missing." % (ext_patch['name'], ext_name)) - continue - - # verify checksum for each patch file - if idx < len(patch_checksums) and os.path.exists(ext_patch_full): - checksum = patch_checksums[idx] - if not verify_checksum(ext_patch_full, checksum): - ext_patch_issues.append("Invalid checksum for patch %s for extension %s: %s." - % (ext_patch['name'], ext_name, checksum)) - if ext_patch_issues: - self.fail("Verification of patches for %s failed:\n%s" % (ec_fn, '\n'.join(ext_patch_issues))) + failing_checks.extend(verify_patch(specdir, ext_patch, idx, patch_checksums, extension_name=ext_name)) # 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) @@ -1587,24 +1637,32 @@ def template_easyconfig_test(self, spec): # if may get resolved using a subtoolchain, which is then hardcoded in the dumped easyconfig if key in DEPENDENCY_PARAMETERS: # number of dependencies should remain the same - self.assertEqual(len(orig_val), len(dumped_val)) + if len(orig_val) != len(dumped_val): + failing_checks.append("Length difference for %s: %s vs %s" % (key, orig_val, dumped_val)) + continue for orig_dep, dumped_dep in zip(orig_val, dumped_val): # name should always match - self.assertEqual(orig_dep[0], dumped_dep[0]) + if orig_dep[0] != dumped_dep[0]: + failing_checks.append("Different name in %s: %s vs %s" % (key, orig_dep[0], dumped_dep[0])) + desc = '%s of %s' % (orig_dep[0], key) # version should always match, or be a possibility from the version dict if isinstance(orig_dep[1], dict): - self.assertTrue(dumped_dep[1] in orig_dep[1].values()) - else: - self.assertEqual(orig_dep[1], dumped_dep[1]) + if dumped_dep[1] not in orig_dep[1].values(): + failing_checks.append("Wrong version in %s: %s vs %s" + % (desc, dumped_dep[1], orig_dep[1].values())) + elif orig_dep[1] != dumped_dep[1]: + failing_checks.append("Different version in %s: %s vs %s" % (desc, orig_dep[1], dumped_dep[1])) # 3rd value is versionsuffix; if len(dumped_dep) >= 3: # if no versionsuffix was specified in original dep spec, then dumped value should be empty string if len(orig_dep) >= 3: - self.assertEqual(dumped_dep[2], orig_dep[2]) - else: - self.assertEqual(dumped_dep[2], '') + if orig_dep[2] != dumped_dep[2]: + failing_checks.append("Different versionsuffix in %s: %s vs %s" + % (desc, orig_dep[2], dumped_dep[2])) + elif dumped_dep[2] != '': + failing_checks.append("Unexpected versionsuffix in %s: %s" % (desc, dumped_dep[2])) # 4th value is toolchain spec if len(dumped_dep) >= 4: @@ -1612,31 +1670,38 @@ def template_easyconfig_test(self, spec): # use of `True` is deprecated in favour of the more intuitive `SYSTEM` template if orig_dep[3] is True: if skip_system_template_check: - self.assertEqual(dumped_dep[3], EASYCONFIG_CONSTANTS['SYSTEM'][0]) + if dumped_dep[3] != EASYCONFIG_CONSTANTS['SYSTEM'][0]: + failing_checks.append("Should use SYSTEM in %s, found %s" + % (desc, dumped_dep[3])) else: - error_msg = ( - "use of `True` to indicate the system toolchain for dependency " - "%s is deprecated, use the `SYSTEM` template constant instead" % dumped_dep[0] + failing_checks.append( + "use of `True` to indicate the system toolchain for " + "%s is deprecated, use the `SYSTEM` template constant instead" % desc ) - self.fail(error_msg) - else: - self.assertEqual(dumped_dep[3], orig_dep[3]) + elif orig_dep[3] != dumped_dep[3]: + failing_checks.append("Different toolchain in %s: %s vs %s" + % (desc, orig_dep[3], dumped_dep[3])) else: # if a subtoolchain is specifed (only) in the dumped easyconfig, # it should *not* be the same as the parent toolchain - self.assertNotEqual(dumped_dep[3], (orig_toolchain['name'], orig_toolchain['version'])) + parent_tc = (orig_toolchain['name'], orig_toolchain['version']) + if dumped_dep[3] == parent_tc: + failing_checks.append("Explicit toolchain in %s should not be the parent toolchain (%s)" + % (desc, parent_tc)) # take into account that for some string-valued easyconfig parameters (configopts & co), # the easyblock may have injected additional values, which affects the dumped easyconfig file elif isinstance(orig_val, string_type): - error_msg = "%s value '%s' should start with '%s'" % (key, dumped_val, orig_val) - self.assertTrue(dumped_val.startswith(orig_val), error_msg) - else: - error_msg = "%s value should be equal in original and dumped easyconfig: '%s' vs '%s'" - self.assertEqual(orig_val, dumped_val, error_msg % (key, orig_val, dumped_val)) + if not dumped_val.startswith(orig_val): + failing_checks.append("%s value '%s' should start with '%s'" % (key, dumped_val, orig_val)) + elif orig_val != dumped_val: + failing_checks.append("%s value should be equal in original and dumped easyconfig: '%s' vs '%s'") + + if failing_checks: + self.fail('Verification for %s failed:\n' % os.path.basename(spec) + '\n'.join(failing_checks)) - # test passed, so set back to True - single_tests_ok = True and prev_single_tests_ok + # test passed, so set back + single_tests_ok = prev_single_tests_ok def suite(loader=None): diff --git a/test/easyconfigs/styletests.py b/test/easyconfigs/styletests.py index e765cdfc3f1..8c695514aba 100644 --- a/test/easyconfigs/styletests.py +++ b/test/easyconfigs/styletests.py @@ -1,5 +1,5 @@ ## -# Copyright 2016-2023 Ghent University +# Copyright 2016-2024 Ghent University # # This file is part of EasyBuild, # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en), diff --git a/test/easyconfigs/suite.py b/test/easyconfigs/suite.py index c058d96f0c5..4218fcaa7b2 100644 --- a/test/easyconfigs/suite.py +++ b/test/easyconfigs/suite.py @@ -1,6 +1,6 @@ #!/usr/bin/python ## -# Copyright 2012-2023 Ghent University +# Copyright 2012-2024 Ghent University # # This file is part of EasyBuild, # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),