diff --git a/.github/workflows/tagbot.py b/.github/workflows/tagbot.py index 9c9710e9a46..26472f8bcbd 100644 --- a/.github/workflows/tagbot.py +++ b/.github/workflows/tagbot.py @@ -1,9 +1,11 @@ +# NOTE: In order to write comment and edit labels, this script requires workflows with write permissions. +# It should not use any untrusted third party code, or any code checked into the repository itself +# as that could indirectly grant PRs the ability to edit labels and comments on PRs. + import os import git import requests import json -import difflib -from datetime import datetime from pathlib import Path @@ -12,8 +14,7 @@ def get_first_commit_date(repo, 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 + raise ValueError(f'{file_path} has no commit info, this should not happen') def sort_by_added_date(repo, file_paths): @@ -27,17 +28,6 @@ def similar_easyconfigs(repo, 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 = [] @@ -51,33 +41,38 @@ def pr_ecs(pr_diff): 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") +event_path = os.getenv('GITHUB_EVENT_PATH') +token = os.getenv('GH_TOKEN') +repo = os.getenv('GITHUB_REPOSITORY') +base_branch_name = os.getenv('GITHUB_BASE_REF') with open(event_path) as f: data = json.load(f) pr_number = data['pull_request']['number'] +# Can't rely on merge_commit_sha for pull_request_target as it might be outdated +# merge_commit_sha = data['pull_request']['merge_commit_sha'] print("PR number:", pr_number) -print("Repo:", repo) print("Base branch name:", base_branch_name) -print("PR ref:", pr_ref_name) - -gitrepo = git.Repo(".") +# Change into "pr" checkout directory to allow diffs and glob to work on the same content +os.chdir('pr') +gitrepo = git.Repo('.') target_commit = gitrepo.commit('origin/' + base_branch_name) -pr_commit = gitrepo.commit('pull/' + pr_ref_name) -pr_diff = target_commit.diff(pr_commit) +print("Target commit ref:", target_commit) +merge_commit = gitrepo.head.commit +print("Merge commit:", merge_commit) +pr_diff = target_commit.diff(merge_commit) new_ecs, changed_ecs = pr_ecs(pr_diff) +modified_workflow = any(item.a_path.startswith('.github/workflows/') for item in pr_diff) + -print("Changed ECs:", changed_ecs) -print("Newly added ECs:", new_ecs) +print("Changed ECs:", ', '.join(str(p) for p in changed_ecs)) +print("Newly added ECs:", ', '.join(str(p) for p in new_ecs)) +print("Modified workflow:", modified_workflow) new_software = 0 updated_software = 0 @@ -116,15 +111,20 @@ def pr_ecs(pr_diff): 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' + comment += gitrepo.git.diff(f'HEAD:{neighbour}', f'HEAD:{new_file}') + comment += '\n```\n\n\n' print("Adjusting labels") current_labels = [label['name'] for label in data['pull_request']['labels']] +label_checks = [(changed_ecs, 'change'), + (new_software, 'new'), + (updated_software, 'update'), + (modified_workflow, 'workflow')] + labels_add = [] labels_del = [] -for condition, label in [(changed_ecs, 'change'), (new_software, 'new'), (updated_software, 'update')]: +for condition, label in label_checks: if condition and label not in current_labels: labels_add.append(label) elif not condition and label in current_labels: diff --git a/.github/workflows/tagbot.yml b/.github/workflows/tagbot.yml index 1d382dae51d..8c0fa06294b 100644 --- a/.github/workflows/tagbot.yml +++ b/.github/workflows/tagbot.yml @@ -1,19 +1,43 @@ name: Tagbot -on: [pull_request] +on: [pull_request_target] + +concurrency: + group: "${{ github.workflow }}-${{ github.event.pull_request.number }}" + cancel-in-progress: true jobs: tagbot: + # Note: can't rely on github.event.pull_request.merge_commit_sha because pull_request_target + # does not wait for github mergability check, and the value is outdated. + # Instead we merge manually in a temporary subdir "pr" runs-on: ubuntu-24.04 permissions: pull-requests: write steps: - - uses: actions/checkout@v4 + - name: Checkout base branch for workflow scripts + uses: actions/checkout@v4 + + - name: Checkout PR for computing diff into "pr" subdirectory + uses: actions/checkout@v4 with: + ref: "${{ github.event.pull_request.head.sha }}" + path: 'pr' fetch-depth: 0 + + - name: Attempt test merge + id: merge + run: | + git config user.name "github-workflow" + git config user.email "github-workflow@github.com" + git merge --no-edit --no-ff origin/${{ github.event.pull_request.base.ref }} + continue-on-error: true + working-directory: pr - - run: | - # Make sure the script is unmodified - echo "8be2d295e8436ce557acc8a4d3b82a639913ae65de0d1a76871f21359b4e8d9f .github/workflows/tagbot.py"|sha256sum --check --status + - name: Abort if merge failed + if: steps.merge.outcome == 'failure' + run: | + echo "Merge conflict detected, failing job." + exit 1 - name: set up Python uses: actions/setup-python@v5 diff --git a/easybuild/easyconfigs/a/ASE/ASE-3.23.0-gfbf-2023b.eb b/easybuild/easyconfigs/a/ASE/ASE-3.23.0-gfbf-2023b.eb new file mode 100644 index 00000000000..07ad1ecc555 --- /dev/null +++ b/easybuild/easyconfigs/a/ASE/ASE-3.23.0-gfbf-2023b.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'ASE' +version = '3.23.0' + +homepage = 'https://wiki.fysik.dtu.dk/ase' +description = """ASE is a python package providing an open source Atomic Simulation Environment + in the Python scripting language. + +From version 3.20.1 we also include the ase-ext package, it contains optional reimplementations +in C of functions in ASE. ASE uses it automatically when installed.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('SciPy-bundle', '2023.11'), + ('Flask', '3.0.0'), + ('matplotlib', '3.8.2'), + ('Tkinter', '%(pyver)s'), # Needed by GUI of ASE + ('spglib-python', '2.5.0'), # optional +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pytest-mock', '3.14.0', { + 'checksums': ['2719255a1efeceadbc056d6bf3df3d1c5015530fb40cf347c0f9afac88410bd0'], + }), + ('ase', version, { + 'checksums': ['91a2aa31d89bd90b0efdfe4a7e84264f32828b2abfc9f38e65e041ad76fec8ae'], + }), + ('ase-ext', '20.9.0', { + 'checksums': ['a348b0e42cf9fdd11f04b3df002b0bf150002c8df2698ff08d3c8fc7a1223aed'], + }), +] + +sanity_check_paths = { + 'files': ['bin/ase'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +# make sure Tkinter is available, otherwise 'ase gui' will not work +sanity_check_commands = ["python -c 'import tkinter' "] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/b/BCFtools/BCFtools-1.21-GCC-13.3.0.eb b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.21-GCC-13.3.0.eb new file mode 100644 index 00000000000..ad508758ba5 --- /dev/null +++ b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.21-GCC-13.3.0.eb @@ -0,0 +1,40 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Author: Jonas Demeulemeester +# The Francis Crick Insitute, London, UK +# Updated to 1.21 jpecar / EMBL + +easyblock = 'ConfigureMake' + +name = 'BCFtools' +version = '1.21' + +homepage = 'https://www.htslib.org/' +description = """Samtools is a suite of programs for interacting with high-throughput sequencing data. + BCFtools - Reading/writing BCF2/VCF/gVCF files and calling/filtering/summarising SNP and short indel sequence + variants""" + +toolchain = {'name': 'GCC', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['528a4cc1d3555368db75a700b22a3c95da893fd1827f6d304716dfd45ea4e282'] + +dependencies = [ + ('zlib', '1.3.1'), + ('HTSlib', '1.21'), + ('bzip2', '1.0.8'), + ('XZ', '5.4.5'), + ('GSL', '2.8'), +] + +configopts = "--with-htslib=$EBROOTHTSLIB --enable-libgsl" + + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'bin/plot-vcfstats', 'bin/vcfutils.pl'], + 'dirs': ['libexec/%(namelower)s'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/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/g/GSL/GSL-2.8-GCC-13.3.0.eb b/easybuild/easyconfigs/g/GSL/GSL-2.8-GCC-13.3.0.eb new file mode 100644 index 00000000000..251304ed936 --- /dev/null +++ b/easybuild/easyconfigs/g/GSL/GSL-2.8-GCC-13.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'GSL' +version = '2.8' + +homepage = 'https://www.gnu.org/software/gsl/' +description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" + +toolchain = {'name': 'GCC', 'version': '13.3.0'} +toolchainopts = {'unroll': True, 'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['6a99eeed15632c6354895b1dd542ed5a855c0f15d9ad1326c6fe2b2c9e423190'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['gsl-config', 'gsl-histogram', 'gsl-randist']] + + ['include/gsl/gsl_types.h'] + + ['lib/lib%s.%s' % (x, SHLIB_EXT) for x in ['gsl', 'gslcblas']], + 'dirs': [], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-2.4.0-foss-2023a.eb b/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-2.4.0-foss-2023a.eb index 271be65a5dd..a8f48c5966b 100644 --- a/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-2.4.0-foss-2023a.eb +++ b/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-2.4.0-foss-2023a.eb @@ -19,7 +19,7 @@ dependencies = [ ('prodigal', '2.6.3'), ('HMMER', '3.4'), ('pplacer', '1.1.alpha19', '', SYSTEM), - ('FastANI', '1.34'), + ('skani', '0.2.2'), ('FastTree', '2.1.11'), ('Mash', '2.3'), ('tqdm', '4.66.1'), diff --git a/easybuild/easyconfigs/g/GTK3/GTK3-3.24.42-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.42-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..2df9a346d4a --- /dev/null +++ b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.42-GCCcore-13.3.0.eb @@ -0,0 +1,72 @@ +easyblock = 'Bundle' + +name = 'GTK3' +version = '3.24.42' + +homepage = 'https://developer.gnome.org/gtk3/stable/' +description = """GTK+ is the primary library used to construct user interfaces in GNOME. It + provides all the user interface controls, or widgets, used in a common + graphical application. Its object-oriented API allows you to construct + user interfaces without dealing with the low-level details of drawing and + device interaction. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +builddependencies = [ + ('binutils', '2.42'), + ('Autotools', '20231222'), + ('Meson', '1.4.0'), + ('Ninja', '1.12.1'), + ('pkgconf', '2.2.0'), + ('GObject-Introspection', '1.80.1'), +] + +dependencies = [ + ('ATK', '2.38.0'), + ('at-spi2-atk', '2.38.0'), + ('cairo', '1.18.0'), + ('Gdk-Pixbuf', '2.42.11'), + ('GLib', '2.80.4'), + ('Pango', '1.54.0'), + ('libepoxy', '1.5.10'), + ('X11', '20240607'), + ('FriBidi', '1.0.15'), + ('Wayland', '1.23.0'), +] + +default_easyblock = 'MesonNinja' + +default_component_specs = { + 'sources': [SOURCELOWER_TAR_XZ], + 'start_dir': '%(namelower)s-%(version)s', +} + +components = [ + ('GTK+', version, { + 'source_urls': [FTPGNOME_SOURCE], + 'checksums': ['50f89f615092d4dd01bbd759719f8bd380e5f149f6fd78a94725e2de112377e2'], + }), + ('hicolor-icon-theme', '0.18', { + 'easyblock': 'MesonNinja', + 'source_urls': ['https://icon-theme.freedesktop.org/releases/'], + 'checksums': ['db0e50a80aa3bf64bb45cbca5cf9f75efd9348cf2ac690b907435238c3cf81d7'], + }), + ('adwaita-icon-theme', '47.0', { + 'source_urls': ['https://ftp.gnome.org/pub/GNOME/sources/%(namelower)s/%(version_major)s'], + 'checksums': ['ad088a22958cb8469e41d9f1bba0efb27e586a2102213cd89cc26db2e002bdfe'], + }), +] + +postinstallcmds = ['gtk-update-icon-cache'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['gtk3-demo', 'gtk3-demo-application', 'gtk3-icon-browser', 'gtk3-widget-factory', + 'gtk-builder-tool', 'gtk-launch', 'gtk-query-immodules-3.0', 'gtk-query-settings', + 'gtk-update-icon-cache']] + + ['lib/%s-%%(version_major)s.%s' % (x, SHLIB_EXT) for x in ['libgailutil', 'libgdk', 'libgtk']], + 'dirs': ['include/%s-%%(version_major)s.0' % x for x in ['gail', 'gtk']] + + ['share/icons/hicolor', 'share/icons/Adwaita'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/gperftools/gperftools-2.16-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/gperftools/gperftools-2.16-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..1a31ffabd1b --- /dev/null +++ b/easybuild/easyconfigs/g/gperftools/gperftools-2.16-GCCcore-13.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'gperftools' +version = '2.16' + +homepage = 'https://github.com/gperftools/gperftools' +description = """ +gperftools is a collection of a high-performance multi-threaded malloc() +implementation, plus some pretty nifty performance analysis tools. +Includes TCMalloc, heap-checker, heap-profiler and cpu-profiler. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +github_account = '%(name)s' +source_urls = [GITHUB_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['737be182b4e42f5c7f595da2a7aa59ce0489a73d336d0d16847f2aa52d5221b4'] + +builddependencies = [ + ('Autotools', '20231222'), + ('binutils', '2.42'), +] +dependencies = [ + ('libunwind', '1.8.1'), +] + +preconfigopts = "autoreconf -f -i && " +configopts = '--enable-libunwind' + +sanity_check_paths = { + 'files': ['bin/pprof', 'lib/libprofiler.a', 'lib/libprofiler.%s' % SHLIB_EXT, + 'lib/libtcmalloc.a', 'lib/libtcmalloc.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.14.5-gompi-2024a.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.5-gompi-2024a.eb new file mode 100644 index 00000000000..59171962924 --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.5-gompi-2024a.eb @@ -0,0 +1,27 @@ +name = 'HDF5' +# Note: Odd minor releases are only RCs and should not be used. +version = '1.14.5' + +homepage = 'https://portal.hdfgroup.org/display/support' +description = """HDF5 is a data model, library, and file format for storing and managing data. + It supports an unlimited variety of datatypes, and is designed for flexible + and efficient I/O and for high volume and complex data.""" + +toolchain = {'name': 'gompi', 'version': '2024a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/HDFGroup/hdf5/archive'] +sources = ['hdf5_%(version)s.tar.gz'] +checksums = ['c83996dc79080a34e7b5244a1d5ea076abfd642ec12d7c25388e2fdd81d26350'] + +dependencies = [ + ('zlib', '1.3.1'), + ('Szip', '2.1.1'), +] + +postinstallcmds = [ + 'sed -i -r "s, -I[^[:space:]]+H5FDsubfiling , -I%(installdir)s/include ,g" %(installdir)s/bin/h5c++', + 'sed -i -r "s, -I[^[:space:]]+H5FDsubfiling , -I%(installdir)s/include ,g" %(installdir)s/bin/h5pcc', +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HPX/HPX-1.10.0-foss-2024a.eb b/easybuild/easyconfigs/h/HPX/HPX-1.10.0-foss-2024a.eb new file mode 100644 index 00000000000..110ca403b7c --- /dev/null +++ b/easybuild/easyconfigs/h/HPX/HPX-1.10.0-foss-2024a.eb @@ -0,0 +1,78 @@ +# # +# Author: Benjamin Czaja (benjamin.czaja@surf.nl) +# Institute: SURF(sara) +# +# # +easyblock = 'CMakeNinja' + +name = 'HPX' +version = '1.10.0' + +homepage = 'http://stellar-group.org/libraries/hpx/' +description = """HPX (High Performance ParalleX) is a general purpose C++ runtime system + for parallel and distributed applications of any scale.""" + +toolchain = {'name': 'foss', 'version': '2024a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/STEllAR-GROUP/%(namelower)s/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['5720ed7d2460fa0b57bd8cb74fa4f70593fe8675463897678160340526ec3c19'] + +builddependencies = [ + ('CMake', '3.29.3'), + ('Ninja', '1.12.1'), + ('pkgconf', '2.2.0'), +] +dependencies = [ + ('HDF5', '1.14.5'), + ('Boost', '1.85.0'), + ('hwloc', '2.10.0'), + ('gperftools', '2.16'), +] + +configopts = '-DCMAKE_CXX_COMPILER=g++ ' +configopts += '-DHPX_WITH_MALLOC=tcmalloc ' +configopts += '-DHPX_WITH_HWLOC=TRUE ' +configopts += '-DHPX_WITH_GOOGLE_PERFTOOLS=TRUE ' +configopts += '-DHPX_WITH_NETWORKING=TRUE ' +configopts += '-DHPX_WITH_PARCELPORT_TCP=FALSE ' +configopts += '-DHPX_WITH_PARCELPORT_MPI=TRUE ' +configopts += '-DHPX_WITH_TESTS=FALSE ' +configopts += '-DHPX_WITH_EXAMPLES=TRUE ' +# configopts += '-DHPX_WITH_MAX_CPU_COUNT=128' #this should be handled by a hook for the system +# configopts += '-DHPX_WITH_MAX_CPU_COUNT=' + os.cpu_count() +configopts += '-DHPX_WITH_FETCH_ASIO=TRUE ' + +bin_lib_subdirs = ['lib/%(namelower)s/'] + +local_lib_names = [ + 'libhpx_accumulator.%s' % SHLIB_EXT, + 'libhpx_cancelable_action.%s' % SHLIB_EXT, + 'libhpx_component_storage.%s' % SHLIB_EXT, + 'libhpx_core.%s' % SHLIB_EXT, + 'libhpx_iostreams.%s' % SHLIB_EXT, + 'libhpx_jacobi.%s' % SHLIB_EXT, + 'libhpx_nqueen.%s' % SHLIB_EXT, + 'libhpx_partitioned_vector.%s' % SHLIB_EXT, + 'libhpx_process.%s' % SHLIB_EXT, + 'libhpx_random_mem_access.%s' % SHLIB_EXT, + 'libhpx_simple_central_tuplespace.%s' % SHLIB_EXT, + 'libhpx.%s' % SHLIB_EXT, + 'libhpx_startup_shutdown.%s' % SHLIB_EXT, + 'libhpx_template_accumulator.%s' % SHLIB_EXT, + 'libhpx_template_function_accumulator.%s' % SHLIB_EXT, + 'libhpx_throttle.%s' % SHLIB_EXT, + 'libhpx_unordered.%s' % SHLIB_EXT, +] + +sanity_check_paths = { + 'files': ['lib/%s' % lib for lib in local_lib_names] + + ['include/asio.hpp', 'include/hpx/hpx.hpp'] + + ['bin/hpxcxx', 'bin/hpxrun.py'], + 'dirs': ['bin', 'lib'] + bin_lib_subdirs, +} + +modextrapaths = {'LD_LIBRARY_PATH': bin_lib_subdirs} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/h/HTSlib/HTSlib-1.21-GCC-13.3.0.eb b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.21-GCC-13.3.0.eb new file mode 100644 index 00000000000..2f35f9fa5a2 --- /dev/null +++ b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.21-GCC-13.3.0.eb @@ -0,0 +1,41 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel +# 1.4 modified by: +# Adam Huffman, Jonas Demeulemeester +# The Francis Crick Institute +# Updated to 1.14 +# J. Sassmannshausen /GSTT +# Updated to 1.21 jpecar EMBL + +easyblock = 'ConfigureMake' + +name = 'HTSlib' +version = '1.21' + +homepage = 'https://www.htslib.org/' +description = """A C library for reading/writing high-throughput sequencing data. + This package includes the utilities bgzip and tabix""" + +toolchain = {'name': 'GCC', 'version': '13.3.0'} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['84b510e735f4963641f26fd88c8abdee81ff4cb62168310ae716636aac0f1823'] + +# cURL added for S3 support +dependencies = [ + ('zlib', '1.3.1'), + ('bzip2', '1.0.8'), + ('XZ', '5.4.5'), + ('cURL', '8.7.1'), +] + + +sanity_check_paths = { + 'files': ['bin/bgzip', 'bin/tabix', 'lib/libhts.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2025.0.0.eb b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2025.0.0.eb new file mode 100644 index 00000000000..34a1074639e --- /dev/null +++ b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2025.0.0.eb @@ -0,0 +1,37 @@ +name = 'intel-compilers' +version = '2025.0.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html' +description = "Intel C, C++ & Fortran compilers" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +sources = [ + { + 'source_urls': [ + 'https://registrationcenter-download.intel.com/akdlm/IRC_NAS/ac92f2bb-4818-4e53-a432-f8b34d502f23/' + ], + 'filename': 'intel-dpcpp-cpp-compiler-%(version)s.740_offline.sh', + }, + { + 'source_urls': [ + 'https://registrationcenter-download.intel.com/akdlm/IRC_NAS/69f79888-2d6c-4b20-999e-e99d72af68d4/' + ], + 'filename': 'intel-fortran-compiler-%(version)s.723_offline.sh', + }, +] +checksums = [ + {'intel-dpcpp-cpp-compiler-2025.0.0.740_offline.sh': + '04fadf63789acee731895e631db63f65a98b8279db3d0f48bdf0d81e6103bdd8'}, + {'intel-fortran-compiler-2025.0.0.723_offline.sh': + '2be6d607ce84f35921228595b118fbc516d28587cbc4e6dcf6b7219e5cd1a9a9'}, +] + +local_gccver = '14.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.42', '', ('GCCcore', local_gccver)), +] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.10-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.10-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..bca992c268a --- /dev/null +++ b/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.10-GCCcore-13.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'MesonNinja' + +name = 'libepoxy' +version = '1.5.10' + +homepage = 'https://github.com/anholt/libepoxy' +description = "Epoxy is a library for handling OpenGL function pointer management for you" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +github_account = 'anholt' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['a7ced37f4102b745ac86d6a70a9da399cc139ff168ba6b8002b4d8d43c900c15'] + +builddependencies = [ + ('binutils', '2.42'), + ('Meson', '1.4.0'), + ('Ninja', '1.12.1'), + ('pkgconf', '2.2.0'), +] + +dependencies = [ + ('X11', '20240607'), + ('Mesa', '24.1.3'), +] + +configopts = '-Degl=yes --libdir %(installdir)s/lib ' + +sanity_check_paths = { + 'files': ['include/epoxy/%s.h' % x for x in ['common', 'egl_generated', 'egl', 'gl_generated', + 'gl', 'glx_generated', 'glx']] + + ['lib/libepoxy.%s' % SHLIB_EXT], + 'dirs': ['lib'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.3.2-foss-2018b.eb b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.3.2-foss-2018b.eb index df2d4d407fe..411ee1867d8 100644 --- a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.3.2-foss-2018b.eb +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.3.2-foss-2018b.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'libvdwxc' version = '0.3.2' -homepage = 'http://libvdwxc.org' +homepage = 'https://libvdwxc.materialsmodeling.org/' description = """libvdwxc is a general library for evaluating energy and potential for exchange-correlation (XC) functionals from the vdW-DF family that can be used with various of density functional theory (DFT) codes.""" diff --git a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2019a.eb b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2019a.eb index 99914532433..b750b9a414f 100644 --- a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2019a.eb +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2019a.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'libvdwxc' version = '0.4.0' -homepage = 'http://libvdwxc.org' +homepage = 'https://libvdwxc.materialsmodeling.org/' description = """libvdwxc is a general library for evaluating energy and potential for exchange-correlation (XC) functionals from the vdW-DF family that can be used with various of density functional theory (DFT) codes.""" diff --git a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2019b.eb b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2019b.eb index c9f93a8ff91..a04a99002a9 100644 --- a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2019b.eb +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2019b.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'libvdwxc' version = '0.4.0' -homepage = 'https://libvdwxc.org' +homepage = 'https://libvdwxc.materialsmodeling.org/' description = """libvdwxc is a general library for evaluating energy and potential for exchange-correlation (XC) functionals from the vdW-DF family that can be used with various of density functional theory (DFT) codes.""" diff --git a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2020a.eb b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2020a.eb index c6769e53157..dd9797af734 100644 --- a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2020a.eb +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2020a.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'libvdwxc' version = '0.4.0' -homepage = 'https://libvdwxc.org' +homepage = 'https://libvdwxc.materialsmodeling.org/' description = """libvdwxc is a general library for evaluating energy and potential for exchange-correlation (XC) functionals from the vdW-DF family that can be used with various of density functional theory (DFT) codes.""" diff --git a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2020b.eb b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2020b.eb index 9dee6b6ef26..0e414c5d729 100644 --- a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2020b.eb +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2020b.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'libvdwxc' version = '0.4.0' -homepage = 'https://libvdwxc.org' +homepage = 'https://libvdwxc.materialsmodeling.org/' description = """libvdwxc is a general library for evaluating energy and potential for exchange-correlation (XC) functionals from the vdW-DF family that can be used with various of density functional theory (DFT) codes.""" diff --git a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2021a.eb b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2021a.eb index eb7dd54a47d..843a00aaac2 100644 --- a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2021a.eb +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2021a.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'libvdwxc' version = '0.4.0' -homepage = 'https://libvdwxc.org' +homepage = 'https://libvdwxc.materialsmodeling.org/' description = """libvdwxc is a general library for evaluating energy and potential for exchange-correlation (XC) functionals from the vdW-DF family that can be used with various of density functional theory (DFT) codes.""" diff --git a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2021b.eb b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2021b.eb index c5a0fad835b..1050fbf314f 100644 --- a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2021b.eb +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2021b.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'libvdwxc' version = '0.4.0' -homepage = 'https://libvdwxc.org' +homepage = 'https://libvdwxc.materialsmodeling.org/' description = """libvdwxc is a general library for evaluating energy and potential for exchange-correlation (XC) functionals from the vdW-DF family that can be used with various of density functional theory (DFT) codes.""" diff --git a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2022a.eb b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2022a.eb index b1785ef119b..3b14a5ca707 100644 --- a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2022a.eb +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2022a.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'libvdwxc' version = '0.4.0' -homepage = 'https://libvdwxc.org' +homepage = 'https://libvdwxc.materialsmodeling.org/' description = """libvdwxc is a general library for evaluating energy and potential for exchange-correlation (XC) functionals from the vdW-DF family that can be used with various of density functional theory (DFT) codes.""" diff --git a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2023a.eb b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2023a.eb index 9cf45cc3abe..7c8c009c9d0 100644 --- a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2023a.eb +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2023a.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'libvdwxc' version = '0.4.0' -homepage = 'https://libvdwxc.org' +homepage = 'https://libvdwxc.materialsmodeling.org/' description = """libvdwxc is a general library for evaluating energy and potential for exchange-correlation (XC) functionals from the vdW-DF family that can be used with various of density functional theory (DFT) codes.""" diff --git a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-intel-2020b.eb b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-intel-2020b.eb index 751488a0728..a610d3ec773 100644 --- a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-intel-2020b.eb +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-intel-2020b.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'libvdwxc' version = '0.4.0' -homepage = 'https://libvdwxc.org' +homepage = 'https://libvdwxc.materialsmodeling.org/' description = """libvdwxc is a general library for evaluating energy and potential for exchange-correlation (XC) functionals from the vdW-DF family that can be used with various of density functional theory (DFT) codes.""" diff --git a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-intel-2021a.eb b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-intel-2021a.eb index cdc3abd5a19..e137148b85c 100644 --- a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-intel-2021a.eb +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-intel-2021a.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'libvdwxc' version = '0.4.0' -homepage = 'https://libvdwxc.org' +homepage = 'https://libvdwxc.materialsmodeling.org/' description = """libvdwxc is a general library for evaluating energy and potential for exchange-correlation (XC) functionals from the vdW-DF family that can be used with various of density functional theory (DFT) codes.""" diff --git a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-intel-2021b.eb b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-intel-2021b.eb index c8c0d2a8644..5df0f660f1d 100644 --- a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-intel-2021b.eb +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-intel-2021b.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'libvdwxc' version = '0.4.0' -homepage = 'https://libvdwxc.org' +homepage = 'https://libvdwxc.materialsmodeling.org/' description = """libvdwxc is a general library for evaluating energy and potential for exchange-correlation (XC) functionals from the vdW-DF family that can be used with various of density functional theory (DFT) codes.""" diff --git a/easybuild/easyconfigs/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/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/mosdepth/mosdepth-0.3.9-GCC-12.3.0.eb b/easybuild/easyconfigs/m/mosdepth/mosdepth-0.3.9-GCC-12.3.0.eb new file mode 100644 index 00000000000..8fcad4de92b --- /dev/null +++ b/easybuild/easyconfigs/m/mosdepth/mosdepth-0.3.9-GCC-12.3.0.eb @@ -0,0 +1,48 @@ +easyblock = 'Binary' + +name = 'mosdepth' +version = '0.3.9' +local_hts_nim_ver = '0.3.25' + +homepage = 'https://github.com/brentp/mosdepth' +description = "Fast BAM/CRAM depth calculation for WGS, exome, or targeted sequencing" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +sources = [ + { + 'source_urls': ['https://github.com/brentp/hts-nim/archive/'], + 'download_filename': 'v%s.tar.gz' % local_hts_nim_ver, + 'filename': 'hts-nim-%s.tar.gz' % local_hts_nim_ver, + }, + { + 'source_urls': ['https://github.com/brentp/mosdepth/archive/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }, +] +checksums = [ + {'hts-nim-0.3.25.tar.gz': 'b13b9bb5aa567a69bf17547aadbbd39e37beb4f71a28f267b83dfea9ea4d05e8'}, + {'mosdepth-0.3.9.tar.gz': '9171ea9a6ddaccd0091db5b85fa9e6cb79516bbe005c47ffc8dcfe49c978eb69'}, +] + +dependencies = [ + ('Nim', '2.2.0'), + ('HTSlib', '1.18'), + ('PCRE', '8.45'), +] + +extract_sources = True + +install_cmd = "cd %(builddir)s/hts-nim-*/ && nimble install --nimbleDir:%(installdir)s --verbose -y && " +install_cmd += "cd ../mosdepth-*/ && " +install_cmd += "nimble install --nimbleDir:%(installdir)s --verbose -y" + +sanity_check_paths = { + 'files': ['bin/mosdepth'], + 'dirs': [], +} + +sanity_check_commands = ["mosdepth --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/Nim/Nim-2.2.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/n/Nim/Nim-2.2.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..2214b1c9493 --- /dev/null +++ b/easybuild/easyconfigs/n/Nim/Nim-2.2.0-GCCcore-12.3.0.eb @@ -0,0 +1,17 @@ +name = 'Nim' +version = '2.2.0' + +homepage = 'https://nim-lang.org/' +description = "Nim is a systems and applications programming language." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://nim-lang.org/download/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['ce9842849c9760e487ecdd1cdadf7c0f2844cafae605401c7c72ae257644893c'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('libreadline', '8.2')] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/n/ncdu/ncdu-1.20-GCC-13.3.0.eb b/easybuild/easyconfigs/n/ncdu/ncdu-1.20-GCC-13.3.0.eb new file mode 100644 index 00000000000..e8f91407acf --- /dev/null +++ b/easybuild/easyconfigs/n/ncdu/ncdu-1.20-GCC-13.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'ncdu' +version = '1.20' + +homepage = 'https://dev.yorhel.nl/ncdu' +description = """Ncdu is a disk usage analyzer with an ncurses interface. It is designed to find space hogs on a + remote server where you don't have an entire graphical setup available, but it is a useful tool even on regular + desktop systems. Ncdu aims to be fast, simple and easy to use, and should be able to run in any minimal POSIX-like + environment with ncurses installed.""" + +toolchain = {'name': 'GCC', 'version': '13.3.0'} + +source_urls = ['https://dev.yorhel.nl/download/'] +sources = [SOURCE_TAR_GZ] +checksums = ['5fe2bb841abe72374bb242dbb93293c4ae053078432d896a7481b2ff10be9572'] + +dependencies = [ + ('ncurses', '6.5'), +] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/networkx/networkx-3.4.2-gfbf-2024a.eb b/easybuild/easyconfigs/n/networkx/networkx-3.4.2-gfbf-2024a.eb new file mode 100644 index 00000000000..9adfd4d5246 --- /dev/null +++ b/easybuild/easyconfigs/n/networkx/networkx-3.4.2-gfbf-2024a.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'networkx' +version = '3.4.2' + +homepage = 'https://pypi.python.org/pypi/networkx' +description = """NetworkX is a Python package for the creation, manipulation, +and study of the structure, dynamics, and functions of complex networks.""" + +toolchain = {'name': 'gfbf', 'version': '2024a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['307c3669428c5362aab27c8a1260aa8f47c4e91d3891f48be0141738d8d053e1'] + +dependencies = [ + ('Python', '3.12.3'), + ('SciPy-bundle', '2024.05'), # required for numpy, scipy, ... +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.2.0-seq-iface64.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.2.0-seq-iface64.eb new file mode 100644 index 00000000000..f205e063da9 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.2.0-seq-iface64.eb @@ -0,0 +1,60 @@ +name = 'OpenBLAS' +version = '0.3.27' +versionsuffix = '-seq-iface64' + +homepage = 'https://www.openblas.net/' +description = "OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version." + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = [ + # order matters, trying to download the large.tgz/timing.tgz LAPACK tarballs from GitHub causes trouble + 'https://www.netlib.org/lapack/timing/', + 'https://github.com/xianyi/OpenBLAS/archive/', +] +sources = ['v%(version)s.tar.gz'] +patches = [ + ('large.tgz', '.'), + ('timing.tgz', '.'), + 'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch', + 'OpenBLAS-0.3.21_fix-order-vectorization.patch', + 'OpenBLAS-0.3.26_lapack_qr_noninittest.patch', + 'OpenBLAS-0.3.27_fix_zscal.patch', + 'OpenBLAS-0.3.27_riscv-drop-static-fortran-flag.patch', +] +checksums = [ + {'v0.3.27.tar.gz': 'aa2d68b1564fe2b13bc292672608e9cdeeeb6dc34995512e65c3b10f4599e897'}, + {'large.tgz': 'f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1'}, + {'timing.tgz': '999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af'}, + {'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch': + 'e6b326fb8c4a8a6fd07741d9983c37a72c55c9ff9a4f74a80e1352ce5f975971'}, + {'OpenBLAS-0.3.21_fix-order-vectorization.patch': + '08af834e5d60441fd35c128758ed9c092ba6887c829e0471ecd489079539047d'}, + {'OpenBLAS-0.3.26_lapack_qr_noninittest.patch': '4781bf1d7b239374fd8069e15b4e2c0ef0e8efaa1a7d4c33557bd5b27e5de77c'}, + {'OpenBLAS-0.3.27_fix_zscal.patch': '9210d7b66538dabaddbe1bfceb16f8225708856f60876ca5561b19d3599f9fd1'}, + {'OpenBLAS-0.3.27_riscv-drop-static-fortran-flag.patch': + 'f374e41efffd592ab1c9034df9e7abf1045ed151f4fc0fd0da618ce9826f2d4b'}, +] + +builddependencies = [ + ('make', '4.4.1'), + # required by LAPACK test suite + ('Python', '3.11.5'), +] + +# INTERFACE64=1 needs if you link OpenBLAS for fortran code compied with 64 bit integers (-i8) +# This would be in intel library naming convention ilp64 +# The USE_OPENMP=0 and USE_THREAD=0 needs for the single threaded version +# The USE_LOCKING=1 needs for thread safe version (if threaded software calls OpenBLAS, without it +# OpenBLAS is not thread safe (so only single threaded software would be able to use it) +buildopts = "INTERFACE64=1 USE_OPENMP=0 USE_THREAD=0 USE_LOCKING=1 " +testopts = buildopts +installopts = buildopts + +run_lapack_tests = True +max_failing_lapack_tests_num_errors = 150 + +# extensive testing can be enabled by uncommenting the line below +# runtest = 'PATH=.:$PATH lapack-timing' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0-seq-iface64.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0-seq-iface64.eb new file mode 100644 index 00000000000..5527c667f66 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0-seq-iface64.eb @@ -0,0 +1,60 @@ +name = 'OpenBLAS' +version = '0.3.27' +versionsuffix = '-seq-iface64' + +homepage = 'https://www.openblas.net/' +description = "OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version." + +toolchain = {'name': 'GCC', 'version': '13.3.0'} + +source_urls = [ + # order matters, trying to download the large.tgz/timing.tgz LAPACK tarballs from GitHub causes trouble + 'https://www.netlib.org/lapack/timing/', + 'https://github.com/xianyi/OpenBLAS/archive/', +] +sources = ['v%(version)s.tar.gz'] +patches = [ + ('large.tgz', '.'), + ('timing.tgz', '.'), + 'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch', + 'OpenBLAS-0.3.21_fix-order-vectorization.patch', + 'OpenBLAS-0.3.26_lapack_qr_noninittest.patch', + 'OpenBLAS-0.3.27_fix_zscal.patch', + 'OpenBLAS-0.3.27_riscv-drop-static-fortran-flag.patch', +] +checksums = [ + {'v0.3.27.tar.gz': 'aa2d68b1564fe2b13bc292672608e9cdeeeb6dc34995512e65c3b10f4599e897'}, + {'large.tgz': 'f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1'}, + {'timing.tgz': '999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af'}, + {'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch': + 'e6b326fb8c4a8a6fd07741d9983c37a72c55c9ff9a4f74a80e1352ce5f975971'}, + {'OpenBLAS-0.3.21_fix-order-vectorization.patch': + '08af834e5d60441fd35c128758ed9c092ba6887c829e0471ecd489079539047d'}, + {'OpenBLAS-0.3.26_lapack_qr_noninittest.patch': '4781bf1d7b239374fd8069e15b4e2c0ef0e8efaa1a7d4c33557bd5b27e5de77c'}, + {'OpenBLAS-0.3.27_fix_zscal.patch': '9210d7b66538dabaddbe1bfceb16f8225708856f60876ca5561b19d3599f9fd1'}, + {'OpenBLAS-0.3.27_riscv-drop-static-fortran-flag.patch': + 'f374e41efffd592ab1c9034df9e7abf1045ed151f4fc0fd0da618ce9826f2d4b'}, +] + +builddependencies = [ + ('make', '4.4.1'), + # required by LAPACK test suite + ('Python', '3.12.3'), +] + +# INTERFACE64=1 needs if you link OpenBLAS for fortran code compied with 64 bit integers (-i8) +# This would be in intel library naming convention ilp64 +# The USE_OPENMP=0 and USE_THREAD=0 needs for the single threaded version +# The USE_LOCKING=1 needs for thread safe version (if threaded software calls OpenBLAS, without it +# OpenBLAS is not thread safe (so only single threaded software would be able to use it) +buildopts = "INTERFACE64=1 USE_OPENMP=0 USE_THREAD=0 USE_LOCKING=1 " +testopts = buildopts +installopts = buildopts + +run_lapack_tests = True +max_failing_lapack_tests_num_errors = 150 + +# extensive testing can be enabled by uncommenting the line below +# runtest = 'PATH=.:$PATH lapack-timing' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/p/Porechop/Porechop-0.2.4-20240119-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/Porechop/Porechop-0.2.4-20240119-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..e1dfa5d567c --- /dev/null +++ b/easybuild/easyconfigs/p/Porechop/Porechop-0.2.4-20240119-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'Porechop' +version = '0.2.4-20240119' +local_commit = 'd2e77c6' + +homepage = 'https://github.com/dehui333/Porechop' +description = """Porechop is a tool for finding and removing adapters from Oxford Nanopore reads. + Adapters on the ends of reads are trimmed off, and when a read has an adapter in its middle, + it is treated as chimeric and chopped into separate reads. Porechop performs thorough alignments + to effectively find adapters, even at low sequence identity.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/dehui333/Porechop/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['6e5ff3a780fc2855b0101b4a6102437d9a0fc201e40ffabc44c0c67d7c9ad621'] + +builddependencies = [('binutils', '2.40')] +dependencies = [('Python', '3.11.3')] + +sanity_pip_check = True +use_pip = True +download_dep_fail = True + +sanity_check_commands = ['%(namelower)s -h'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PyCUDA/PyCUDA-2024.1-gfbf-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyCUDA/PyCUDA-2024.1-gfbf-2023a-CUDA-12.1.1.eb index 0058b158c9e..1706b5b8372 100644 --- a/easybuild/easyconfigs/p/PyCUDA/PyCUDA-2024.1-gfbf-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyCUDA/PyCUDA-2024.1-gfbf-2023a-CUDA-12.1.1.eb @@ -14,6 +14,7 @@ dependencies = [ ('Python', '3.11.3'), ('SciPy-bundle', '2023.07'), ('Mako', '1.2.4'), + ('PyOpenGL', '3.1.7'), ] use_pip = True @@ -23,12 +24,15 @@ exts_list = [ 'checksums': ['80637873d206f6bcedf7cdb46ad93e868acb4ea2256db052dfcca872bdd0321f'], }), (name, version, { - 'preinstallopts': './configure.py --cuda-root="$EBROOTCUDA" && ', + 'preinstallopts': './configure.py --cuda-root="$EBROOTCUDA" --cuda-enable-gl && ', 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', 'checksums': ['d50d23ff6371482cff7d4b953ef40ab81c9df038ecb614484f9fd5347327327e'], }), ] sanity_pip_check = True +sanity_check_commands = [ + 'python -c "import pycuda.gl"' +] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-4.6.3-GCCcore-13.3.0.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-4.6.3-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..6541b14b799 --- /dev/null +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-4.6.3-GCCcore-13.3.0.eb @@ -0,0 +1,76 @@ +easyblock = 'PythonBundle' + +name = 'ReFrame' +version = '4.6.3' + +homepage = 'https://github.com/reframe-hpc/reframe' +description = '''ReFrame is a framework for writing regression tests for HPC systems.''' + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +builddependencies = [ + ('binutils', '2.42'), + ('cURL', '8.7.1'), # Used by ReFrame to download pip in the bootstrap +] + +# Note that for ReFrame's CPU autodetect to work +# the system also needs to provide (new enough versions of) these dependencies +dependencies = [ + ('Python', '3.12.3'), + ('libxslt', '1.1.42'), # Required by lxml, which is installed by ReFrame's bootstrap installer + ('libxml2', '2.12.7'), # Required by lxml, which is installed by ReFrame's bootstrap installer +] + +use_pip = True + +exts_list = [ + # ReFrame's bootstrap script is intended to run with zero dependencies. It downloads all python deps for ReFrame + # into a %(installdir)/external directory. ReFrame's main executable (reframe) adds this dir to python's sys.path + # so that ReFrame (and only ReFrame) will find & use all of these dependencies. + # In EasyBuild, we should adhere to this installation method because a) it is how ReFrame is meant to be used and + # b) it isolates all of ReFrame dependencies from any other python code you run. Thus, there is no chance that + # a test will pick up on any python deps from ReFrame itself. + # For this to work, we need to disable download_dep_fail and sanity_pip_check, as both are _expected_ to fail + # for this setup. + ('reframe', version, { + # Deps are downloaded to %(installdir)/external, which won't polute the PYTHONPATH, so is ok + 'download_dep_fail': False, + # ReFrame uses its custom sys.path to find necessary packages, they are not on PYTYHONPATH + # Thus, the regular pip sanity check is expected to fail, even if ReFrame would run just fine + 'sanity_pip_check': False, + # Set modulename to False, as to skip the sanity_check-step from extension.py (python -c "import reframe") + # This step would fail, since the regular python interpreter wouldn't find the additional packages in + # %(installdir)/external. That's fine, as ReFrame should never be imported directly, only through the + # reframe command. + 'modulename': False, + 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && " + "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && ", + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/reframe-hpc/reframe/archive/'], + 'checksums': ['0f335e588d21a26d76beb011bc86baf80ba633d875512ecd564d0aeb320fcf2c'], + }), +] + +postinstallcmds = [ + "cp -a tools examples %(installdir)s", + "mkdir -p %(installdir)s/share && cp -a share/completions %(installdir)s/share/completions", + r"sed -i 's@/\(python[0-9.]*\)$@/\1 -S@g' %(installdir)s/bin/reframe", +] + +sanity_check_paths = { + 'files': ['bin/reframe', + 'share/completions/reframe.bash', + 'share/completions/reframe.fish', + 'share/completions/reframe.tcsh'], + 'dirs': ['external', 'lib', 'tools', 'examples'] +} + +sanity_check_commands = ['reframe -V'] + +# Since this is at the GCCcore toolchain level, make sure ReFrame is configured to purge modules before running +# any tests by default +modextravars = { + 'RFM_PURGE_ENVIRONMENT': '1', +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SAMtools/SAMtools-1.21-GCC-13.3.0.eb b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.21-GCC-13.3.0.eb new file mode 100644 index 00000000000..775ce37b311 --- /dev/null +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.21-GCC-13.3.0.eb @@ -0,0 +1,38 @@ +# This is a contribution from DeepThought HPC Service, Flinders University, Adelaide, Australia +# Homepage: https://staff.flinders.edu.au/research/deep-thought +# +# Authors:: Robert Qiao +# License:: MIT +# +# Notes:: +# +# Updated to 1.14 and gcc-11.2.0 +# J. Sassmannshausen / GSTT +# Updated to 1.21 jpecar / EMBL + +name = 'SAMtools' +version = '1.21' + +homepage = 'https://www.htslib.org/' +description = """SAM Tools provide various utilities for manipulating alignments in the SAM format, + including sorting, merging, indexing and generating alignments in a per-position format.""" + +toolchain = {'name': 'GCC', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['05724b083a6b6f0305fcae5243a056cc36cf826309c3cb9347a6b89ee3fc5ada'] + +# The htslib component of SAMtools >= 1.4 uses zlib, bzip2 and lzma compression. +# The latter is currently provided by XZ. +dependencies = [ + ('ncurses', '6.5'), + ('zlib', '1.3.1'), + ('bzip2', '1.0.8'), + ('XZ', '5.4.5'), + ('cURL', '8.7.1'), +] + + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/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/SciPy-bundle/SciPy-bundle-2024.05-gfbf-2024a.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2024.05-gfbf-2024a.eb index 2abab977add..5584d888f30 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2024.05-gfbf-2024a.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2024.05-gfbf-2024a.eb @@ -64,12 +64,15 @@ exts_list = [ 'patches': [ 'scipy-1.11.1_disable-tests.patch', 'scipy-1.11.1_xfail-aarch64_test_maxiter_worsening.patch', + 'scipy-1.13.1_TestLinprogIPSparse.patch', ], 'checksums': [ {'scipy-1.13.1.tar.gz': '095a87a0312b08dfd6a6155cbbd310a8c51800fc931b8c0b84003014b874ed3c'}, {'scipy-1.11.1_disable-tests.patch': '906bfb03397d94882ccdc1b93bc2c8e854e0e060c2d107c83042992394e6a4af'}, {'scipy-1.11.1_xfail-aarch64_test_maxiter_worsening.patch': '918c8e6fa8215d459126f267764c961bde729ea4a116c7f6287cddfdc58ffcea'}, + {'scipy-1.13.1_TestLinprogIPSparse.patch': + '7213c2690b76c69f7e7103529cea3fa2098c05fbea556f04325fab9ca8c065f5'}, ], }), ('numexpr', '2.10.0', { diff --git a/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.13.1_TestLinprogIPSparse.patch b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.13.1_TestLinprogIPSparse.patch new file mode 100644 index 00000000000..1b057319086 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.13.1_TestLinprogIPSparse.patch @@ -0,0 +1,30 @@ +disable problematic tests +TestLinprogIPSparse::test_bug_6139 + TestLinprogIPSparsePresolve::test_bug_6139 fail on Grace Hopper aarch64 +author: Sebastian Achilles (Juelich Supercomputing Centre) + +diff --git a/scipy/optimize/tests/test_linprog.py b/scipy/optimize/tests/test_linprog.py +index 49a0f8de5..8ffbb0b47 100644 +--- a/scipy/optimize/tests/test_linprog.py ++++ b/scipy/optimize/tests/test_linprog.py +@@ -1977,6 +1977,10 @@ if has_umfpack: + class TestLinprogIPSparse(LinprogIPTests): + options = {"sparse": True, "cholesky": False, "sym_pos": False} + ++ @pytest.mark.skipif( ++ platform.machine() == 'aarch64', ++ reason="Fails on aarch64" ++ ) + @pytest.mark.xfail_on_32bit("This test is sensitive to machine epsilon level " + "perturbations in linear system solution in " + "_linprog_ip._sym_solve.") +@@ -2027,6 +2031,10 @@ class TestLinprogIPSparse(LinprogIPTests): + class TestLinprogIPSparsePresolve(LinprogIPTests): + options = {"sparse": True, "_sparse_presolve": True} + ++ @pytest.mark.skipif( ++ platform.machine() == 'aarch64', ++ reason="Fails on aarch64" ++ ) + @pytest.mark.xfail_on_32bit("This test is sensitive to machine epsilon level " + "perturbations in linear system solution in " + "_linprog_ip._sym_solve.") diff --git a/easybuild/easyconfigs/s/Stacks/Stacks-2.68-foss-2023a.eb b/easybuild/easyconfigs/s/Stacks/Stacks-2.68-foss-2023a.eb new file mode 100644 index 00000000000..f5c8c3b976d --- /dev/null +++ b/easybuild/easyconfigs/s/Stacks/Stacks-2.68-foss-2023a.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'Stacks' +version = '2.68' + +homepage = 'https://catchenlab.life.illinois.edu/stacks/' +description = """Stacks is a software pipeline for building loci from short-read sequences, such as those generated on + the Illumina platform. Stacks was developed to work with restriction enzyme-based data, such as RAD-seq, + for the purpose of building genetic maps and conducting population genomics and phylogeography. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://catchenlab.life.illinois.edu/stacks/source/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['9dc51ea356d60eb4557b0b2d1a8854aafae492aed87f974e0249cc09aa5e7650'] + +dependencies = [ + ('zlib', '1.2.13'), +] + +sanity_check_paths = { + 'files': ['bin/clone_filter', 'bin/cstacks', 'bin/gstacks', 'bin/kmer_filter', 'bin/phasedstacks', + 'bin/populations', 'bin/process_radtags', 'bin/process_shortreads', 'bin/sstacks', + 'bin/tsv2bam', 'bin/ustacks'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/skani/skani-0.2.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/skani/skani-0.2.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..889947f5c2c --- /dev/null +++ b/easybuild/easyconfigs/s/skani/skani-0.2.2-GCCcore-12.3.0.eb @@ -0,0 +1,481 @@ +easyblock = 'Cargo' + +name = 'skani' +version = '0.2.2' + +homepage = 'https://github.com/bluenote-1577/skani' +description = "skani - accurate, fast nucleotide identity calculation for MAGs, genomes, and databases" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'bluenote-1577' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = [ + {'v0.2.2.tar.gz': 'e047d52b9f753625eff480fe90f1abb68f82cc6892d9d1910b18bfcedbfc0b9d'}, + {'adler-1.0.2.tar.gz': 'f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe'}, + {'aho-corasick-1.1.2.tar.gz': 'b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0'}, + {'anyhow-1.0.75.tar.gz': 'a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6'}, + {'approx-0.5.1.tar.gz': 'cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6'}, + {'assert_cmd-1.0.8.tar.gz': 'c98233c6673d8601ab23e77eb38f999c51100d46c5703b17288c57fddf3a1ffe'}, + {'atty-0.2.14.tar.gz': 'd9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8'}, + {'autocfg-0.1.8.tar.gz': '0dde43e75fd43e8a1bf86103336bc699aa8d17ad1be60c76c0bdfd4828e19b78'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'bincode-1.3.3.tar.gz': 'b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad'}, + {'bio-1.4.0.tar.gz': 'ea643e25059ce02b94e8f6eb4e902d160baa6d0beb91834ed971dd5a880c02ba'}, + {'bio-types-1.0.1.tar.gz': '9d45749b87f21808051025e9bf714d14ff4627f9d8ca967eade6946ea769aa4a'}, + {'bit-set-0.5.3.tar.gz': '0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1'}, + {'bit-vec-0.5.1.tar.gz': 'f59bbe95d4e52a6398ec21238d31577f2b28a9d86807f06ca59d191d8440d0bb'}, + {'bit-vec-0.6.3.tar.gz': '349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'bitflags-2.4.0.tar.gz': 'b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635'}, + {'bstr-0.2.17.tar.gz': 'ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223'}, + {'buffer-redux-1.0.0.tar.gz': 'd2886ea01509598caac116942abd33ab5a88fa32acdf7e4abfa0fc489ca520c9'}, + {'bv-0.11.1.tar.gz': '8834bb1d8ee5dc048ee3124f2c7c1afcc6bc9aed03f11e9dfd8c69470a5db340'}, + {'bytecount-0.6.4.tar.gz': 'ad152d03a2c813c80bb94fedbf3a3f02b28f793e39e7c214c8a0bcc196343de7'}, + {'bytemuck-1.14.0.tar.gz': '374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6'}, + {'byteorder-1.5.0.tar.gz': '1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b'}, + {'bzip2-0.4.4.tar.gz': 'bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8'}, + {'bzip2-sys-0.1.11+1.0.8.tar.gz': '736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc'}, + {'cc-1.0.83.tar.gz': 'f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0'}, + {'cfg-if-0.1.10.tar.gz': '4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'clap-3.2.25.tar.gz': '4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123'}, + {'clap_lex-0.2.4.tar.gz': '2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5'}, + {'cloudabi-0.0.3.tar.gz': 'ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f'}, + {'crc32fast-1.3.2.tar.gz': 'b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d'}, + {'crossbeam-deque-0.8.3.tar.gz': 'ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef'}, + {'crossbeam-epoch-0.9.15.tar.gz': 'ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7'}, + {'crossbeam-utils-0.8.16.tar.gz': '5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294'}, + {'csv-1.3.0.tar.gz': 'ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe'}, + {'csv-core-0.1.11.tar.gz': '5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70'}, + {'custom_derive-0.1.7.tar.gz': 'ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a01b9'}, + {'dashmap-5.5.3.tar.gz': '978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856'}, + {'derive-new-0.5.9.tar.gz': '3418329ca0ad70234b9735dc4ceed10af4df60eff9c8e7b06cb5e520d92c3535'}, + {'difference-2.0.0.tar.gz': '524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198'}, + {'difflib-0.4.0.tar.gz': '6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8'}, + {'doc-comment-0.3.3.tar.gz': 'fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10'}, + {'editdistancek-1.0.2.tar.gz': '3e02df23d5b1c6f9e69fa603b890378123b93073df998a21e6e33b9db0a32613'}, + {'either-1.9.0.tar.gz': 'a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07'}, + {'enum-map-1.1.1.tar.gz': 'e893a7ba6116821058dec84a6fb14fb2a97cd8ce5fd0f85d5a4e760ecd7329d9'}, + {'enum-map-derive-0.6.0.tar.gz': '84278eae0af6e34ff6c1db44c11634a694aafac559ff3080e4db4e4ac35907aa'}, + {'equivalent-1.0.1.tar.gz': '5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5'}, + {'errno-0.3.5.tar.gz': 'ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860'}, + {'fastrand-1.9.0.tar.gz': 'e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be'}, + {'fastrand-2.0.1.tar.gz': '25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5'}, + {'feature-probe-0.1.1.tar.gz': '835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da'}, + {'fixedbitset-0.4.2.tar.gz': '0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80'}, + {'flate2-1.0.27.tar.gz': 'c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010'}, + {'float-cmp-0.8.0.tar.gz': 'e1267f4ac4f343772758f7b1bdcbe767c218bbab93bb432acbf5162bbf85a6c4'}, + {'fnv-1.0.7.tar.gz': '3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1'}, + {'fuchsia-cprng-0.1.1.tar.gz': 'a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba'}, + {'futures-0.3.28.tar.gz': '23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40'}, + {'futures-channel-0.3.28.tar.gz': '955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2'}, + {'futures-core-0.3.28.tar.gz': '4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c'}, + {'futures-executor-0.3.28.tar.gz': 'ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0'}, + {'futures-io-0.3.28.tar.gz': '4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964'}, + {'futures-sink-0.3.28.tar.gz': 'f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e'}, + {'futures-task-0.3.28.tar.gz': '76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65'}, + {'futures-util-0.3.28.tar.gz': '26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533'}, + {'fxhash-0.2.1.tar.gz': 'c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c'}, + {'gbdt-0.1.1.tar.gz': '74248386ea349f903cee13fae53f41bdae987f74eb798c6cbcb08370c99ccd34'}, + {'gcollections-1.5.0.tar.gz': '2f551fdf23ef80329f754919669147a71c67b6cfe3569cd93b6fabdd62044377'}, + {'getrandom-0.2.10.tar.gz': 'be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427'}, + {'getset-0.1.2.tar.gz': 'e45727250e75cc04ff2846a66397da8ef2b3db8e40e0cef4df67950a07621eb9'}, + {'hashbrown-0.12.3.tar.gz': '8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888'}, + {'hashbrown-0.14.1.tar.gz': '7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'hermit-abi-0.1.19.tar.gz': '62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33'}, + {'indexed-0.1.1.tar.gz': 'd480125acf340d6a6e59dab69ae19d6fca3a906e1eade277671272cc8f73794b'}, + {'indexmap-1.9.3.tar.gz': 'bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99'}, + {'indexmap-2.0.2.tar.gz': '8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897'}, + {'instant-0.1.12.tar.gz': '7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c'}, + {'intervallum-1.4.0.tar.gz': 'c8ccecd834666f695ecec3ff0d5fc32e32c91abea91a28fd0aceb4b35a82cee1'}, + {'itertools-0.10.5.tar.gz': 'b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473'}, + {'itertools-0.11.0.tar.gz': 'b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57'}, + {'itertools-num-0.1.3.tar.gz': 'a872a22f9e6f7521ca557660adb96dd830e54f0f490fa115bb55dd69d38b27e7'}, + {'itoa-1.0.9.tar.gz': 'af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'libc-0.2.149.tar.gz': 'a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b'}, + {'libm-0.2.8.tar.gz': '4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058'}, + {'linux-raw-sys-0.4.10.tar.gz': 'da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f'}, + {'lock_api-0.4.10.tar.gz': 'c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16'}, + {'log-0.4.20.tar.gz': 'b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f'}, + {'lzma-sys-0.1.20.tar.gz': '5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27'}, + {'matrixmultiply-0.3.8.tar.gz': '7574c1cf36da4798ab73da5b215bbf444f50718207754cb522201d78d1cd0ff2'}, + {'memchr-2.6.4.tar.gz': 'f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167'}, + {'memoffset-0.9.0.tar.gz': '5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c'}, + {'miniz_oxide-0.7.1.tar.gz': 'e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7'}, + {'multimap-0.8.3.tar.gz': 'e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a'}, + {'nalgebra-0.29.0.tar.gz': 'd506eb7e08d6329505faa8a3a00a5dcc6de9f76e0c77e4b75763ae3c770831ff'}, + {'nalgebra-macros-0.1.0.tar.gz': '01fcc0b8149b4632adc89ac3b7b31a12fb6099a0317a4eb2ebff574ef7de7218'}, + {'ndarray-0.15.6.tar.gz': 'adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32'}, + {'needletail-0.5.1.tar.gz': 'db05a5ab397f64070d8c998fa0fbb84e484b81f95752af317dac183a82d9295d'}, + {'newtype_derive-0.1.6.tar.gz': 'ac8cd24d9f185bb7223958d8c1ff7a961b74b1953fd05dba7cc568a63b3861ec'}, + {'normalize-line-endings-0.3.0.tar.gz': '61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be'}, + {'num-complex-0.4.4.tar.gz': '1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214'}, + {'num-integer-0.1.45.tar.gz': '225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9'}, + {'num-rational-0.4.1.tar.gz': '0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0'}, + {'num-traits-0.2.17.tar.gz': '39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c'}, + {'once_cell-1.18.0.tar.gz': 'dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d'}, + {'ordered-float-3.9.1.tar.gz': '2a54938017eacd63036332b4ae5c8a49fc8c0c1d6d629893057e4f13609edd06'}, + {'os_str_bytes-6.5.1.tar.gz': '4d5d9eb14b174ee9aa2ef96dc2b94637a2d4b6e7cb873c7e171f0c20c6cf3eac'}, + {'parking_lot-0.12.1.tar.gz': '3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f'}, + {'parking_lot_core-0.9.8.tar.gz': '93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447'}, + {'partitions-0.2.4.tar.gz': '9249745fe5a60e2ebd69cc649af1baf28fa3f4606b24146490124405401510d8'}, + {'paste-1.0.14.tar.gz': 'de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c'}, + {'petgraph-0.6.4.tar.gz': 'e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9'}, + {'pin-project-lite-0.2.13.tar.gz': '8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58'}, + {'pin-utils-0.1.0.tar.gz': '8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184'}, + {'pkg-config-0.3.27.tar.gz': '26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964'}, + {'ppv-lite86-0.2.17.tar.gz': '5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de'}, + {'predicates-1.0.8.tar.gz': 'f49cfaf7fdaa3bfacc6fa3e7054e65148878354a5cfddcf661df4c851f8021df'}, + {'predicates-2.1.5.tar.gz': '59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd'}, + {'predicates-core-1.0.6.tar.gz': 'b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174'}, + {'predicates-tree-1.0.9.tar.gz': '368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf'}, + {'proc-macro-error-1.0.4.tar.gz': 'da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c'}, + {'proc-macro-error-attr-1.0.4.tar.gz': 'a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869'}, + {'proc-macro2-0.2.3.tar.gz': 'cd07deb3c6d1d9ff827999c7f9b04cdfd66b1b17ae508e14fe47b620f2282ae0'}, + {'proc-macro2-1.0.69.tar.gz': '134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da'}, + {'proptest-0.8.7.tar.gz': '926d0604475349f463fe44130aae73f2294b5309ab2ca0310b998bd334ef191f'}, + {'quick-error-1.2.3.tar.gz': 'a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0'}, + {'quote-0.4.2.tar.gz': '1eca14c727ad12702eb4b6bfb5a232287dcf8385cb8ca83a3eeaf6519c44c408'}, + {'quote-1.0.33.tar.gz': '5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae'}, + {'rand-0.5.6.tar.gz': 'c618c47cd3ebd209790115ab837de41425723956ad3ce2e6a7f09890947cacb9'}, + {'rand-0.6.5.tar.gz': '6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca'}, + {'rand-0.8.5.tar.gz': '34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404'}, + {'rand_chacha-0.1.1.tar.gz': '556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef'}, + {'rand_chacha-0.3.1.tar.gz': 'e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88'}, + {'rand_core-0.3.1.tar.gz': '7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b'}, + {'rand_core-0.4.2.tar.gz': '9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc'}, + {'rand_core-0.6.4.tar.gz': 'ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c'}, + {'rand_distr-0.4.3.tar.gz': '32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31'}, + {'rand_hc-0.1.0.tar.gz': '7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4'}, + {'rand_isaac-0.1.1.tar.gz': 'ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08'}, + {'rand_jitter-0.1.4.tar.gz': '1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b'}, + {'rand_os-0.1.3.tar.gz': '7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071'}, + {'rand_pcg-0.1.2.tar.gz': 'abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44'}, + {'rand_xorshift-0.1.1.tar.gz': 'cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c'}, + {'rawpointer-0.2.1.tar.gz': '60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3'}, + {'rayon-1.8.0.tar.gz': '9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1'}, + {'rayon-core-1.12.0.tar.gz': '5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed'}, + {'rdrand-0.4.0.tar.gz': '678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2'}, + {'redox_syscall-0.1.57.tar.gz': '41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce'}, + {'redox_syscall-0.3.5.tar.gz': '567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29'}, + {'reflection-0.1.3.tar.gz': 'f477a471bda4d66e69c64a07ded91ac097ca12614b767b53da3dbd439483c514'}, + {'reflection_derive-0.1.1.tar.gz': 'b420cc74a3c074892142c8a11dbc97273c00983e0ea63119eec45cf188be7729'}, + {'regex-1.10.0.tar.gz': 'd119d7c7ca818f8a53c300863d4f87566aac09943aef5b355bb83969dae75d87'}, + {'regex-automata-0.1.10.tar.gz': '6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132'}, + {'regex-automata-0.4.1.tar.gz': '465c6fc0621e4abc4187a2bda0937bfd4f722c2730b29562e19689ea796c9a4b'}, + {'regex-syntax-0.6.29.tar.gz': 'f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1'}, + {'regex-syntax-0.8.0.tar.gz': 'c3cbb081b9784b07cceb8824c8583f86db4814d172ab043f3c23f7dc600bf83d'}, + {'rust-lapper-1.1.0.tar.gz': 'ee43d8e721ac803031dbab6a944b957b49a3b11eadbc099880c8aaaebf23ed27'}, + {'rustc_version-0.1.7.tar.gz': 'c5f5376ea5e30ce23c03eb77cbe4962b988deead10910c372b226388b594c084'}, + {'rustix-0.38.18.tar.gz': '5a74ee2d7c2581cd139b42447d7d9389b889bdaad3a73f1ebb16f2a3237bb19c'}, + {'rustversion-1.0.14.tar.gz': '7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4'}, + {'rusty-fork-0.2.2.tar.gz': '3dd93264e10c577503e926bd1430193eeb5d21b059148910082245309b424fae'}, + {'ryu-1.0.15.tar.gz': '1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741'}, + {'safe_arch-0.7.1.tar.gz': 'f398075ce1e6a179b46f51bd88d0598b92b00d3551f1a2d4ac49e771b56ac354'}, + {'safemem-0.3.3.tar.gz': 'ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072'}, + {'scopeguard-1.2.0.tar.gz': '94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49'}, + {'semver-0.1.20.tar.gz': 'd4f410fedcf71af0345d7607d246e7ad15faaadd49d240ee3b24e5dc21a820ac'}, + {'serde-1.0.188.tar.gz': 'cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e'}, + {'serde_derive-1.0.188.tar.gz': '4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2'}, + {'serde_derive_internals-0.21.0.tar.gz': '370aa477297975243dc914d0b0e1234927520ec311de507a560fbd1c80f7ab8c'}, + {'serde_json-1.0.107.tar.gz': '6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65'}, + {'serial_test-0.10.0.tar.gz': '1c789ec87f4687d022a2405cf46e0cd6284889f1839de292cadeb6c6019506f2'}, + {'serial_test_derive-0.10.0.tar.gz': 'b64f9e531ce97c88b4778aad0ceee079216071cffec6ac9b904277f8f92e7fe3'}, + {'simba-0.6.0.tar.gz': 'f0b7840f121a46d63066ee7a99fc81dcabbc6105e437cae43528cea199b5a05f'}, + {'simple-logging-2.0.2.tar.gz': 'b00d48e85675326bb182a2286ea7c1a0b264333ae10f27a937a72be08628b542'}, + {'slab-0.4.9.tar.gz': '8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67'}, + {'smallvec-1.11.1.tar.gz': '942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a'}, + {'statrs-0.16.0.tar.gz': '2d08e5e1748192713cc281da8b16924fb46be7b0c2431854eadc785823e5696e'}, + {'strsim-0.10.0.tar.gz': '73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623'}, + {'strum-0.25.0.tar.gz': '290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125'}, + {'strum_macros-0.25.2.tar.gz': 'ad8d03b598d3d0fff69bf533ee3ef19b8eeb342729596df84bcc7e1f96ec4059'}, + {'syn-0.12.15.tar.gz': 'c97c05b8ebc34ddd6b967994d5c6e9852fa92f8b82b3858c39451f97346dcce5'}, + {'syn-1.0.109.tar.gz': '72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237'}, + {'syn-2.0.38.tar.gz': 'e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b'}, + {'tempfile-3.8.0.tar.gz': 'cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef'}, + {'termcolor-1.3.0.tar.gz': '6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64'}, + {'termtree-0.4.1.tar.gz': '3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76'}, + {'textwrap-0.16.0.tar.gz': '222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d'}, + {'thiserror-1.0.49.tar.gz': '1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4'}, + {'thiserror-impl-1.0.49.tar.gz': '10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc'}, + {'thread-id-3.3.0.tar.gz': 'c7fbf4c9d56b320106cd64fd024dadfa0be7cb4706725fc44a7d7ce952d820c1'}, + {'tikv-jemalloc-sys-0.5.4+5.3.0-patched.tar.gz': + '9402443cb8fd499b6f327e40565234ff34dbda27460c5b47db0db77443dd85d1'}, + {'tikv-jemallocator-0.5.4.tar.gz': '965fe0c26be5c56c94e38ba547249074803efd52adfb66de62107d95aab3eaca'}, + {'trees-0.2.1.tar.gz': 'afa1821e85be4f56cc5bd08bdbc32c0e26d105c90bed9c637992f6c7f747c180'}, + {'trilean-1.1.0.tar.gz': '683ba5022fe6dbd7133cad150478ccf51bdb6d861515181e5fc6b4323d4fa424'}, + {'triple_accel-0.4.0.tar.gz': '22048bc95dfb2ffd05b1ff9a756290a009224b60b2f0e7525faeee7603851e63'}, + {'tsv-0.1.1.tar.gz': '418001090d0ccdf2284690ff051c0c10d18ddd320ea9dd8ff6d205cb8436a0aa'}, + {'typenum-1.17.0.tar.gz': '42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825'}, + {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'}, + {'unicode-xid-0.1.0.tar.gz': 'fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc'}, + {'vec_map-0.8.2.tar.gz': 'f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191'}, + {'version_check-0.9.4.tar.gz': '49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f'}, + {'wait-timeout-0.2.0.tar.gz': '9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6'}, + {'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}, + {'wide-0.7.12.tar.gz': 'ebecebefc38ff1860b4bc47550bbfa63af5746061cf0d29fcd7fa63171602598'}, + {'winapi-0.3.9.tar.gz': '5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419'}, + {'winapi-i686-pc-windows-gnu-0.4.0.tar.gz': 'ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6'}, + {'winapi-util-0.1.6.tar.gz': 'f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596'}, + {'winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz': '712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f'}, + {'windows-sys-0.48.0.tar.gz': '677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9'}, + {'windows-targets-0.48.5.tar.gz': '9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c'}, + {'windows_aarch64_gnullvm-0.48.5.tar.gz': '2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8'}, + {'windows_aarch64_msvc-0.48.5.tar.gz': 'dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc'}, + {'windows_i686_gnu-0.48.5.tar.gz': 'a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e'}, + {'windows_i686_msvc-0.48.5.tar.gz': '8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406'}, + {'windows_x86_64_gnu-0.48.5.tar.gz': '53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e'}, + {'windows_x86_64_gnullvm-0.48.5.tar.gz': '0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc'}, + {'windows_x86_64_msvc-0.48.5.tar.gz': 'ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538'}, + {'xz2-0.1.7.tar.gz': '388c44dc09d76f1536602ead6d325eb532f5c122f17782bd57fb47baeeb767e2'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('Rust', '1.75.0'), +] + +dependencies = [ + ('bzip2', '1.0.8'), + ('XZ', '5.4.2'), +] + +# Since we do the download of partitions, remove the download part from skani +prebuildopts = """sed -i -e 's/^partitions = {/#&/' -e 's/^#partitions = ".*/partitions = "0.2.4"/' Cargo.toml && """ + +crates = [ + ('adler', '1.0.2'), + ('aho-corasick', '1.1.2'), + ('anyhow', '1.0.75'), + ('approx', '0.5.1'), + ('assert_cmd', '1.0.8'), + ('atty', '0.2.14'), + ('autocfg', '0.1.8'), + ('autocfg', '1.1.0'), + ('bincode', '1.3.3'), + ('bio', '1.4.0'), + ('bio-types', '1.0.1'), + ('bit-set', '0.5.3'), + ('bit-vec', '0.5.1'), + ('bit-vec', '0.6.3'), + ('bitflags', '1.3.2'), + ('bitflags', '2.4.0'), + ('bstr', '0.2.17'), + ('buffer-redux', '1.0.0'), + ('bv', '0.11.1'), + ('bytecount', '0.6.4'), + ('bytemuck', '1.14.0'), + ('byteorder', '1.5.0'), + ('bzip2', '0.4.4'), + ('bzip2-sys', '0.1.11+1.0.8'), + ('cc', '1.0.83'), + ('cfg-if', '0.1.10'), + ('cfg-if', '1.0.0'), + ('clap', '3.2.25'), + ('clap_lex', '0.2.4'), + ('cloudabi', '0.0.3'), + ('crc32fast', '1.3.2'), + ('crossbeam-deque', '0.8.3'), + ('crossbeam-epoch', '0.9.15'), + ('crossbeam-utils', '0.8.16'), + ('csv', '1.3.0'), + ('csv-core', '0.1.11'), + ('custom_derive', '0.1.7'), + ('dashmap', '5.5.3'), + ('derive-new', '0.5.9'), + ('difference', '2.0.0'), + ('difflib', '0.4.0'), + ('doc-comment', '0.3.3'), + ('editdistancek', '1.0.2'), + ('either', '1.9.0'), + ('enum-map', '1.1.1'), + ('enum-map-derive', '0.6.0'), + ('equivalent', '1.0.1'), + ('errno', '0.3.5'), + ('fastrand', '1.9.0'), + ('fastrand', '2.0.1'), + ('feature-probe', '0.1.1'), + ('fixedbitset', '0.4.2'), + ('flate2', '1.0.27'), + ('float-cmp', '0.8.0'), + ('fnv', '1.0.7'), + ('fuchsia-cprng', '0.1.1'), + ('futures', '0.3.28'), + ('futures-channel', '0.3.28'), + ('futures-core', '0.3.28'), + ('futures-executor', '0.3.28'), + ('futures-io', '0.3.28'), + ('futures-sink', '0.3.28'), + ('futures-task', '0.3.28'), + ('futures-util', '0.3.28'), + ('fxhash', '0.2.1'), + ('gbdt', '0.1.1'), + ('gcollections', '1.5.0'), + ('getrandom', '0.2.10'), + ('getset', '0.1.2'), + ('hashbrown', '0.12.3'), + ('hashbrown', '0.14.1'), + ('heck', '0.4.1'), + ('hermit-abi', '0.1.19'), + ('indexed', '0.1.1'), + ('indexmap', '1.9.3'), + ('indexmap', '2.0.2'), + ('instant', '0.1.12'), + ('intervallum', '1.4.0'), + ('itertools', '0.10.5'), + ('itertools', '0.11.0'), + ('itertools-num', '0.1.3'), + ('itoa', '1.0.9'), + ('lazy_static', '1.4.0'), + ('libc', '0.2.149'), + ('libm', '0.2.8'), + ('linux-raw-sys', '0.4.10'), + ('lock_api', '0.4.10'), + ('log', '0.4.20'), + ('lzma-sys', '0.1.20'), + ('matrixmultiply', '0.3.8'), + ('memchr', '2.6.4'), + ('memoffset', '0.9.0'), + ('miniz_oxide', '0.7.1'), + ('multimap', '0.8.3'), + ('nalgebra', '0.29.0'), + ('nalgebra-macros', '0.1.0'), + ('ndarray', '0.15.6'), + ('needletail', '0.5.1'), + ('newtype_derive', '0.1.6'), + ('normalize-line-endings', '0.3.0'), + ('num-complex', '0.4.4'), + ('num-integer', '0.1.45'), + ('num-rational', '0.4.1'), + ('num-traits', '0.2.17'), + ('once_cell', '1.18.0'), + ('ordered-float', '3.9.1'), + ('os_str_bytes', '6.5.1'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.8'), + ('partitions', '0.2.4'), + ('paste', '1.0.14'), + ('petgraph', '0.6.4'), + ('pin-project-lite', '0.2.13'), + ('pin-utils', '0.1.0'), + ('pkg-config', '0.3.27'), + ('ppv-lite86', '0.2.17'), + ('predicates', '1.0.8'), + ('predicates', '2.1.5'), + ('predicates-core', '1.0.6'), + ('predicates-tree', '1.0.9'), + ('proc-macro-error', '1.0.4'), + ('proc-macro-error-attr', '1.0.4'), + ('proc-macro2', '0.2.3'), + ('proc-macro2', '1.0.69'), + ('proptest', '0.8.7'), + ('quick-error', '1.2.3'), + ('quote', '0.4.2'), + ('quote', '1.0.33'), + ('rand', '0.5.6'), + ('rand', '0.6.5'), + ('rand', '0.8.5'), + ('rand_chacha', '0.1.1'), + ('rand_chacha', '0.3.1'), + ('rand_core', '0.3.1'), + ('rand_core', '0.4.2'), + ('rand_core', '0.6.4'), + ('rand_distr', '0.4.3'), + ('rand_hc', '0.1.0'), + ('rand_isaac', '0.1.1'), + ('rand_jitter', '0.1.4'), + ('rand_os', '0.1.3'), + ('rand_pcg', '0.1.2'), + ('rand_xorshift', '0.1.1'), + ('rawpointer', '0.2.1'), + ('rayon', '1.8.0'), + ('rayon-core', '1.12.0'), + ('rdrand', '0.4.0'), + ('redox_syscall', '0.1.57'), + ('redox_syscall', '0.3.5'), + ('reflection', '0.1.3'), + ('reflection_derive', '0.1.1'), + ('regex', '1.10.0'), + ('regex-automata', '0.1.10'), + ('regex-automata', '0.4.1'), + ('regex-syntax', '0.6.29'), + ('regex-syntax', '0.8.0'), + ('rust-lapper', '1.1.0'), + ('rustc_version', '0.1.7'), + ('rustix', '0.38.18'), + ('rustversion', '1.0.14'), + ('rusty-fork', '0.2.2'), + ('ryu', '1.0.15'), + ('safe_arch', '0.7.1'), + ('safemem', '0.3.3'), + ('scopeguard', '1.2.0'), + ('semver', '0.1.20'), + ('serde', '1.0.188'), + ('serde_derive', '1.0.188'), + ('serde_derive_internals', '0.21.0'), + ('serde_json', '1.0.107'), + ('serial_test', '0.10.0'), + ('serial_test_derive', '0.10.0'), + ('simba', '0.6.0'), + ('simple-logging', '2.0.2'), + ('slab', '0.4.9'), + ('smallvec', '1.11.1'), + ('statrs', '0.16.0'), + ('strsim', '0.10.0'), + ('strum', '0.25.0'), + ('strum_macros', '0.25.2'), + ('syn', '0.12.15'), + ('syn', '1.0.109'), + ('syn', '2.0.38'), + ('tempfile', '3.8.0'), + ('termcolor', '1.3.0'), + ('termtree', '0.4.1'), + ('textwrap', '0.16.0'), + ('thiserror', '1.0.49'), + ('thiserror-impl', '1.0.49'), + ('thread-id', '3.3.0'), + ('tikv-jemalloc-sys', '0.5.4+5.3.0-patched'), + ('tikv-jemallocator', '0.5.4'), + ('trees', '0.2.1'), + ('trilean', '1.1.0'), + ('triple_accel', '0.4.0'), + ('tsv', '0.1.1'), + ('typenum', '1.17.0'), + ('unicode-ident', '1.0.12'), + ('unicode-xid', '0.1.0'), + ('vec_map', '0.8.2'), + ('version_check', '0.9.4'), + ('wait-timeout', '0.2.0'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('wide', '0.7.12'), + ('winapi', '0.3.9'), + ('winapi-i686-pc-windows-gnu', '0.4.0'), + ('winapi-util', '0.1.6'), + ('winapi-x86_64-pc-windows-gnu', '0.4.0'), + ('windows-sys', '0.48.0'), + ('windows-targets', '0.48.5'), + ('windows_aarch64_gnullvm', '0.48.5'), + ('windows_aarch64_msvc', '0.48.5'), + ('windows_i686_gnu', '0.48.5'), + ('windows_i686_msvc', '0.48.5'), + ('windows_x86_64_gnu', '0.48.5'), + ('windows_x86_64_gnullvm', '0.48.5'), + ('windows_x86_64_msvc', '0.48.5'), + ('xz2', '0.1.7'), +] + +sanity_check_paths = { + 'files': ['bin/skani'], + 'dirs': [], +} + +sanity_check_commands = [ + 'skani --help', +] + + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/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/w/Wannier90/Wannier90-3.1.0-foss-2023a.eb b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-foss-2023a.eb index 9807690b35c..57105d3bdb6 100644 --- a/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-foss-2023a.eb +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-foss-2023a.eb @@ -12,10 +12,12 @@ toolchainopts = {'usempi': True} github_account = 'wannier-developers' source_urls = [GITHUB_LOWER_SOURCE] sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCELOWER_TAR_GZ}] -patches = ['Wannier90_3x_ignore_makeinc.patch'] +patches = ['Wannier90_3x_ignore_makeinc.patch', + 'Wannier90_3.1.0_fix_mpi_include.patch'] checksums = [ '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz '561c0d296e0e30b8bb303702cd6e41ded54c153d9b9e6cd9cab73858e5e2945e', # Wannier90_3x_ignore_makeinc.patch + 'dd7217d8bf12ac4161fd0b6504f7c085ebcc69b23ab2ac4abcf9251f34b8bc30', # Wannier90_3.1.0_fix_mpi_include.patch ] # The -fallow-argument-mismatch allows MPI communication calls to be @@ -25,10 +27,11 @@ buildopts = 'all F90=$F90 MPIF90=$MPIF90 FCOPTS="$FFLAGS -fallow-argument-mismat buildopts += 'LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK" ' buildopts += 'COMMS=mpi' -files_to_copy = [(['wannier90.x', 'postw90.x'], 'bin'), (['libwannier.a'], 'lib')] +local_executables = ['wannier90.x', 'postw90.x', 'w90chk2chk.x', 'w90spn2spn.x'] +files_to_copy = [(local_executables, 'bin'), (['libwannier.a'], 'lib')] sanity_check_paths = { - 'files': ['bin/wannier90.x', 'bin/postw90.x', 'lib/libwannier.a'], + 'files': ['bin/%s' % x for x in local_executables] + ['lib/libwannier.a'], 'dirs': [] } diff --git a/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-foss-2024a.eb b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-foss-2024a.eb index 3228ba164b9..26e4b587a1f 100644 --- a/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-foss-2024a.eb +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-foss-2024a.eb @@ -12,10 +12,12 @@ toolchainopts = {'usempi': True} github_account = 'wannier-developers' source_urls = [GITHUB_LOWER_SOURCE] sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCELOWER_TAR_GZ}] -patches = ['Wannier90_3x_ignore_makeinc.patch'] +patches = ['Wannier90_3x_ignore_makeinc.patch', + 'Wannier90_3.1.0_fix_mpi_include.patch'] checksums = [ '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz '561c0d296e0e30b8bb303702cd6e41ded54c153d9b9e6cd9cab73858e5e2945e', # Wannier90_3x_ignore_makeinc.patch + 'dd7217d8bf12ac4161fd0b6504f7c085ebcc69b23ab2ac4abcf9251f34b8bc30', # Wannier90_3.1.0_fix_mpi_include.patch ] buildopts = 'all F90=$F90 MPIF90=$MPIF90 FCOPTS="$FFLAGS -fallow-argument-mismatch" LDOPTS="$FFLAGS" ' diff --git a/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-gomkl-2023a.eb b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-gomkl-2023a.eb index 336ac8a3895..a3e59ef46a9 100644 --- a/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-gomkl-2023a.eb +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-gomkl-2023a.eb @@ -12,10 +12,12 @@ toolchainopts = {'usempi': True} github_account = 'wannier-developers' source_urls = [GITHUB_LOWER_SOURCE] sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCELOWER_TAR_GZ}] -patches = ['Wannier90_3x_ignore_makeinc.patch'] +patches = ['Wannier90_3x_ignore_makeinc.patch', + 'Wannier90_3.1.0_fix_mpi_include.patch'] checksums = [ '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz '561c0d296e0e30b8bb303702cd6e41ded54c153d9b9e6cd9cab73858e5e2945e', # Wannier90_3x_ignore_makeinc.patch + 'dd7217d8bf12ac4161fd0b6504f7c085ebcc69b23ab2ac4abcf9251f34b8bc30', # Wannier90_3.1.0_fix_mpi_include.patch ] # The -fallow-argument-mismatch allows MPI communication calls to be @@ -25,10 +27,11 @@ buildopts = 'all F90=$F90 MPIF90=$MPIF90 FCOPTS="$FFLAGS -fallow-argument-mismat buildopts += 'LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK" ' buildopts += 'COMMS=mpi' -files_to_copy = [(['wannier90.x', 'postw90.x'], 'bin'), (['libwannier.a'], 'lib')] +local_executables = ['wannier90.x', 'postw90.x', 'w90chk2chk.x', 'w90spn2spn.x'] +files_to_copy = [(local_executables, 'bin'), (['libwannier.a'], 'lib')] sanity_check_paths = { - 'files': ['bin/wannier90.x', 'bin/postw90.x', 'lib/libwannier.a'], + 'files': ['bin/%s' % x for x in local_executables] + ['lib/libwannier.a'], 'dirs': [] } diff --git a/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-intel-2023a.eb b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-intel-2023a.eb index cf258368771..eb71d75290d 100644 --- a/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-intel-2023a.eb +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-intel-2023a.eb @@ -12,20 +12,23 @@ toolchainopts = {'usempi': True} github_account = 'wannier-developers' source_urls = [GITHUB_LOWER_SOURCE] sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCELOWER_TAR_GZ}] -patches = ['Wannier90_3x_ignore_makeinc.patch'] +patches = ['Wannier90_3x_ignore_makeinc.patch', + 'Wannier90_3.1.0_fix_mpi_include.patch'] checksums = [ '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz '561c0d296e0e30b8bb303702cd6e41ded54c153d9b9e6cd9cab73858e5e2945e', # Wannier90_3x_ignore_makeinc.patch + 'dd7217d8bf12ac4161fd0b6504f7c085ebcc69b23ab2ac4abcf9251f34b8bc30', # Wannier90_3.1.0_fix_mpi_include.patch ] buildopts = 'all F90=$F90 MPIF90=$MPIF90 FCOPTS="$FFLAGS" LDOPTS="$FFLAGS" ' buildopts += 'LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK" ' buildopts += 'COMMS=mpi' -files_to_copy = [(['wannier90.x', 'postw90.x'], 'bin'), (['libwannier.a'], 'lib')] +local_executables = ['wannier90.x', 'postw90.x', 'w90chk2chk.x', 'w90spn2spn.x'] +files_to_copy = [(local_executables, 'bin'), (['libwannier.a'], 'lib')] sanity_check_paths = { - 'files': ['bin/wannier90.x', 'bin/postw90.x', 'lib/libwannier.a'], + 'files': ['bin/%s' % x for x in local_executables] + ['lib/libwannier.a'], 'dirs': [] } diff --git a/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-intel-2024a.eb b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-intel-2024a.eb index dd30db79af6..34d3457ccc4 100644 --- a/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-intel-2024a.eb +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-intel-2024a.eb @@ -12,20 +12,23 @@ toolchainopts = {'usempi': True} github_account = 'wannier-developers' source_urls = [GITHUB_LOWER_SOURCE] sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCELOWER_TAR_GZ}] -patches = ['Wannier90_3x_ignore_makeinc.patch'] +patches = ['Wannier90_3x_ignore_makeinc.patch', + 'Wannier90_3.1.0_fix_mpi_include.patch'] checksums = [ '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz '561c0d296e0e30b8bb303702cd6e41ded54c153d9b9e6cd9cab73858e5e2945e', # Wannier90_3x_ignore_makeinc.patch + 'dd7217d8bf12ac4161fd0b6504f7c085ebcc69b23ab2ac4abcf9251f34b8bc30', # Wannier90_3.1.0_fix_mpi_include.patch ] buildopts = 'all F90=$F90 MPIF90=$MPIF90 FCOPTS="$FFLAGS" LDOPTS="$FFLAGS" ' buildopts += 'LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK" ' buildopts += 'COMMS=mpi' -files_to_copy = [(['wannier90.x', 'postw90.x'], 'bin'), (['libwannier.a'], 'lib')] +local_executables = ['wannier90.x', 'postw90.x', 'w90chk2chk.x', 'w90spn2spn.x'] +files_to_copy = [(local_executables, 'bin'), (['libwannier.a'], 'lib')] sanity_check_paths = { - 'files': ['bin/wannier90.x', 'bin/postw90.x', 'lib/libwannier.a'], + 'files': ['bin/%s' % x for x in local_executables] + ['lib/libwannier.a'], 'dirs': [] } diff --git a/easybuild/easyconfigs/w/Wannier90/Wannier90_3.1.0_fix_mpi_include.patch b/easybuild/easyconfigs/w/Wannier90/Wannier90_3.1.0_fix_mpi_include.patch new file mode 100644 index 00000000000..fdc859c8a7f --- /dev/null +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90_3.1.0_fix_mpi_include.patch @@ -0,0 +1,27 @@ +Use "use mpi" to load all required interfaces. +See https://github.com/wannier-developers/wannier90/issues/521 +Author: Stefan Wolfsheimer (SURF) + + +diff -ruN wannier90-3.1.0.orig/src/comms.F90 wannier90-3.1.0/src/comms.F90 +--- wannier90-3.1.0.orig/src/comms.F90 2020-03-05 19:41:10.000000000 +0100 ++++ wannier90-3.1.0/src/comms.F90 2024-10-21 17:01:00.542755184 +0200 +@@ -23,15 +23,13 @@ + + use w90_constants, only: dp + use w90_io, only: io_error +- ++#ifdef MPI ++ use mpi ++#endif + implicit none + + private + +-#ifdef MPI +- include 'mpif.h' +-#endif +- + logical, public, save :: on_root + !! Are we the root node + integer, public, save :: num_nodes