diff --git a/.github/workflows/tagbot.py b/.github/workflows/tagbot.py new file mode 100644 index 00000000000..9c9710e9a46 --- /dev/null +++ b/.github/workflows/tagbot.py @@ -0,0 +1,182 @@ +import os +import git +import requests +import json +import difflib +from datetime import datetime +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: + print(f"{file_path} has no commit info, putting it last") + return datetime.datetime.min + + +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 diff(old, new): + with open(old, 'r') as old_file, open(new, 'r') as new_file: + old_lines = list(old_file) + new_lines = list(new_file) + return ''.join(difflib.unified_diff( + old_lines, + new_lines, + fromfile=str(old), + tofile=str(new))) + + +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") +pr_ref_name = os.getenv("GITHUB_REF_NAME") + +with open(event_path) as f: + data = json.load(f) + +pr_number = data['pull_request']['number'] + +print("PR number:", pr_number) +print("Repo:", repo) +print("Base branch name:", base_branch_name) +print("PR ref:", pr_ref_name) + +gitrepo = git.Repo(".") + + +target_commit = gitrepo.commit('origin/' + base_branch_name) +pr_commit = gitrepo.commit('pull/' + pr_ref_name) +pr_diff = target_commit.diff(pr_commit) + +new_ecs, changed_ecs = pr_ecs(pr_diff) + +print("Changed ECs:", changed_ecs) +print("Newly added ECs:", new_ecs) + +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 += diff(neighbour, new_file) + comment += '```\n
\n\n' + +print("Adjusting labels") +current_labels = [label['name'] for label in data['pull_request']['labels']] + +labels_add = [] +labels_del = [] +for condition, label in [(changed_ecs, 'change'), (new_software, 'new'), (updated_software, 'update')]: + 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..1d382dae51d --- /dev/null +++ b/.github/workflows/tagbot.yml @@ -0,0 +1,30 @@ +name: Tagbot +on: [pull_request] + +jobs: + tagbot: + runs-on: ubuntu-24.04 + permissions: + pull-requests: write + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - run: | + # Make sure the script is unmodified + echo "8be2d295e8436ce557acc8a4d3b82a639913ae65de0d1a76871f21359b4e8d9f .github/workflows/tagbot.py"|sha256sum --check --status + + - 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/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/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/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/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/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/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/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/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 index e292bfcc18b..378a9deec6b 100644 --- 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 @@ -29,6 +29,7 @@ checksums = [ builddependencies = [ ('binutils', '2.40'), ('CMake', '3.26.3'), + ('patchelf', '0.18.0'), ] dependencies = [ @@ -70,6 +71,22 @@ configopts += "-DDORADO_LIBTORCH_DIR=$EBROOTPYTORCH/lib " # 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': [], 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 index 0e32e9616ca..9927f0492b4 100644 --- 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 @@ -34,6 +34,7 @@ checksums = [ builddependencies = [ ('binutils', '2.40'), ('CMake', '3.26.3'), + ('patchelf', '0.18.0'), ] dependencies = [ @@ -77,7 +78,23 @@ _copts = [ '-DCMAKE_C_FLAGS="$CFLAGS -pthread"', ] -configopts = ' '.join(_copts) +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'], 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 index bf8dbf8c6a8..778c00e0d6e 100644 --- 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 @@ -32,6 +32,7 @@ checksums = [ builddependencies = [ ('binutils', '2.40'), ('CMake', '3.26.3'), + ('patchelf', '0.18.0'), ] dependencies = [ @@ -76,7 +77,23 @@ _copts = [ '-DCMAKE_C_FLAGS="$CFLAGS -pthread"', ] -configopts = ' '.join(_copts) +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'], 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/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/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/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/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/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/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.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/i/IPython/IPython-8.27.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/i/IPython/IPython-8.27.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..a85e58910e9 --- /dev/null +++ b/easybuild/easyconfigs/i/IPython/IPython-8.27.0-GCCcore-13.3.0.eb @@ -0,0 +1,80 @@ +easyblock = 'PythonBundle' + +name = 'IPython' +version = '8.27.0' + +homepage = 'https://ipython.org/index.html' +description = """IPython provides a rich architecture for interactive computing with: + Powerful interactive shells (terminal and Qt-based). + A browser-based notebook with support for code, text, mathematical expressions, inline plots and other rich media. + Support for interactive data visualization and use of GUI toolkits. + Flexible, embeddable interpreters to load into your own projects. + Easy to use, high performance tools for parallel computing.""" + +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'), + ('ZeroMQ', '4.3.5'), + ('lxml', '5.3.0'), + ('jedi', '0.19.1') +] + +sanity_pip_check = True +use_pip = True + +# for the matplotlib-inline required extention we avoid the import sanity check +# as it will fail without matplotlib in the environment, but ipython devs prefer not to make +# matplotlib a required dep (https://github.com/ipython/matplotlib-inline/issues/4) +# we follow the same convention and we not set matplotlib as dependency + +# Last updated 20240917 +exts_list = [ + ('traitlets', '5.14.3', { + 'checksums': ['9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7'], + }), + ('pure_eval', '0.2.3', { + 'checksums': ['5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42'], + }), + ('executing', '2.1.0', { + 'checksums': ['8ea27ddd260da8150fa5a708269c4a10e76161e2496ec3e587da9e3c0fe4b9ab'], + }), + ('asttokens', '2.4.1', { + 'checksums': ['b03869718ba9a6eb027e134bfdf69f38a236d681c83c160d510768af11254ba0'], + }), + ('stack_data', '0.6.3', { + 'checksums': ['836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9'], + }), + ('prompt_toolkit', '3.0.47', { + 'checksums': ['1e1b29cb58080b1e69f207c893a1a7bf16d127a5c30c9d17a25a5d77792e5360'], + }), + ('pickleshare', '0.7.5', { + 'checksums': ['87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca'], + }), + ('matplotlib-inline', '0.1.6', { + 'modulename': False, + 'checksums': ['f887e5f10ba98e8d2b150ddcf4702c1e5f8b3a20005eb0f74bfdbd360ee6f304'], + }), + ('backcall', '0.2.0', { + 'checksums': ['5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e'], + }), + ('ipython', version, { + 'modulename': 'IPython', + 'checksums': ['0b99a2dc9f15fd68692e898e5568725c6d49c527d36a9fb5960ffbdeaa82ff7e'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'], +} + +sanity_check_commands = ['%(namelower)s -h'] + +moduleclass = 'tools' 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/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/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/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/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/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.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/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/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/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/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/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/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/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/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/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/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/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/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 index 53acb414c76..4673651a654 100644 --- a/easybuild/easyconfigs/p/parallel/parallel-20240322-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/p/parallel/parallel-20240322-GCCcore-13.2.0.eb @@ -14,13 +14,19 @@ checksums = ['0b17029a203dabf7ba6ca7e52c2d3910fff46b2979476e12a9110920b79e6a95'] builddependencies = [('binutils', '2.40')] -dependencies = [('Perl', '5.38.0')] +dependencies = [ + ('Perl', '5.38.0'), + ('Perl-bundle-CPAN', '5.38.0'), +] 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-20240722-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/parallel/parallel-20240722-GCCcore-13.3.0.eb index 92658cc24b7..e3f60b06f2c 100644 --- a/easybuild/easyconfigs/p/parallel/parallel-20240722-GCCcore-13.3.0.eb +++ b/easybuild/easyconfigs/p/parallel/parallel-20240722-GCCcore-13.3.0.eb @@ -14,13 +14,19 @@ checksums = ['c7335471f776af28bea9464ad85a50f2ed120f78fbf75ead6647aeea8e0e53f0'] builddependencies = [('binutils', '2.42')] -dependencies = [('Perl', '5.38.2')] +dependencies = [ + ('Perl', '5.38.2'), + ('Perl-bundle-CPAN', '5.38.2'), +] 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/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/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/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 index 4ac7b2ae50d..90f04ab5dff 100644 --- 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 @@ -31,12 +31,18 @@ toolchain = {'name': 'GCCcore', 'version': '13.2.0'} source_urls = ['https://apps.fz-juelich.de/jsc/%(namelower)s/download.php?version=%(version)sl'] sources = ['%(namelower)s-%(version)sl.tar.gz'] -checksums = ['3b5072d8a32a9e9858d85dfe4dc01e7cfdbf54cdaa60660e760b634ee08d8a4c'] +# 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.3.0-tools.eb b/easybuild/easyconfigs/s/SIONlib/SIONlib-1.7.7-GCCcore-13.3.0-tools.eb index 9d2584de1bb..ff0762c0c4e 100644 --- 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 @@ -31,12 +31,18 @@ toolchain = {'name': 'GCCcore', 'version': '13.3.0'} source_urls = ['https://apps.fz-juelich.de/jsc/%(namelower)s/download.php?version=%(version)sl'] sources = ['%(namelower)s-%(version)sl.tar.gz'] -checksums = ['3b5072d8a32a9e9858d85dfe4dc01e7cfdbf54cdaa60660e760b634ee08d8a4c'] +# 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: 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/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/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/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/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/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/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/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/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/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/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/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/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/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/test/easyconfigs/easyconfigs.py b/test/easyconfigs/easyconfigs.py index 0626f94e5f3..eca5c4e2add 100644 --- a/test/easyconfigs/easyconfigs.py +++ b/test/easyconfigs/easyconfigs.py @@ -1365,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, ...""" @@ -1516,27 +1561,9 @@ def template_easyconfig_test(self, spec): # make sure all patch files are available specdir = os.path.dirname(spec) - basedir = os.path.dirname(os.path.dirname(specdir)) + for idx, patch in enumerate(patches): - patch_dir = specdir - if isinstance(patch, str): - patch_name = patch - elif isinstance(patch, (tuple, list)): - patch_name = patch[0] - elif isinstance(patch, dict): - patch_name = patch['name'] - if patch['alt_location']: - patch_dir = os.path.join(basedir, letter_dir_for(patch['alt_location']), patch['alt_location']) - - # only check actual patch files, not other files being copied via the patch functionality - patch_full = os.path.join(patch_dir, patch_name) - if patch_name.endswith('.patch') and not os.path.isfile(patch_full): - failing_checks.append("Patch file %s is missing" % patch_full) - # verify checksum for each patch file - elif idx < len(patch_checksums) and (os.path.exists(patch_full) or patch_name.endswith('.patch')): - checksum = patch_checksums[idx] - if not verify_checksum(patch_full, checksum): - failing_checks.append("Invalid checksum for patch file %s: %s" % (patch_name, checksum)) + 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 @@ -1566,21 +1593,7 @@ 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): - failing_checks.append("Patch file %s for extension %s is missing." % (ext_patch['name'], ext_name)) - continue - - # verify checksum for each patch file - if idx < len(patch_checksums) and os.path.exists(ext_patch_full): - checksum = patch_checksums[idx] - if not verify_checksum(ext_patch_full, checksum): - failing_checks.append("Invalid checksum for patch %s for extension %s: %s." - % (ext_patch['name'], ext_name, checksum)) + 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()