From c63ccb2b9ca7d341a0eb6be8e77014e91089fa17 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Mon, 5 Dec 2022 16:13:06 +0100 Subject: [PATCH 001/889] adding easyconfigs: SciTools-Iris-3.2.1-foss-2022a.eb --- .../SciTools-Iris-3.2.1-foss-2022a.eb | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 easybuild/easyconfigs/s/SciTools-Iris/SciTools-Iris-3.2.1-foss-2022a.eb diff --git a/easybuild/easyconfigs/s/SciTools-Iris/SciTools-Iris-3.2.1-foss-2022a.eb b/easybuild/easyconfigs/s/SciTools-Iris/SciTools-Iris-3.2.1-foss-2022a.eb new file mode 100644 index 00000000000..2e1bf32ea15 --- /dev/null +++ b/easybuild/easyconfigs/s/SciTools-Iris/SciTools-Iris-3.2.1-foss-2022a.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonBundle' + +name = 'SciTools-Iris' +version = '3.2.1' + +homepage = 'https://scitools-iris.readthedocs.io' +description = """A powerful, format-agnostic, community-driven Python package for analysing and +visualising Earth science data.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Cartopy', '0.20.3'), + ('dask', '2022.10.0'), + ('matplotlib', '3.5.2'), + ('netcdf4-python', '1.6.1'), + ('python-xxhash', '3.1.0'), + ('UDUNITS', '2.2.28'), +] + +use_pip = True + +exts_list = [ + ('antlr4-python3-runtime', '4.7.2', { + 'modulename': 'antlr4', + 'checksums': ['168cdcec8fb9152e84a87ca6fd261b3d54c8f6358f42ab3b813b14a7193bb50b'], + }), + ('cf-units', '3.1.1', { + 'preinstallopts': 'UDUNITS2_XML_PATH="$EBROOTUDUNITS/share/udunits/udunits2.xml"', + 'checksums': ['d402b5a54c46b8ad2fb4fd815a054520c36ee7b483e4c9555e4b45b62af7558b'], + }), + ('scitools-iris', version, { + 'modulename': 'iris', + 'checksums': ['f09ea7e79664d633f35f11b9d5c3afd3ac5f97698864bd6f2293007fb06c5e72'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' From 1336a70c001c5cfdca33bc33c13d934f1fffbdb4 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 18 Mar 2023 12:51:18 +0100 Subject: [PATCH 002/889] {mpi}[GCC/12.2.0] OpenMPI v5.0.0rc10, PMIx v5.0.0rc1 --- .../o/OpenMPI/OpenMPI-5.0.0rc10-GCC-12.2.0.eb | 35 +++++++++++++++ .../p/PMIx/PMIx-5.0.0rc1-GCCcore-12.2.0.eb | 45 +++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.0rc10-GCC-12.2.0.eb create mode 100644 easybuild/easyconfigs/p/PMIx/PMIx-5.0.0rc1-GCCcore-12.2.0.eb diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.0rc10-GCC-12.2.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.0rc10-GCC-12.2.0.eb new file mode 100644 index 00000000000..88a9dacce86 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.0rc10-GCC-12.2.0.eb @@ -0,0 +1,35 @@ +name = 'OpenMPI' +version = '5.0.0rc10' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['fdaf320c5d2a4cc83023e09e4489d86367bb8089b77f46848df5193865313b1d'] + +builddependencies = [ + ('pkgconf', '1.9.3'), + ('Perl', '5.36.0'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('hwloc', '2.8.0'), + ('libevent', '2.1.12'), + ('UCX', '1.13.1'), + ('libfabric', '1.16.1'), + ('PMIx', '5.0.0rc1'), + ('UCC', '1.1.0'), +] + +# disable MPI1 compatibility for now, see what breaks... +# configopts += '--enable-mpi1-compatibility ' + +# to enable SLURM integration (site-specific) +# configopts += '--with-slurm --with-pmi=/usr/include/slurm --with-pmi-libdir=/usr' + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/p/PMIx/PMIx-5.0.0rc1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/PMIx/PMIx-5.0.0rc1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..c4eef27fded --- /dev/null +++ b/easybuild/easyconfigs/p/PMIx/PMIx-5.0.0rc1-GCCcore-12.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'PMIx' +version = '5.0.0rc1' + +homepage = 'https://pmix.org/' +description = """Process Management for Exascale Environments +PMI Exascale (PMIx) represents an attempt to +provide an extended version of the PMI standard specifically designed +to support clusters up to and including exascale sizes. The overall +objective of the project is not to branch the existing pseudo-standard +definitions - in fact, PMIx fully supports both of the existing PMI-1 +and PMI-2 APIs - but rather to (a) augment and extend those APIs to +eliminate some current restrictions that impact scalability, and (b) +provide a reference implementation of the PMI-server that demonstrates +the desired level of scalability. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openpmix/openpmix/releases/download/v%(version)s'] +sources = ['%(namelower)s-%(version)s.tar.bz2'] +checksums = ['9e681a380dee68ff597919ab1a878265ee645ed10b079533918a726ef673b905'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('libevent', '2.1.12'), + ('zlib', '1.2.12'), + ('hwloc', '2.8.0'), +] + +configopts = ' --with-libevent=$EBROOTLIBEVENT --with-zlib=$EBROOTZLIB' +configopts += ' --with-hwloc=$EBROOTHWLOC' +configopts += ' --enable-pmix-binaries' + +buildopts = 'V=1' + +sanity_check_paths = { + 'files': ['bin/pevent', 'bin/plookup', 'bin/pmix_info', 'bin/pps'], + 'dirs': ['etc', 'include', 'lib', 'share'] +} + +moduleclass = 'lib' From 559a4482118995d623053e822a06a99a3992d5aa Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 10 Apr 2023 18:15:47 +0200 Subject: [PATCH 003/889] add missing dependencies for funannotate --- .../funannotate-1.8.13-foss-2021b.eb | 40 ++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/f/funannotate/funannotate-1.8.13-foss-2021b.eb b/easybuild/easyconfigs/f/funannotate/funannotate-1.8.13-foss-2021b.eb index 78068a53cc2..0a411ab0d7d 100644 --- a/easybuild/easyconfigs/f/funannotate/funannotate-1.8.13-foss-2021b.eb +++ b/easybuild/easyconfigs/f/funannotate/funannotate-1.8.13-foss-2021b.eb @@ -9,6 +9,7 @@ description = """funannotate is a pipeline for genome annotation (built specific toolchain = {'name': 'foss', 'version': '2021b'} +# see also https://github.com/nextgenusfs/funannotate/blob/master/docs/dependencies.rst dependencies = [ ('Python', '3.9.6'), ('SciPy-bundle', '2021.10'), @@ -17,6 +18,40 @@ dependencies = [ ('matplotlib', '3.4.3'), ('scikit-learn', '1.0.1'), ('Seaborn', '0.11.2'), + ('tbl2asn', '20220427', '-linux64', SYSTEM), + ('DBD-mysql', '4.050'), + ('CodingQuarry', '2.0'), + ('Trinity', '2.15.1'), + ('AUGUSTUS', '3.4.0'), + ('BamTools', '2.5.2'), + ('BEDTools', '2.30.0'), + ('BLAST+', '2.12.0'), # provides makeblastdb, tblastn + ('BLAT', '3.7'), + ('DIAMOND', '2.0.13'), + ('eggnog-mapper', '2.1.7'), + ('ETE', '3.1.2'), + ('Exonerate', '2.4.0'), + ('FASTA', '36.3.8i'), + ('GlimmerHMM', '3.0.4c'), + ('GMAP-GSNAP', '2021-21-17'), # provides gmap + ('GeneMark-ET', '4.71'), # provides gmes_petap.pl + ('HISAT2', '2.2.1'), + ('HMMER', '3.3.2'), # provides hmmscan, hmmsearch + ('kallisto', '0.48.0'), + ('MAFFT', '7.490', '-with-extensions'), + ('minimap2', '2.24'), + ('pigz', '2.6'), + ('Proteinortho', '6.2.3'), + ('Kent_tools', '422'), # provides pslCDnaFilter + ('Salmon', '1.4.0'), + ('SAMtools', '1.14'), + ('SignalP', '6.0g', '-fast'), + ('SNAP', '2.0.1'), + ('StringTie', '2.2.1'), + ('tRNAscan-SE', '2.0.12'), + ('tantan', '40'), + ('trimAl', '1.4.1'), + ('Trimmomatic', '0.39', '-Java-11', SYSTEM), ] use_pip = True @@ -38,7 +73,10 @@ sanity_check_paths = { 'dirs': [], } -sanity_check_commands = ["funannotate --help 2>&1 | grep 'Usage:[ ]*funannotate'"] +sanity_check_commands = [ + "funannotate --help 2>&1 | grep 'Usage:[ ]*funannotate'", + "funannotate check --show-versions", +] sanity_pip_check = True From 7c603a31ee06146bdad89d0e5aa4c5a6b9f5ad28 Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Mon, 18 Sep 2023 21:21:35 +0200 Subject: [PATCH 004/889] adding easyconfigs: likwid-5.2.2-GCC-12.3.0.eb --- .../l/likwid/likwid-5.2.2-GCC-12.3.0.eb | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 easybuild/easyconfigs/l/likwid/likwid-5.2.2-GCC-12.3.0.eb diff --git a/easybuild/easyconfigs/l/likwid/likwid-5.2.2-GCC-12.3.0.eb b/easybuild/easyconfigs/l/likwid/likwid-5.2.2-GCC-12.3.0.eb new file mode 100644 index 00000000000..68b78db72f1 --- /dev/null +++ b/easybuild/easyconfigs/l/likwid/likwid-5.2.2-GCC-12.3.0.eb @@ -0,0 +1,54 @@ +easyblock = 'ConfigureMake' + +name = 'likwid' +version = '5.2.2' + +homepage = 'https://github.com/RRZE-HPC/likwid' + +description = """ +Likwid stands for Like I knew what I am doing. This project contributes easy +to use command line tools for Linux to support programmers in developing high +performance multi threaded programs. +""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/RRZE-HPC/likwid/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['7dda6af722e04a6c40536fc9f89766ce10f595a8569b29e80563767a6a8f940e'] + +builddependencies = [ + ('Perl', '5.36.1'), +] + +dependencies = [ + ('hwloc', '2.9.1'), +] + +skipsteps = ['configure'] + +# include_GCC.mk is using ifort by default. +# Changing it to gfortran, to be consistent with GCC toolchain +prebuildopts = """sed -i 's@FC = ifort@FC = gfortran@g' make/include_GCC.mk && """ +prebuildopts += """sed -i 's@FCFLAGS = -module ./ # ifort@FCFLAGS = -J ./ -fsyntax-only #gfortran@g' """ +prebuildopts += """ make/include_GCC.mk && """ + +buildopts = 'CC="$CC" CFLAGS="$CFLAGS -std=c99" PREFIX=%(installdir)s BUILDFREQ="" ACCESSMODE=perf_event ' +buildopts += 'FORTRAN_INTERFACE=true ' +buildopts += 'CFG_FILE_PATH=%(installdir)s/etc/likwid.cfg TOPO_FILE_PATH=%(installdir)s/etc/likwid_topo.cfg ' +buildopts += 'HWLOC_INCLUDE_DIR=$EBROOTHWLOC/include HWLOC_LIB_DIR=$EBROOTHWLOC/lib HWLOC_LIB_NAME=hwloc ' + +maxparallel = 1 + +installopts = buildopts + 'INSTALL_CHOWN="" ' + +sanity_check_paths = { + 'files': ['bin/likwid-memsweeper', 'bin/likwid-mpirun', 'bin/likwid-perfctr', + 'bin/likwid-perfscope', 'bin/likwid-pin', 'bin/likwid-powermeter', + 'bin/likwid-topology', 'lib/liblikwidpin.%s' % SHLIB_EXT, + 'lib/liblikwid.%s' % SHLIB_EXT, 'include/likwid.mod'], + 'dirs': ['man/man1'] +} + +moduleclass = 'tools' From ef4698fd5a169014b26792aad624456059db4595 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dvo=C5=99=C3=A1=C4=8Dek=20Josef?= Date: Fri, 22 Sep 2023 11:49:50 +0200 Subject: [PATCH 005/889] adding easyconfigs: ipympl-0.9.3-foss-2023a.eb --- .../i/ipympl/ipympl-0.9.3-foss-2023a.eb | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 easybuild/easyconfigs/i/ipympl/ipympl-0.9.3-foss-2023a.eb diff --git a/easybuild/easyconfigs/i/ipympl/ipympl-0.9.3-foss-2023a.eb b/easybuild/easyconfigs/i/ipympl/ipympl-0.9.3-foss-2023a.eb new file mode 100644 index 00000000000..e3b6c4b7437 --- /dev/null +++ b/easybuild/easyconfigs/i/ipympl/ipympl-0.9.3-foss-2023a.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'ipympl' +version = '0.9.3' + +homepage = 'https://matplotlib.org/ipympl' +description = """Leveraging the Jupyter interactive widgets framework, ipympl enables the +interactive features of matplotlib in the Jupyter notebook and in JupyterLab. +Besides, the figure canvas element is a proper Jupyter interactive widget which +can be positioned in interactive widget layouts. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('JupyterLab', '4.0.5'), + ('matplotlib', '3.7.2'), + ('Pillow', '10.0.0'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + (name, version, { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['d113cd55891bafe9b27ef99b6dd111a87beb6bb2ae550c404292272103be8013'], + }), +] + +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter', + 'JUPYTER_CONFIG_PATH': 'etc/jupyter', +} + +moduleclass = 'tools' From 0fd3f9edc8847f4df6f6475b5ad238e8ec1b7179 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Fri, 22 Sep 2023 15:07:38 +0200 Subject: [PATCH 006/889] adding easyconfigs: PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb, cuDNN-8.5.0.96-CUDA-11.7.0.eb, magma-2.7.1-foss-2022b-CUDA-11.7.0.eb, NCCL-2.16.2-GCCcore-12.2.0-CUDA-11.7.0.eb, UCX-CUDA-1.13.1-GCCcore-12.2.0-CUDA-11.7.0.eb and patches: PyTorch-1.13.1_disable-test-sharding.patch, PyTorch-1.13.1_fix-duplicate-kDefaultTimeout-definition.patch, PyTorch-1.13.1_fix-flaky-jit-test.patch, PyTorch-1.13.1_fix-fsdp-fp16-test.patch, PyTorch-1.13.1_fix-fsdp-tp-integration-test.patch, PyTorch-1.13.1_fix-gcc-12-missing-includes.patch, PyTorch-1.13.1_fix-gcc-12-warning-in-fbgemm.patch, PyTorch-1.13.1_fix-kineto-crash-on-exit.patch, PyTorch-1.13.1_fix-numpy-deprecations.patch, PyTorch-1.13.1_fix-protobuf-dependency.patch, PyTorch-1.13.1_fix-pytest-args.patch, PyTorch-1.13.1_fix-python-3.11-compat.patch, PyTorch-1.13.1_fix-test-ops-conf.patch, PyTorch-1.13.1_fix-warning-in-test-cpp-api.patch, PyTorch-1.13.1_fix-wrong-check-in-fsdp-tests.patch, PyTorch-1.13.1_increase-tolerance-test_jit.patch, PyTorch-1.13.1_increase-tolerance-test_ops.patch, PyTorch-1.13.1_increase-tolerance-test_optim.patch, PyTorch-1.13.1_install-vsx-vec-headers.patch, PyTorch-1.13.1_no-cuda-stubs-rpath.patch, PyTorch-1.13.1_remove-flaky-test-in-testnn.patch, PyTorch-1.13.1_skip-failing-grad-test.patch, PyTorch-1.13.1_skip-failing-singular-grad-test.patch, PyTorch-1.13.1_skip-test-requiring-online-access.patch, PyTorch-1.13.1_skip-tests-without-fbgemm.patch --- .../c/cuDNN/cuDNN-8.5.0.96-CUDA-11.7.0.eb | 40 ++++ .../magma-2.7.1-foss-2022b-CUDA-11.7.0.eb | 40 ++++ .../NCCL-2.16.2-GCCcore-12.2.0-CUDA-11.7.0.eb | 29 +++ .../PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb | 185 ++++++++++++++++++ ...duplicate-kDefaultTimeout-definition.patch | 31 +++ ...-1.13.1_fix-fsdp-tp-integration-test.patch | 32 +++ ...orch-1.13.1_fix-kineto-crash-on-exit.patch | 102 ++++++++++ ...1.13.1_fix-wrong-check-in-fsdp-tests.patch | 21 ++ ...h-1.13.1_increase-tolerance-test_jit.patch | 24 +++ ...1.13.1_increase-tolerance-test_optim.patch | 17 ++ ....1_skip-test-requiring-online-access.patch | 25 +++ ...-CUDA-1.13.1-GCCcore-12.2.0-CUDA-11.7.0.eb | 42 ++++ 12 files changed, 588 insertions(+) create mode 100644 easybuild/easyconfigs/c/cuDNN/cuDNN-8.5.0.96-CUDA-11.7.0.eb create mode 100644 easybuild/easyconfigs/m/magma/magma-2.7.1-foss-2022b-CUDA-11.7.0.eb create mode 100644 easybuild/easyconfigs/n/NCCL/NCCL-2.16.2-GCCcore-12.2.0-CUDA-11.7.0.eb create mode 100644 easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb create mode 100644 easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-duplicate-kDefaultTimeout-definition.patch create mode 100644 easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-fsdp-tp-integration-test.patch create mode 100644 easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-kineto-crash-on-exit.patch create mode 100644 easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-wrong-check-in-fsdp-tests.patch create mode 100644 easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_increase-tolerance-test_jit.patch create mode 100644 easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_increase-tolerance-test_optim.patch create mode 100644 easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_skip-test-requiring-online-access.patch create mode 100755 easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.13.1-GCCcore-12.2.0-CUDA-11.7.0.eb diff --git a/easybuild/easyconfigs/c/cuDNN/cuDNN-8.5.0.96-CUDA-11.7.0.eb b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.5.0.96-CUDA-11.7.0.eb new file mode 100644 index 00000000000..8ea684fedc1 --- /dev/null +++ b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.5.0.96-CUDA-11.7.0.eb @@ -0,0 +1,40 @@ +name = 'cuDNN' +version = '8.5.0.96' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/cudnn' +description = """The NVIDIA CUDA Deep Neural Network library (cuDNN) is +a GPU-accelerated library of primitives for deep neural networks.""" + +toolchain = SYSTEM + +# note: cuDNN is tied to specific to CUDA versions, +# see also https://docs.nvidia.com/deeplearning/cudnn/support-matrix/index.html#cudnn-cuda-hardware-versions +local_short_ver = '.'.join(version.split('.')[:3]) +source_urls = ['https://developer.download.nvidia.com/compute/redist/cudnn/' + 'v%s/local_installers/%%(cudashortver)s/' % local_short_ver] +sources = ['%(namelower)s-linux-%(cudnnarch)s-%(version)s_cuda%(cudamajver)s-archive.tar.xz'] +checksums = [ + { + '%(namelower)s-linux-x86_64-%(version)s_cuda%(cudamajver)s-archive.tar.xz': + '5454a6fd94f008728caae9adad993c4e85ef36302e26bce43bea7d458a5e7b6d', + '%(namelower)s-linux-ppc64le-%(version)s_cuda%(cudamajver)s-archive.tar.xz': + '00373c3d5e0b536a5557d0d0eb50706777f213a222b4030e1b71b1bec43d205f', + '%(namelower)s-linux-sbsa-%(version)s_cuda%(cudamajver)s-archive.tar.xz': + '86780abbecd4634e7363fad1d000ae23b7905a5f8383bddbf7332c6934791dde', + } +] + +dependencies = [('CUDA', '11.7.0')] + +sanity_check_paths = { + 'files': [ + 'include/cudnn.h', 'lib64/libcudnn_adv_infer_static.a', 'lib64/libcudnn_adv_train_static.a', + 'lib64/libcudnn_cnn_infer_static.a', 'lib64/libcudnn_cnn_train_static.a', + 'lib64/libcudnn_ops_infer_static.a', 'lib64/libcudnn_ops_train_static.a', + 'lib64/libcudnn.%s' % SHLIB_EXT + ], + 'dirs': ['include', 'lib64'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/m/magma/magma-2.7.1-foss-2022b-CUDA-11.7.0.eb b/easybuild/easyconfigs/m/magma/magma-2.7.1-foss-2022b-CUDA-11.7.0.eb new file mode 100644 index 00000000000..6ac5dc2ddce --- /dev/null +++ b/easybuild/easyconfigs/m/magma/magma-2.7.1-foss-2022b-CUDA-11.7.0.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'magma' +version = '2.7.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://icl.cs.utk.edu/magma/' +description = """The MAGMA project aims to develop a dense linear algebra library similar to + LAPACK but for heterogeneous/hybrid architectures, starting with current Multicore+GPU systems.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'pic': True, 'openmp': True} + +source_urls = ['https://icl.cs.utk.edu/projectsfiles/%(name)s/downloads/'] +sources = [SOURCE_TAR_GZ] +checksums = ['d9c8711c047a38cae16efde74bee2eb3333217fd2711e1e9b8606cbbb4ae1a50'] + +builddependencies = [ + ('CMake', '3.24.3'), +] +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('UCX-CUDA', '1.13.1', versionsuffix), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['3.5', '5.0', '6.0', '7.0', '7.5', '8.0', '8.6'] + +# make sure both static and shared libs are built +local_common_opts = '-DCMAKE_CUDA_FLAGS=-allow-unsupported-compiler -DGPU_TARGET="%%(cuda_sm_space_sep)s"' +configopts = [ + (local_common_opts + ' -DBUILD_SHARED_LIBS=%s ') % local_shared for local_shared in ('ON', 'OFF') +] + +sanity_check_paths = { + 'files': ['lib/libmagma.%s' % SHLIB_EXT, 'lib/libmagma.a'], + 'dirs': ['include'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/NCCL/NCCL-2.16.2-GCCcore-12.2.0-CUDA-11.7.0.eb b/easybuild/easyconfigs/n/NCCL/NCCL-2.16.2-GCCcore-12.2.0-CUDA-11.7.0.eb new file mode 100644 index 00000000000..ed1a8e67177 --- /dev/null +++ b/easybuild/easyconfigs/n/NCCL/NCCL-2.16.2-GCCcore-12.2.0-CUDA-11.7.0.eb @@ -0,0 +1,29 @@ +name = 'NCCL' +version = '2.16.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/nccl' +description = """The NVIDIA Collective Communications Library (NCCL) implements multi-GPU and multi-node collective +communication primitives that are performance optimized for NVIDIA GPUs.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s-1.tar.gz'] +checksums = ['7f7c738511a8876403fc574d13d48e7c250d934d755598d82e14bab12236fc64'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('UCX-CUDA', '1.13.1', versionsuffix), +] + +prebuildopts = "sed -i 's/NVCUFLAGS := /NVCUFLAGS := -allow-unsupported-compiler /' makefiles/common.mk && " +buildopts = "VERBOSE=1" + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['3.5', '5.0', '6.0', '7.0', '7.5', '8.0', '8.6'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb new file mode 100644 index 00000000000..5d9fcc0b317 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb @@ -0,0 +1,185 @@ +name = 'PyTorch' +version = '1.13.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://pytorch.org/' +description = """Tensors and Dynamic neural networks in Python with strong GPU acceleration. +PyTorch is a deep learning framework that puts Python first.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = [GITHUB_RELEASE] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +patches = [ + 'PyTorch-1.7.0_disable-dev-shm-test.patch', + 'PyTorch-1.10.0_fix-kineto-crash.patch', + 'PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch', + 'PyTorch-1.11.1_skip-test_init_from_local_shards.patch', + 'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch', + 'PyTorch-1.12.1_add-hypothesis-suppression.patch', + 'PyTorch-1.12.1_fix-skip-decorators.patch', + 'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch', + 'PyTorch-1.12.1_fix-test_wishart_log_prob.patch', + 'PyTorch-1.12.1_fix-TestTorch.test_to.patch', + 'PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch', + 'PyTorch-1.12.1_fix-vsx-loadu.patch', + 'PyTorch-1.12.1_fix-vsx-vector-funcs.patch', + 'PyTorch-1.12.1_skip-test_round_robin.patch', + 'PyTorch-1.13.1_disable-test-sharding.patch', + 'PyTorch-1.13.1_fix-duplicate-kDefaultTimeout-definition.patch', + 'PyTorch-1.13.1_fix-flaky-jit-test.patch', + 'PyTorch-1.13.1_fix-fsdp-fp16-test.patch', + 'PyTorch-1.13.1_fix-fsdp-tp-integration-test.patch', + 'PyTorch-1.13.1_fix-gcc-12-missing-includes.patch', + 'PyTorch-1.13.1_fix-gcc-12-warning-in-fbgemm.patch', + 'PyTorch-1.13.1_fix-kineto-crash-on-exit.patch', + 'PyTorch-1.13.1_fix-numpy-deprecations.patch', + 'PyTorch-1.13.1_fix-protobuf-dependency.patch', + 'PyTorch-1.13.1_fix-pytest-args.patch', + 'PyTorch-1.13.1_fix-python-3.11-compat.patch', + 'PyTorch-1.13.1_fix-test-ops-conf.patch', + 'PyTorch-1.13.1_fix-warning-in-test-cpp-api.patch', + 'PyTorch-1.13.1_fix-wrong-check-in-fsdp-tests.patch', + 'PyTorch-1.13.1_increase-tolerance-test_jit.patch', + 'PyTorch-1.13.1_increase-tolerance-test_ops.patch', + 'PyTorch-1.13.1_increase-tolerance-test_optim.patch', + 'PyTorch-1.13.1_install-vsx-vec-headers.patch', + 'PyTorch-1.13.1_no-cuda-stubs-rpath.patch', + 'PyTorch-1.13.1_remove-flaky-test-in-testnn.patch', + 'PyTorch-1.13.1_skip-failing-grad-test.patch', + 'PyTorch-1.13.1_skip-failing-singular-grad-test.patch', + 'PyTorch-1.13.1_skip-test-requiring-online-access.patch', + 'PyTorch-1.13.1_skip-tests-without-fbgemm.patch', +] +checksums = [ + {'pytorch-v1.13.1.tar.gz': 'dbc229ee9750b02b514937d017744443a269ea0241ed3f32b9af0703589d25d4'}, + {'PyTorch-1.7.0_disable-dev-shm-test.patch': '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a'}, + {'PyTorch-1.10.0_fix-kineto-crash.patch': 'dc467333b28162149af8f675929d8c6bf219f23230bfc0d39af02ba4f6f882eb'}, + {'PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch': + 'cc526130b6446bbbf5f0f7372d3aeee3e7d4c4d6e471524dff028b430b152934'}, + {'PyTorch-1.11.1_skip-test_init_from_local_shards.patch': + '4aeb1b0bc863d4801b0095cbce69f8794066748f0df27c6aaaf729c5ecba04b7'}, + {'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch': + '090598592283e3fc46ee08a68b6a6afe07be41b26514afba51834408bf1c98ed'}, + {'PyTorch-1.12.1_add-hypothesis-suppression.patch': + 'e71ffb94ebe69f580fa70e0de84017058325fdff944866d6bd03463626edc32c'}, + {'PyTorch-1.12.1_fix-skip-decorators.patch': 'e3ca6e42b2fa592ea095939fb59ab875668a058479407db3f3684cc5c6f4146c'}, + {'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch': + '1efc9850c431d702e9117d4766277d3f88c5c8b3870997c9974971bce7f2ab83'}, + {'PyTorch-1.12.1_fix-test_wishart_log_prob.patch': + 'cf475ae6e6234b96c8d1bf917597c5176c94b3ccd940b72f2e1cd0c979580f45'}, + {'PyTorch-1.12.1_fix-TestTorch.test_to.patch': '75f27987c3f25c501e719bd2b1c70a029ae0ee28514a97fe447516aee02b1535'}, + {'PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch': + '0bd7e88b92c4c6f0fecf01746009858ba19f2df68b10b88c41485328a531875d'}, + {'PyTorch-1.12.1_fix-vsx-loadu.patch': '8bfe3c94ada1dd1f7974a1261a8b576fb7ae944050fa1c7830fca033831123b2'}, + {'PyTorch-1.12.1_fix-vsx-vector-funcs.patch': 'caccbf60f62eac313896c1eaec78b08f5d0fdfcb907079087490bb13d1561aa2'}, + {'PyTorch-1.12.1_skip-test_round_robin.patch': '63d4849b78605aa088fdff695637d9473ea60dee603a3ff7f788690d70c55349'}, + {'PyTorch-1.13.1_disable-test-sharding.patch': 'df2074adeba47998ce2993d99ca64eb6f1c79ab7057f553b436efdec264d3572'}, + {'PyTorch-1.13.1_fix-duplicate-kDefaultTimeout-definition.patch': + '882f8cfaf33490a4372928fb6673cbbfa40e5be1b64bf7e0cc2924d73cf872e8'}, + {'PyTorch-1.13.1_fix-flaky-jit-test.patch': '71efdeb29b5e5b4982c9f5cb2182733654a34d52f85bb5487bc4d7d99b86101b'}, + {'PyTorch-1.13.1_fix-fsdp-fp16-test.patch': '8ae68e60d6e1f92f50322b7f0381c7e65251fba32d7606e3a238a36a2f55b5cf'}, + {'PyTorch-1.13.1_fix-fsdp-tp-integration-test.patch': + '31e2d63b54ae1a8c554575f46db79bf8bbda851b6ca0ffe623c4911207a3c2bc'}, + {'PyTorch-1.13.1_fix-gcc-12-missing-includes.patch': + '18df8c61ecaa9fb659346c1e172828bca6b069f0145bb8f6a36b0a23b7bef0a6'}, + {'PyTorch-1.13.1_fix-gcc-12-warning-in-fbgemm.patch': + '5c7be91a6096083a0b1315efe0001537499c600f1f569953c6a2c7f4cc1d0910'}, + {'PyTorch-1.13.1_fix-kineto-crash-on-exit.patch': + 'f1e6808ee8d91a2ad76e0caedb4685e5aec3008d5e2e3c3c3e88cbb25cbd71b4'}, + {'PyTorch-1.13.1_fix-numpy-deprecations.patch': 'f461b570efe0434ddd806bf2fa7020eb213e3ed89d0eb4403e076f4276ba2a46'}, + {'PyTorch-1.13.1_fix-protobuf-dependency.patch': + '8bd755a0cab7233a243bc65ca57c9630dfccdc9bf8c9792f0de4e07a644fcb00'}, + {'PyTorch-1.13.1_fix-pytest-args.patch': 'd3e3c841cf8d73683750f29326f2be56ee0bb5df7ff522baf7d7c3f301a91ec2'}, + {'PyTorch-1.13.1_fix-python-3.11-compat.patch': 'fa4eb0e27e00a90bb217b77c0023089c4659c03f37d781ab4a681bdcb4f0432f'}, + {'PyTorch-1.13.1_fix-test-ops-conf.patch': 'df652eec7753864ebebbfeca546929a53e3fb8f24259d5c9b964266a8551198c'}, + {'PyTorch-1.13.1_fix-warning-in-test-cpp-api.patch': + 'bdde0f2105215c95a54de64ec4b1a4520528510663174fef6d5b900eb1db3937'}, + {'PyTorch-1.13.1_fix-wrong-check-in-fsdp-tests.patch': + 'cbb5ca9ad668a504a456a2cc02d7254b79ddfd9a971a1648f0508fb103a9fc89'}, + {'PyTorch-1.13.1_increase-tolerance-test_jit.patch': + 'b97913754a0ae0887b8137db0b0d57caff8c3d7bd96fe555ea27ea01ff14527a'}, + {'PyTorch-1.13.1_increase-tolerance-test_ops.patch': + 'c909fdfc2b12df457e1eb5514265ffec3eab653994949416f3f048668421e223'}, + {'PyTorch-1.13.1_increase-tolerance-test_optim.patch': + 'a079d824085eab89794f5ecfc67792f735ed8cfd3fe7db52e4dea62e583cfe06'}, + {'PyTorch-1.13.1_install-vsx-vec-headers.patch': + '7b678f54bb947afd4767f5877ac424b4b94ce5db609ea20f5a869ccf4027035f'}, + {'PyTorch-1.13.1_no-cuda-stubs-rpath.patch': '4c636059850fc9d1ecb27ce275f8aad5d5b6fdc19e35aff0c25b86cb3201352a'}, + {'PyTorch-1.13.1_remove-flaky-test-in-testnn.patch': + 'be83ff61fe2dedab6d49c232936d5622df81ab49154264490021c6c828e53315'}, + {'PyTorch-1.13.1_skip-failing-grad-test.patch': '6681200f9509893cb9231b5c93ac9bc5e6d9d9ae4febefca52e7cbc843ba8f51'}, + {'PyTorch-1.13.1_skip-failing-singular-grad-test.patch': + '72688a57b2bb617665ad1a1d5e362c5111ae912c10936bb38a089c0204729f48'}, + {'PyTorch-1.13.1_skip-test-requiring-online-access.patch': + '61c3b7859dc06a9969981b07aa2789630de110d6d1d3633d27364be47af74712'}, + {'PyTorch-1.13.1_skip-tests-without-fbgemm.patch': + '481e595f673baf8ae58b41697a6792b83048b0264aa79b422f48cd8c22948bb7'}, +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +builddependencies = [ + ('CMake', '3.24.3'), + ('hypothesis', '6.68.2'), + # For tests + ('pytest-rerunfailures', '12.0'), + ('pytest-shard', '0.1.2'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Ninja', '1.11.1'), # Required for JIT compilation of C++ extensions + ('Python', '3.10.8'), + ('protobuf', '23.0'), + ('protobuf-python', '4.23.0'), + ('pybind11', '2.10.3'), + ('SciPy-bundle', '2023.02'), + ('PyYAML', '6.0'), + ('MPFR', '4.2.0'), + ('GMP', '6.2.1'), + ('numactl', '2.0.16'), + ('FFmpeg', '5.1.2'), + ('Pillow', '9.4.0'), + ('cuDNN', '8.5.0.96', '-CUDA-%(cudaver)s', SYSTEM), + ('magma', '2.7.1', '-CUDA-%(cudaver)s'), + ('NCCL', '2.16.2', '-CUDA-%(cudaver)s'), + ('expecttest', '0.1.3'), +] + +custom_opts = ['CMAKE_CUDA_FLAGS=-allow-unsupported-compiler'] + +excluded_tests = { + '': [ + # This test seems to take too long on NVIDIA Ampere at least. + 'distributed/test_distributed_spawn', + # Broken on CUDA 11.6/11.7: https://github.com/pytorch/pytorch/issues/75375 + 'distributions/test_constraints', + # no xdoctest + 'doctests', + # failing on broadwell + # See https://github.com/easybuilders/easybuild-easyconfigs/issues/17712 + 'test_native_mha', + # intermittent failures on various systems + # See https://github.com/easybuilders/easybuild-easyconfigs/issues/17712 + 'distributed/rpc/test_tensorpipe_agent', + ] +} + +runtest = 'cd test && PYTHONUNBUFFERED=1 %(python)s run_test.py --continue-through-error --verbose %(excluded_tests)s' + +# The readelf sanity check command can be taken out once the TestRPATH test from +# https://github.com/pytorch/pytorch/pull/87593 is accepted, since it is then checked as part of the PyTorch test suite +local_libcaffe2 = "$EBROOTPYTORCH/lib/python%%(pyshortver)s/site-packages/torch/lib/libcaffe2_nvrtc.%s" % SHLIB_EXT +sanity_check_commands = [ + "readelf -d %s | egrep 'RPATH|RUNPATH' | grep -v stubs" % local_libcaffe2, +] + +# Especially test_quantization has a few corner cases that are triggered by the random input values, +# those cannot be easily avoided, see https://github.com/pytorch/pytorch/issues/107030 +# So allow a low number of tests to fail as the tests "usually" succeed +max_failed_tests = 2 + +tests = ['PyTorch-check-cpp-extension.py'] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-duplicate-kDefaultTimeout-definition.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-duplicate-kDefaultTimeout-definition.patch new file mode 100644 index 00000000000..6e211b1f3a8 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-duplicate-kDefaultTimeout-definition.patch @@ -0,0 +1,31 @@ +From 9a18968253e28ba8d8bdf646731087000c7876b7 Mon Sep 17 00:00:00 2001 +From: sclarkson +Date: Tue, 21 Mar 2023 21:44:49 +0000 +Subject: [PATCH] Fix kDefaultTimeout multiple definition build failure + (#97270) + +Make the namespace explicit to avoid the constexpr conflict on GCC 11. + +Fixes #90448 + +@ezyang + +Pull Request resolved: https://github.com/pytorch/pytorch/pull/97270 +Approved by: https://github.com/ezyang +--- + torch/csrc/distributed/c10d/ProcessGroupGloo.hpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/torch/csrc/distributed/c10d/ProcessGroupGloo.hpp b/torch/csrc/distributed/c10d/ProcessGroupGloo.hpp +index a64bc37c4de522..e4d2967c8604ea 100644 +--- a/torch/csrc/distributed/c10d/ProcessGroupGloo.hpp ++++ b/torch/csrc/distributed/c10d/ProcessGroupGloo.hpp +@@ -125,7 +125,7 @@ class TORCH_API ProcessGroupGloo : public Backend { + } + + void wait(const std::vector& keys) override { +- store_->wait(keys, Store::kDefaultTimeout); ++ store_->wait(keys, ::c10d::Store::kDefaultTimeout); + } + + void wait( diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-fsdp-tp-integration-test.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-fsdp-tp-integration-test.patch new file mode 100644 index 00000000000..6f4a52f460f --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-fsdp-tp-integration-test.patch @@ -0,0 +1,32 @@ +Similar to the FP16 test this test seems to expect at most 4 GPUs +as indicated by `skip_if_lt_x_gpu(4)` decorators. + +Otherwise: +- test_fsdp_tp_checkpoint_integration fails with + File "/tmp/eb-tmp-2022a-cuda/lib/python3.10/site-packages/torch/distributed/_shard/sharded_tensor/_ops/tensor_ops.py", line 46, in tensor_device + return self_st.local_shards()[0].tensor.device + IndexError: list index out of range +- test_fsdp_tp_integration fails with + AssertionError: Tensor-likes are not close! + + Mismatched elements: 72 / 72 (100.0%) + Greatest absolute difference: 0.958100214600563 at index (0, 2, 7) (up to 1e-05 allowed) + Greatest relative difference: 52.01691657271702 at index (1, 2, 4) (up to 1.3e-06 allowed) + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/distributed/fsdp/test_fsdp_tp_integration.py b/test/distributed/fsdp/test_fsdp_tp_integration.py +index e813966ec2f..ec2308c705b 100644 +--- a/test/distributed/fsdp/test_fsdp_tp_integration.py ++++ b/test/distributed/fsdp/test_fsdp_tp_integration.py +@@ -202,6 +202,10 @@ class SimpleModel(torch.nn.Module): + + + class TestTPFSDPIntegration(FSDPTest): ++ @property ++ def world_size(self): ++ return min(4, super().world_size) ++ + def _get_params_and_sharding_info( + self, + model: SimpleModel, diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-kineto-crash-on-exit.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-kineto-crash-on-exit.patch new file mode 100644 index 00000000000..ea4708e3b68 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-kineto-crash-on-exit.patch @@ -0,0 +1,102 @@ +Fix a crash in libkineto on shutdown observed in e.g. test_jit_cuda_fuser.py +Taken from https://github.com/pytorch/kineto/pull/696 +by Dmytro Dzhulgakov + +Backported: Alexander Grund (TU Dresden) + +Submodule third_party/kineto contains modified content +diff --git a/third_party/kineto/libkineto/include/Config.h b/third_party/kineto/libkineto/include/Config.h +index 3e7f2d4..10c80d9 100644 +--- a/third_party/kineto/libkineto/include/Config.h ++++ b/third_party/kineto/libkineto/include/Config.h +@@ -315,6 +315,12 @@ class Config : public AbstractConfig { + + void print(std::ostream& s) const; + ++ // Config relies on some state with global static lifetime. If other ++ // threads are using the config, it's possible that the global state ++ // is destroyed before the threads stop. By hanging onto this handle, ++ // correct destruction order can be ensured. ++ static std::shared_ptr getStaticObjectsLifetimeHandle(); ++ + private: + explicit Config(const Config& other) = default; + +diff --git a/third_party/kineto/libkineto/src/Config.cpp b/third_party/kineto/libkineto/src/Config.cpp +index 2b6e04e..b23abd6 100644 +--- a/third_party/kineto/libkineto/src/Config.cpp ++++ b/third_party/kineto/libkineto/src/Config.cpp +@@ -155,10 +155,8 @@ struct FactoryMap { + + std::shared_ptr configFactories() { + // Ensure this is safe to call during shutdown, even as static +- // destructors are invoked. Once factories destructor has been +- // invoked, weak_ptr.lock() will return nullptr. +- // But calls before that point will have a valid shared_ptr, +- // delaying destruction of the underlying FactoryMap. ++ // destructors are invoked. getStaticObjectLifetimeHandle hangs onto ++ // FactoryMap delaying its destruction. + static auto factories = std::make_shared(); + static std::weak_ptr weak_ptr = factories; + return weak_ptr.lock(); +@@ -210,6 +208,10 @@ Config::Config() + } + } + ++std::shared_ptr Config::getStaticObjectsLifetimeHandle() { ++ return configFactories(); ++} ++ + uint8_t Config::createDeviceMask(const string& val) { + uint8_t res = 0; + for (const auto& d : splitAndTrim(val, ',')) { +diff --git a/third_party/kineto/libkineto/src/ConfigLoader.cpp b/third_party/kineto/libkineto/src/ConfigLoader.cpp +index 4080b67..ca72b32 100644 +--- a/third_party/kineto/libkineto/src/ConfigLoader.cpp ++++ b/third_party/kineto/libkineto/src/ConfigLoader.cpp +@@ -157,7 +157,7 @@ void ConfigLoader::startThread() { + } + } + +-ConfigLoader::~ConfigLoader() { ++void ConfigLoader::stopThread() { + if (updateThread_) { + stopFlag_ = true; + { +@@ -165,7 +165,12 @@ ConfigLoader::~ConfigLoader() { + updateThreadCondVar_.notify_one(); + } + updateThread_->join(); ++ updateThread_ = nullptr; + } ++} ++ ++ConfigLoader::~ConfigLoader() { ++ stopThread(); + #if !USE_GOOGLE_LOG + Logger::clearLoggerObservers(); + #endif // !USE_GOOGLE_LOG +@@ -249,6 +254,11 @@ void ConfigLoader::configureFromDaemon( + } + + void ConfigLoader::updateConfigThread() { ++ // It's important to hang to this reference until the thread stops. ++ // Otherwise, the Config's static members may be destroyed before this ++ // function finishes. ++ auto handle = Config::getStaticObjectsLifetimeHandle(); ++ + auto now = system_clock::now(); + auto next_config_load_time = now; + auto next_on_demand_load_time = now + onDemandConfigUpdateIntervalSecs_; +diff --git a/third_party/kineto/libkineto/src/ConfigLoader.h b/third_party/kineto/libkineto/src/ConfigLoader.h +index 4680816..83a94ac 100644 +--- a/third_party/kineto/libkineto/src/ConfigLoader.h ++++ b/third_party/kineto/libkineto/src/ConfigLoader.h +@@ -108,6 +108,7 @@ class ConfigLoader { + DaemonConfigLoader* daemonConfigLoader(); + + void startThread(); ++ void stopThread(); + void updateConfigThread(); + void updateBaseConfig(); + diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-wrong-check-in-fsdp-tests.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-wrong-check-in-fsdp-tests.patch new file mode 100644 index 00000000000..ec664f7ae32 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-wrong-check-in-fsdp-tests.patch @@ -0,0 +1,21 @@ +A check in the test code was inverted and incomplete. +See https://github.com/pytorch/pytorch/pull/90252 & https://github.com/pytorch/pytorch/pull/90785 + +Author: Alexander Grund (TU Dresden) + +diff --git a/torch/testing/_internal/common_fsdp.py b/torch/testing/_internal/common_fsdp.py +index eda1b953d95..56a95961371 100644 +--- a/torch/testing/_internal/common_fsdp.py ++++ b/torch/testing/_internal/common_fsdp.py +@@ -1014,7 +1014,10 @@ class FSDPTest(MultiProcessTestCase): + # the DDP parameters are in FP16 (from `half()`) while the FSDP + # parameters are in FP32 (from `summon_full_params()`) and (2) DDP runs + # the optimizer in FP16 while FSDP runs it in FP32 +- if mixed_precision is not None: ++ # TODO: Disable checking the parameters for pure FP16 due to floating ++ # point inaccuracy. Note that this means that the backward pass is not ++ # checked: https://github.com/pytorch/pytorch/issues/90784 ++ if mixed_precision is None and not use_pure_fp16: + self.assertEqual( + ddp_params, + fsdp_unsharded_params, diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_increase-tolerance-test_jit.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_increase-tolerance-test_jit.patch new file mode 100644 index 00000000000..b1d87bd071f --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_increase-tolerance-test_jit.patch @@ -0,0 +1,24 @@ +Fix the following failure: + +FAIL: test_freeze_conv_relu_fusion (jit.test_freezing.TestFrozenOptimizations) +---------------------------------------------------------------------- +... +Mismatched elements: 10 / 30 (33.3%) +Greatest absolute difference: 3.057718276977539e-05 at index (2, 3, 0, 0, 0) (up to 1e-05 allowed) +Greatest relative difference: 8.758584417742737e-05 at index (0, 3, 0, 0, 0) (up to 1.3e-06 allowed) + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/jit/test_freezing.py b/test/jit/test_freezing.py +index cdb2187f6bb..900c7dc5f53 100644 +--- a/test/jit/test_freezing.py ++++ b/test/jit/test_freezing.py +@@ -2255,7 +2255,7 @@ class TestFrozenOptimizations(JitTestCase): + else: + FileCheck().check("aten::cudnn_convolution_relu").run(frozen_mod.graph) + +- self.assertEqual(mod_eager(inp), frozen_mod(inp)) ++ self.assertEqual(mod_eager(inp), frozen_mod(inp), atol=5e-5, rtol=1e-4) + + @unittest.skipIf(not (TEST_CUDNN or TEST_WITH_ROCM), "requires CUDNN") + def test_freeze_conv_relu_fusion_not_forward(self): diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_increase-tolerance-test_optim.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_increase-tolerance-test_optim.patch new file mode 100644 index 00000000000..566751f4990 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_increase-tolerance-test_optim.patch @@ -0,0 +1,17 @@ +Increase tolerance for failing test(s). +See https://github.com/pytorch/pytorch/issues/98414 + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/test_optim.py b/test/test_optim.py +index 2cb27376919..ce7cf2cb160 100644 +--- a/test/test_optim.py ++++ b/test/test_optim.py +@@ -777,6 +777,7 @@ class TestOptim(TestCase): + ) + + def test_nadam(self): ++ self.precision, self.rel_tol = (2e-05, 1e-05) + self._test_basic_cases( + lambda weight, bias, foreach: optim.NAdam([weight, bias], lr=1e-3, foreach=foreach), + constructor_accepts_foreach=True, diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_skip-test-requiring-online-access.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_skip-test-requiring-online-access.patch new file mode 100644 index 00000000000..cd50539752f --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_skip-test-requiring-online-access.patch @@ -0,0 +1,25 @@ +This tests downloads a Perl file from a Github repo which may fail in: + + File "test/test_cuda.py", line 4632, in test_memory_snapshot + torch.cuda.memory._save_segment_usage(f.name) + File "/torch/cuda/memory.py", line 610, in _save_segment_usage + f.write(_segments(snapshot)) + File "/torch/cuda/_memory_viz.py", line 60, in segments + return format_flamegraph(f.getvalue()) + File "/torch/cuda/_memory_viz.py", line 21, in format_flamegraph + urllib.request.urlretrieve( + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/test_cuda.py b/test/test_cuda.py +index 50644c22875..64d0eeb2fd4 100644 +--- a/test/test_cuda.py ++++ b/test/test_cuda.py +@@ -4599,6 +4599,7 @@ class TestCudaComm(TestCase): + cat = torch.cat((outputs[0][i].to('cpu'), outputs[1][i].to('cpu'))) + self.assertTrue(torch.equal(x, cat)) + ++ @unittest.skip("Requires internet access") + def test_memory_snapshot(self): + try: + torch.cuda.memory.empty_cache() diff --git a/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.13.1-GCCcore-12.2.0-CUDA-11.7.0.eb b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.13.1-GCCcore-12.2.0-CUDA-11.7.0.eb new file mode 100755 index 00000000000..2376c9e36ac --- /dev/null +++ b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.13.1-GCCcore-12.2.0-CUDA-11.7.0.eb @@ -0,0 +1,42 @@ +easyblock = 'EB_UCX_Plugins' + +name = 'UCX-CUDA' +version = '1.13.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'http://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications + +This module adds the UCX CUDA support. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = [{'filename': 'ucx-%(version)s.tar.gz', 'alt_location': 'UCX'}] +patches = ['%(name)s-1.11.0_link_against_existing_UCX_libs.patch'] +checksums = [ + ('efc37829b68e131d2acc82a3fd4334bfd611156a756837ffeb650ab9a9dd3828', + '2c4a2f96c700e3705e185c2846a710691b6e800e8aec11fd4b3e47bcc3990548'), # ucx-1.13.1.tar.gz + {'UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch': + '457187fa020e526609ba91e7750c9941d57bd57d60d6eed317b40ad8824aca93'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('UCX', '1.13.1'), + ('CUDA', '11.7.0', '', SYSTEM), + ('GDRCopy', '2.3'), +] + + +moduleclass = 'lib' From 988601edcd0d964c82c9a7e3087c1b02d7330f34 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Fri, 22 Sep 2023 15:34:54 +0200 Subject: [PATCH 007/889] Remove executable flag --- .../u/UCX-CUDA/UCX-CUDA-1.13.1-GCCcore-12.2.0-CUDA-11.7.0.eb | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.13.1-GCCcore-12.2.0-CUDA-11.7.0.eb diff --git a/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.13.1-GCCcore-12.2.0-CUDA-11.7.0.eb b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.13.1-GCCcore-12.2.0-CUDA-11.7.0.eb old mode 100755 new mode 100644 From 46f95a22acfd79e41e5f9c8c928282fe4e88b09e Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Fri, 20 Oct 2023 11:15:45 +0200 Subject: [PATCH 008/889] Fix JIT failures due to NVCC-GCC-mismatch --- .../PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb | 3 ++ ...ch-1.13.1_allow-GCC-12-for-CUDA-11.7.patch | 29 +++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_allow-GCC-12-for-CUDA-11.7.patch diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb index 5d9fcc0b317..fdfb9edc533 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb @@ -25,6 +25,7 @@ patches = [ 'PyTorch-1.12.1_fix-vsx-loadu.patch', 'PyTorch-1.12.1_fix-vsx-vector-funcs.patch', 'PyTorch-1.12.1_skip-test_round_robin.patch', + 'PyTorch-1.13.1_allow-GCC-12-for-CUDA-11.7.patch', 'PyTorch-1.13.1_disable-test-sharding.patch', 'PyTorch-1.13.1_fix-duplicate-kDefaultTimeout-definition.patch', 'PyTorch-1.13.1_fix-flaky-jit-test.patch', @@ -74,6 +75,8 @@ checksums = [ {'PyTorch-1.12.1_fix-vsx-loadu.patch': '8bfe3c94ada1dd1f7974a1261a8b576fb7ae944050fa1c7830fca033831123b2'}, {'PyTorch-1.12.1_fix-vsx-vector-funcs.patch': 'caccbf60f62eac313896c1eaec78b08f5d0fdfcb907079087490bb13d1561aa2'}, {'PyTorch-1.12.1_skip-test_round_robin.patch': '63d4849b78605aa088fdff695637d9473ea60dee603a3ff7f788690d70c55349'}, + {'PyTorch-1.13.1_allow-GCC-12-for-CUDA-11.7.patch': + '4c9a4247dcf6e0f62fda2e7283f7de6f7c801d5e61c39d27a91a287f9d363d68'}, {'PyTorch-1.13.1_disable-test-sharding.patch': 'df2074adeba47998ce2993d99ca64eb6f1c79ab7057f553b436efdec264d3572'}, {'PyTorch-1.13.1_fix-duplicate-kDefaultTimeout-definition.patch': '882f8cfaf33490a4372928fb6673cbbfa40e5be1b64bf7e0cc2924d73cf872e8'}, diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_allow-GCC-12-for-CUDA-11.7.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_allow-GCC-12-for-CUDA-11.7.patch new file mode 100644 index 00000000000..568c4b57e9c --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_allow-GCC-12-for-CUDA-11.7.patch @@ -0,0 +1,29 @@ +The JIT generator for CUDA fails as GCC 12 isn't officially compatible with CUDA 11.7. +We can make it compatible by passing `-allow-unsupported-compiler` +but also need to tell the PyTorch code about the raised maximum compiler version. + +Author: Alexander Grund (TU Dresden) + +diff --git a/torch/utils/cpp_extension.py b/torch/utils/cpp_extension.py +index 9ab43e5ccdd..15da97619be 100644 +--- a/torch/utils/cpp_extension.py ++++ b/torch/utils/cpp_extension.py +@@ -56,7 +56,7 @@ CUDA_GCC_VERSIONS = { + '11.4': ((6, 0, 0), (11, 5, 0)), + '11.5': ((6, 0, 0), (11, 5, 0)), + '11.6': ((6, 0, 0), (11, 5, 0)), +- '11.7': ((6, 0, 0), (11, 5, 0)), ++ '11.7': ((6, 0, 0), (12, 3, 0)), + } + + CUDA_CLANG_VERSIONS = { +@@ -227,7 +227,8 @@ COMMON_NVCC_FLAGS = [ + '-D__CUDA_NO_HALF_CONVERSIONS__', + '-D__CUDA_NO_BFLOAT16_CONVERSIONS__', + '-D__CUDA_NO_HALF2_OPERATORS__', +- '--expt-relaxed-constexpr' ++ '--expt-relaxed-constexpr', ++ '-allow-unsupported-compiler', + ] + + COMMON_HIP_FLAGS = [ From 1969253f1619aa5dee0343d69be9de7e0cd9cade Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Wed, 1 Nov 2023 17:55:31 +0100 Subject: [PATCH 009/889] Workaround GCC12 destructor bug --- .../PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb | 3 + ...round-gcc12-destructor-exception-bug.patch | 68 +++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_workaround-gcc12-destructor-exception-bug.patch diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb index fdfb9edc533..38003dce3d7 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb @@ -51,6 +51,7 @@ patches = [ 'PyTorch-1.13.1_skip-failing-singular-grad-test.patch', 'PyTorch-1.13.1_skip-test-requiring-online-access.patch', 'PyTorch-1.13.1_skip-tests-without-fbgemm.patch', + 'PyTorch-1.13.1_workaround-gcc12-destructor-exception-bug.patch', ] checksums = [ {'pytorch-v1.13.1.tar.gz': 'dbc229ee9750b02b514937d017744443a269ea0241ed3f32b9af0703589d25d4'}, @@ -118,6 +119,8 @@ checksums = [ '61c3b7859dc06a9969981b07aa2789630de110d6d1d3633d27364be47af74712'}, {'PyTorch-1.13.1_skip-tests-without-fbgemm.patch': '481e595f673baf8ae58b41697a6792b83048b0264aa79b422f48cd8c22948bb7'}, + {'PyTorch-1.13.1_workaround-gcc12-destructor-exception-bug.patch': + '931142a3133ea8f6819123523b15cbc9dbdaf8c28e34396a09227f865e7c8829'}, ] osdependencies = [OS_PKG_IBVERBS_DEV] diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_workaround-gcc12-destructor-exception-bug.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_workaround-gcc12-destructor-exception-bug.patch new file mode 100644 index 00000000000..0ebcb88930a --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_workaround-gcc12-destructor-exception-bug.patch @@ -0,0 +1,68 @@ +GCC 12 introduced a regression that may cause it to call the destructor twice on an object. +See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112301 +This is visible in e.g. `test_cpp_extensions_jit.py -k test_warning` +See also https://github.com/pytorch/pytorch/issues/112383 + +Workaround this by trying to avoid the throwing PyWarningHandler destructor. + +Author: Alexander Grund (TU Dresden) + +diff --git a/torch/csrc/Exceptions.cpp b/torch/csrc/Exceptions.cpp +index 5210d6f713d..3c91ed378e1 100644 +--- a/torch/csrc/Exceptions.cpp ++++ b/torch/csrc/Exceptions.cpp +@@ -226,6 +226,10 @@ PyWarningHandler::PyWarningHandler() noexcept(true) + /// NOLINTNEXTLINE(bugprone-exception-escape) + PyWarningHandler::~PyWarningHandler() noexcept(false) { + c10::Warning::set_warning_handler(prev_handler_); ++ process_warnings(); ++} ++ ++void PyWarningHandler::process_warnings() { + auto& warning_buffer = internal_handler_.warning_buffer_; + + if (warning_buffer.size() > 0) { +diff --git a/torch/csrc/Exceptions.h b/torch/csrc/Exceptions.h +index 89256c64bba..7e09d0ebc37 100644 +--- a/torch/csrc/Exceptions.h ++++ b/torch/csrc/Exceptions.h +@@ -110,6 +110,13 @@ static inline void PyErr_SetString(PyObject* type, const std::string& message) { + retstmnt; \ + } + ++/** To be called inside a HANDLE_TH_ERRORS..END_HANDLE_TH_ERRORS_* block ++ * before returning a value / where no further warnings can occur. ++ * Avoids throwing an error in the destructor which triggers a bug in GCC 12+ ++ * See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112301 ++ */ ++#define FLUSH_TH_ERRORS __enforce_warning_buffer.process_warnings(); ++ + #define END_HANDLE_TH_ERRORS_PYBIND \ + } \ + catch (...) { \ +@@ -381,6 +388,9 @@ struct PyWarningHandler { + in_exception_ = true; + } + ++ // Trigger processing of warnings ++ TORCH_API void process_warnings(); ++ + private: + InternalHandler internal_handler_; + at::WarningHandler* prev_handler_; +@@ -399,7 +409,14 @@ auto wrap_pybind_function_impl_(Func&& f, std::index_sequence) { + // f=f is needed to handle function references on older compilers + return [f = f](Arg... args) -> typename traits::result_type { + HANDLE_TH_ERRORS +- return f(std::forward>(args)...); ++ if constexpr (std::is_void_v) { ++ c10::guts::invoke(f, std::forward>(args)...); ++ FLUSH_TH_ERRORS ++ } else { ++ auto res = c10::guts::invoke(f, std::forward>(args)...); ++ FLUSH_TH_ERRORS ++ return res; ++ } + END_HANDLE_TH_ERRORS_PYBIND + }; + } From 7f76a4828b9deeb564aa11efb081875b5f45f390 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Thu, 2 Nov 2023 12:18:23 +0100 Subject: [PATCH 010/889] Fix missing type in patch --- .../PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb | 2 +- ..._workaround-gcc12-destructor-exception-bug.patch | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb index 38003dce3d7..106232c7092 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb @@ -120,7 +120,7 @@ checksums = [ {'PyTorch-1.13.1_skip-tests-without-fbgemm.patch': '481e595f673baf8ae58b41697a6792b83048b0264aa79b422f48cd8c22948bb7'}, {'PyTorch-1.13.1_workaround-gcc12-destructor-exception-bug.patch': - '931142a3133ea8f6819123523b15cbc9dbdaf8c28e34396a09227f865e7c8829'}, + 'd46412fe917110c197e4e2c572fc577644bd6b117c99dc8c57fa96b69d5456dc'}, ] osdependencies = [OS_PKG_IBVERBS_DEV] diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_workaround-gcc12-destructor-exception-bug.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_workaround-gcc12-destructor-exception-bug.patch index 0ebcb88930a..b1bd76bc125 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_workaround-gcc12-destructor-exception-bug.patch +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_workaround-gcc12-destructor-exception-bug.patch @@ -23,7 +23,7 @@ index 5210d6f713d..3c91ed378e1 100644 if (warning_buffer.size() > 0) { diff --git a/torch/csrc/Exceptions.h b/torch/csrc/Exceptions.h -index 89256c64bba..7e09d0ebc37 100644 +index 89256c64bba..8514d08c8d0 100644 --- a/torch/csrc/Exceptions.h +++ b/torch/csrc/Exceptions.h @@ -110,6 +110,13 @@ static inline void PyErr_SetString(PyObject* type, const std::string& message) { @@ -50,9 +50,16 @@ index 89256c64bba..7e09d0ebc37 100644 private: InternalHandler internal_handler_; at::WarningHandler* prev_handler_; -@@ -399,7 +409,14 @@ auto wrap_pybind_function_impl_(Func&& f, std::index_sequence) { +@@ -394,12 +404,20 @@ using Arg = typename function_traits::template arg::type; + template + auto wrap_pybind_function_impl_(Func&& f, std::index_sequence) { + using traits = function_traits; ++ using result_type = typename traits::result_type; + namespace py = pybind11; + // f=f is needed to handle function references on older compilers - return [f = f](Arg... args) -> typename traits::result_type { +- return [f = f](Arg... args) -> typename traits::result_type { ++ return [f = f](Arg... args) -> result_type { HANDLE_TH_ERRORS - return f(std::forward>(args)...); + if constexpr (std::is_void_v) { From b152c17951e60e097aba5ebf3baacca2c0e41013 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Fri, 3 Nov 2023 14:05:46 +0100 Subject: [PATCH 011/889] Fix patch --- .../p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb | 2 +- ...Torch-1.13.1_workaround-gcc12-destructor-exception-bug.patch | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb index 106232c7092..98367364114 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb @@ -120,7 +120,7 @@ checksums = [ {'PyTorch-1.13.1_skip-tests-without-fbgemm.patch': '481e595f673baf8ae58b41697a6792b83048b0264aa79b422f48cd8c22948bb7'}, {'PyTorch-1.13.1_workaround-gcc12-destructor-exception-bug.patch': - 'd46412fe917110c197e4e2c572fc577644bd6b117c99dc8c57fa96b69d5456dc'}, + 'a09a2d7ebd428c65988729578bb3fa372565ba176ab9ed7abf11f6fcb15e903e'}, ] osdependencies = [OS_PKG_IBVERBS_DEV] diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_workaround-gcc12-destructor-exception-bug.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_workaround-gcc12-destructor-exception-bug.patch index b1bd76bc125..63c3ab6c425 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_workaround-gcc12-destructor-exception-bug.patch +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_workaround-gcc12-destructor-exception-bug.patch @@ -62,7 +62,7 @@ index 89256c64bba..8514d08c8d0 100644 + return [f = f](Arg... args) -> result_type { HANDLE_TH_ERRORS - return f(std::forward>(args)...); -+ if constexpr (std::is_void_v) { ++ if constexpr (std::is_void::value) { + c10::guts::invoke(f, std::forward>(args)...); + FLUSH_TH_ERRORS + } else { From 425e7f2fccbf63d1a8d76a930264c46cf6dec9a1 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Tue, 14 Nov 2023 13:39:16 +0100 Subject: [PATCH 012/889] Fix CPUID related NCCL crash in distributed tests --- .../NCCL-2.16.2-GCCcore-12.2.0-CUDA-11.7.0.eb | 6 ++- .../n/NCCL/NCCL-2.16.2_fix-cpuid.patch | 43 +++++++++++++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 easybuild/easyconfigs/n/NCCL/NCCL-2.16.2_fix-cpuid.patch diff --git a/easybuild/easyconfigs/n/NCCL/NCCL-2.16.2-GCCcore-12.2.0-CUDA-11.7.0.eb b/easybuild/easyconfigs/n/NCCL/NCCL-2.16.2-GCCcore-12.2.0-CUDA-11.7.0.eb index ed1a8e67177..ebbd8221383 100644 --- a/easybuild/easyconfigs/n/NCCL/NCCL-2.16.2-GCCcore-12.2.0-CUDA-11.7.0.eb +++ b/easybuild/easyconfigs/n/NCCL/NCCL-2.16.2-GCCcore-12.2.0-CUDA-11.7.0.eb @@ -11,7 +11,11 @@ toolchain = {'name': 'GCCcore', 'version': '12.2.0'} github_account = 'NVIDIA' source_urls = [GITHUB_SOURCE] sources = ['v%(version)s-1.tar.gz'] -checksums = ['7f7c738511a8876403fc574d13d48e7c250d934d755598d82e14bab12236fc64'] +patches = ['NCCL-2.16.2_fix-cpuid.patch'] +checksums = [ + {'v2.16.2-1.tar.gz': '7f7c738511a8876403fc574d13d48e7c250d934d755598d82e14bab12236fc64'}, + {'NCCL-2.16.2_fix-cpuid.patch': '0459ecadcd32b2a7a000a2ce4f675afba908b2c0afabafde585330ff4f83e277'}, +] builddependencies = [('binutils', '2.39')] diff --git a/easybuild/easyconfigs/n/NCCL/NCCL-2.16.2_fix-cpuid.patch b/easybuild/easyconfigs/n/NCCL/NCCL-2.16.2_fix-cpuid.patch new file mode 100644 index 00000000000..de293c36e76 --- /dev/null +++ b/easybuild/easyconfigs/n/NCCL/NCCL-2.16.2_fix-cpuid.patch @@ -0,0 +1,43 @@ +The 2nd CPUID asm code modifies registers used by other variables due to failure to list +EBX, ECX & EDX in the "clobbers" list. +This causes corruption leading to segfaults or wrong results depending on compiler optimization/register allocation. + +Fix by using the __cpuid GCC function. +See https://github.com/NVIDIA/nccl/pull/1070 + +Author: Alexander Grund (TU Dresden) + +diff --git a/src/graph/xml.cc b/src/graph/xml.cc +index 316d20f..d0d1272 100644 +--- a/src/graph/xml.cc ++++ b/src/graph/xml.cc +@@ -12,6 +12,9 @@ + #include "core.h" + #include "nvmlwrap.h" + #include "xml.h" ++#if defined(__x86_64__) ++#include ++#endif + + /*******************/ + /* XML File Parser */ +@@ -408,7 +411,8 @@ ncclResult_t ncclTopoGetXmlFromCpu(struct ncclXmlNode* cpuNode, struct ncclXml* + char vendor[12]; + } cpuid0; + +- asm volatile("cpuid" : "=b" (cpuid0.ebx), "=c" (cpuid0.ecx), "=d" (cpuid0.edx) : "a" (0) : "memory"); ++ unsigned unused; ++ __cpuid(0, unused, cpuid0.ebx, cpuid0.ecx, cpuid0.edx); + char vendor[13]; + strncpy(vendor, cpuid0.vendor, 12); + vendor[12] = '\0'; +@@ -430,7 +434,8 @@ ncclResult_t ncclTopoGetXmlFromCpu(struct ncclXmlNode* cpuNode, struct ncclXml* + }; + uint32_t val; + } cpuid1; +- asm volatile("cpuid" : "=a" (cpuid1.val) : "a" (1) : "memory"); ++ unsigned unused; ++ __cpuid(1, cpuid1.val, unused, unused, unused); + int familyId = cpuid1.familyId + (cpuid1.extFamilyId << 4); + int modelId = cpuid1.modelId + (cpuid1.extModelId << 4); + NCCLCHECK(xmlSetAttrInt(cpuNode, "familyid", familyId)); From 04cbab44c14d3b8ee4ca5ced5bbf24292d9476e4 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Tue, 14 Nov 2023 13:45:47 +0100 Subject: [PATCH 013/889] Reduce number of test_quantization failures --- .../p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb index 98367364114..65165ec9783 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb @@ -52,6 +52,7 @@ patches = [ 'PyTorch-1.13.1_skip-test-requiring-online-access.patch', 'PyTorch-1.13.1_skip-tests-without-fbgemm.patch', 'PyTorch-1.13.1_workaround-gcc12-destructor-exception-bug.patch', + 'PyTorch-2.0.1_avoid-test_quantization-failures.patch', ] checksums = [ {'pytorch-v1.13.1.tar.gz': 'dbc229ee9750b02b514937d017744443a269ea0241ed3f32b9af0703589d25d4'}, @@ -121,6 +122,8 @@ checksums = [ '481e595f673baf8ae58b41697a6792b83048b0264aa79b422f48cd8c22948bb7'}, {'PyTorch-1.13.1_workaround-gcc12-destructor-exception-bug.patch': 'a09a2d7ebd428c65988729578bb3fa372565ba176ab9ed7abf11f6fcb15e903e'}, + {'PyTorch-2.0.1_avoid-test_quantization-failures.patch': + '02e3f47e4ed1d7d6077e26f1ae50073dc2b20426269930b505f4aefe5d2f33cd'}, ] osdependencies = [OS_PKG_IBVERBS_DEV] From 3897102f9511e6278ffb94b1e9cf8dbcabfa5983 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Fri, 24 Nov 2023 10:20:32 +0100 Subject: [PATCH 014/889] adding easyconfigs: GAMESS-US-20220930-R2-gompi-2022a.eb --- .../GAMESS-US-20220930-R2-gompi-2022a.eb | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb diff --git a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb new file mode 100644 index 00000000000..f10f8d8256e --- /dev/null +++ b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb @@ -0,0 +1,49 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2017 University of Luxembourg / LCSB, Cyprus Institute / CaSToRC, +# Ghent University / The Francis Crick Institute +# +# Authors:: +# * Kenneth Hoste +# * Ward Poelmans +# * Oliver Stueker +# License:: MIT/GPL +## +name = 'GAMESS-US' +version = '20220930-R2' + +homepage = 'https://www.msg.chem.iastate.edu/gamess/' +description = """ The General Atomic and Molecular Electronic Structure System (GAMESS) + is a general ab initio quantum chemistry package. """ + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'usempi': True, 'openmp': False} + +dependencies = [ + ('OpenBLAS', '0.3.20', '-int8'), + ('libxc', '5.2.3'), +] + +parallel = 4 + +# manually download via http://www.msg.chem.iastate.edu/gamess/download.html (requires registration) +# rename gamess-current.tar.gz by changing 'current' to the proper version +sources = ['gamess-%(version)s.tar.gz'] +checksums = ['22c8c2dc3ef007c36a32d9ff5a9e1803ac9006f24065455c22de40dd26fb2a7a'] + +# use folders per job in $VSC_SCRATCH +scratch_dir = '$VSC_SCRATCH/%(name)s-$SLURM_JOB_ID' +user_scratch_dir = '$VSC_SCRATCH/%(name)s-$SLURM_JOB_ID' + +maxcpus = '256' +maxnodes = '32' + +postinstallcmds = [ + # use job ID 0 for out of job executions + "sed -i '4i\if (!($?SLURM_JOB_ID)) set SLURM_JOB_ID=0' %(installdir)s/rungms", + # multithreading is disabled + "sed -i 's/PPN2 = \$PPN + \$PPN/PPN2 = $PPN/g' %(installdir)s/rungms", + "sed -i 's/NPROCS = \$NCPUS + \$NCPUS/NPROCS = $NCPUS/g' %(installdir)s/rungms", +] + +moduleclass = 'chem' From 4c1f2cacce5c80c96aea3cd92e8895df7d4954ce Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Wed, 6 Dec 2023 13:45:03 +0100 Subject: [PATCH 015/889] Skip some failing tests in test_c10d_nccl --- .../PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb | 3 ++ ...p-test_find_unused_parameters-detail.patch | 48 +++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_skip-test_find_unused_parameters-detail.patch diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb index 65165ec9783..6cf3433002d 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb @@ -49,6 +49,7 @@ patches = [ 'PyTorch-1.13.1_remove-flaky-test-in-testnn.patch', 'PyTorch-1.13.1_skip-failing-grad-test.patch', 'PyTorch-1.13.1_skip-failing-singular-grad-test.patch', + 'PyTorch-1.13.1_skip-test_find_unused_parameters-detail.patch', 'PyTorch-1.13.1_skip-test-requiring-online-access.patch', 'PyTorch-1.13.1_skip-tests-without-fbgemm.patch', 'PyTorch-1.13.1_workaround-gcc12-destructor-exception-bug.patch', @@ -118,6 +119,8 @@ checksums = [ '72688a57b2bb617665ad1a1d5e362c5111ae912c10936bb38a089c0204729f48'}, {'PyTorch-1.13.1_skip-test-requiring-online-access.patch': '61c3b7859dc06a9969981b07aa2789630de110d6d1d3633d27364be47af74712'}, + {'PyTorch-1.13.1_skip-test_find_unused_parameters-detail.patch': + 'c71a3385ce5fc447f908a3df78ade2143d97e2538cf03b530db4f6cc8b32c22b'}, {'PyTorch-1.13.1_skip-tests-without-fbgemm.patch': '481e595f673baf8ae58b41697a6792b83048b0264aa79b422f48cd8c22948bb7'}, {'PyTorch-1.13.1_workaround-gcc12-destructor-exception-bug.patch': diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_skip-test_find_unused_parameters-detail.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_skip-test_find_unused_parameters-detail.patch new file mode 100644 index 00000000000..fb1436b254e --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_skip-test_find_unused_parameters-detail.patch @@ -0,0 +1,48 @@ +In distributed/test_c10d_nccl the tests +test_find_unused_parameters_kwarg_debug_detail and +test_find_unused_parameters_kwarg_grad_is_view_debug_detail +are failing often on some systems with the root error seemingly being +> terminate called after throwing an instance of 'c10::Error' +> what(): CUDA error: driver shutting down + +Stacktrace: +frame #0: c10::Error::Error() + 0x8d (0x2ae861eff2cd in /torch/lib/libc10.so) +frame #1: c10::detail::torchCheckFail() + 0xd0 (0x2ae861ec64d1 in /torch/lib/libc10.so) +frame #2: c10::cuda::c10_cuda_check_implementation() + 0x352 (0x2ae861e948c2 in /torch/lib/libc10_cuda.so) +frame #3: c10d::ProcessGroupNCCL::WorkNCCL::startedGPUExecutionInternal() const + 0x140 (0x2ae848587e80 in /torch/lib/libtorch_cuda.so) +frame #4: c10d::ProcessGroupNCCL::WorkNCCL::isStarted() + 0x58 (0x2ae84858a1b8 in /torch/lib/libtorch_cuda.so) +frame #5: c10d::ProcessGroupNCCL::workCleanupLoop() + 0x3c8 (0x2ae84858ee18 in /torch/lib/libtorch_cuda.so) + +Just skip the tests to avoid failing the testsuite. + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/distributed/test_c10d_nccl.py b/test/distributed/test_c10d_nccl.py +index 6a0858eebf8..7340a89db82 100644 +--- a/test/distributed/test_c10d_nccl.py ++++ b/test/distributed/test_c10d_nccl.py +@@ -12,7 +12,7 @@ import time + from contextlib import contextmanager + from datetime import timedelta + from itertools import product +-from unittest import mock ++from unittest import mock, skip + + import torch + import torch.distributed as c10d +@@ -1460,6 +1460,7 @@ class DistributedDataParallelTest( + + # TODO: Combine the following tests once https://github.com/pytorch/pytorch/issues/55967 + # is resolved. ++ @skip("Debug level DETAIL fails on some systems/CUDA versions") + @requires_nccl() + @skip_if_lt_x_gpu(2) + @with_dist_debug_levels(levels=["DETAIL"]) +@@ -1478,6 +1479,7 @@ class DistributedDataParallelTest( + def test_find_unused_parameters_kwarg_debug_off(self): + self._test_find_unused_parameters_kwarg() + ++ @skip("Debug level DETAIL fails on some systems/CUDA versions") + @requires_nccl() + @skip_if_lt_x_gpu(2) + @with_dist_debug_levels(levels=["DETAIL"]) From e8e4b5442cdeba9df9bb182fbe0085359bd91b9f Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Wed, 6 Dec 2023 13:51:54 +0100 Subject: [PATCH 016/889] Fix misplaced checksum --- .../p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb index 6cf3433002d..74ad2dc9d34 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb @@ -117,10 +117,10 @@ checksums = [ {'PyTorch-1.13.1_skip-failing-grad-test.patch': '6681200f9509893cb9231b5c93ac9bc5e6d9d9ae4febefca52e7cbc843ba8f51'}, {'PyTorch-1.13.1_skip-failing-singular-grad-test.patch': '72688a57b2bb617665ad1a1d5e362c5111ae912c10936bb38a089c0204729f48'}, - {'PyTorch-1.13.1_skip-test-requiring-online-access.patch': - '61c3b7859dc06a9969981b07aa2789630de110d6d1d3633d27364be47af74712'}, {'PyTorch-1.13.1_skip-test_find_unused_parameters-detail.patch': 'c71a3385ce5fc447f908a3df78ade2143d97e2538cf03b530db4f6cc8b32c22b'}, + {'PyTorch-1.13.1_skip-test-requiring-online-access.patch': + '61c3b7859dc06a9969981b07aa2789630de110d6d1d3633d27364be47af74712'}, {'PyTorch-1.13.1_skip-tests-without-fbgemm.patch': '481e595f673baf8ae58b41697a6792b83048b0264aa79b422f48cd8c22948bb7'}, {'PyTorch-1.13.1_workaround-gcc12-destructor-exception-bug.patch': From a8a1c2eff71c55bf59ff57b836b705c1472f27b6 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen Date: Mon, 11 Dec 2023 19:26:09 +0000 Subject: [PATCH 017/889] adding easyconfigs: pyiron-0.5.1-foss-2023a-Python-3.11.3.eb --- .../b/Biopython/Biopython-1.81-foss-2023a.eb | 45 +++++++++ .../b/Blosc/Blosc-1.21.5-GCCcore-12.3.0.eb | 28 ++++++ .../b/Blosc2/Blosc2-2.8.0-GCCcore-12.3.0.eb | 31 ++++++ .../coverage/coverage-7.2.3-GCCcore-12.3.0.eb | 33 +++++++ .../MDAnalysis/MDAnalysis-2.6.1-foss-2023a.eb | 57 +++++++++++ .../m/molmod/molmod-1.4.8-foss-2023a.eb | 37 ++++++++ .../n/nglview/nglview-3.0.8-foss-2023a.eb | 45 +++++++++ .../n/nose3/nose3-1.3.8-GCCcore-12.3.0.eb | 36 +++++++ .../n/numexpr/numexpr-2.8.7-foss-2023a.eb | 23 +++++ .../p/PyTables/PyTables-3.8.0-foss-2023a.eb | 76 +++++++++++++++ .../p/phonopy/phonopy-2.20.0-gfbf-2023a.eb | 38 ++++++++ .../py-cpuinfo-9.0.0-GCCcore-12.3.0.eb | 39 ++++++++ .../pyiron-0.5.1-foss-2023a-Python-3.11.3.eb | 94 +++++++++++++++++++ .../q/QuickFF/QuickFF-2.2.7-foss-2023a.eb | 34 +++++++ .../t/TAMkin/TAMkin-1.2.6-foss-2023a.eb | 42 +++++++++ .../y/yaff/yaff-1.6.0-foss-2023a.eb | 58 ++++++++++++ 16 files changed, 716 insertions(+) create mode 100644 easybuild/easyconfigs/b/Biopython/Biopython-1.81-foss-2023a.eb create mode 100644 easybuild/easyconfigs/b/Blosc/Blosc-1.21.5-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/b/Blosc2/Blosc2-2.8.0-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/c/coverage/coverage-7.2.3-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.6.1-foss-2023a.eb create mode 100644 easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2023a.eb create mode 100644 easybuild/easyconfigs/n/nglview/nglview-3.0.8-foss-2023a.eb create mode 100644 easybuild/easyconfigs/n/nose3/nose3-1.3.8-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/n/numexpr/numexpr-2.8.7-foss-2023a.eb create mode 100644 easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2023a.eb create mode 100644 easybuild/easyconfigs/p/phonopy/phonopy-2.20.0-gfbf-2023a.eb create mode 100644 easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a-Python-3.11.3.eb create mode 100644 easybuild/easyconfigs/q/QuickFF/QuickFF-2.2.7-foss-2023a.eb create mode 100644 easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2023a.eb create mode 100644 easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a.eb diff --git a/easybuild/easyconfigs/b/Biopython/Biopython-1.81-foss-2023a.eb b/easybuild/easyconfigs/b/Biopython/Biopython-1.81-foss-2023a.eb new file mode 100644 index 00000000000..081bc0e46a7 --- /dev/null +++ b/easybuild/easyconfigs/b/Biopython/Biopython-1.81-foss-2023a.eb @@ -0,0 +1,45 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonPackage' + +name = 'Biopython' +version = '1.81' + +homepage = 'https://www.biopython.org' +description = """Biopython is a set of freely available tools for biological + computation written in Python by an international team of developers. It is + a distributed collaborative effort to develop Python libraries and + applications which address the needs of current and future work in + bioinformatics. """ + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://biopython.org/DIST'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['2cf38112b6d8415ad39d6a611988cd11fb5f33eb09346666a87263beba9614e0'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +# Run only tests that don't require internet connection +runtest = 'python setup.py test --offline' + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/Bio', + 'lib/python%(pyshortver)s/site-packages/BioSQL'] +} + +# extra check to ensure numpy dependency is available +sanity_check_commands = ["python -c 'import Bio.MarkovModel'"] + +options = {'modulename': 'Bio'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Blosc/Blosc-1.21.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/Blosc/Blosc-1.21.5-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..60fb8a755d1 --- /dev/null +++ b/easybuild/easyconfigs/b/Blosc/Blosc-1.21.5-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'Blosc' +version = '1.21.5' + +homepage = 'https://www.blosc.org/' + +description = "Blosc, an extremely fast, multi-threaded, meta-compressor library" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['https://github.com/Blosc/c-blosc/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['32e61961bbf81ffea6ff30e9d70fca36c86178afd3e3cfa13376adec8c687509'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +sanity_check_paths = { + 'files': ['include/blosc-export.h', 'include/blosc.h', 'lib/libblosc.a', + 'lib/libblosc.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Blosc2/Blosc2-2.8.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/Blosc2/Blosc2-2.8.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..58f563af452 --- /dev/null +++ b/easybuild/easyconfigs/b/Blosc2/Blosc2-2.8.0-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Update: Thomas Hoffmann (EMBL) +easyblock = 'CMakeMake' + +name = 'Blosc2' +version = '2.8.0' + +homepage = 'https://www.blosc.org/' + +description = "Blosc, an extremely fast, multi-threaded, meta-compressor library" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['https://github.com/Blosc/c-blosc2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['be608cdf68deb02e0d3ee62e183942a0fe5d5d3185375b9b6566e2ae35a9bdbd'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +sanity_check_paths = { + 'files': ['include/blosc2/blosc2-export.h', 'include/blosc2.h', 'lib/libblosc2.a', + 'lib/libblosc2.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/coverage/coverage-7.2.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/coverage/coverage-7.2.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..f75075ae45e --- /dev/null +++ b/easybuild/easyconfigs/c/coverage/coverage-7.2.3-GCCcore-12.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonPackage' + +name = 'coverage' +version = '7.2.3' + +homepage = 'https://coverage.readthedocs.io' +description = """ Coverage.py is a tool for measuring code coverage of Python programs. + It monitors your program, noting which parts of the code have been executed, + then analyzes the source to identify code that could have been executed but was not. """ + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['d298c2815fa4891edd9abe5ad6e6cb4207104c7dd9fd13aea3fdebf6f9b91259'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +sanity_check_paths = { + 'files': ['bin/coverage%s' % x for x in ['', '3', '-%(pyshortver)s']], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.6.1-foss-2023a.eb b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.6.1-foss-2023a.eb new file mode 100644 index 00000000000..b2d9700e6ec --- /dev/null +++ b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.6.1-foss-2023a.eb @@ -0,0 +1,57 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonBundle' + +name = 'MDAnalysis' +version = '2.6.1' + +homepage = 'https://www.mdanalysis.org/' +description = """MDAnalysis is an object-oriented Python library to analyze trajectories from molecular dynamics (MD) +simulations in many popular formats.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('Biopython', '1.81'), + ('networkx', '3.1'), + ('tqdm', '4.66.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('mrcfile', '1.4.3', { + 'checksums': ['43c358c59ff8f583fc4dc2079a0099028719109ebf92066e388772bab389c5f5'], + }), + ('GridDataFormats', '1.0.1', { + 'modulename': 'gridData', + 'checksums': ['ad2c9ab7d672a6d8c426de7d083eee4f3e2b0bd59391675d30683c768ab83cc4'], + }), + ('gsd', '2.8.0', { + 'checksums': ['f2b031a26a7a5bee5f3940dc2f36c5a5b6670307b297c526adf2e26c1f5b46ae'], + }), + ('msgpack', '1.0.5', { + 'checksums': ['c075544284eadc5cddc70f4757331d99dcbc16b2bbd4849d15f8aae4cf36d31c'], + }), + ('mmtf-python', '1.1.3', { + 'modulename': 'mmtf', + 'checksums': ['12a02fe1b7131f0a2b8ce45b46f1e0cdd28b9818fe4499554c26884987ea0c32'], + }), + ('funcsigs', '1.0.2', { + 'checksums': ['a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50'], + }), + ('fasteners', '0.18', { + 'checksums': ['cb7c13ef91e0c7e4fe4af38ecaf6b904ec3f5ce0dda06d34924b6b74b869d953'], + }), + (name, version, { + 'modulename': 'MDAnalysis', + 'checksums': ['9cc69b94bddd026f26ffcaf5bdbed6d568c1c10e19a341d84f8d37a2a70222f2'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2023a.eb b/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2023a.eb new file mode 100644 index 00000000000..eb570fc1078 --- /dev/null +++ b/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2023a.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonPackage' + +name = 'molmod' +version = '1.4.8' + +homepage = 'https://molmod.github.io/molmod/' +description = "MolMod is a Python library with many compoments that are useful to write molecular modeling programs." + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/molmod/molmod/releases/download/%(version)s'] +sources = [SOURCE_TAR_GZ] +patches = ['molmod-1.4.8-foss-2023a_fix-np-unicode.patch'] +checksums = [ + {'molmod-1.4.8.tar.gz': '759f8894f8a206e8d83f3f88882f29fcf73a7f9be375026e03c58e19496f42e8'}, + {'molmod-1.4.8-foss-2023a_fix-np-unicode.patch': + '85bd2e2981d2cdd8cfab5d1c2cf37432e2967ff82de603700383d7c31530327c'}, +] + +dependencies = [ + ('Python', '3.11.3'), + ('matplotlib', '3.7.2'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +runtest = "export MATPLOTLIBRC=$PWD; echo 'backend: agg' > $MATPLOTLIBRC/matplotlibrc;" +runtest += "python setup.py build_ext -i; pytest -ra" + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/nglview/nglview-3.0.8-foss-2023a.eb b/easybuild/easyconfigs/n/nglview/nglview-3.0.8-foss-2023a.eb new file mode 100644 index 00000000000..73b94940f74 --- /dev/null +++ b/easybuild/easyconfigs/n/nglview/nglview-3.0.8-foss-2023a.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'nglview' +version = '3.0.8' + +homepage = 'https://github.com/arose/nglview' +description = "IPython widget to interactively view molecular structures and trajectories." + +toolchain = {'name': 'foss', 'version': '2023a'} + +local_gfbf_ver = '2023a' + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07', '', ('gfbf', local_gfbf_ver)), + ('JupyterLab', '4.0.5'), + ('nodejs', '18.17.1'), + ('MDAnalysis', '2.6.1'), # optional +] + +use_pip = True + +exts_list = [ + ('versioneer', '0.28', { + 'checksums': ['7175ca8e7bb4dd0e3c9779dd2745e5b4a6036304af3f5e50bd896f10196586d6'], + }), + (name, version, { + 'use_pip_extras': 'MDAnalysis', + 'checksums': ['f9e468cd813dac319cbeca6ae20ae099008ff3a06399f5d23d75582dde28623a'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/nglview'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter', + 'JUPYTER_CONFIG_PATH': 'etc/jupyter', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/nose3/nose3-1.3.8-GCCcore-12.3.0.eb b/easybuild/easyconfigs/n/nose3/nose3-1.3.8-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..46f4f2d2669 --- /dev/null +++ b/easybuild/easyconfigs/n/nose3/nose3-1.3.8-GCCcore-12.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonPackage' + +name = 'nose3' +version = '1.3.8' + +homepage = 'https://nose.readthedocs.io/' +description = """Nose extends unittest to make testing easier.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['762aae22cadb898b00b9d4f4bbb9f8e87f8e0dde6c49a88cd0c554f4e5925b76'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('coverage', '7.2.3'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +sanity_check_paths = { + 'files': ['bin/nosetests'], + 'dirs': [], +} + +options = {'modulename': 'nose'} + +sanity_check_commands = ["nosetests --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/numexpr/numexpr-2.8.7-foss-2023a.eb b/easybuild/easyconfigs/n/numexpr/numexpr-2.8.7-foss-2023a.eb new file mode 100644 index 00000000000..14d228ba563 --- /dev/null +++ b/easybuild/easyconfigs/n/numexpr/numexpr-2.8.7-foss-2023a.eb @@ -0,0 +1,23 @@ +name = 'numexpr' +version = '2.8.7' + +homepage = 'https://numexpr.readthedocs.io/en/latest/' +description = """The numexpr package evaluates multiple-operator array expressions many times faster than NumPy can. + It accepts the expression as a string, analyzes it, rewrites it more efficiently, and compiles it on the fly into + code for its internal virtual machine (VM). Due to its integrated just-in-time (JIT) compiler, it does not require a + compiler at runtime.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/pydata/numexpr/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = ['df5131349ec1e4b080a3e2df7abbb7bce20d023adff633d259e1ce1549a60ed1'] + +local_gfbf_ver = '2023a' + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07', '', ('gfbf', local_gfbf_ver)), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2023a.eb b/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2023a.eb new file mode 100644 index 00000000000..fd6d17abf9f --- /dev/null +++ b/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2023a.eb @@ -0,0 +1,76 @@ +# http://www.pytables.org/usersguide/installation.html +# updated: Denis Kristak (INUITS) + +easyblock = 'PythonBundle' + +name = 'PyTables' +version = '3.8.0' + +homepage = 'https://www.pytables.org' +description = """PyTables is a package for managing hierarchical datasets and designed to efficiently and easily cope + with extremely large amounts of data. PyTables is built on top of the HDF5 library, using the Python language and the + NumPy package. It features an object-oriented interface that, combined with C extensions for the performance-critical + parts of the code (generated using Cython), makes it a fast, yet extremely easy to use tool for interactively browsing, + processing and searching very large amounts of data. One important feature of PyTables is that it optimizes memory and + disk resources so that data takes much less space (specially if on-flight compression is used) than other solutions + such as relational or object oriented databases.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True} + +local_gfbf_ver = '2023a' + +builddependencies = [ + ('pkgconf', '1.9.5'), + ('CMake', '3.26.3'), + ('Ninja', '1.11.1'), + ('scikit-build', '0.17.6'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07', '', ('gfbf', local_gfbf_ver)), # provides numexpr + ('HDF5', '1.14.0'), + ('LZO', '2.10'), + ('Blosc', '1.21.5'), + ('Blosc2', '2.8.0'), + ('py-cpuinfo', '9.0.0'), +] + +use_pip = True + +exts_list = [ + ('blosc2', '2.0.0', { + 'patches': ['blosc2-2.0.0_use-Blosc2-dep.patch'], + 'checksums': [ + {'blosc2-2.0.0.tar.gz': 'f19b0b3674f6c825b490f00d8264b0c540c2cdc11ec7e81178d38b83c57790a1'}, + {'blosc2-2.0.0_use-Blosc2-dep.patch': '6a9443f378472ada3c8fe8a8a346fe16f22b01bab7d9e60c23b64b546178054b'}, + ], + }), + ('tables', version, { + 'patches': [ + 'PyTables-%(version)s_fix-libs.patch', + 'PyTables-%(version)s_fix-find-blosc2-library-path.patch', + ], + 'checksums': [ + {'tables-%(version)s.tar.gz': '34f3fa2366ce20b18f1df573a77c1d27306ce1f2a41d9f9eff621b5192ea8788'}, + {'PyTables-%(version)s_fix-libs.patch': '7a1e6fa1f9169e52293e2b433a4302fa13c5d31e7709cd4fe0e087199b9e3f8a'}, + {'PyTables-%(version)s_fix-find-blosc2-library-path.patch': + 'dcf6c3a16a138454296161e99cf6470620755d4c26303186a744f09a11e6013b'}, + ], + }), +] + +local_bins = ['pt2to3', 'ptdump', 'ptrepack', 'pttree'] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bins], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +options = {'modulename': 'tables'} + +sanity_check_commands = ["%s --help" % x for x in local_bins] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/phonopy/phonopy-2.20.0-gfbf-2023a.eb b/easybuild/easyconfigs/p/phonopy/phonopy-2.20.0-gfbf-2023a.eb new file mode 100644 index 00000000000..959805d4cce --- /dev/null +++ b/easybuild/easyconfigs/p/phonopy/phonopy-2.20.0-gfbf-2023a.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonPackage' + +name = 'phonopy' +version = '2.20.0' + +homepage = 'https://atztogo.github.io/phonopy/' +description = """Phonopy is an open source package of phonon calculations based on the supercell approach.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +source_urls = ['https://github.com/phonopy/phonopy/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['1dd47cb6e5b427d5cb88ce0b810b91f05533f434d53d22ea69eb974d4eb0ab46'] + +local_foss_ver = '2023a' + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), # for numpy + ('matplotlib', '3.7.2'), + ('PyYAML', '6.0'), + ('h5py', '3.9.0', '', ('foss', local_foss_ver)), + ('spglib-python', '2.1.0'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/phonopy'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["phonopy --help"] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a4a0886152c --- /dev/null +++ b/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-12.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonPackage' + +name = 'py-cpuinfo' +version = '9.0.0' + +homepage = 'https://github.com/workhorsy/py-cpuinfo' +description = "py-cpuinfo gets CPU info with pure Python." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/cpuinfo'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "cpuinfo", + "python -m cpuinfo", +] + +options = {'modulename': 'cpuinfo'} + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a-Python-3.11.3.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a-Python-3.11.3.eb new file mode 100644 index 00000000000..5302218568b --- /dev/null +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a-Python-3.11.3.eb @@ -0,0 +1,94 @@ +easyblock = 'PythonBundle' + +name = 'pyiron' +version = '0.5.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/pyiron/pyiron' +description = "An integrated development environment (IDE) for computational materials science." + + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('h5py', '3.9.0'), + ('PyYAML', '6.0'), + ('phonopy', '2.20.0'), + ('spglib-python', '2.1.0'), + ('ASE', '3.22.1'), + ('numexpr', '2.8.7'), + ('PyTables', '3.8.0'), + ('nglview', '3.0.8'), + ('tqdm', '4.66.1'), + ('molmod', '1.4.8'), + ('scikit-learn', '1.3.1'), + ('yaff', '1.6.0'), + ('TAMkin', '1.2.6'), + ('QuickFF', '2.2.7'), +] + +check_ldshared = True +use_pip = True + +exts_list = [ + ('h5io', '0.1.2', { + 'checksums': ['6400543224c489f1cf487be551f892310fa7060fcd4935b84e515efdc1e1fa43'], + }), + ('defusedxml', '0.6.0', { + 'checksums': ['f684034d135af4c6cbb949b8a4d2ed61634515257a67299e5f940fbaa34377f5'], + }), + ('pysqa', '0.0.11', { + 'checksums': ['b1a1995ac8b83b86046cef8b72cda962c5fdbf480c6dbba906a467a5dd1d3c81'], + }), + ('paramiko', '3.3.1', { + 'checksums': ['6a3777a961ac86dbef375c5f5b8d50014a1a96d0fd7f054a43bc880134b0ff77'], + }), + ('pyiron_atomistics', '0.3.11', { + 'source_urls': ['https://github.com/pyiron/pyiron_atomistics/archive/refs/tags/'], + 'checksums': ['8c73c452fe60cb808961d22361f9b749488e3d50a8bda7f5c0132aea2f69e00f'], + }), + ('SQLAlchemy', '1.3.19', { + 'checksums': ['3bba2e9fbedb0511769780fe1d63007081008c5c2d7d715e91858c94dbaa260e'], + }), + ('dill', '0.3.2', { + 'source_tmpl': 'dill-%(version)s.zip', + 'checksums': ['6e12da0d8e49c220e8d6e97ee8882002e624f1160289ce85ec2cc0a5246b3a2e'], + }), + ('smmap', '3.0.4', { + 'checksums': ['9c98bbd1f9786d22f14b3d4126894d56befb835ec90cef151af566c7e19b5d24'], + }), + ('gitdb', '4.0.5', { + 'checksums': ['c9e1f2d0db7ddb9a704c2a0217be31214e91a4fe1dea1efad19ae42ba0c285c9'], + }), + ('GitPython', '3.1.8', { + 'modulename': 'git', + 'checksums': ['080bf8e2cf1a2b907634761c2eaefbe83b69930c94c66ad11b65a8252959f912'], + }), + ('colorama', '0.4.3', { + 'checksums': ['e96da0d330793e2cb9485e9ddfd918d456036c7149416295932478192f4436a1'], + }), + ('pyfiglet', '0.8.post1', { + 'checksums': ['c6c2321755d09267b438ec7b936825a4910fec696292139e664ca8670e103639'], + }), + ('mendeleev', '0.6.0', { + 'checksums': ['944d185e81f158e48dd394b011e6c14acb612c2ffbc3c32c4aa490cd5b4f65dd'], + }), + ('pyfileindex', '0.0.4', { + 'checksums': ['bbfbfc9372f810587917ab1a88bebb8de44d32a1210bbd436c5b88447d97dfd2'], + }), + ('seekpath', '2.0.1', { + 'checksums': ['188513ee187fbbace49066a29ecea9bbd351f23da3bea33d507d0f590856b082'], + }), + (name, version, { + 'modulename': False, + 'source_urls': ['https://github.com/pyiron/pyiron/archive/refs/tags/%(name)s-%(version)s.tar.gz'], + 'checksums': ['2e5e3f892b7e49a15443569870aa4ea049951b71fe2ad1ad7f4ac7551d475788'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/q/QuickFF/QuickFF-2.2.7-foss-2023a.eb b/easybuild/easyconfigs/q/QuickFF/QuickFF-2.2.7-foss-2023a.eb new file mode 100644 index 00000000000..5bf05e90cf8 --- /dev/null +++ b/easybuild/easyconfigs/q/QuickFF/QuickFF-2.2.7-foss-2023a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'QuickFF' +version = '2.2.7' + +homepage = 'https://molmod.github.io/QuickFF/' +description = """QuickFF is a Python package developed at the Center for +Molecular Modeling (CMM) to quickly derive accurate force fields from ab initio +calculations.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/molmod/QuickFF/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a71922dd39869770b03809355f13bcabdbb8d50429f4d3574cf427ea762f4023'] + +dependencies = [ + ('Python', '3.11.3'), + ('matplotlib', '3.7.2'), + ('molmod', '1.4.8'), + ('yaff', '1.6.0'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2023a.eb b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2023a.eb new file mode 100644 index 00000000000..3d4cbd10978 --- /dev/null +++ b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2023a.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonPackage' + +name = 'TAMkin' +version = '1.2.6' + +homepage = 'https://molmod.github.io/tamkin/' +description = """TAMkin is a post-processing toolkit for normal mode analysis, + thermochemistry and reaction kinetics. It uses a Hessian computation from a + standard computational chemistry program as its input.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/molmod/tamkin/releases/download/%(version)s'] +sources = [SOURCE_TAR_GZ] +patches = ['TAMkin-1.2.6_fix-python38.patch'] +checksums = [ + {'TAMkin-1.2.6.tar.gz': '1bde275a09be91e5241616aaa9fedc60cb359a263f5c5909bb14431c3a4ed5fd'}, + {'TAMkin-1.2.6_fix-python38.patch': '1633d5b24b012f8c4b6731491e4072c819ebbba65574966b7185ecca52eeac9b'}, +] + +dependencies = [ + ('Python', '3.11.3'), + ('matplotlib', '3.7.2'), + ('molmod', '1.4.8'), + ('nose3', '1.3.8') +] + +download_dep_fail = True +use_pip = True + +# disable tests that require X11 by specifying "backend: agg" in matplotlibrc +runtest = 'export MATPLOTLIBRC=$PWD; echo "backend: agg" > $MATPLOTLIBRC/matplotlibrc; ' +runtest += 'export OMP_NUM_THREADS=1; nosetests -v tamkin' + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a.eb b/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a.eb new file mode 100644 index 00000000000..f1a97e2256a --- /dev/null +++ b/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a.eb @@ -0,0 +1,58 @@ +# Updated from previous config +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# +# Building this in interactive Slurm session will result in freeze during either +# runtest phase or sanity_check_commands phase (python -c 'import yaff') +# +# If you submit this as non-interactive Slurm job, it will build just fine. +# Possibly root cause: https://github.com/h5py/h5py/issues/917 +# +easyblock = 'PythonBundle' + +name = 'yaff' +version = '1.6.0' + +homepage = 'https://molmod.github.io/yaff/' +description = """Yaff stands for 'Yet another force field'. It is a pythonic force-field code.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [('pkgconfig', '1.5.5', '-python')] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('h5py', '3.9.0'), + ('molmod', '1.4.8'), + ('nose3', '1.3.8') +] + +use_pip = True +sanity_pip_check = True + +local_runtest = "export MATPLOTLIBRC=$PWD; echo 'backend: agg' > $MATPLOTLIBRC/matplotlibrc; " +local_runtest += "python setup.py build_ext -i; nosetests -v" + +exts_list = [ + (name, version, { + 'patches': [ + 'yaff-1.6.0-foss-2023a_fix-random-import.patch', + 'yaff-1.6.0-foss-2023a_fix-h5py.patch', + 'yaff-1.6.0-foss-2023a_fix-nose-dep.patch', + ], + 'runtest': "export MATPLOTLIBRC=$PWD; echo 'backend: agg' > $MATPLOTLIBRC/matplotlibrc; python setup.py build_ext -i; nosetests -v", + 'source_urls': ['https://github.com/molmod/yaff/releases/download/%(version)s'], + 'checksums': [ + {'yaff-1.6.0.tar.gz': 'a266ab032778e37bb2e93152aefb67f396827aa728151651403984429c74ceaa'}, + {'yaff-1.6.0-foss-2023a_fix-random-import.patch': + 'a38afacbcbfbf16a80742ae8253852e725e656c9d684310894c806f689362840'}, + {'yaff-1.6.0-foss-2023a_fix-h5py.patch': + 'bd2a73f375910360fd5dd22b3ec006344527476e80dea549f4d82297257105f9'}, + {'yaff-1.6.0-foss-2023a_fix-nose-dep.patch': + '2314c487c4a847d7740d7dfc97052cf7efd764ced726d098def0a1aef0b498e0'}, + ], + }), +] + +moduleclass = 'chem' From 88bd336ef7be3a01de210b460a1c6496ce42bfc9 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen Date: Mon, 11 Dec 2023 19:35:33 +0000 Subject: [PATCH 018/889] add patches --- .../yaff/yaff-1.6.0-foss-2023a_fix-h5py.patch | 293 ++++++++++++++++++ .../yaff-1.6.0-foss-2023a_fix-nose-dep.patch | 13 + ...f-1.6.0-foss-2023a_fix-random-import.patch | 14 + 3 files changed, 320 insertions(+) create mode 100644 easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a_fix-h5py.patch create mode 100644 easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a_fix-nose-dep.patch create mode 100644 easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a_fix-random-import.patch diff --git a/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a_fix-h5py.patch b/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a_fix-h5py.patch new file mode 100644 index 00000000000..13476202a1a --- /dev/null +++ b/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a_fix-h5py.patch @@ -0,0 +1,293 @@ +Adds write mode to ensure h5 files are created as intended. + +--- 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/analysis/test/test_rdf.py.orig 2023-12-11 16:49:03.170062363 +0000 ++++ 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/analysis/test/test_rdf.py 2023-12-11 16:54:57.393259317 +0000 +@@ -54,7 +54,7 @@ + # Setup a test FF + ff = get_ff_water32() + # Run a test simulation +- with h5.File(__name__ + 'test_rdf1_online.h5', driver='core', backing_store=False) as f: ++ with h5.File(__name__ + 'test_rdf1_online.h5', mode='w', driver='core', backing_store=False) as f: + hdf5 = HDF5Writer(f) + select = ff.system.get_indexes('O') + rdf0 = RDF(4.5*angstrom, 0.1*angstrom, f, select0=select) +@@ -85,7 +85,7 @@ + # Setup a test FF + ff = get_ff_water32() + # Run a test simulation +- with h5.File(__name__ + '.test_rdf2_online.h5', driver='core', backing_store=False) as f: ++ with h5.File(__name__ + '.test_rdf2_online.h5', mode='w', driver='core', backing_store=False) as f: + hdf5 = HDF5Writer(f) + select0 = ff.system.get_indexes('O') + select1 = ff.system.get_indexes('H') +@@ -156,7 +156,7 @@ + fn_xyz = pkg_resources.resource_filename(__name__, '../../data/test/chloro_pos.xyz') + fn_vol = pkg_resources.resource_filename(__name__, '../../data/test/chloro_vol.txt') + system = System.from_file(fn_xyz, rvecs=np.diag([48.877]*3)) +- with h5.File(__name__ + '.test_rdf_from_file_variable_cell', driver='core', backing_store=False) as f: ++ with h5.File(__name__ + '.test_rdf_from_file_variable_cell', mode='w', driver='core', backing_store=False) as f: + # Prepare in-memory HDF5 file + system.to_hdf5(f) + xyz_to_hdf5(f, fn_xyz) +--- 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/analysis/test/test_spectrum.py.orig 2023-12-11 16:56:45.254710284 +0000 ++++ 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/analysis/test/test_spectrum.py 2023-12-11 16:57:01.733626405 +0000 +@@ -58,7 +58,7 @@ + # Setup a test FF + ff = get_ff_water32() + # Run a test simulation +- with h5.File('yaff.analysis.test.test_spectrum.test_spectrum_online_%i.h5' % bsize, driver='core', backing_store=False) as f: ++ with h5.File('yaff.analysis.test.test_spectrum.test_spectrum_online_%i.h5' % bsize, mode='w', driver='core', backing_store=False) as f: + hdf5 = HDF5Writer(f) + spectrum0 = Spectrum(f, bsize=bsize) + nve = VerletIntegrator(ff, 1.0*femtosecond, hooks=[hdf5, spectrum0]) +@@ -95,7 +95,7 @@ + + + def test_spectrum_iter_indexes(): +- with h5.File('yaff.analysis.test.test_spectrum.test_spectrum_iter_indexes.h5', driver='core', backing_store=False) as f: ++ with h5.File('yaff.analysis.test.test_spectrum.test_spectrum_iter_indexes.h5', mode='w', driver='core', backing_store=False) as f: + spectrum = Spectrum(f, bsize=10) + l = list(spectrum._iter_indexes(np.zeros((10, 5, 3), float))) + assert l == [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), +--- 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/conversion/test/test_cp2k.py.orig 2023-12-11 16:58:37.780137513 +0000 ++++ 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/conversion/test/test_cp2k.py 2023-12-11 16:58:51.184069284 +0000 +@@ -33,7 +33,7 @@ + + + def test_cp2k_ener_to_hdf5(): +- with h5.File(__name__ + '.test_xyz_to_hdf5.h5', driver='core', backing_store=False) as f: ++ with h5.File(__name__ + '.test_xyz_to_hdf5.h5', mode='w', driver='core', backing_store=False) as f: + # Bad practice. The trajectory file has no system directory... + # Actual trajectory conversion, twice + for i in range(2): +--- 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/conversion/test/test_dlpoly.py.orig 2023-12-11 17:01:09.540364868 +0000 ++++ 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/conversion/test/test_dlpoly.py 2023-12-11 17:01:36.290228634 +0000 +@@ -33,7 +33,7 @@ + + + def test_dlpoly_history_uo(): +- with h5.File(__name__ + '.test_dlpoly_history_uo.h5', driver='core', backing_store=False) as f: ++ with h5.File(__name__ + '.test_dlpoly_history_uo.h5', mode='w', driver='core', backing_store=False) as f: + # Bad practice. The trajectory file has no system directory... + # Actual trajectory conversion, twice + for i in range(2): +@@ -60,7 +60,7 @@ + + + def test_dlpoly_history_sam(): +- with h5.File(__name__ + '.test_dlpoly_history_sam.h5', driver='core', backing_store=False) as f: ++ with h5.File(__name__ + '.test_dlpoly_history_sam.h5', mode='w', driver='core', backing_store=False) as f: + # Bad practice. The trajectory file has no system directory... + # Actual trajectory conversion, twice + for i in range(2): +@@ -84,7 +84,7 @@ + + def test_dlpoly_history_an(): + raise SkipTest('Fails, ask An why because dlpoly_history_sam does work') +- with h5.File(__name__ + '.test_dlpoly_history_an.h5', driver='core', backing_store=False) as f: ++ with h5.File(__name__ + '.test_dlpoly_history_an.h5', mode='w', driver='core', backing_store=False) as f: + # Bad practice. The trajectory file has no system directory... + # Actual trajectory conversion, par1 + fn = pkg_resources.resource_filename(__name__, '../../data/test/dlpoly_HISTORY_an1') +--- 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/conversion/test/test_gaussian.py.orig 2023-12-11 17:03:12.986736177 +0000 ++++ 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/conversion/test/test_gaussian.py 2023-12-11 17:03:28.326658047 +0000 +@@ -85,7 +85,7 @@ + vel_unit = np.sqrt(amu)/second + fn_xyz = pkg_resources.resource_filename(__name__, '../../data/test/gaussian_sioh4_md.xyz') + fn_log = pkg_resources.resource_filename(__name__, '../../data/test/gaussian_sioh4_md.log') +- with h5.File('yaff.conversion.test.test_gaussian.test_to_hdf5.h5', driver='core', backing_store=False) as f: ++ with h5.File('yaff.conversion.test.test_gaussian.test_to_hdf5.h5', mode='w', driver='core', backing_store=False) as f: + system = System.from_file(fn_xyz) + system.to_hdf5(f) + # Actual trajectory conversion, twice +--- 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/conversion/test/test_xyz.py.orig 2023-12-11 17:04:41.964283021 +0000 ++++ 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/conversion/test/test_xyz.py 2023-12-11 17:04:52.624228732 +0000 +@@ -34,7 +34,7 @@ + + + def test_xyz_to_hdf5(): +- with h5.File('yaff.conversion.test.test_xyz.test_xyz_to_hdf5.h5', driver='core', backing_store=False) as f: ++ with h5.File('yaff.conversion.test.test_xyz.test_xyz_to_hdf5.h5', mode='w', driver='core', backing_store=False) as f: + # Bad practice. Proper use is to initialize the system object from a + # different XYZ (or yet something else) with a single geometry. + fn_xyz = pkg_resources.resource_filename(__name__, '../../data/test/water_trajectory.xyz') +@@ -55,7 +55,7 @@ + + + def test_xyz_to_hdf5_alt(): +- with h5.File('yaff.conversion.test.test_xyz.test_xyz_to_hdf5_alt.h5', driver='core', backing_store=False) as f: ++ with h5.File('yaff.conversion.test.test_xyz.test_xyz_to_hdf5_alt.h5', mode='w', driver='core', backing_store=False) as f: + # Bad practice. Proper use is to initialize the system object from a + # different XYZ (or yet something else) with a single geometry. + fn_xyz = pkg_resources.resource_filename(__name__, '../../data/test/water_trajectory.xyz') +--- 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/examples/001_tutorial_bks/nvt/analysis.py.orig 2023-12-11 17:16:05.373802516 +0000 ++++ 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/examples/001_tutorial_bks/nvt/analysis.py 2023-12-11 17:16:27.458690041 +0000 +@@ -48,7 +48,7 @@ + p_unit = 1e9*pascal + + # Open the trajectory file for post-processing the MD simulation +-with h5.File('traj_%s.h5' % suffix) as f: ++with h5.File('traj_%s.h5' % suffix, mode='r+') as f: + # Get the isotropic pressure. This is the trace of the time-dependent virial + # stress divided by three. + press = np.array(f['trajectory/press'][nskip:]) + +--- 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/sampling/test/test_verlet.py.orig 2023-12-11 17:37:15.223312935 +0000 ++++ 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/sampling/test/test_verlet.py 2023-12-11 17:37:28.158245974 +0000 +@@ -77,7 +77,7 @@ + + + def test_hdf5(): +- with h5.File('yaff.sampling.test.test_verlet.test_hdf5.h5', driver='core', backing_store=False) as f: ++ with h5.File('yaff.sampling.test.test_verlet.test_hdf5.h5', mode='w', driver='core', backing_store=False) as f: + hdf5 = HDF5Writer(f) + nve = VerletIntegrator(get_ff_water32(), 1.0*femtosecond, hooks=hdf5) + nve.run(15) +@@ -88,7 +88,7 @@ + + + def test_hdf5_start(): +- with h5.File('yaff.sampling.test.test_verlet.test_hdf5_start.h5', driver='core', backing_store=False) as f: ++ with h5.File('yaff.sampling.test.test_verlet.test_hdf5_start.h5', mode='w', driver='core', backing_store=False) as f: + hdf5 = HDF5Writer(f, start=2) + nve = VerletIntegrator(get_ff_water32(), 1.0*femtosecond, hooks=hdf5) + nve.run(5) +@@ -99,7 +99,7 @@ + + + def test_hdf5_step(): +- with h5.File('yaff.sampling.test.test_verlet.test_hdf5_step.h5', driver='core', backing_store=False) as f: ++ with h5.File('yaff.sampling.test.test_verlet.test_hdf5_step.h5', mode='w', driver='core', backing_store=False) as f: + hdf5 = HDF5Writer(f, step=2) + nve = VerletIntegrator(get_ff_water32(), 1.0*femtosecond, hooks=hdf5) + nve.run(5) +@@ -113,7 +113,7 @@ + # This test does not write all possible outputs + sys = get_system_water() + ff = ForceField.generate(sys, pkg_resources.resource_filename(__name__, '../../data/test/parameters_water_bondharm.txt')) +- with h5.File('yaff.sampling.test.test_verlet.test_hdf5_simple.h5', driver='core', backing_store=False) as f: ++ with h5.File('yaff.sampling.test.test_verlet.test_hdf5_simple.h5', mode='w', driver='core', backing_store=False) as f: + hdf5 = HDF5Writer(f) + nve = VerletIntegrator(ff, 1.0*femtosecond, hooks=hdf5) + nve.run(15) +@@ -138,7 +138,7 @@ + part_bias.add_term(bias1) + cv_tracker = CVStateItem([cv0,cv1]) + bias_tracker = BiasStateItem(part_bias) +- with h5.File('yaff.sampling.test.test_verlet.test_hdf5_cvs.h5', driver='core', backing_store=False) as f: ++ with h5.File('yaff.sampling.test.test_verlet.test_hdf5_cvs.h5', mode='w', driver='core', backing_store=False) as f: + hdf5 = HDF5Writer(f) + nve = VerletIntegrator(ff, 1.0*femtosecond, hooks=hdf5, state=[cv_tracker, bias_tracker]) + nve.run(5) +--- 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/analysis/test/common.py.orig 2023-12-11 17:47:09.632235821 +0000 ++++ 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/analysis/test/common.py 2023-12-11 17:47:19.706183672 +0000 +@@ -40,7 +40,7 @@ + # Setup a test FF + ff = get_ff_water32() + # Run a test simulation +- with h5.File('%s/output.h5' % dn_tmp) as f: ++ with h5.File('%s/output.h5' % dn_tmp, mode='w') as f: + hdf5 = HDF5Writer(f) + nve = VerletIntegrator(ff, 1.0*femtosecond, hooks=hdf5) + nve.run(5) +@@ -55,7 +55,7 @@ + # Setup a test FF + ff = get_ff_water32() + # Run a test simulation +- with h5.File('%s/output.h5' % dn_tmp) as f: ++ with h5.File('%s/output.h5' % dn_tmp, mode='w') as f: + hdf5 = HDF5Writer(f) + thermostat = LangevinThermostat(temp=300) + nvt = VerletIntegrator(ff, 1.0*femtosecond, hooks=[hdf5, thermostat]) +@@ -71,7 +71,7 @@ + # Setup a test FF + ff = get_ff_water32() + # Run a test simulation +- with h5.File('%s/output.h5' % dn_tmp) as f: ++ with h5.File('%s/output.h5' % dn_tmp, mode='w') as f: + hdf5 = HDF5Writer(f) + opt = CGOptimizer(FullCellDOF(ff), hooks=hdf5) + opt.run(5) +@@ -94,7 +94,7 @@ + # Dihedral angles are periodic, this has to be taken into account! + periodicities = np.array([2.0*np.pi,2.0*np.pi]) + # Run a test simulation +- with h5.File('%s/output.h5' % dn_tmp) as f: ++ with h5.File('%s/output.h5' % dn_tmp, mode='w') as f: + hdf5 = HDF5Writer(f) + mtd = MTDHook(ff, [cv0,cv1], sigmas, K, f=f, start=pace, step=pace, + periodicities=periodicities) +53c53 +< with h5.File('yaff.sampling.test.test_enhanced.test_mtd_alanine.h5', driver='core', backing_store=False) as f: +--- +> with h5.File('yaff.sampling.test.test_enhanced.test_mtd_alanine.h5', mode='w', driver='core', backing_store=False) as f: +140c140 +< driver='core', backing_store=False) as f0: +--- +> mode='w', driver='core', backing_store=False) as f0: +148c148 +< driver='core', backing_store=False) as f1: +--- +> mode='w', driver='core', backing_store=False) as f1: +--- 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/analysis/test/test_diffusion.py.orig 2023-12-11 17:54:24.258996848 +0000 ++++ 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/analysis/test/test_diffusion.py 2023-12-11 17:54:35.027941887 +0000 +@@ -53,7 +53,7 @@ + # Setup a test FF + ff = get_ff_water32() + # Run a test simulation +- with h5.File('yaff.analysis.test.test_diffusion.test_diff_online.h5', driver='core', backing_store=False) as f: ++ with h5.File('yaff.analysis.test.test_diffusion.test_diff_online.h5', mode='w', driver='core', backing_store=False) as f: + hdf5 = HDF5Writer(f) + select = ff.system.get_indexes('O') + diff0 = Diffusion(f, select=select) +--- 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/sampling/test/test_enhanced.py.orig 2023-12-11 17:55:55.676530269 +0000 ++++ 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/sampling/test/test_enhanced.py 2023-12-11 17:56:12.271445571 +0000 +@@ -50,7 +50,7 @@ + # Construct metadynamics as a Yaff hook + ff = get_alaninedipeptide_amber99ff() + cv = CVInternalCoordinate(ff.system, DihedAngle(4,6,8,14)) +- with h5.File('yaff.sampling.test.test_enhanced.test_mtd_alanine.h5', driver='core', backing_store=False) as f: ++ with h5.File('yaff.sampling.test.test_enhanced.test_mtd_alanine.h5', mode='w', driver='core', backing_store=False) as f: + hdf5 = HDF5Writer(f) + mtd = MTDHook(ff, cv, sigma, K, f = f, start=pace, step=pace, periodicities=2*np.pi) + nvt = VerletIntegrator(ff, 1.0*femtosecond, hooks=[mtd]) +@@ -137,7 +137,7 @@ + ff = get_alaninedipeptide_amber99ff() + cv = CVInternalCoordinate(ff.system, DihedAngle(4,6,8,14)) + with h5.File('yaff.sampling.test.test_enhanced.test_mtd_restart.h5', +- driver='core', backing_store=False) as f0: ++ mode='w', driver='core', backing_store=False) as f0: + hdf5 = HDF5Writer(f0) + mtd = MTDHook(ff, cv, sigma, K, f = f0, start=pace, step=pace, periodicities=2*np.pi) + nvt = VerletIntegrator(ff, 1.0*femtosecond, hooks=[mtd]) +@@ -145,7 +145,7 @@ + nvt.run(12) + ff = get_alaninedipeptide_amber99ff() + with h5.File('yaff.sampling.test.test_enhanced.test_mtd_restarted.h5', +- driver='core', backing_store=False) as f1: ++ mode='w', driver='core', backing_store=False) as f1: + mtd_restart = MTDHook(ff, cv, sigma, K, f=f1, start=pace, + step=pace, restart_file=f0, periodicities=2*np.pi) + nvt = VerletIntegrator(ff, 1.0*femtosecond, hooks=[mtd_restart]) +--- 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/sampling/test/test_mc.py.orig 2023-12-11 17:57:03.929181919 +0000 ++++ 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/sampling/test/test_mc.py 2023-12-11 17:57:38.412005932 +0000 +@@ -110,7 +110,7 @@ + fn_host = pkg_resources.resource_filename(__name__, '../../data/test/CAU_13.chk') + fn_pars = pkg_resources.resource_filename(__name__, '../../data/test/parameters_CAU-13_xylene.txt') + fn_guest = pkg_resources.resource_filename(__name__, '../../data/test/xylene.chk') +- with h5.File('yaff.sampling.test.test_verlet.test_hdf5_start.h5', driver='core', backing_store=False) as f: ++ with h5.File('yaff.sampling.test.test_verlet.test_hdf5_start.h5', mode='w', driver='core', backing_store=False) as f: + hdf5 = MCHDF5Writer(f) + gcmc = GCMC.from_files(fn_guest, fn_pars, host=fn_host, hooks=[hdf5]) + gcmc.set_external_conditions(200*kelvin, 1000*bar) +--- 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/sampling/test/test_opt.py.orig 2023-12-11 18:10:36.504037548 +0000 ++++ 1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/sampling/test/test_opt.py 2023-12-11 18:10:48.346977460 +0000 +@@ -120,7 +120,7 @@ + + + def test_cg_hdf5(): +- with h5.File(__name__ + '.test_cg_hdf5.h5', driver='core', backing_store=False) as f: ++ with h5.File(__name__ + '.test_cg_hdf5.h5', mode='w', driver='core', backing_store=False) as f: + hdf5 = HDF5Writer(f) + opt = CGOptimizer(CartesianDOF(get_ff_water32()), hooks=hdf5) + opt.run(15) diff --git a/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a_fix-nose-dep.patch b/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a_fix-nose-dep.patch new file mode 100644 index 00000000000..eae5fd3999f --- /dev/null +++ b/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a_fix-nose-dep.patch @@ -0,0 +1,13 @@ +This patch replaces the dependency on nose with a dependency on nose3. + +--- 1.6.0/foss-2023a/yaff/yaff-1.6.0/setup.py.orig 2023-12-11 18:18:12.215725329 +0000 ++++ 1.6.0/foss-2023a/yaff/yaff-1.6.0/setup.py 2023-12-11 18:19:04.794458554 +0000 +@@ -90,7 +90,7 @@ + include_package_data=True, + zip_safe=False, + setup_requires=['numpy>=1.5', 'cython>=0.26'], +- install_requires=['numpy>=1.5', 'nose>=0.11', 'cython>=0.26', 'matplotlib>1.0.0', ++ install_requires=['numpy>=1.5', 'nose3', 'cython>=0.26', 'matplotlib>1.0.0', + 'h5py>=2.0.0', 'molmod>=1.4.1', 'scipy>=0.17.1'], + ext_modules=[ + Extension("yaff.pes.ext", diff --git a/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a_fix-random-import.patch b/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a_fix-random-import.patch new file mode 100644 index 00000000000..787c1d31a84 --- /dev/null +++ b/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a_fix-random-import.patch @@ -0,0 +1,14 @@ +Replaces import of scipy.random with numpy.random. + +--- /dev/shm/yaff/1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/analysis/pca.py.orig 2023-12-11 16:29:17.807097965 +0000 ++++ /dev/shm/yaff/1.6.0/foss-2023a/yaff/yaff-1.6.0/yaff/analysis/pca.py 2023-12-11 16:29:46.094953909 +0000 +@@ -30,7 +30,7 @@ + import numpy as np + import scipy.linalg as spla + import matplotlib.pyplot as pt +-from scipy import random ++from numpy import random + + from molmod.units import * + from molmod.constants import boltzmann + From 25f279eb84eaa768ff80d2b0344bdcf10e0b4ce4 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen Date: Mon, 11 Dec 2023 19:55:24 +0000 Subject: [PATCH 019/889] fix pytables config --- .../easyconfigs/p/PyTables/PyTables-3.8.0-foss-2023a.eb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2023a.eb b/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2023a.eb index fd6d17abf9f..a0f4b362b19 100644 --- a/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2023a.eb +++ b/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2023a.eb @@ -53,9 +53,9 @@ exts_list = [ 'PyTables-%(version)s_fix-find-blosc2-library-path.patch', ], 'checksums': [ - {'tables-%(version)s.tar.gz': '34f3fa2366ce20b18f1df573a77c1d27306ce1f2a41d9f9eff621b5192ea8788'}, - {'PyTables-%(version)s_fix-libs.patch': '7a1e6fa1f9169e52293e2b433a4302fa13c5d31e7709cd4fe0e087199b9e3f8a'}, - {'PyTables-%(version)s_fix-find-blosc2-library-path.patch': + {'tables-3.8.0.tar.gz': '34f3fa2366ce20b18f1df573a77c1d27306ce1f2a41d9f9eff621b5192ea8788'}, + {'PyTables-3.8.0_fix-libs.patch': '7a1e6fa1f9169e52293e2b433a4302fa13c5d31e7709cd4fe0e087199b9e3f8a'}, + {'PyTables-3.8.0_fix-find-blosc2-library-path.patch': 'dcf6c3a16a138454296161e99cf6470620755d4c26303186a744f09a11e6013b'}, ], }), From 45d47e64997cd986d88b4147c95e94a6cfaf8c41 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen Date: Mon, 11 Dec 2023 19:58:04 +0000 Subject: [PATCH 020/889] add molmod patcyh --- ...lmod-1.4.8-foss-2023a_fix-np-unicode.patch | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2023a_fix-np-unicode.patch diff --git a/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2023a_fix-np-unicode.patch b/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2023a_fix-np-unicode.patch new file mode 100644 index 00000000000..278ec6a95ad --- /dev/null +++ b/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2023a_fix-np-unicode.patch @@ -0,0 +1,38 @@ +Fixes use of `np.unicode` instead of `np.unicode_`. + ++++ 1.4.8/foss-2023a/molmod-1.4.8/molmod/io/test/test_chk.py 2023-12-11 14:55:11.534543922 +0000 +--- 1.4.8/foss-2023a/molmod-1.4.8/molmod/io/test/test_chk.py.orig 2023-12-11 14:53:00.080194283 +0000 +@@ -62,7 +62,7 @@ + + + def test_strings_array_unicode(): ++ data = {'values': np.array(['foo', 'bar'], dtype=np.unicode_)} +- data = {'values': np.array(['foo', 'bar'], dtype=np.unicode)} + check_data_array('test_strings_array', data, np.dtype('U22')) + + +@@ -90,8 +90,8 @@ + + + def test_strings(): ++ check_data('test_strings_array', {'values': 'foo'}, (str, np.unicode_)) ++ check_data('test_strings_array', {'values': 'foo bar'}, (str, np.unicode_)) +- check_data('test_strings_array', {'values': 'foo'}, (str, np.unicode)) +- check_data('test_strings_array', {'values': 'foo bar'}, (str, np.unicode)) + + + def test_floats(): + +--- 1.4.8/foss-2023a/molmod-1.4.8/molmod/io/chk.py.orig 2023-12-11 15:11:10.785959605 +0000 ++++ 1.4.8/foss-2023a/molmod-1.4.8/molmod/io/chk.py 2023-12-11 15:12:24.978584525 +0000 +@@ -141,8 +141,8 @@ + if value.dtype.fields is not None: + raise TypeError('Arrays with fields are not supported.') + shape_str = ','.join(str(i) for i in value.shape) +- if issubclass(value.dtype.type, (str, np.unicode, np.bytes_)): +- value = value.astype(np.unicode) ++ if issubclass(value.dtype.type, (str, np.unicode_, np.bytes_)): ++ value = value.astype(np.unicode_) + for cell in value.flat: + if len(cell) >= 22: + raise ValueError('In case of string arrays, a string may contain at most 21 characters.') From 0d047bebc6f6e3b782bab3fd7f557479bdec1e2d Mon Sep 17 00:00:00 2001 From: Leonard Nielsen Date: Wed, 13 Dec 2023 18:42:09 +0000 Subject: [PATCH 021/889] update to pyiron build --- .../p/Pint/Pint-0.22-GCCcore-12.3.0.eb | 28 +++++ .../p/pyiron/pyiron-0.5.1-foss-2023a.eb | 104 ++++++++++++++++++ ...-2023a_fix-pyiron-atomistics-version.patch | 53 +++++++++ ...1-foss-2023a_fix-pyiron-base-version.patch | 41 +++++++ .../typing-extensions-4.9.0-GCCcore-12.3.0.eb | 21 ++++ 5 files changed, 247 insertions(+) create mode 100644 easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb create mode 100644 easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch create mode 100644 easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch create mode 100644 easybuild/easyconfigs/t/typing-extensions/typing-extensions-4.9.0-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..63340322e4e --- /dev/null +++ b/easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'Pint' +version = '0.22' + +homepage = 'https://github.com/hgrecco/pint' +description = """Pint is a Python package to define, operate and +manipulate physical quantities: the product of a numerical value and a +unit of measurement. It allows arithmetic operations between them and +conversions from and to different units.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['2d139f6abbcf3016cad7d3cec05707fe908ac4f99cf59aedfd6ee667b7a64433'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('typing-extensions', '4.9.0') +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb new file mode 100644 index 00000000000..24e244b6524 --- /dev/null +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -0,0 +1,104 @@ +easyblock = 'PythonBundle' + +name = 'pyiron' +version = '0.5.1' + +homepage = 'https://github.com/pyiron/pyiron' +description = "An integrated development environment (IDE) for computational materials science." + + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('h5py', '3.9.0'), + ('PyYAML', '6.0'), + ('phonopy', '2.20.0'), + ('spglib-python', '2.1.0'), + ('ASE', '3.22.1'), + ('numexpr', '2.8.7'), + ('PyTables', '3.8.0'), + ('nglview', '3.0.8'), + ('tqdm', '4.66.1'), + ('molmod', '1.4.8'), + ('scikit-learn', '1.3.1'), + ('yaff', '1.6.0'), + ('TAMkin', '1.2.6'), + ('QuickFF', '2.2.7'), + ('Pint', '0.22'), +] + +check_ldshared = True +use_pip = True + +exts_list = [ + ('h5io', '0.1.2', { + 'checksums': ['6400543224c489f1cf487be551f892310fa7060fcd4935b84e515efdc1e1fa43'], + }), + ('defusedxml', '0.6.0', { + 'checksums': ['f684034d135af4c6cbb949b8a4d2ed61634515257a67299e5f940fbaa34377f5'], + }), + ('pysqa', '0.0.11', { + 'checksums': ['b1a1995ac8b83b86046cef8b72cda962c5fdbf480c6dbba906a467a5dd1d3c81'], + }), + ('paramiko', '3.3.1', { + 'checksums': ['6a3777a961ac86dbef375c5f5b8d50014a1a96d0fd7f054a43bc880134b0ff77'], + }), + ('SQLAlchemy', '1.3.19', { + 'checksums': ['3bba2e9fbedb0511769780fe1d63007081008c5c2d7d715e91858c94dbaa260e'], + }), + ('dill', '0.3.2', { + 'source_tmpl': 'dill-%(version)s.zip', + 'checksums': ['6e12da0d8e49c220e8d6e97ee8882002e624f1160289ce85ec2cc0a5246b3a2e'], + }), + ('smmap', '3.0.4', { + 'checksums': ['9c98bbd1f9786d22f14b3d4126894d56befb835ec90cef151af566c7e19b5d24'], + }), + ('gitdb', '4.0.5', { + 'checksums': ['c9e1f2d0db7ddb9a704c2a0217be31214e91a4fe1dea1efad19ae42ba0c285c9'], + }), + ('GitPython', '3.1.8', { + 'modulename': 'git', + 'checksums': ['080bf8e2cf1a2b907634761c2eaefbe83b69930c94c66ad11b65a8252959f912'], + }), + ('colorama', '0.4.3', { + 'checksums': ['e96da0d330793e2cb9485e9ddfd918d456036c7149416295932478192f4436a1'], + }), + ('pyfiglet', '0.8.post1', { + 'checksums': ['c6c2321755d09267b438ec7b936825a4910fec696292139e664ca8670e103639'], + }), + ('mendeleev', '0.6.0', { + 'checksums': ['944d185e81f158e48dd394b011e6c14acb612c2ffbc3c32c4aa490cd5b4f65dd'], + }), + ('pyfileindex', '0.0.4', { + 'checksums': ['bbfbfc9372f810587917ab1a88bebb8de44d32a1210bbd436c5b88447d97dfd2'], + }), + ('seekpath', '2.0.1', { + 'checksums': ['188513ee187fbbace49066a29ecea9bbd351f23da3bea33d507d0f590856b082'], + }), + (name, version, { + 'modulename': False, + 'source_urls': ['https://github.com/pyiron/pyiron/archive/refs/tags/%(name)s-%(version)s.tar.gz'], + 'checksums': ['2e5e3f892b7e49a15443569870aa4ea049951b71fe2ad1ad7f4ac7551d475788'], + }), + ('pyiron_base', '0.6.12', { + 'patches': ['pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch'], + 'source_urls': ['https://github.com/pyiron/pyiron_base/archive/refs/tags/'], + 'checksums': ['7ef8fa8b21724776c1ced3ee1efb8484984234150a7f3da296577f90c63751cb'], + }), + ('atomistics', '0.1.15', { + 'patches': ['pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch'], + 'source_urls': ['https://github.com/pyiron/atomistics/archive/refs/tags/'], + }), + ('pyiron_atomistics', '0.3.11', { + 'patches': ['pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch'], + 'source_urls': ['https://github.com/pyiron/pyiron_atomistics/archive/refs/tags/'], + 'checksums': ['8c73c452fe60cb808961d22361f9b749488e3d50a8bda7f5c0132aea2f69e00f'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch new file mode 100644 index 00000000000..9a72f51055b --- /dev/null +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch @@ -0,0 +1,53 @@ +Fix versioning related issue in pyiron atomistics. + +--- 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/pyproject.toml.orig 2023-12-13 17:37:16.618007520 +0000 ++++ 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/pyproject.toml 2023-12-13 17:38:08.416737658 +0000 +@@ -43,7 +43,7 @@ + "spglib==2.1.0", + "structuretoolkit==0.0.15", + ] +-dynamic = ["version"] ++version = "0.3.11" + + [project.urls] + Homepage = "https://pyiron.org" +@@ -55,13 +55,3 @@ + + [tool.setuptools.package-data] + "*" = ["data/*.csv"] +- +-[tool.setuptools.dynamic] +-version = {attr = "pyiron_atomistics.__version__"} +- +-[tool.versioneer] +-VCS = "git" +-style = "pep440-pre" +-versionfile_source = "pyiron_atomistics/_version.py" +-parentdir_prefix = "pyiron_atomistics" +-tag_prefix = "pyiron_atomistics-" +--- 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/setup.py.orig 2023-12-13 17:41:20.162738914 +0000 ++++ 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/setup.py 2023-12-13 17:41:48.007593887 +0000 +@@ -3,6 +3,6 @@ + import versioneer + + setup( +- version=versioneer.get_version(), +- cmdclass=versioneer.get_cmdclass(), +-) +\ ++ version="0.3.11", ++) ++ +--- 0.5.1/foss-2023a-Python-3.11.3/atomistics/atomistics-atomistics-0.1.15/setup.py.orig 2023-12-13 17:41:20.162738914 +0000 ++++ 0.5.1/foss-2023a-Python-3.11.3/atomistics/atomistics-atomistics-0.1.15/setup.py 2023-12-13 17:41:48.007593887 +0000 +@@ -3,6 +3,6 @@ + import versioneer + + setup( +- version=versioneer.get_version(), +- cmdclass=versioneer.get_cmdclass(), +-) +\ ++ version="0.3.11", ++) ++ diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch new file mode 100644 index 00000000000..8cdbfa8916b --- /dev/null +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch @@ -0,0 +1,41 @@ +Fixes use of dynamic versioning in pyproject.toml and puts in a specific version instead. + +--- /dev/shm/pyiron/0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/pyproject.toml.orig 2023-12-13 15:51:48.895090935 +0000 ++++ /dev/shm/pyiron/0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/pyproject.toml 2023-12-13 15:53:26.626579151 +0000 +@@ -40,7 +40,7 @@ + "tqdm==4.66.1", + "traitlets==5.14.0", + ] +-dynamic = ["version"] ++version = "0.6.12" + + [project.urls] + Homepage = "https://github.com/pyiron/pyiron_base" +@@ -53,12 +53,3 @@ + [tool.setuptools.packages.find] + include = ["pyiron_base*"] + +-[tool.setuptools.dynamic] +-version = {attr = "pyiron_base.__version__"} +- +-[tool.versioneer] +-VCS = "git" +-style = "pep440-pre" +-versionfile_source = "pyiron_base/_version.py" +-parentdir_prefix = "pyiron_base" +-tag_prefix = "pyiron_base-" + +--- /dev/shm/pyiron/0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/setup.py.orig 2023-12-13 17:16:26.902513343 +0000 ++++ /dev/shm/pyiron/0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/setup.py 2023-12-13 17:18:56.504736380 +0000 +@@ -3,6 +3,6 @@ + import versioneer + + setup( +- version=versioneer.get_version(), +- cmdclass=versioneer.get_cmdclass(), +-) +\ No newline at end ++ version="0.6.12", ++) ++ + diff --git a/easybuild/easyconfigs/t/typing-extensions/typing-extensions-4.9.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/typing-extensions/typing-extensions-4.9.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..2078482b45a --- /dev/null +++ b/easybuild/easyconfigs/t/typing-extensions/typing-extensions-4.9.0-GCCcore-12.3.0.eb @@ -0,0 +1,21 @@ +easyblock = 'PythonPackage' + +name = 'typing-extensions' +version = '4.9.0' + +homepage = 'https://github.com/python/typing/blob/master/typing_extensions/README.rst' +description = 'Typing Extensions – Backported and Experimental Type Hints for Python' + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = ['typing_extensions-%(version)s.tar.gz'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('Python', '3.11.3')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'devel' From ed153fe4dcb5a6661ab64c045793129c73a74f99 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Thu, 14 Dec 2023 12:25:10 +0100 Subject: [PATCH 022/889] adding easyconfig OpenBLAS-0.3.20-GCC-11.3.0-int8.eb --- .../OpenBLAS-0.3.20-GCC-11.3.0-int8.eb | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20-GCC-11.3.0-int8.eb diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20-GCC-11.3.0-int8.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20-GCC-11.3.0-int8.eb new file mode 100644 index 00000000000..9c82eead66a --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20-GCC-11.3.0-int8.eb @@ -0,0 +1,62 @@ +name = 'OpenBLAS' +version = '0.3.20' +versionsuffix = '-int8' + +homepage = 'http://www.openblas.net/' +description = """OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. +This build supports 64bit integers in Fortran (integer*8)""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = [ + # order matters, trying to download the large.tgz/timing.tgz LAPACK tarballs from GitHub causes trouble + 'https://www.netlib.org/lapack/timing/', + 'https://github.com/xianyi/OpenBLAS/archive/', +] +sources = ['v%(version)s.tar.gz'] +patches = [ + ('large.tgz', '.'), + ('timing.tgz', '.'), + 'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch', + 'OpenBLAS-0.3.20_fix-cpuid-neoverse-v1-n2.patch', + 'OpenBLAS-0.3.20_fix-x86-cpuid.patch', + 'OpenBLAS-0.3.20_use-xASUM-microkernels-on-new-intel-cpus.patch', + 'OpenBLAS-0.3.21_fix-order-vectorization.patch', + 'OpenBLAS-0.3.21_disable-fma-in-cscal-zscal.patch', + 'OpenBLAS-0.3.21_avoid-crash-in-zdot.patch', +] +checksums = [ + {'v0.3.20.tar.gz': '8495c9affc536253648e942908e88e097f2ec7753ede55aca52e5dead3029e3c'}, + {'large.tgz': 'f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1'}, + {'timing.tgz': '999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af'}, + {'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch': + 'e6b326fb8c4a8a6fd07741d9983c37a72c55c9ff9a4f74a80e1352ce5f975971'}, + {'OpenBLAS-0.3.20_fix-cpuid-neoverse-v1-n2.patch': + '1b495465f8dd1e151d74cf5aa4288120361d29164d6a377228a8d51c255b8a9e'}, + {'OpenBLAS-0.3.20_fix-x86-cpuid.patch': '57e8384404e136b9f0dafc26573adeb7dc69e60d84a7e189643b91d6299888fc'}, + {'OpenBLAS-0.3.20_use-xASUM-microkernels-on-new-intel-cpus.patch': + '1dbd0f9473963dbdd9131611b455d8a801f1e995eae82896186d3d3ffe6d5f03'}, + {'OpenBLAS-0.3.21_fix-order-vectorization.patch': + '08af834e5d60441fd35c128758ed9c092ba6887c829e0471ecd489079539047d'}, + {'OpenBLAS-0.3.21_disable-fma-in-cscal-zscal.patch': + 'bd6836206a883208dc8bc997946f97e4c97d91d8e101fc54db414aaa56902fc3'}, + {'OpenBLAS-0.3.21_avoid-crash-in-zdot.patch': '3dac2c1ec896df574f1b37cde81a16f24550b7f1eb81fbfacb0c4449b0dc7894'}, +] + +builddependencies = [ + ('make', '4.3'), + # required by LAPACK test suite + ('Python', '3.10.4', '-bare'), +] + +_int8_opts = "INTERFACE64='1' USE_OPENMP='0'" +buildopts = _int8_opts +testopts = _int8_opts + +run_lapack_tests = True +max_failing_lapack_tests_num_errors = 150 + +# extensive testing can be enabled by uncommenting the line below +# runtest = 'PATH=.:$PATH lapack-timing' + +moduleclass = 'numlib' From 2574be236ebfe0cd0f1b9463bed1ed1b328fa4cc Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Thu, 14 Dec 2023 12:28:06 +0100 Subject: [PATCH 023/889] remove site-specific code from GAMESS-US-20220930-R2-gompi-2022a.eb --- .../GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb index f10f8d8256e..e6c4b8d6d63 100644 --- a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb +++ b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb @@ -31,19 +31,11 @@ parallel = 4 sources = ['gamess-%(version)s.tar.gz'] checksums = ['22c8c2dc3ef007c36a32d9ff5a9e1803ac9006f24065455c22de40dd26fb2a7a'] -# use folders per job in $VSC_SCRATCH -scratch_dir = '$VSC_SCRATCH/%(name)s-$SLURM_JOB_ID' -user_scratch_dir = '$VSC_SCRATCH/%(name)s-$SLURM_JOB_ID' +# custom location of gamess workdir +# scratch_dir = '/path/to/fast/storage' +# user_scratch_dir = '/path/to/fast/storage' maxcpus = '256' maxnodes = '32' -postinstallcmds = [ - # use job ID 0 for out of job executions - "sed -i '4i\if (!($?SLURM_JOB_ID)) set SLURM_JOB_ID=0' %(installdir)s/rungms", - # multithreading is disabled - "sed -i 's/PPN2 = \$PPN + \$PPN/PPN2 = $PPN/g' %(installdir)s/rungms", - "sed -i 's/NPROCS = \$NCPUS + \$NCPUS/NPROCS = $NCPUS/g' %(installdir)s/rungms", -] - moduleclass = 'chem' From 45e2a1903294547d580ed8d8be35d21a61d01a0b Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Mon, 18 Dec 2023 11:32:12 +0100 Subject: [PATCH 024/889] allow OpenBLAS with int8 versionsuffix as dependency --- test/easyconfigs/easyconfigs.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/easyconfigs/easyconfigs.py b/test/easyconfigs/easyconfigs.py index ab73f1a8134..b263bc550dc 100644 --- a/test/easyconfigs/easyconfigs.py +++ b/test/easyconfigs/easyconfigs.py @@ -419,6 +419,8 @@ def check_dep_vars(self, gen, dep, dep_vars): # filter out BLIS and libFLAME with -amd versionsuffix # (AMD forks, used in gobff/*-amd toolchains) (['BLIS', 'libFLAME'], '-amd'), + # filter out OpenBLAS with -int8 versionsuffix, used by GAMESS-US + ('OpenBLAS', '-int8'), # filter out ScaLAPACK with -BLIS-* versionsuffix, used in goblf toolchain ('ScaLAPACK', ('-BLIS-', True)), # filter out ScaLAPACK with -bf versionsuffix, used in gobff toolchain From 841219e2f994262f3041ad55042098ddfac40d0f Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Mon, 18 Dec 2023 11:38:57 +0100 Subject: [PATCH 025/889] allow higher parallelization and disable hyperthreading in GAMESS-US-20220930-R2-gompi-2022a.eb --- .../g/GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb index e6c4b8d6d63..f2194b17991 100644 --- a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb +++ b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb @@ -24,8 +24,6 @@ dependencies = [ ('libxc', '5.2.3'), ] -parallel = 4 - # manually download via http://www.msg.chem.iastate.edu/gamess/download.html (requires registration) # rename gamess-current.tar.gz by changing 'current' to the proper version sources = ['gamess-%(version)s.tar.gz'] @@ -37,5 +35,6 @@ checksums = ['22c8c2dc3ef007c36a32d9ff5a9e1803ac9006f24065455c22de40dd26fb2a7a'] maxcpus = '256' maxnodes = '32' +hyperthreading = False moduleclass = 'chem' From 0b0b90c12513857d8f93054f0522b0cb184c6b15 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Mon, 18 Dec 2023 15:02:55 +0100 Subject: [PATCH 026/889] adding easyconfig GAMESS-US-20230630-R2-gompi-2022a.eb --- .../GAMESS-US-20230630-R2-gompi-2022a.eb | 45 +++++++++++++++++++ ...0230630_add_slurm_support_mpi_target.patch | 26 +++++++++++ 2 files changed, 71 insertions(+) create mode 100644 easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230630-R2-gompi-2022a.eb create mode 100644 easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230630_add_slurm_support_mpi_target.patch diff --git a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230630-R2-gompi-2022a.eb b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230630-R2-gompi-2022a.eb new file mode 100644 index 00000000000..f7f9a6ad642 --- /dev/null +++ b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230630-R2-gompi-2022a.eb @@ -0,0 +1,45 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2017 University of Luxembourg / LCSB, Cyprus Institute / CaSToRC, +# Ghent University / The Francis Crick Institute +# +# Authors:: +# * Kenneth Hoste +# * Ward Poelmans +# * Oliver Stueker +# License:: MIT/GPL +## +name = 'GAMESS-US' +version = '20230630-R2' + +homepage = 'https://www.msg.chem.iastate.edu/gamess/' +description = """ The General Atomic and Molecular Electronic Structure System (GAMESS) + is a general ab initio quantum chemistry package. """ + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'usempi': True, 'openmp': False} + +dependencies = [ + ('OpenBLAS', '0.3.20', '-int8'), + ('libxc', '5.2.3'), +] + +# manually download via http://www.msg.chem.iastate.edu/gamess/download.html (requires registration) +# rename gamess-current.tar.gz by changing 'current' to the proper version +sources = ['gamess-%(version)s.tar.gz'] +patches = ['GAMESS-US-20230630_add_slurm_support_mpi_target.patch'] +checksums = [ + {'gamess-20230630-R2.tar.gz': '2b7cf4af17fb2eab5bf3609bf820437728cd36d87f44857dce25bafa9e9622ad'}, + {'GAMESS-US-20230630_add_slurm_support_mpi_target.patch': + 'ceed5f160678aba3b1885337a3e5955177b9df465c0ef2f50e4c5e52fe11f70d'}, +] + +# custom location of gamess workdir +# scratch_dir = '/path/to/fast/storage' +# user_scratch_dir = '/path/to/fast/storage' + +maxcpus = '256' +maxnodes = '32' +hyperthreading = False + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230630_add_slurm_support_mpi_target.patch b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230630_add_slurm_support_mpi_target.patch new file mode 100644 index 00000000000..1f5e924f957 --- /dev/null +++ b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230630_add_slurm_support_mpi_target.patch @@ -0,0 +1,26 @@ +Add support for Slurm scheduler on MPI targets that do not have any nodefile +given by the user. +author: Alex Domingo (Vrije Universiteit Brussel) +--- rungms.orig 2023-07-01 08:04:29.000000000 +0200 ++++ rungms 2023-12-13 16:29:19.738351362 +0100 +@@ -188,6 +188,7 @@ + set SCHED=none + if ($?PBS_O_LOGNAME) set SCHED=PBS + if ($?SGE_O_LOGNAME) set SCHED=SGE ++if ($?SLURM_JOB_ID) set SCHED=SLURM + if ($SCHED == SGE) then + set SCR=$TMPDIR + echo "SGE has assigned the following compute nodes to this run:" +@@ -805,6 +806,12 @@ + set NNODES=$NNODES[1] + echo "MPI was given $NNODES nodes by PBS..." + breaksw ++ case SLURM: ++ scontrol show hostname "$SLURM_NODELIST" > $HOSTFILE ++ set NNODES=`wc -l $HOSTFILE` ++ set NNODES=$NNODES[1] ++ echo "MPI was given $NNODES nodes by Slurm..." ++ breaksw + default: + # Use use provided list (a new feature to be tested). + if (-e $NCPUS) then From c5fe35bc3b63b54a9f7615f124a7337016c388a8 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Wed, 20 Dec 2023 17:53:33 +0100 Subject: [PATCH 027/889] Rename GAMESS-US-20230630-R2-gompi-2022a.eb to GAMESS-US-20230930-R2-gompi-2022a.eb --- ...0-R2-gompi-2022a.eb => GAMESS-US-20230930-R2-gompi-2022a.eb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename easybuild/easyconfigs/g/GAMESS-US/{GAMESS-US-20230630-R2-gompi-2022a.eb => GAMESS-US-20230930-R2-gompi-2022a.eb} (98%) diff --git a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230630-R2-gompi-2022a.eb b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb similarity index 98% rename from easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230630-R2-gompi-2022a.eb rename to easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb index f7f9a6ad642..1ea7873c0bc 100644 --- a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230630-R2-gompi-2022a.eb +++ b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb @@ -10,7 +10,7 @@ # License:: MIT/GPL ## name = 'GAMESS-US' -version = '20230630-R2' +version = '20230930-R2' homepage = 'https://www.msg.chem.iastate.edu/gamess/' description = """ The General Atomic and Molecular Electronic Structure System (GAMESS) From 5f419b299f88a1a92c361c4607b12537499d0a79 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Wed, 20 Dec 2023 18:10:03 +0100 Subject: [PATCH 028/889] Rename GAMESS-US-20230630_add_slurm_support_mpi_target.patch to GAMESS-US-20230930_add_slurm_support_mpi_target.patch --- .../g/GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb | 6 +++--- ...> GAMESS-US-20230930_add_slurm_support_mpi_target.patch} | 0 2 files changed, 3 insertions(+), 3 deletions(-) rename easybuild/easyconfigs/g/GAMESS-US/{GAMESS-US-20230630_add_slurm_support_mpi_target.patch => GAMESS-US-20230930_add_slurm_support_mpi_target.patch} (100%) diff --git a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb index 1ea7873c0bc..8258f1aa231 100644 --- a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb +++ b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb @@ -27,10 +27,10 @@ dependencies = [ # manually download via http://www.msg.chem.iastate.edu/gamess/download.html (requires registration) # rename gamess-current.tar.gz by changing 'current' to the proper version sources = ['gamess-%(version)s.tar.gz'] -patches = ['GAMESS-US-20230630_add_slurm_support_mpi_target.patch'] +patches = ['GAMESS-US-20230930_add_slurm_support_mpi_target.patch'] checksums = [ - {'gamess-20230630-R2.tar.gz': '2b7cf4af17fb2eab5bf3609bf820437728cd36d87f44857dce25bafa9e9622ad'}, - {'GAMESS-US-20230630_add_slurm_support_mpi_target.patch': + {'gamess-20230930-R2.tar.gz': '2b7cf4af17fb2eab5bf3609bf820437728cd36d87f44857dce25bafa9e9622ad'}, + {'GAMESS-US-20230930_add_slurm_support_mpi_target.patch': 'ceed5f160678aba3b1885337a3e5955177b9df465c0ef2f50e4c5e52fe11f70d'}, ] diff --git a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230630_add_slurm_support_mpi_target.patch b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930_add_slurm_support_mpi_target.patch similarity index 100% rename from easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230630_add_slurm_support_mpi_target.patch rename to easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930_add_slurm_support_mpi_target.patch From cd1391286bc0a231bbf240bf691287fb31fc44fd Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Wed, 20 Dec 2023 18:12:04 +0100 Subject: [PATCH 029/889] bump default maximum cpus and nodes in GAMESS-US v20220930-R2 and v20230930-R2 to 1024 --- .../g/GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb | 4 ++-- .../g/GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb index f2194b17991..f608172cc88 100644 --- a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb +++ b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb @@ -33,8 +33,8 @@ checksums = ['22c8c2dc3ef007c36a32d9ff5a9e1803ac9006f24065455c22de40dd26fb2a7a'] # scratch_dir = '/path/to/fast/storage' # user_scratch_dir = '/path/to/fast/storage' -maxcpus = '256' -maxnodes = '32' +maxcpus = '1024' +maxnodes = '1024' hyperthreading = False moduleclass = 'chem' diff --git a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb index 8258f1aa231..24429b5a87e 100644 --- a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb +++ b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb @@ -38,8 +38,8 @@ checksums = [ # scratch_dir = '/path/to/fast/storage' # user_scratch_dir = '/path/to/fast/storage' -maxcpus = '256' -maxnodes = '32' +maxcpus = '1024' +maxnodes = '1024' hyperthreading = False moduleclass = 'chem' From 2ecfd60eb8504e47662cf35fe001eb2bcd81565f Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Thu, 21 Dec 2023 09:26:21 +0100 Subject: [PATCH 030/889] adding easyconfigs: GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb --- ...US-20230930-R2-intel-compilers-2022.1.0.eb | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb diff --git a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb new file mode 100644 index 00000000000..c5be8d59224 --- /dev/null +++ b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb @@ -0,0 +1,56 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2017 University of Luxembourg / LCSB, Cyprus Institute / CaSToRC, +# Ghent University / The Francis Crick Institute +# +# Authors:: +# * Kenneth Hoste +# * Ward Poelmans +# * Oliver Stueker +# License:: MIT/GPL +## +name = 'GAMESS-US' +version = '20230930-R2' + +maxcpus = '1024' +maxnodes = '1' +hyperthreading = False + +homepage = 'https://www.msg.chem.iastate.edu/gamess/' +description = """The General Atomic and Molecular Electronic Structure System (GAMESS) +is a general ab initio quantum chemistry package. +This module can be used on a maximum of %s nodes and %s CPUs per node. + """ % (maxnodes, maxcpus) + +toolchain = {'name': 'intel-compilers', 'version': '2022.1.0'} +toolchainopts = {'openmp': True} + +dependencies = [ + ('imkl', '2022.1.0', '', SYSTEM), +] + +# manually download via http://www.msg.chem.iastate.edu/gamess/download.html (requires registration) +# rename gamess-current.tar.gz by changing 'current' to the proper version +sources = ['gamess-%(version)s.tar.gz'] +patches = ['GAMESS-US-20230930_add_slurm_support_mpi_target.patch'] +checksums = [ + {'gamess-20230930-R2.tar.gz': '2b7cf4af17fb2eab5bf3609bf820437728cd36d87f44857dce25bafa9e9622ad'}, + {'GAMESS-US-20230930_add_slurm_support_mpi_target.patch': + 'ceed5f160678aba3b1885337a3e5955177b9df465c0ef2f50e4c5e52fe11f70d'}, +] + +# use folders per job in $VSC_SCRATCH +scratch_dir = '$VSC_SCRATCH/%(name)s-$SLURM_JOB_ID' +user_scratch_dir = '$VSC_SCRATCH/%(name)s-$SLURM_JOB_ID' + +ddi_comm = 'sockets' +maxcpus = '256' +maxnodes = '32' +hyperthreading = False + +postinstallcmds = [ + # use job ID 0 for out of job executions + "sed -i '4i\if (!($?SLURM_JOB_ID)) set SLURM_JOB_ID=0' %(installdir)s/rungms", +] + +moduleclass = 'chem' From 2f4d0cee3608470b0ca5f38cb2e4bb1d9c6502df Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Thu, 21 Dec 2023 09:37:39 +0100 Subject: [PATCH 031/889] remove site-specific settings from GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb --- ...S-US-20230930-R2-intel-compilers-2022.1.0.eb | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb index c5be8d59224..c8b407a094c 100644 --- a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb +++ b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb @@ -12,6 +12,7 @@ name = 'GAMESS-US' version = '20230930-R2' +ddi_comm = 'sockets' maxcpus = '1024' maxnodes = '1' hyperthreading = False @@ -39,18 +40,8 @@ checksums = [ 'ceed5f160678aba3b1885337a3e5955177b9df465c0ef2f50e4c5e52fe11f70d'}, ] -# use folders per job in $VSC_SCRATCH -scratch_dir = '$VSC_SCRATCH/%(name)s-$SLURM_JOB_ID' -user_scratch_dir = '$VSC_SCRATCH/%(name)s-$SLURM_JOB_ID' - -ddi_comm = 'sockets' -maxcpus = '256' -maxnodes = '32' -hyperthreading = False - -postinstallcmds = [ - # use job ID 0 for out of job executions - "sed -i '4i\if (!($?SLURM_JOB_ID)) set SLURM_JOB_ID=0' %(installdir)s/rungms", -] +# custom location of gamess workdir +# scratch_dir = '/path/to/fast/storage' +# user_scratch_dir = '/path/to/fast/storage' moduleclass = 'chem' From e929077e1189af3e8576f27cd51355dce59588f3 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Thu, 21 Dec 2023 09:45:22 +0100 Subject: [PATCH 032/889] show maximum CPUs and nodes in description of GAMESS-US v20220930-R2 and v20230930-R2 --- .../GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb | 14 ++++++++------ .../GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb | 14 ++++++++------ 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb index f608172cc88..bf649f38963 100644 --- a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb +++ b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb @@ -12,9 +12,15 @@ name = 'GAMESS-US' version = '20220930-R2' +maxcpus = '1024' +maxnodes = '1024' +hyperthreading = False + homepage = 'https://www.msg.chem.iastate.edu/gamess/' -description = """ The General Atomic and Molecular Electronic Structure System (GAMESS) - is a general ab initio quantum chemistry package. """ +description = """The General Atomic and Molecular Electronic Structure System (GAMESS) +is a general ab initio quantum chemistry package. +This module can be used on a maximum of %s nodes and %s CPUs per node. + """ % (maxnodes, maxcpus) toolchain = {'name': 'gompi', 'version': '2022a'} toolchainopts = {'usempi': True, 'openmp': False} @@ -33,8 +39,4 @@ checksums = ['22c8c2dc3ef007c36a32d9ff5a9e1803ac9006f24065455c22de40dd26fb2a7a'] # scratch_dir = '/path/to/fast/storage' # user_scratch_dir = '/path/to/fast/storage' -maxcpus = '1024' -maxnodes = '1024' -hyperthreading = False - moduleclass = 'chem' diff --git a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb index 24429b5a87e..f2052f2e7a8 100644 --- a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb +++ b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb @@ -12,9 +12,15 @@ name = 'GAMESS-US' version = '20230930-R2' +maxcpus = '1024' +maxnodes = '1024' +hyperthreading = False + homepage = 'https://www.msg.chem.iastate.edu/gamess/' -description = """ The General Atomic and Molecular Electronic Structure System (GAMESS) - is a general ab initio quantum chemistry package. """ +description = """The General Atomic and Molecular Electronic Structure System (GAMESS) +is a general ab initio quantum chemistry package. +This module can be used on a maximum of %s nodes and %s CPUs per node. + """ % (maxnodes, maxcpus) toolchain = {'name': 'gompi', 'version': '2022a'} toolchainopts = {'usempi': True, 'openmp': False} @@ -38,8 +44,4 @@ checksums = [ # scratch_dir = '/path/to/fast/storage' # user_scratch_dir = '/path/to/fast/storage' -maxcpus = '1024' -maxnodes = '1024' -hyperthreading = False - moduleclass = 'chem' From ba6627ba4a24064d6e948711a9e13c8fbb3e627d Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Thu, 21 Dec 2023 15:18:14 +0100 Subject: [PATCH 033/889] Delete easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a-Python-3.11.3.eb deleted erroneous rfile --- .../pyiron-0.5.1-foss-2023a-Python-3.11.3.eb | 94 ------------------- 1 file changed, 94 deletions(-) delete mode 100644 easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a-Python-3.11.3.eb diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a-Python-3.11.3.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a-Python-3.11.3.eb deleted file mode 100644 index 5302218568b..00000000000 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a-Python-3.11.3.eb +++ /dev/null @@ -1,94 +0,0 @@ -easyblock = 'PythonBundle' - -name = 'pyiron' -version = '0.5.1' -versionsuffix = '-Python-%(pyver)s' - -homepage = 'https://github.com/pyiron/pyiron' -description = "An integrated development environment (IDE) for computational materials science." - - -toolchain = {'name': 'foss', 'version': '2023a'} - -dependencies = [ - ('Python', '3.11.3'), - ('SciPy-bundle', '2023.07'), - ('matplotlib', '3.7.2'), - ('h5py', '3.9.0'), - ('PyYAML', '6.0'), - ('phonopy', '2.20.0'), - ('spglib-python', '2.1.0'), - ('ASE', '3.22.1'), - ('numexpr', '2.8.7'), - ('PyTables', '3.8.0'), - ('nglview', '3.0.8'), - ('tqdm', '4.66.1'), - ('molmod', '1.4.8'), - ('scikit-learn', '1.3.1'), - ('yaff', '1.6.0'), - ('TAMkin', '1.2.6'), - ('QuickFF', '2.2.7'), -] - -check_ldshared = True -use_pip = True - -exts_list = [ - ('h5io', '0.1.2', { - 'checksums': ['6400543224c489f1cf487be551f892310fa7060fcd4935b84e515efdc1e1fa43'], - }), - ('defusedxml', '0.6.0', { - 'checksums': ['f684034d135af4c6cbb949b8a4d2ed61634515257a67299e5f940fbaa34377f5'], - }), - ('pysqa', '0.0.11', { - 'checksums': ['b1a1995ac8b83b86046cef8b72cda962c5fdbf480c6dbba906a467a5dd1d3c81'], - }), - ('paramiko', '3.3.1', { - 'checksums': ['6a3777a961ac86dbef375c5f5b8d50014a1a96d0fd7f054a43bc880134b0ff77'], - }), - ('pyiron_atomistics', '0.3.11', { - 'source_urls': ['https://github.com/pyiron/pyiron_atomistics/archive/refs/tags/'], - 'checksums': ['8c73c452fe60cb808961d22361f9b749488e3d50a8bda7f5c0132aea2f69e00f'], - }), - ('SQLAlchemy', '1.3.19', { - 'checksums': ['3bba2e9fbedb0511769780fe1d63007081008c5c2d7d715e91858c94dbaa260e'], - }), - ('dill', '0.3.2', { - 'source_tmpl': 'dill-%(version)s.zip', - 'checksums': ['6e12da0d8e49c220e8d6e97ee8882002e624f1160289ce85ec2cc0a5246b3a2e'], - }), - ('smmap', '3.0.4', { - 'checksums': ['9c98bbd1f9786d22f14b3d4126894d56befb835ec90cef151af566c7e19b5d24'], - }), - ('gitdb', '4.0.5', { - 'checksums': ['c9e1f2d0db7ddb9a704c2a0217be31214e91a4fe1dea1efad19ae42ba0c285c9'], - }), - ('GitPython', '3.1.8', { - 'modulename': 'git', - 'checksums': ['080bf8e2cf1a2b907634761c2eaefbe83b69930c94c66ad11b65a8252959f912'], - }), - ('colorama', '0.4.3', { - 'checksums': ['e96da0d330793e2cb9485e9ddfd918d456036c7149416295932478192f4436a1'], - }), - ('pyfiglet', '0.8.post1', { - 'checksums': ['c6c2321755d09267b438ec7b936825a4910fec696292139e664ca8670e103639'], - }), - ('mendeleev', '0.6.0', { - 'checksums': ['944d185e81f158e48dd394b011e6c14acb612c2ffbc3c32c4aa490cd5b4f65dd'], - }), - ('pyfileindex', '0.0.4', { - 'checksums': ['bbfbfc9372f810587917ab1a88bebb8de44d32a1210bbd436c5b88447d97dfd2'], - }), - ('seekpath', '2.0.1', { - 'checksums': ['188513ee187fbbace49066a29ecea9bbd351f23da3bea33d507d0f590856b082'], - }), - (name, version, { - 'modulename': False, - 'source_urls': ['https://github.com/pyiron/pyiron/archive/refs/tags/%(name)s-%(version)s.tar.gz'], - 'checksums': ['2e5e3f892b7e49a15443569870aa4ea049951b71fe2ad1ad7f4ac7551d475788'], - }), -] - -sanity_pip_check = True - -moduleclass = 'tools' From 4e0a5ec68620c1bed064f5647d25ccd91777c122 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen Date: Thu, 21 Dec 2023 14:59:42 +0000 Subject: [PATCH 034/889] fixed paths in patches --- ...oss-2023a_fix-pyiron-atomistics-version.patch | 16 ++++++++-------- ....5.1-foss-2023a_fix-pyiron-base-version.patch | 8 ++++---- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch index 9a72f51055b..f420a6e7526 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch @@ -1,18 +1,18 @@ Fix versioning related issue in pyiron atomistics. ---- 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/pyproject.toml.orig 2023-12-13 17:37:16.618007520 +0000 -+++ 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/pyproject.toml 2023-12-13 17:38:08.416737658 +0000 +--- 0.5.1/foss-2023a/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/pyproject.toml.orig 2023-12-13 17:37:16.618007520 +0000 ++++ 0.5.1/foss-2023a/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/pyproject.toml 2023-12-13 17:38:08.416737658 +0000 @@ -43,7 +43,7 @@ "spglib==2.1.0", "structuretoolkit==0.0.15", ] -dynamic = ["version"] +version = "0.3.11" - + [project.urls] Homepage = "https://pyiron.org" @@ -55,13 +55,3 @@ - + [tool.setuptools.package-data] "*" = ["data/*.csv"] - @@ -25,8 +25,8 @@ Fix versioning related issue in pyiron atomistics. -versionfile_source = "pyiron_atomistics/_version.py" -parentdir_prefix = "pyiron_atomistics" -tag_prefix = "pyiron_atomistics-" ---- 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/setup.py.orig 2023-12-13 17:41:20.162738914 +0000 -+++ 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/setup.py 2023-12-13 17:41:48.007593887 +0000 +--- 0.5.1/foss-2023a/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/setup.py.orig 2023-12-13 17:41:20.162738914 +0000 ++++ 0.5.1/foss-2023a/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/setup.py 2023-12-13 17:41:48.007593887 +0000 @@ -3,6 +3,6 @@ import versioneer @@ -38,8 +38,8 @@ Fix versioning related issue in pyiron atomistics. + version="0.3.11", +) + ---- 0.5.1/foss-2023a-Python-3.11.3/atomistics/atomistics-atomistics-0.1.15/setup.py.orig 2023-12-13 17:41:20.162738914 +0000 -+++ 0.5.1/foss-2023a-Python-3.11.3/atomistics/atomistics-atomistics-0.1.15/setup.py 2023-12-13 17:41:48.007593887 +0000 +--- 0.5.1/foss-2023a/atomistics/atomistics-atomistics-0.1.15/setup.py.orig 2023-12-13 17:41:20.162738914 +0000 ++++ 0.5.1/foss-2023a/atomistics/atomistics-atomistics-0.1.15/setup.py 2023-12-13 17:41:48.007593887 +0000 @@ -3,6 +3,6 @@ import versioneer diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch index 8cdbfa8916b..46225bc6616 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch @@ -1,7 +1,7 @@ Fixes use of dynamic versioning in pyproject.toml and puts in a specific version instead. ---- /dev/shm/pyiron/0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/pyproject.toml.orig 2023-12-13 15:51:48.895090935 +0000 -+++ /dev/shm/pyiron/0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/pyproject.toml 2023-12-13 15:53:26.626579151 +0000 +--- /dev/shm/pyiron/0.5.1/foss-2023a/pyiron_base/pyiron_base-pyiron_base-0.6.12/pyproject.toml.orig 2023-12-13 15:51:48.895090935 +0000 ++++ /dev/shm/pyiron/0.5.1/foss-2023a/pyiron_base/pyiron_base-pyiron_base-0.6.12/pyproject.toml 2023-12-13 15:53:26.626579151 +0000 @@ -40,7 +40,7 @@ "tqdm==4.66.1", "traitlets==5.14.0", @@ -25,8 +25,8 @@ Fixes use of dynamic versioning in pyproject.toml and puts in a specific version -parentdir_prefix = "pyiron_base" -tag_prefix = "pyiron_base-" ---- /dev/shm/pyiron/0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/setup.py.orig 2023-12-13 17:16:26.902513343 +0000 -+++ /dev/shm/pyiron/0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/setup.py 2023-12-13 17:18:56.504736380 +0000 +--- /dev/shm/pyiron/0.5.1/foss-2023a/pyiron_base/pyiron_base-pyiron_base-0.6.12/setup.py.orig 2023-12-13 17:16:26.902513343 +0000 ++++ /dev/shm/pyiron/0.5.1/foss-2023a/pyiron_base/pyiron_base-pyiron_base-0.6.12/setup.py 2023-12-13 17:18:56.504736380 +0000 @@ -3,6 +3,6 @@ import versioneer From f9fd2c1cef9c2150de93fd5b5ce029bc80665d66 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen Date: Thu, 21 Dec 2023 15:09:34 +0000 Subject: [PATCH 035/889] fixed paths in patches --- ....1-foss-2023a_fix-pyiron-atomistics-version.patch | 12 ++++++------ ...on-0.5.1-foss-2023a_fix-pyiron-base-version.patch | 8 ++++---- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch index f420a6e7526..a4d4ada46fe 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch @@ -1,7 +1,7 @@ Fix versioning related issue in pyiron atomistics. ---- 0.5.1/foss-2023a/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/pyproject.toml.orig 2023-12-13 17:37:16.618007520 +0000 -+++ 0.5.1/foss-2023a/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/pyproject.toml 2023-12-13 17:38:08.416737658 +0000 +--- 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/pyproject.toml.orig 2023-12-13 17:37:16.618007520 +0000 ++++ 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/pyproject.toml 2023-12-13 17:38:08.416737658 +0000 @@ -43,7 +43,7 @@ "spglib==2.1.0", "structuretoolkit==0.0.15", @@ -25,8 +25,8 @@ Fix versioning related issue in pyiron atomistics. -versionfile_source = "pyiron_atomistics/_version.py" -parentdir_prefix = "pyiron_atomistics" -tag_prefix = "pyiron_atomistics-" ---- 0.5.1/foss-2023a/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/setup.py.orig 2023-12-13 17:41:20.162738914 +0000 -+++ 0.5.1/foss-2023a/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/setup.py 2023-12-13 17:41:48.007593887 +0000 +--- 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/setup.py.orig 2023-12-13 17:41:20.162738914 +0000 ++++ 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/setup.py 2023-12-13 17:41:48.007593887 +0000 @@ -3,6 +3,6 @@ import versioneer @@ -38,8 +38,8 @@ Fix versioning related issue in pyiron atomistics. + version="0.3.11", +) + ---- 0.5.1/foss-2023a/atomistics/atomistics-atomistics-0.1.15/setup.py.orig 2023-12-13 17:41:20.162738914 +0000 -+++ 0.5.1/foss-2023a/atomistics/atomistics-atomistics-0.1.15/setup.py 2023-12-13 17:41:48.007593887 +0000 +--- 0.5.1/foss-2023a-Python-3.11.3/atomistics/atomistics-atomistics-0.1.15/setup.py.orig 2023-12-13 17:41:20.162738914 +0000 ++++ 0.5.1/foss-2023a-Python-3.11.3/atomistics/atomistics-atomistics-0.1.15/setup.py 2023-12-13 17:41:48.007593887 +0000 @@ -3,6 +3,6 @@ import versioneer diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch index 46225bc6616..8cdbfa8916b 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch @@ -1,7 +1,7 @@ Fixes use of dynamic versioning in pyproject.toml and puts in a specific version instead. ---- /dev/shm/pyiron/0.5.1/foss-2023a/pyiron_base/pyiron_base-pyiron_base-0.6.12/pyproject.toml.orig 2023-12-13 15:51:48.895090935 +0000 -+++ /dev/shm/pyiron/0.5.1/foss-2023a/pyiron_base/pyiron_base-pyiron_base-0.6.12/pyproject.toml 2023-12-13 15:53:26.626579151 +0000 +--- /dev/shm/pyiron/0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/pyproject.toml.orig 2023-12-13 15:51:48.895090935 +0000 ++++ /dev/shm/pyiron/0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/pyproject.toml 2023-12-13 15:53:26.626579151 +0000 @@ -40,7 +40,7 @@ "tqdm==4.66.1", "traitlets==5.14.0", @@ -25,8 +25,8 @@ Fixes use of dynamic versioning in pyproject.toml and puts in a specific version -parentdir_prefix = "pyiron_base" -tag_prefix = "pyiron_base-" ---- /dev/shm/pyiron/0.5.1/foss-2023a/pyiron_base/pyiron_base-pyiron_base-0.6.12/setup.py.orig 2023-12-13 17:16:26.902513343 +0000 -+++ /dev/shm/pyiron/0.5.1/foss-2023a/pyiron_base/pyiron_base-pyiron_base-0.6.12/setup.py 2023-12-13 17:18:56.504736380 +0000 +--- /dev/shm/pyiron/0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/setup.py.orig 2023-12-13 17:16:26.902513343 +0000 ++++ /dev/shm/pyiron/0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/setup.py 2023-12-13 17:18:56.504736380 +0000 @@ -3,6 +3,6 @@ import versioneer From 57a786e87f8014fa8a4f3df7eeee1a9c7a437b41 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Thu, 21 Dec 2023 16:29:47 +0100 Subject: [PATCH 036/889] Update pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch --- .../pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch index a4d4ada46fe..e95f68f2c31 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch @@ -25,6 +25,7 @@ Fix versioning related issue in pyiron atomistics. -versionfile_source = "pyiron_atomistics/_version.py" -parentdir_prefix = "pyiron_atomistics" -tag_prefix = "pyiron_atomistics-" + --- 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/setup.py.orig 2023-12-13 17:41:20.162738914 +0000 +++ 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/setup.py 2023-12-13 17:41:48.007593887 +0000 @@ -3,6 +3,6 @@ From fbf2412a44d1851d4e167d89ec60aca42a55021a Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Thu, 21 Dec 2023 17:07:16 +0100 Subject: [PATCH 037/889] Update pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch --- ...n-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch index e95f68f2c31..14b12f39ef3 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch @@ -17,14 +17,14 @@ Fix versioning related issue in pyiron atomistics. "*" = ["data/*.csv"] - -[tool.setuptools.dynamic] --version = {attr = "pyiron_atomistics.__version__"} +-version = {attr = "atomistics.__version__"} - -[tool.versioneer] -VCS = "git" -style = "pep440-pre" --versionfile_source = "pyiron_atomistics/_version.py" --parentdir_prefix = "pyiron_atomistics" --tag_prefix = "pyiron_atomistics-" +-versionfile_source = "atomistics/_version.py" +-parentdir_prefix = "atomistics" +-tag_prefix = "atomistics-" --- 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/setup.py.orig 2023-12-13 17:41:20.162738914 +0000 +++ 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/setup.py 2023-12-13 17:41:48.007593887 +0000 From af05aa2bdc30a0cfcd005a05e180008c01e3a3d5 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Thu, 21 Dec 2023 17:14:13 +0100 Subject: [PATCH 038/889] Update pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch --- ....1-foss-2023a_fix-pyiron-atomistics-version.patch | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch index 14b12f39ef3..67fa0d67878 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch @@ -39,16 +39,4 @@ Fix versioning related issue in pyiron atomistics. + version="0.3.11", +) + ---- 0.5.1/foss-2023a-Python-3.11.3/atomistics/atomistics-atomistics-0.1.15/setup.py.orig 2023-12-13 17:41:20.162738914 +0000 -+++ 0.5.1/foss-2023a-Python-3.11.3/atomistics/atomistics-atomistics-0.1.15/setup.py 2023-12-13 17:41:48.007593887 +0000 -@@ -3,6 +3,6 @@ - import versioneer - - setup( -- version=versioneer.get_version(), -- cmdclass=versioneer.get_cmdclass(), --) -\ -+ version="0.3.11", -+) + From 9e50f1615a99ff6f16696cdc4c812ca1f51cbbb3 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Thu, 21 Dec 2023 17:24:09 +0100 Subject: [PATCH 039/889] Update pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch --- ...-2023a_fix-pyiron-atomistics-version.patch | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch index 67fa0d67878..8feeb22899e 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch @@ -1,21 +1,20 @@ Fix versioning related issue in pyiron atomistics. ---- 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/pyproject.toml.orig 2023-12-13 17:37:16.618007520 +0000 -+++ 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/pyproject.toml 2023-12-13 17:38:08.416737658 +0000 -@@ -43,7 +43,7 @@ - "spglib==2.1.0", - "structuretoolkit==0.0.15", +--- 0.5.1/foss-2023a/atomistics/atomistics-atomistics-0.1.15/pyproject.toml.orig 2023-12-12 07:51:23.000000000 +0000 ++++ 0.5.1/foss-2023a/atomistics/atomistics-atomistics-0.1.15/pyproject.toml 2023-12-21 16:23:25.950798734 +0000 +@@ -30,7 +30,7 @@ + "scipy==1.11.4", + "spglib==2.2.0", ] -dynamic = ["version"] +version = "0.3.11" - + [project.urls] - Homepage = "https://pyiron.org" -@@ -55,13 +55,3 @@ - - [tool.setuptools.package-data] - "*" = ["data/*.csv"] -- + Homepage = "https://github.com/pyiron/atomistics" +@@ -64,12 +64,3 @@ + [tool.setuptools.packages.find] + include = ["atomistics*"] + -[tool.setuptools.dynamic] -version = {attr = "atomistics.__version__"} - From 90775dc6ec6d7d1f89e6435dc9f70d4c3f33598f Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Thu, 21 Dec 2023 17:40:56 +0100 Subject: [PATCH 040/889] Update pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch --- ...-2023a_fix-pyiron-atomistics-version.patch | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch index 8feeb22899e..923f893db7a 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch @@ -1,29 +1,30 @@ Fix versioning related issue in pyiron atomistics. ---- 0.5.1/foss-2023a/atomistics/atomistics-atomistics-0.1.15/pyproject.toml.orig 2023-12-12 07:51:23.000000000 +0000 -+++ 0.5.1/foss-2023a/atomistics/atomistics-atomistics-0.1.15/pyproject.toml 2023-12-21 16:23:25.950798734 +0000 -@@ -30,7 +30,7 @@ - "scipy==1.11.4", - "spglib==2.2.0", +--- 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/pyproject.toml.orig 2023-12-21 16:39:17.769971429 +0000 ++++ 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/pyproject.toml 2023-12-21 16:39:59.280760858 +0000 +@@ -43,7 +43,7 @@ + "spglib==2.1.0", + "structuretoolkit==0.0.15", ] -dynamic = ["version"] +version = "0.3.11" [project.urls] - Homepage = "https://github.com/pyiron/atomistics" -@@ -64,12 +64,3 @@ - [tool.setuptools.packages.find] - include = ["atomistics*"] + Homepage = "https://pyiron.org" +@@ -55,13 +55,3 @@ + [tool.setuptools.package-data] + "*" = ["data/*.csv"] +- -[tool.setuptools.dynamic] --version = {attr = "atomistics.__version__"} +-version = {attr = "pyiron_atomistics.__version__"} - -[tool.versioneer] -VCS = "git" -style = "pep440-pre" --versionfile_source = "atomistics/_version.py" --parentdir_prefix = "atomistics" --tag_prefix = "atomistics-" +-versionfile_source = "pyiron_atomistics/_version.py" +-parentdir_prefix = "pyiron_atomistics" +-tag_prefix = "pyiron_atomistics-" --- 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/setup.py.orig 2023-12-13 17:41:20.162738914 +0000 +++ 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/setup.py 2023-12-13 17:41:48.007593887 +0000 From fd675447952e17436d96e5ea5c4423cba1d7790a Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Thu, 21 Dec 2023 17:52:27 +0100 Subject: [PATCH 041/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index 24e244b6524..dc8497e1f71 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -89,7 +89,6 @@ exts_list = [ 'checksums': ['7ef8fa8b21724776c1ced3ee1efb8484984234150a7f3da296577f90c63751cb'], }), ('atomistics', '0.1.15', { - 'patches': ['pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch'], 'source_urls': ['https://github.com/pyiron/atomistics/archive/refs/tags/'], }), ('pyiron_atomistics', '0.3.11', { From 2ac96a23098d71ceadb7c896a892942e4a2cd36a Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Thu, 21 Dec 2023 18:04:03 +0100 Subject: [PATCH 042/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index dc8497e1f71..e0a852a81be 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -96,6 +96,12 @@ exts_list = [ 'source_urls': ['https://github.com/pyiron/pyiron_atomistics/archive/refs/tags/'], 'checksums': ['8c73c452fe60cb808961d22361f9b749488e3d50a8bda7f5c0132aea2f69e00f'], }), + ('mp-api', '0.39.4', { + 'source_urls': ['https://github.com/materialsproject/api/archive/refs/tags/'] + }), + ('pylammpsmpi', '0.2.10', { + 'source_urls': ['https://github.com/pyiron/pylammpsmpi/archive/refs/tags/'], + }), ] sanity_pip_check = True From 240162dbcd30a9643a52be5dfda0ac33dd1de43e Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Thu, 21 Dec 2023 18:06:36 +0100 Subject: [PATCH 043/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index e0a852a81be..695d6d8cda3 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -102,6 +102,9 @@ exts_list = [ ('pylammpsmpi', '0.2.10', { 'source_urls': ['https://github.com/pyiron/pylammpsmpi/archive/refs/tags/'], }), + ('bcrypt', '4.1.2', { + 'source_urls': ['https://github.com/pyca/bcrypt/archive/refs/tags/'] + }), ] sanity_pip_check = True From de89d51d08f934b48d39fbbec17622db127f283d Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Thu, 21 Dec 2023 18:09:42 +0100 Subject: [PATCH 044/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index 695d6d8cda3..f19b62e5022 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -103,7 +103,7 @@ exts_list = [ 'source_urls': ['https://github.com/pyiron/pylammpsmpi/archive/refs/tags/'], }), ('bcrypt', '4.1.2', { - 'source_urls': ['https://github.com/pyca/bcrypt/archive/refs/tags/'] + 'source_urls': ['https://github.com/pyca/bcrypt/archive/refs/tags/4.1.2.tar.gz'] }), ] From 30516e3e4bbbaa64a79f01af26acb043e996a0b3 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Thu, 21 Dec 2023 18:11:35 +0100 Subject: [PATCH 045/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index f19b62e5022..2f3f158c7b2 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -97,7 +97,7 @@ exts_list = [ 'checksums': ['8c73c452fe60cb808961d22361f9b749488e3d50a8bda7f5c0132aea2f69e00f'], }), ('mp-api', '0.39.4', { - 'source_urls': ['https://github.com/materialsproject/api/archive/refs/tags/'] + 'source_urls': ['https://github.com/materialsproject/api/archive/refs/tags/v0.39.4.tar.gz'] }), ('pylammpsmpi', '0.2.10', { 'source_urls': ['https://github.com/pyiron/pylammpsmpi/archive/refs/tags/'], From fab600725ab4d9a0845fb55af96c83090e66c884 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Thu, 21 Dec 2023 18:18:08 +0100 Subject: [PATCH 046/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index 2f3f158c7b2..e3d4881ce45 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -96,15 +96,11 @@ exts_list = [ 'source_urls': ['https://github.com/pyiron/pyiron_atomistics/archive/refs/tags/'], 'checksums': ['8c73c452fe60cb808961d22361f9b749488e3d50a8bda7f5c0132aea2f69e00f'], }), - ('mp-api', '0.39.4', { - 'source_urls': ['https://github.com/materialsproject/api/archive/refs/tags/v0.39.4.tar.gz'] - }), + ('mp-api', '0.39.4'), ('pylammpsmpi', '0.2.10', { 'source_urls': ['https://github.com/pyiron/pylammpsmpi/archive/refs/tags/'], }), - ('bcrypt', '4.1.2', { - 'source_urls': ['https://github.com/pyca/bcrypt/archive/refs/tags/4.1.2.tar.gz'] - }), + ('bcrypt', '4.1.2'), ] sanity_pip_check = True From fa89079fb9f4dc2644f0bcf4df15bacb1f259056 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Thu, 21 Dec 2023 18:32:39 +0100 Subject: [PATCH 047/889] Create pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch --- .../pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch new file mode 100644 index 00000000000..89afdd3dade --- /dev/null +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch @@ -0,0 +1,12 @@ +--- 0.5.1/foss-2023a/pylammpsmpi/pylammpsmpi-pylammpsmpi-0.2.10/setup.py.orig 2023-12-21 17:27:54.405181324 +0000 ++++ 0.5.1/foss-2023a/pylammpsmpi/pylammpsmpi-pylammpsmpi-0.2.10/setup.py 2023-12-21 17:28:49.249903688 +0000 +@@ -1,8 +1,3 @@ + from setuptools import setup + +-import versioneer ++setup(version='0.2.10') + +-setup( +- version=versioneer.get_version(), +- cmdclass=versioneer.get_cmdclass(), +-) From 5bfa267359e2dcf3e77d5a541f9b84ac60bd88f0 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Thu, 21 Dec 2023 18:34:00 +0100 Subject: [PATCH 048/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index e3d4881ce45..8a2b727cb82 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -98,6 +98,7 @@ exts_list = [ }), ('mp-api', '0.39.4'), ('pylammpsmpi', '0.2.10', { + 'patches': ['pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch'], 'source_urls': ['https://github.com/pyiron/pylammpsmpi/archive/refs/tags/'], }), ('bcrypt', '4.1.2'), From d00212b4a4957e11a7de7b6b4ca7c92050b35c44 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Thu, 21 Dec 2023 18:42:18 +0100 Subject: [PATCH 049/889] Update pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch --- .../pyiron/pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch index 89afdd3dade..287d94bbc54 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch @@ -1,12 +1,15 @@ +Fix versioning issue. + --- 0.5.1/foss-2023a/pylammpsmpi/pylammpsmpi-pylammpsmpi-0.2.10/setup.py.orig 2023-12-21 17:27:54.405181324 +0000 -+++ 0.5.1/foss-2023a/pylammpsmpi/pylammpsmpi-pylammpsmpi-0.2.10/setup.py 2023-12-21 17:28:49.249903688 +0000 -@@ -1,8 +1,3 @@ ++++ 0.5.1/foss-2023a/pylammpsmpi/pylammpsmpi-pylammpsmpi-0.2.10/setup.py 2023-12-21 17:31:38.136048756 +0000 +@@ -1,8 +1,4 @@ from setuptools import setup -import versioneer +setup(version='0.2.10') - + -setup( - version=versioneer.get_version(), - cmdclass=versioneer.get_cmdclass(), -) +\ Ingen nyrad vid filslut From 31a0dbc46e14867e7569092964f0545cee966f8f Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Thu, 21 Dec 2023 18:59:43 +0100 Subject: [PATCH 050/889] Update pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch --- ...ron-0.5.1-foss-2023a_fix-pylammpsmpi.patch | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch index 287d94bbc54..4df677ebc66 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch @@ -13,3 +13,29 @@ Fix versioning issue. - cmdclass=versioneer.get_cmdclass(), -) \ Ingen nyrad vid filslut + +--- 0.5.1/foss-2023a/pylammpsmpi/pylammpsmpi-pylammpsmpi-0.2.10/pyproject.toml.orig 2023-12-21 17:57:36.066162000 +0000 ++++ 0.5.1/foss-2023a/pylammpsmpi/pylammpsmpi-pylammpsmpi-0.2.10/pyproject.toml 2023-12-21 17:58:37.373851635 +0000 +@@ -28,7 +28,7 @@ + "pympipool==0.7.9", + "numpy==1.26.2", + ] +-dynamic = ["version"] ++version = '0.2.10' + + [project.urls] + Homepage = "https://github.com/pyiron/pylammpsmpi" +@@ -43,13 +43,3 @@ + + [tool.setuptools.packages.find] + include = ["pylammpsmpi*"] +- +-[tool.setuptools.dynamic] +-version = {attr = "pylammpsmpi.__version__"} +- +-[tool.versioneer] +-VCS = "git" +-style = "pep440-pre" +-versionfile_source = "pylammpsmpi/_version.py" +-parentdir_prefix = "pylammpsmpi" +-tag_prefix = "pylammpsmpi-" From 998abb56323286d0acab40ef861fc3b8d8b6f588 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Thu, 21 Dec 2023 19:13:03 +0100 Subject: [PATCH 051/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index 8a2b727cb82..7672d3103eb 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -28,6 +28,7 @@ dependencies = [ ('TAMkin', '1.2.6'), ('QuickFF', '2.2.7'), ('Pint', '0.22'), + ('setuptools-rust', '1.6.0'), ] check_ldshared = True From 8eaf183e36771f2d2a14fd4abedbc81d6ead4ebe Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Thu, 21 Dec 2023 19:21:52 +0100 Subject: [PATCH 052/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index 7672d3103eb..3fe30996eeb 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -29,6 +29,7 @@ dependencies = [ ('QuickFF', '2.2.7'), ('Pint', '0.22'), ('setuptools-rust', '1.6.0'), + ('Rust', '1.70.0'), ] check_ldshared = True From d0c881236da560f59947885604e91bb37e022744 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Thu, 21 Dec 2023 19:27:49 +0100 Subject: [PATCH 053/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index 3fe30996eeb..961f091d36f 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -28,8 +28,7 @@ dependencies = [ ('TAMkin', '1.2.6'), ('QuickFF', '2.2.7'), ('Pint', '0.22'), - ('setuptools-rust', '1.6.0'), - ('Rust', '1.70.0'), + ('bcrypt', '4.0.1'), ] check_ldshared = True @@ -103,7 +102,6 @@ exts_list = [ 'patches': ['pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch'], 'source_urls': ['https://github.com/pyiron/pylammpsmpi/archive/refs/tags/'], }), - ('bcrypt', '4.1.2'), ] sanity_pip_check = True From 2c751c070102d115047dbc591e2a85df0a9fd2a2 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Thu, 21 Dec 2023 19:45:52 +0100 Subject: [PATCH 054/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index 961f091d36f..d1f0308b91d 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -102,6 +102,12 @@ exts_list = [ 'patches': ['pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch'], 'source_urls': ['https://github.com/pyiron/pylammpsmpi/archive/refs/tags/'], }), + ('emmet-core', '0.75.0'), + ('maggma', '0.6.0'), + ('monty', '2023.11.3'), + ('pymatgen', '2023.12.18'), + ('pympipool', '0.7.9'), + ('structuretoolkit', '0.0.15'), ] sanity_pip_check = True From 9b85120004d2664406ef621c7180cd152606470c Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Thu, 21 Dec 2023 20:01:03 +0100 Subject: [PATCH 055/889] Create pyiron-0.5.1-foss-2023a_fix_emmet_readme.patch --- .../pyiron-0.5.1-foss-2023a_fix_emmet_readme.patch | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix_emmet_readme.patch diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix_emmet_readme.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix_emmet_readme.patch new file mode 100644 index 00000000000..b5cf94ef1b2 --- /dev/null +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix_emmet_readme.patch @@ -0,0 +1,13 @@ +Fixes attempt to open nonexistent README.md. + +--- /dev/shm/pyiron/0.5.1/foss-2023a/emmetcore/emmet-core-0.75.0/setup.py.orig 2023-12-21 18:58:49.428075405 +0000 ++++ /dev/shm/pyiron/0.5.1/foss-2023a/emmetcore/emmet-core-0.75.0/setup.py 2023-12-21 18:59:10.200024324 +0000 +@@ -7,8 +7,6 @@ + description="Core Emmet Library", + author="The Materials Project", + author_email="feedback@materialsproject.org", +- long_description=open("../README.md").read(), # noqa: SIM115 +- long_description_content_type="text/markdown", + url="https://github.com/materialsproject/emmet", + packages=find_namespace_packages(include=["emmet.*"]), + package_data={ From fbd1ac0bb2dd62372a381274f9c58e1cd9026ae6 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Thu, 21 Dec 2023 20:01:23 +0100 Subject: [PATCH 056/889] Rename pyiron-0.5.1-foss-2023a_fix_emmet_readme.patch to pyiron-0.5.1-foss-2023a_fix-emmet-readme.patch --- ...eadme.patch => pyiron-0.5.1-foss-2023a_fix-emmet-readme.patch} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/p/pyiron/{pyiron-0.5.1-foss-2023a_fix_emmet_readme.patch => pyiron-0.5.1-foss-2023a_fix-emmet-readme.patch} (100%) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix_emmet_readme.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-emmet-readme.patch similarity index 100% rename from easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix_emmet_readme.patch rename to easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-emmet-readme.patch From 4fb4e1d6a3145aaeace506200f7cac5d96aeb88e Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Thu, 21 Dec 2023 20:02:12 +0100 Subject: [PATCH 057/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index d1f0308b91d..67720b6ec9b 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -102,7 +102,9 @@ exts_list = [ 'patches': ['pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch'], 'source_urls': ['https://github.com/pyiron/pylammpsmpi/archive/refs/tags/'], }), - ('emmet-core', '0.75.0'), + ('emmet-core', '0.75.0', { + 'patches': ['pyiron-0.5.1-foss-2023a_fix-emmet-readme.patch'], + }), ('maggma', '0.6.0'), ('monty', '2023.11.3'), ('pymatgen', '2023.12.18'), From 629cbe27cdeac12ce3fa03f501c70187812090fa Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Thu, 21 Dec 2023 20:36:13 +0100 Subject: [PATCH 058/889] Update pyiron-0.5.1-foss-2023a.eb --- .../p/pyiron/pyiron-0.5.1-foss-2023a.eb | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index 67720b6ec9b..c9e06c44aaa 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -29,6 +29,10 @@ dependencies = [ ('QuickFF', '2.2.7'), ('Pint', '0.22'), ('bcrypt', '4.0.1'), + ('ruamel.yaml', '0.17.32'), + ('plotly.py', '5.16.0'), + ('Flask', '2.3.3'), + ('boto3', '1.28.70'), ] check_ldshared = True @@ -110,6 +114,23 @@ exts_list = [ ('pymatgen', '2023.12.18'), ('pympipool', '0.7.9'), ('structuretoolkit', '0.0.15'), + ('uncertainties', '3.1.7'), + ('sympy', '1.12'), + ('pydantic', '2.5.2'), + ('palettable', '3.1.1'), + ('pydantic_core', '2.14.5'), + ('pybtex', '0.24.0'), + ('h11', '0.14.0'), + ('mongogrant', '0.3.3'), + ('mongomock', '4.1.2'), + ('pymongo', '4.6.1'), + ('pydash', '7.0.6'), + ('uvicorn', '0.25.0'), + ('starlette', '0.28.0'), + ('orjson', '3.9.10'), + ('dnspython', '2.4.2'), + ('fastapi', '0.105.0'), + ('aioitertools', '0.11.0'), ] sanity_pip_check = True From 0e4fdab10a10f7c2a5e4ff31be82538b66263d99 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Thu, 21 Dec 2023 21:01:21 +0100 Subject: [PATCH 059/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index c9e06c44aaa..aa3482cdb6a 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -33,6 +33,7 @@ dependencies = [ ('plotly.py', '5.16.0'), ('Flask', '2.3.3'), ('boto3', '1.28.70'), + ('sympy', '1.12'), ] check_ldshared = True From 5cd693ca8c243a255e1aa39cc426d9f5022ff8b2 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Thu, 21 Dec 2023 21:02:24 +0100 Subject: [PATCH 060/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index aa3482cdb6a..901e059ddcb 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -116,7 +116,6 @@ exts_list = [ ('pympipool', '0.7.9'), ('structuretoolkit', '0.0.15'), ('uncertainties', '3.1.7'), - ('sympy', '1.12'), ('pydantic', '2.5.2'), ('palettable', '3.1.1'), ('pydantic_core', '2.14.5'), From 53f0edc454657afc856ebc938c010c86a3b6bd69 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 8 Jan 2024 00:53:43 +0100 Subject: [PATCH 061/889] Update Pint-0.22-GCCcore-12.3.0.eb --- easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-12.3.0.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-12.3.0.eb index 63340322e4e..fb5a9be76b2 100644 --- a/easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-12.3.0.eb @@ -13,6 +13,7 @@ toolchain = {'name': 'GCCcore', 'version': '12.3.0'} sources = [SOURCE_TAR_GZ] checksums = ['2d139f6abbcf3016cad7d3cec05707fe908ac4f99cf59aedfd6ee667b7a64433'] +patches = [('Pint-0.22-GCCcore-12.3.0_fix-version.patch', 3)] builddependencies = [('binutils', '2.40')] From 7445a7a2fab3dc7f76287e045cade3399bf52413 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 8 Jan 2024 00:55:32 +0100 Subject: [PATCH 062/889] Create Pint-0.22-GCCcore-12.3.0_fix-version.patch --- .../p/Pint-0.22-GCCcore-12.3.0_fix-version.patch | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 easybuild/easyconfigs/p/Pint-0.22-GCCcore-12.3.0_fix-version.patch diff --git a/easybuild/easyconfigs/p/Pint-0.22-GCCcore-12.3.0_fix-version.patch b/easybuild/easyconfigs/p/Pint-0.22-GCCcore-12.3.0_fix-version.patch new file mode 100644 index 00000000000..763bcfeca9f --- /dev/null +++ b/easybuild/easyconfigs/p/Pint-0.22-GCCcore-12.3.0_fix-version.patch @@ -0,0 +1,7 @@ +--- 0.22/GCCcore-12.3.0/Pint-0.22/setup.py.orig 2023-12-13 18:45:35.241637807 +0000 ++++ 0.22/GCCcore-12.3.0/Pint-0.22/setup.py 2023-12-13 18:49:29.304418276 +0000 +@@ -0,0 +1,4 @@ ++from setuptools import setup ++ ++ ++setup(version='0.22') From 6cd4e0a41b4a890973ffd46cdf4544c7a632124f Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 8 Jan 2024 03:25:12 +0100 Subject: [PATCH 063/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index 901e059ddcb..840e73132af 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -34,6 +34,7 @@ dependencies = [ ('Flask', '2.3.3'), ('boto3', '1.28.70'), ('sympy', '1.12'), + ('maturin', '1.1.0'), ] check_ldshared = True From 158eca7b8a197ed61a75a6ef90c32c40d6bd66af Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 8 Jan 2024 03:44:00 +0100 Subject: [PATCH 064/889] Create pydantic-1.10.4-GCCcore-12.3.0.eb --- .../pydantic-1.10.4-GCCcore-12.3.0.eb | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 easybuild/easyconfigs/p/pydantic/pydantic-1.10.4-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/p/pydantic/pydantic-1.10.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pydantic/pydantic-1.10.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..652608e8127 --- /dev/null +++ b/easybuild/easyconfigs/p/pydantic/pydantic-1.10.4-GCCcore-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonBundle' + +name = 'pydantic' +version = '1.10.4' + +homepage = 'https://github.com/samuelcolvin/pydantic' +description = """Data validation and settings management using Python type hinting.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('typing_extensions', '4.4.0', { + 'checksums': ['1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa'], + }), + (name, version, { + 'checksums': ['b9a3859f24eb4e097502a3be1fb4b2abb79b6103dd9e2e0edb70613a4459a648'], + }), +] + +moduleclass = 'devel' From 3cb72c8df029f34bb460cbfe20e31e2b1c78d4f0 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 8 Jan 2024 03:44:57 +0100 Subject: [PATCH 065/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index 840e73132af..70b3b70af3e 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -34,7 +34,7 @@ dependencies = [ ('Flask', '2.3.3'), ('boto3', '1.28.70'), ('sympy', '1.12'), - ('maturin', '1.1.0'), + ('pydantic', '1.10.4'), ] check_ldshared = True @@ -117,9 +117,7 @@ exts_list = [ ('pympipool', '0.7.9'), ('structuretoolkit', '0.0.15'), ('uncertainties', '3.1.7'), - ('pydantic', '2.5.2'), ('palettable', '3.1.1'), - ('pydantic_core', '2.14.5'), ('pybtex', '0.24.0'), ('h11', '0.14.0'), ('mongogrant', '0.3.3'), From a9efc0f243a56556930042d87b83b49d4c69c1c2 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 8 Jan 2024 23:39:03 +0100 Subject: [PATCH 066/889] Update pyiron-0.5.1-foss-2023a.eb --- .../p/pyiron/pyiron-0.5.1-foss-2023a.eb | 114 ++++++++++++++---- 1 file changed, 91 insertions(+), 23 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index 70b3b70af3e..7d887dc1d4b 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -34,13 +34,16 @@ dependencies = [ ('Flask', '2.3.3'), ('boto3', '1.28.70'), ('sympy', '1.12'), - ('pydantic', '1.10.4'), + ('pydantic', '2.1.1'), + ('maturin', '1.1.0'), + ('poetry', '1.5.1'), ] check_ldshared = True use_pip = True exts_list = [ + ('sshtunnel', '0.4.0'), ('h5io', '0.1.2', { 'checksums': ['6400543224c489f1cf487be551f892310fa7060fcd4935b84e515efdc1e1fa43'], }), @@ -93,43 +96,108 @@ exts_list = [ ('pyiron_base', '0.6.12', { 'patches': ['pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch'], 'source_urls': ['https://github.com/pyiron/pyiron_base/archive/refs/tags/'], - 'checksums': ['7ef8fa8b21724776c1ced3ee1efb8484984234150a7f3da296577f90c63751cb'], + 'checksums': [ + {'pyiron_base-0.6.12.tar.gz': '7ef8fa8b21724776c1ced3ee1efb8484984234150a7f3da296577f90c63751cb'}, + {'pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch': + '761fb6123c16fa1a785c5c6425626522bd019613b1cb3ba0912b52538a8c682d'}, + ], }), ('atomistics', '0.1.15', { 'source_urls': ['https://github.com/pyiron/atomistics/archive/refs/tags/'], + 'checksums': ['e9c505cace0cbeb9ea5ed33799f332f5cc95230a05ba14b646475cff1bdecaee'], }), ('pyiron_atomistics', '0.3.11', { 'patches': ['pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch'], 'source_urls': ['https://github.com/pyiron/pyiron_atomistics/archive/refs/tags/'], - 'checksums': ['8c73c452fe60cb808961d22361f9b749488e3d50a8bda7f5c0132aea2f69e00f'], + 'checksums': [ + {'pyiron_atomistics-0.3.11.tar.gz': '8c73c452fe60cb808961d22361f9b749488e3d50a8bda7f5c0132aea2f69e00f'}, + {'pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch': + '30d5dcf024520ac687fb6bcbd3a8d3c8155e1a386ce4ff67557b1f1c73189995'}, + ], + }), + ('mp-api', '0.39.4', { + 'checksums': ['692abefd6adec36eb4fa193f914e08167ed33a5a3a9714ec3c15606839649f32'], }), - ('mp-api', '0.39.4'), ('pylammpsmpi', '0.2.10', { 'patches': ['pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch'], 'source_urls': ['https://github.com/pyiron/pylammpsmpi/archive/refs/tags/'], + 'checksums': [ + {'pylammpsmpi-0.2.10.tar.gz': 'bd5af29a935dacbee743c3cc0bcc799e24e7c2483801f56cb9092a79f016f2ed'}, + {'pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch': + 'f509db8ae6776ec01bcb97cb50ec20b74319ed82432fa3bede0ef7132c841fef'}, + ], }), ('emmet-core', '0.75.0', { 'patches': ['pyiron-0.5.1-foss-2023a_fix-emmet-readme.patch'], + 'checksums': [ + {'emmet-core-0.75.0.tar.gz': '2d4b20d542e56c97009d05d03f5595be9395ac27c2fe9809d617f28596c40640'}, + {'pyiron-0.5.1-foss-2023a_fix-emmet-readme.patch': + '4cfe7ab122f37ff4a5f1ba52f69d84ab43fc2abfafd6efe71c401319d1258e1c'}, + ], + }), + ('maggma', '0.60.2', { + 'checksums': ['12e8da1f80505f39432b972cbe47fb378cd9aa51fab968877a2d3b2588c96c69'], + }), + ('monty', '2023.11.3', { + 'checksums': ['d961c14b0b20901c7603aa00d275e62dee8333fbdaf1179f5d862c6fb3f3c52f'], + }), + ('pymatgen', '2023.12.18', { + 'checksums': ['56c0041fe5431ac1b8f8c0c17d06091c4d61082c3a99924f3940d73ebb6656eb'], + }), + ('pympipool', '0.7.9', { + 'checksums': ['5698181bc5dc9a69595fd00ff6a8ba651b77734ccf00df79ae3aea8aaf32790a'], + }), + ('structuretoolkit', '0.0.15', { + 'checksums': ['1a258a072055d0c20e9d56156afd4481cfc94c2612c1b908de4b274b423cc6e6'], + }), + ('uncertainties', '3.1.7', { + 'checksums': ['80111e0839f239c5b233cb4772017b483a0b7a1573a581b92ab7746a35e6faab'], + }), + ('palettable', '3.1.1', { + 'checksums': ['0685b223a236bb7e2a900ef7a855ccf9a4027361c8acf400f3b350ea51870f80'], + }), + ('pybtex', '0.24.0', { + 'checksums': ['818eae35b61733e5c007c3fcd2cfb75ed1bc8b4173c1f70b56cc4c0802d34755'], + }), + ('h11', '0.14.0', { + 'checksums': ['8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d'], + }), + ('mongogrant', '0.3.3', { + 'checksums': ['ad494b8638adfa840cdd5568af44448dd43771b58102550cf7c61402b1620ab4'], + }), + ('mongomock', '4.1.2', { + 'checksums': ['f06cd62afb8ae3ef63ba31349abd220a657ef0dd4f0243a29587c5213f931b7d'], + }), + ('pymongo', '4.6.1', { + 'checksums': ['31dab1f3e1d0cdd57e8df01b645f52d43cc1b653ed3afd535d2891f4fc4f9712'], + }), + ('pydash', '7.0.6', { + 'checksums': ['7d9df7e9f36f2bbb08316b609480e7c6468185473a21bdd8e65dda7915565a26'], + }), + ('uvicorn', '0.25.0', { + 'checksums': ['6dddbad1d7ee0f5140aba5ec138ddc9612c5109399903828b4874c9937f009c2'], + }), + ('starlette', '0.27.0', { + 'checksums': ['6a6b0d042acb8d469a01eba54e9cda6cbd24ac602c4cd016723117d6a7e73b75'], + }), + ('orjson', '3.9.10', { + 'checksums': ['9ebbdbd6a046c304b1845e96fbcc5559cd296b4dfd3ad2509e33c4d9ce07d6a1'], + }), + ('dnspython', '2.4.2', { + 'checksums': ['8dcfae8c7460a2f84b4072e26f1c9f4101ca20c071649cb7c34e8b6a93d58984'], + }), + ('fastapi', '0.105.0', { + 'checksums': ['4d12838819aa52af244580675825e750ad67c9df4614f557a769606af902cf22'], + }), + ('aioitertools', '0.11.0', { + 'checksums': ['42c68b8dd3a69c2bf7f2233bf7df4bb58b557bca5252ac02ed5187bbc67d6831'], + }), + ('latexcodec', '2.0.1', { + 'checksums': ['2aa2551c373261cefe2ad3a8953a6d6533e68238d180eb4bb91d7964adb3fe9a'], + }), + ('sentinels', '1.0.0', { + 'checksums': ['7be0704d7fe1925e397e92d18669ace2f619c92b5d4eb21a89f31e026f9ff4b1'], }), - ('maggma', '0.6.0'), - ('monty', '2023.11.3'), - ('pymatgen', '2023.12.18'), - ('pympipool', '0.7.9'), - ('structuretoolkit', '0.0.15'), - ('uncertainties', '3.1.7'), - ('palettable', '3.1.1'), - ('pybtex', '0.24.0'), - ('h11', '0.14.0'), - ('mongogrant', '0.3.3'), - ('mongomock', '4.1.2'), - ('pymongo', '4.6.1'), - ('pydash', '7.0.6'), - ('uvicorn', '0.25.0'), - ('starlette', '0.28.0'), - ('orjson', '3.9.10'), - ('dnspython', '2.4.2'), - ('fastapi', '0.105.0'), - ('aioitertools', '0.11.0'), ] sanity_pip_check = True From c97cd583d048099f6650d29e4b7ec851a6454fbb Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 8 Jan 2024 23:43:42 +0100 Subject: [PATCH 067/889] Update and rename pydantic-1.10.4-GCCcore-12.3.0.eb to pydantic-2.1.1-GCCcore-12.3.0.eb --- .../pydantic-1.10.4-GCCcore-12.3.0.eb | 29 ----------- .../pydantic/pydantic-2.1.1-GCCcore-12.3.0.eb | 48 +++++++++++++++++++ 2 files changed, 48 insertions(+), 29 deletions(-) delete mode 100644 easybuild/easyconfigs/p/pydantic/pydantic-1.10.4-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/p/pydantic/pydantic-2.1.1-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/p/pydantic/pydantic-1.10.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pydantic/pydantic-1.10.4-GCCcore-12.3.0.eb deleted file mode 100644 index 652608e8127..00000000000 --- a/easybuild/easyconfigs/p/pydantic/pydantic-1.10.4-GCCcore-12.3.0.eb +++ /dev/null @@ -1,29 +0,0 @@ -easyblock = 'PythonBundle' - -name = 'pydantic' -version = '1.10.4' - -homepage = 'https://github.com/samuelcolvin/pydantic' -description = """Data validation and settings management using Python type hinting.""" - -toolchain = {'name': 'GCCcore', 'version': '12.3.0'} - -builddependencies = [('binutils', '2.40')] - -dependencies = [ - ('Python', '3.11.3'), -] - -sanity_pip_check = True -use_pip = True - -exts_list = [ - ('typing_extensions', '4.4.0', { - 'checksums': ['1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa'], - }), - (name, version, { - 'checksums': ['b9a3859f24eb4e097502a3be1fb4b2abb79b6103dd9e2e0edb70613a4459a648'], - }), -] - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pydantic/pydantic-2.1.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pydantic/pydantic-2.1.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..5cb85f6a578 --- /dev/null +++ b/easybuild/easyconfigs/p/pydantic/pydantic-2.1.1-GCCcore-12.3.0.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'pydantic' +version = '2.1.1' + +homepage = 'https://github.com/samuelcolvin/pydantic' +description = """Data validation and settings management using Python type hinting.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('hatchling', '1.18.0'), + ('maturin', '1.1.0') +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('typing_extensions', '4.9.0', { + 'checksums': ['23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783'], + }), + ('python-dotenv', '1.0.0', { + 'modulename': 'dotenv', + 'checksums': ['a8df96034aae6d2d50a4ebe8216326c61c3eb64836776504fcca410e5937a3ba'], + }), + (name, version, { + 'sources': {'source_urls': ['https://github.com/pydantic/%(name)s/archive/refs/tags/'], 'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}, + 'checksums': ['ae48a2ffe679ae003bb52b511ecfe85bed70f4b8a955c76e0957dd29c003cdbf'], + }), + ('pydantic-settings', '2.0.1', { + 'sources': {'source_urls': ['https://github.com/pydantic/pydantic-settings/archive/refs/tags/'], 'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}, + 'checksums': ['bf8e327234e4ffab3642e72e677c1b176d358bab551090a1b1cea6f462cd9a1e'], + }), + ('pydantic-core', '2.4.0', { + 'sources': {'source_urls': ['https://github.com/pydantic/%(name)s/archive/refs/tags/'], 'filename': 'v%(version)s.tar.gz'}, + 'checksums': ['94b4ef19df7e0ea5e9f32590afc3673dab0d9855ed786d3dc95513124d842874'], + }), + ('annotated-types', '0.6.0', { + 'sources': {'source_urls': ['https://github.com/%(name)s/%(name)s/archive/refs/tags/'], 'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}, + 'checksums': ['0b99aba34b87840d7578705968d87fe6265c1a1604bcf9ccc11902b1d8d39ad8'], + }), +] + +moduleclass = 'devel' From fa1216606a6777530b668f9015ca1015bf58fecd Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Tue, 9 Jan 2024 13:32:17 +0100 Subject: [PATCH 068/889] Update pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch --- .../pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch index 4df677ebc66..c306bf08da9 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch @@ -1,4 +1,4 @@ -Fix versioning issue. +Fix versioning issue and relax requirements. --- 0.5.1/foss-2023a/pylammpsmpi/pylammpsmpi-pylammpsmpi-0.2.10/setup.py.orig 2023-12-21 17:27:54.405181324 +0000 +++ 0.5.1/foss-2023a/pylammpsmpi/pylammpsmpi-pylammpsmpi-0.2.10/setup.py 2023-12-21 17:31:38.136048756 +0000 @@ -16,9 +16,15 @@ Fix versioning issue. --- 0.5.1/foss-2023a/pylammpsmpi/pylammpsmpi-pylammpsmpi-0.2.10/pyproject.toml.orig 2023-12-21 17:57:36.066162000 +0000 +++ 0.5.1/foss-2023a/pylammpsmpi/pylammpsmpi-pylammpsmpi-0.2.10/pyproject.toml 2023-12-21 17:58:37.373851635 +0000 -@@ -28,7 +28,7 @@ +@@ -24,11 +24,11 @@ + "Programming Language :: Python :: 3.11", + ] + dependencies = [ +- "mpi4py==3.1.5", ++ "mpi4py>=3.1.4", "pympipool==0.7.9", - "numpy==1.26.2", +- "numpy==1.26.2", ++ "numpy>=1.25.1", ] -dynamic = ["version"] +version = '0.2.10' From c77d886087bf6924526c31d43ed5be6b7b31d780 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Tue, 9 Jan 2024 13:41:16 +0100 Subject: [PATCH 069/889] Update pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch --- ...-2023a_fix-pyiron-atomistics-version.patch | 34 +++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch index 923f893db7a..9891b611865 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch @@ -1,8 +1,38 @@ -Fix versioning related issue in pyiron atomistics. +Fix versioning related issue and requirements in pyiron atomistics. --- 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/pyproject.toml.orig 2023-12-21 16:39:17.769971429 +0000 +++ 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/pyproject.toml 2023-12-21 16:39:59.280760858 +0000 -@@ -43,7 +43,7 @@ +@@ -26,24 +26,24 @@ + dependencies = [ + "ase==3.22.1", +- "atomistics==0.1.12", +- "defusedxml==0.7.1", +- "h5py==3.10.0", +- "matplotlib==3.8.2", +- "mendeleev==0.14.0", +- "mp-api==0.39.1", +- "numpy==1.26.2", +- "pandas==2.1.3", +- "phonopy==2.21.0", ++ "atomistics>=0.1.12", ++ "defusedxm>=0.6.0", ++ "h5py>=3.9.0", ++ "matplotlib>=3.7.2", ++ "mendeleev>=0.6.0", ++ "mp-api>=0.39.1", ++ "numpy>=1.25.1", ++ "pandas>=2.0.3", ++ "phonopy>=2.20.0", + "pint==0.22", + "pyiron_base==0.6.12", +- "pylammpsmpi==0.2.9", +- "scipy==1.11.4", +- "scikit-learn==1.3.2", +- "seekpath==2.1.0", ++ "pylammpsmpi>=0.2.9", ++ "scipy>=1.11.1", ++ "scikit-learn>=1.3.1", ++ "seekpath>=2.01" "spglib==2.1.0", "structuretoolkit==0.0.15", ] From b6fd61773a8f903f14e5c08b1c66579f96514d0f Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Tue, 9 Jan 2024 13:46:07 +0100 Subject: [PATCH 070/889] Create pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch --- ...oss-2023a_fix-atomistics-requirements.patch | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch new file mode 100644 index 00000000000..0a3f2a238ac --- /dev/null +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch @@ -0,0 +1,18 @@ +Relax requirements of `atomistics`. + +/foss-2023a/atomistics/atomistics-atomistics-0.1.15/pyproject.toml.orig 0.5.1/foss-2023a/atomistics/atomistics-atomistics-0.1.15/pyproject.toml +--- 0.5.1/foss-2023a/atomistics/atomistics-atomistics-0.1.15/pyproject.toml.orig 2024-01-09 12:42:59.508409527 +0000 ++++ 0.5.1/foss-2023a/atomistics/atomistics-atomistics-0.1.15/pyproject.toml2024-01-09 12:43:44.589293464 +0000 +@@ -26,9 +26,9 @@ + ] + dependencies = [ + "ase==3.22.1", +- "numpy==1.26.2", +- "scipy==1.11.4", +- "spglib==2.2.0", ++ "numpy>=1.25.1", ++ "scipy>=1.11.1", ++ "spglib>=2.1.0", + ] + dynamic = ["version"] + From e2aa5482bc7897ab1827c8641eaa8740bc3697d2 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Tue, 9 Jan 2024 14:11:56 +0100 Subject: [PATCH 071/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index 7d887dc1d4b..decd2b0ecf0 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -104,7 +104,12 @@ exts_list = [ }), ('atomistics', '0.1.15', { 'source_urls': ['https://github.com/pyiron/atomistics/archive/refs/tags/'], - 'checksums': ['e9c505cace0cbeb9ea5ed33799f332f5cc95230a05ba14b646475cff1bdecaee'], + 'patches': ['pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch'] + 'checksums': [ + {'atomistics-0.1.15.tar.gz': 'e9c505cace0cbeb9ea5ed33799f332f5cc95230a05ba14b646475cff1bdecaee'}, + {'pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch': + '0e3c86605d2b5d7bc16ec9342a246bd44617e7b1cbfab708b7085f70ee65cb08'} + ], }), ('pyiron_atomistics', '0.3.11', { 'patches': ['pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch'], From 6114ea364f80b52cfced656123778a0b2d8dd610 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Tue, 9 Jan 2024 14:14:04 +0100 Subject: [PATCH 072/889] Update pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch --- ...1-foss-2023a_fix-pyiron-base-version.patch | 31 +++++++++++++++++-- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch index 8cdbfa8916b..c66e3c2804a 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch @@ -2,9 +2,34 @@ Fixes use of dynamic versioning in pyproject.toml and puts in a specific version --- /dev/shm/pyiron/0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/pyproject.toml.orig 2023-12-13 15:51:48.895090935 +0000 +++ /dev/shm/pyiron/0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/pyproject.toml 2023-12-13 15:53:26.626579151 +0000 -@@ -40,7 +40,7 @@ - "tqdm==4.66.1", - "traitlets==5.14.0", +@@ -28,19 +28,19 @@ +- "dill==0.3.7", +- "gitpython==3.1.40", +- "h5io==0.1.9", +- "h5py==3.10.0", ++ "dill>=0.3.2", ++ "gitpython>=3.1.8", ++ "h5io>=0.12", ++ "h5py>=3.9.0", + "jinja2==3.1.2", +- "numpy==1.26.2", +- "pandas==2.1.3", ++ "numpy>=1.25.1", ++ "pandas>=2.0.3", + "pint==0.22", + "psutil==5.9.5", +- "pyfileindex==0.0.18", +- "pysqa==0.1.7", +- "sqlalchemy==2.0.23", +- "tables==3.9.2", +- "tqdm==4.66.1", +- "traitlets==5.14.0" ++ "pyfileindex>=0.0.4", ++ "pysqa>=0.1.7", ++ "sqlalchemy>=2.0.23", ++ "tables>=3.8.0", ++ "tqdm>=4.66.1", ++ "traitlets>=5.9.0", ] -dynamic = ["version"] +version = "0.6.12" From 3cb8e56813b4656cee9efc4d944c315a655b7fab Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Tue, 9 Jan 2024 14:14:26 +0100 Subject: [PATCH 073/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index decd2b0ecf0..2e5dcde22eb 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -104,7 +104,7 @@ exts_list = [ }), ('atomistics', '0.1.15', { 'source_urls': ['https://github.com/pyiron/atomistics/archive/refs/tags/'], - 'patches': ['pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch'] + 'patches': ['pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch'], 'checksums': [ {'atomistics-0.1.15.tar.gz': 'e9c505cace0cbeb9ea5ed33799f332f5cc95230a05ba14b646475cff1bdecaee'}, {'pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch': From 3c7f4de8d5c0182ead1524659ef0012392a0585f Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Tue, 9 Jan 2024 14:16:42 +0100 Subject: [PATCH 074/889] Update pyiron-0.5.1-foss-2023a.eb --- .../p/pyiron/pyiron-0.5.1-foss-2023a.eb | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index 2e5dcde22eb..b8a58dcacda 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -43,7 +43,9 @@ check_ldshared = True use_pip = True exts_list = [ - ('sshtunnel', '0.4.0'), + ('sshtunnel', '0.4.0', { + 'checksums': ['e7cb0ea774db81bf91844db22de72a40aae8f7b0f9bb9ba0f666d474ef6bf9fc'], + }), ('h5io', '0.1.2', { 'checksums': ['6400543224c489f1cf487be551f892310fa7060fcd4935b84e515efdc1e1fa43'], }), @@ -99,16 +101,16 @@ exts_list = [ 'checksums': [ {'pyiron_base-0.6.12.tar.gz': '7ef8fa8b21724776c1ced3ee1efb8484984234150a7f3da296577f90c63751cb'}, {'pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch': - '761fb6123c16fa1a785c5c6425626522bd019613b1cb3ba0912b52538a8c682d'}, + '085166e2795ae18ec22fb3cb0e0b720f65e97c69c1e374e4aff3b4230546898b'}, ], }), ('atomistics', '0.1.15', { - 'source_urls': ['https://github.com/pyiron/atomistics/archive/refs/tags/'], 'patches': ['pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch'], + 'source_urls': ['https://github.com/pyiron/atomistics/archive/refs/tags/'], 'checksums': [ {'atomistics-0.1.15.tar.gz': 'e9c505cace0cbeb9ea5ed33799f332f5cc95230a05ba14b646475cff1bdecaee'}, {'pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch': - '0e3c86605d2b5d7bc16ec9342a246bd44617e7b1cbfab708b7085f70ee65cb08'} + 'cb7c859ac82d924b9642ffdc03033212f63f1221c9e5c8165281cc5008661bfc'}, ], }), ('pyiron_atomistics', '0.3.11', { @@ -117,7 +119,7 @@ exts_list = [ 'checksums': [ {'pyiron_atomistics-0.3.11.tar.gz': '8c73c452fe60cb808961d22361f9b749488e3d50a8bda7f5c0132aea2f69e00f'}, {'pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch': - '30d5dcf024520ac687fb6bcbd3a8d3c8155e1a386ce4ff67557b1f1c73189995'}, + 'c4efd2685c714a5cbae32899fd5b3152db633c0d0d889022a95c8cd580d88ba9'}, ], }), ('mp-api', '0.39.4', { @@ -129,7 +131,7 @@ exts_list = [ 'checksums': [ {'pylammpsmpi-0.2.10.tar.gz': 'bd5af29a935dacbee743c3cc0bcc799e24e7c2483801f56cb9092a79f016f2ed'}, {'pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch': - 'f509db8ae6776ec01bcb97cb50ec20b74319ed82432fa3bede0ef7132c841fef'}, + 'd7cacf8eb73cb43e47526bfa3f98157073c01cd88918f191f87d7e75ab4c7c30'}, ], }), ('emmet-core', '0.75.0', { From 4351abcd9cc5d7f3ae8d7e828dff2a0f87223483 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Thu, 11 Jan 2024 15:38:15 +0100 Subject: [PATCH 075/889] Update pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch --- ...1-foss-2023a_fix-pyiron-base-version.patch | 40 +++++++++++-------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch index c66e3c2804a..5bcb556a62b 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch @@ -1,35 +1,41 @@ Fixes use of dynamic versioning in pyproject.toml and puts in a specific version instead. ---- /dev/shm/pyiron/0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/pyproject.toml.orig 2023-12-13 15:51:48.895090935 +0000 -+++ /dev/shm/pyiron/0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/pyproject.toml 2023-12-13 15:53:26.626579151 +0000 -@@ -28,19 +28,19 @@ +--- 0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/pyproject.toml.orig 2023-12-13 15:51:48.895090935 +0000 ++++ 0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/pyproject.toml 2023-12-13 15:53:26.626579151 +0000 +@@ -24,23 +24,23 @@ + "Programming Language :: Python :: 3.11", + ] + dependencies = [ - "dill==0.3.7", - "gitpython==3.1.40", - "h5io==0.1.9", - "h5py==3.10.0", -+ "dill>=0.3.2", -+ "gitpython>=3.1.8", -+ "h5io>=0.12", -+ "h5py>=3.9.0", - "jinja2==3.1.2", +- "jinja2==3.1.2", - "numpy==1.26.2", - "pandas==2.1.3", -+ "numpy>=1.25.1", -+ "pandas>=2.0.3", - "pint==0.22", - "psutil==5.9.5", +- "pint==0.22", +- "psutil==5.9.5", - "pyfileindex==0.0.18", - "pysqa==0.1.7", - "sqlalchemy==2.0.23", - "tables==3.9.2", - "tqdm==4.66.1", -- "traitlets==5.14.0" -+ "pyfileindex>=0.0.4", +- "traitlets==5.14.0", ++ "dill>=0.3.2", ++ "gitpython>=3.1.8", ++ "h5io>=0.1.2", ++ "h5py>=3.9.0", ++ "jinja2>=3.1.2", ++ "numpy>=1.25.1", ++ "pandas>=2.0.3", ++ "pint>=0.22", ++ "psutil>=5.9.5", ++ "pyfileindex>=0.0.18", + "pysqa>=0.1.7", + "sqlalchemy>=2.0.23", + "tables>=3.8.0", + "tqdm>=4.66.1", -+ "traitlets>=5.9.0", ++ "traitlet>=5.9.0", ] -dynamic = ["version"] +version = "0.6.12" @@ -50,8 +56,8 @@ Fixes use of dynamic versioning in pyproject.toml and puts in a specific version -parentdir_prefix = "pyiron_base" -tag_prefix = "pyiron_base-" ---- /dev/shm/pyiron/0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/setup.py.orig 2023-12-13 17:16:26.902513343 +0000 -+++ /dev/shm/pyiron/0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/setup.py 2023-12-13 17:18:56.504736380 +0000 +--- 0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/setup.py.orig 2023-12-13 17:16:26.902513343 +0000 ++++ 0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/setup.py 2023-12-13 17:18:56.504736380 +0000 @@ -3,6 +3,6 @@ import versioneer From acff09de8faad41698345be9b7976bc642283394 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Thu, 11 Jan 2024 15:39:16 +0100 Subject: [PATCH 076/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index b8a58dcacda..3320c1d2974 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -101,7 +101,7 @@ exts_list = [ 'checksums': [ {'pyiron_base-0.6.12.tar.gz': '7ef8fa8b21724776c1ced3ee1efb8484984234150a7f3da296577f90c63751cb'}, {'pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch': - '085166e2795ae18ec22fb3cb0e0b720f65e97c69c1e374e4aff3b4230546898b'}, + '9668e4d5b607e60f7950ef9c386a79611cf9382266ec345d7aa589ee28210e1f'}, ], }), ('atomistics', '0.1.15', { From 0ce612f5cf20e7b41202a96eb4e79298040371ac Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Thu, 11 Jan 2024 15:42:06 +0100 Subject: [PATCH 077/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index 3320c1d2974..a03bda2c971 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -101,7 +101,7 @@ exts_list = [ 'checksums': [ {'pyiron_base-0.6.12.tar.gz': '7ef8fa8b21724776c1ced3ee1efb8484984234150a7f3da296577f90c63751cb'}, {'pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch': - '9668e4d5b607e60f7950ef9c386a79611cf9382266ec345d7aa589ee28210e1f'}, + 'f7fe1bda2672894a42b20df268f27f77cc4bd65f7540752b4b46d4ceb2eaef5c'}, ], }), ('atomistics', '0.1.15', { From e13715bf057f37e16fcc7e7ff8be2f80dc0c139d Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 15 Jan 2024 13:35:05 +0100 Subject: [PATCH 078/889] Update yaff-1.6.0-foss-2023a.eb style errro --- easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a.eb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a.eb b/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a.eb index f1a97e2256a..4bc49223ce2 100644 --- a/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a.eb +++ b/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a.eb @@ -41,7 +41,9 @@ exts_list = [ 'yaff-1.6.0-foss-2023a_fix-h5py.patch', 'yaff-1.6.0-foss-2023a_fix-nose-dep.patch', ], - 'runtest': "export MATPLOTLIBRC=$PWD; echo 'backend: agg' > $MATPLOTLIBRC/matplotlibrc; python setup.py build_ext -i; nosetests -v", + 'runtest': ("export MATPLOTLIBRC=$PWD; " + "echo 'backend: agg' > $MATPLOTLIBRC/matplotlibrc; " + "python setup.py build_ext -i; nosetests -v"), 'source_urls': ['https://github.com/molmod/yaff/releases/download/%(version)s'], 'checksums': [ {'yaff-1.6.0.tar.gz': 'a266ab032778e37bb2e93152aefb67f396827aa728151651403984429c74ceaa'}, From 15b5849c54f7980af5883eae5c7d52282155a323 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 15 Jan 2024 13:40:10 +0100 Subject: [PATCH 079/889] Update pyiron-0.5.1-foss-2023a_fix-emmet-readme.patch --- .../p/pyiron/pyiron-0.5.1-foss-2023a_fix-emmet-readme.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-emmet-readme.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-emmet-readme.patch index b5cf94ef1b2..2ed9d7c4983 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-emmet-readme.patch +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-emmet-readme.patch @@ -1,7 +1,7 @@ Fixes attempt to open nonexistent README.md. ---- /dev/shm/pyiron/0.5.1/foss-2023a/emmetcore/emmet-core-0.75.0/setup.py.orig 2023-12-21 18:58:49.428075405 +0000 -+++ /dev/shm/pyiron/0.5.1/foss-2023a/emmetcore/emmet-core-0.75.0/setup.py 2023-12-21 18:59:10.200024324 +0000 +--- 0.5.1/foss-2023a/emmetcore/emmet-core-0.75.0/setup.py.orig 2023-12-21 18:58:49.428075405 +0000 ++++ 0.5.1/foss-2023a/emmetcore/emmet-core-0.75.0/setup.py 2023-12-21 18:59:10.200024324 +0000 @@ -7,8 +7,6 @@ description="Core Emmet Library", author="The Materials Project", From 963138f7d0d9030cea55351541bb7513b0c51b9a Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 15 Jan 2024 13:40:34 +0100 Subject: [PATCH 080/889] Update pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch --- .../pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch index 0a3f2a238ac..8046feee46d 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch @@ -1,6 +1,5 @@ Relax requirements of `atomistics`. -/foss-2023a/atomistics/atomistics-atomistics-0.1.15/pyproject.toml.orig 0.5.1/foss-2023a/atomistics/atomistics-atomistics-0.1.15/pyproject.toml --- 0.5.1/foss-2023a/atomistics/atomistics-atomistics-0.1.15/pyproject.toml.orig 2024-01-09 12:42:59.508409527 +0000 +++ 0.5.1/foss-2023a/atomistics/atomistics-atomistics-0.1.15/pyproject.toml2024-01-09 12:43:44.589293464 +0000 @@ -26,9 +26,9 @@ From 3752ef5f8ea0debec49fe720aad921f42b600114 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 15 Jan 2024 13:42:37 +0100 Subject: [PATCH 081/889] Update pyiron-0.5.1-foss-2023a.eb update checksums --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index a03bda2c971..61fbee16b51 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -110,7 +110,7 @@ exts_list = [ 'checksums': [ {'atomistics-0.1.15.tar.gz': 'e9c505cace0cbeb9ea5ed33799f332f5cc95230a05ba14b646475cff1bdecaee'}, {'pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch': - 'cb7c859ac82d924b9642ffdc03033212f63f1221c9e5c8165281cc5008661bfc'}, + '748f2e720c07e9dbe3eb04c6b1e89aa021b99671f6212c5c958ffa5d9cd286ed'}, ], }), ('pyiron_atomistics', '0.3.11', { @@ -139,7 +139,7 @@ exts_list = [ 'checksums': [ {'emmet-core-0.75.0.tar.gz': '2d4b20d542e56c97009d05d03f5595be9395ac27c2fe9809d617f28596c40640'}, {'pyiron-0.5.1-foss-2023a_fix-emmet-readme.patch': - '4cfe7ab122f37ff4a5f1ba52f69d84ab43fc2abfafd6efe71c401319d1258e1c'}, + 'd299f388044fdcff32fc246b0215ae4b656bc20d9d3c759d545cbe3167df08b8'}, ], }), ('maggma', '0.60.2', { From 58eaea993fd1881c431a0696e83f14dbbdf1e0d3 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 15 Jan 2024 15:11:10 +0100 Subject: [PATCH 082/889] Update pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch --- ...yiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch index 9891b611865..5c99390a01b 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch @@ -15,7 +15,7 @@ Fix versioning related issue and requirements in pyiron atomistics. - "pandas==2.1.3", - "phonopy==2.21.0", + "atomistics>=0.1.12", -+ "defusedxm>=0.6.0", ++ "defusedxml>=0.6.0", + "h5py>=3.9.0", + "matplotlib>=3.7.2", + "mendeleev>=0.6.0", @@ -32,7 +32,7 @@ Fix versioning related issue and requirements in pyiron atomistics. + "pylammpsmpi>=0.2.9", + "scipy>=1.11.1", + "scikit-learn>=1.3.1", -+ "seekpath>=2.01" ++ "seekpath>=2.0.1", "spglib==2.1.0", "structuretoolkit==0.0.15", ] From 3447f23a68c5c1925c2945003ffcdff988e9f829 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 15 Jan 2024 15:15:14 +0100 Subject: [PATCH 083/889] Update pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch --- ...-2023a_fix-pyiron-atomistics-version.patch | 87 +++++++++---------- 1 file changed, 43 insertions(+), 44 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch index 5c99390a01b..299f079890b 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch @@ -1,63 +1,63 @@ -Fix versioning related issue and requirements in pyiron atomistics. +Fixes use of dynamic versioning in pyproject.toml and puts in a specific version instead. ---- 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/pyproject.toml.orig 2023-12-21 16:39:17.769971429 +0000 -+++ 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/pyproject.toml 2023-12-21 16:39:59.280760858 +0000 -@@ -26,24 +26,24 @@ +--- 0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/pyproject.toml.orig 2023-12-13 15:51:48.895090935 +0000 ++++ 0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/pyproject.toml 2023-12-13 15:53:26.626579151 +0000 +@@ -24,23 +24,23 @@ + "Programming Language :: Python :: 3.11", + ] dependencies = [ - "ase==3.22.1", -- "atomistics==0.1.12", -- "defusedxml==0.7.1", +- "dill==0.3.7", +- "gitpython==3.1.40", +- "h5io==0.1.9", - "h5py==3.10.0", -- "matplotlib==3.8.2", -- "mendeleev==0.14.0", -- "mp-api==0.39.1", +- "jinja2==3.1.2", - "numpy==1.26.2", - "pandas==2.1.3", -- "phonopy==2.21.0", -+ "atomistics>=0.1.12", -+ "defusedxml>=0.6.0", +- "pint==0.22", +- "psutil==5.9.5", +- "pyfileindex==0.0.18", +- "pysqa==0.1.7", +- "sqlalchemy==2.0.23", +- "tables==3.9.2", +- "tqdm==4.66.1", +- "traitlets==5.14.0", ++ "dill>=0.3.2", ++ "gitpython>=3.1.8", ++ "h5io>=0.1.2", + "h5py>=3.9.0", -+ "matplotlib>=3.7.2", -+ "mendeleev>=0.6.0", -+ "mp-api>=0.39.1", ++ "jinja2>=3.1.2", + "numpy>=1.25.1", + "pandas>=2.0.3", -+ "phonopy>=2.20.0", - "pint==0.22", - "pyiron_base==0.6.12", -- "pylammpsmpi==0.2.9", -- "scipy==1.11.4", -- "scikit-learn==1.3.2", -- "seekpath==2.1.0", -+ "pylammpsmpi>=0.2.9", -+ "scipy>=1.11.1", -+ "scikit-learn>=1.3.1", -+ "seekpath>=2.0.1", - "spglib==2.1.0", - "structuretoolkit==0.0.15", ++ "pint>=0.22", ++ "psutil>=5.9.5", ++ "pyfileindex>=0.0.18", ++ "pysqa>=0.1.7", ++ "sqlalchemy>=2.0.23", ++ "tables>=3.8.0", ++ "tqdm>=4.66.1", ++ "traitlets>=5.9.0", ] -dynamic = ["version"] -+version = "0.3.11" ++version = "0.6.12" [project.urls] - Homepage = "https://pyiron.org" -@@ -55,13 +55,3 @@ + Homepage = "https://github.com/pyiron/pyiron_base" +@@ -53,12 +53,3 @@ + [tool.setuptools.packages.find] + include = ["pyiron_base*"] - [tool.setuptools.package-data] - "*" = ["data/*.csv"] -- -[tool.setuptools.dynamic] --version = {attr = "pyiron_atomistics.__version__"} +-version = {attr = "pyiron_base.__version__"} - -[tool.versioneer] -VCS = "git" -style = "pep440-pre" --versionfile_source = "pyiron_atomistics/_version.py" --parentdir_prefix = "pyiron_atomistics" --tag_prefix = "pyiron_atomistics-" +-versionfile_source = "pyiron_base/_version.py" +-parentdir_prefix = "pyiron_base" +-tag_prefix = "pyiron_base-" ---- 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/setup.py.orig 2023-12-13 17:41:20.162738914 +0000 -+++ 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/setup.py 2023-12-13 17:41:48.007593887 +0000 +--- 0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/setup.py.orig 2023-12-13 17:16:26.902513343 +0000 ++++ 0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/setup.py 2023-12-13 17:18:56.504736380 +0000 @@ -3,6 +3,6 @@ import versioneer @@ -65,8 +65,7 @@ Fix versioning related issue and requirements in pyiron atomistics. - version=versioneer.get_version(), - cmdclass=versioneer.get_cmdclass(), -) -\ -+ version="0.3.11", +\ No newline at end ++ version="0.6.12", +) + -+ From 1412653410afc3f4c487aed09b94146d4e79ec0c Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 15 Jan 2024 15:16:30 +0100 Subject: [PATCH 084/889] Update pyiron-0.5.1-foss-2023a.eb --- .../p/pyiron/pyiron-0.5.1-foss-2023a.eb | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index 61fbee16b51..73d0e97845e 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -43,6 +43,9 @@ check_ldshared = True use_pip = True exts_list = [ + ('jsonschema', '4.18.0', { + 'checksums': ['8caf5b57a990a98e9b39832ef3cb35c176fe331414252b6e1b26fd5866f891a4'], + }), ('sshtunnel', '0.4.0', { 'checksums': ['e7cb0ea774db81bf91844db22de72a40aae8f7b0f9bb9ba0f666d474ef6bf9fc'], }), @@ -52,14 +55,14 @@ exts_list = [ ('defusedxml', '0.6.0', { 'checksums': ['f684034d135af4c6cbb949b8a4d2ed61634515257a67299e5f940fbaa34377f5'], }), - ('pysqa', '0.0.11', { - 'checksums': ['b1a1995ac8b83b86046cef8b72cda962c5fdbf480c6dbba906a467a5dd1d3c81'], + ('pysqa', '0.1.7', { + 'checksums': ['fdc37e0178649750e7386b4e9b8287693ee2d47559723c11b9ad42afcfc55900'], }), ('paramiko', '3.3.1', { 'checksums': ['6a3777a961ac86dbef375c5f5b8d50014a1a96d0fd7f054a43bc880134b0ff77'], }), - ('SQLAlchemy', '1.3.19', { - 'checksums': ['3bba2e9fbedb0511769780fe1d63007081008c5c2d7d715e91858c94dbaa260e'], + ('SQLAlchemy', '2.0.3', { + 'checksums': ['c2b924f6d0162ed1c0d8f47db1e56498702b1c3c953ad84f0eefbf5b4e53bb05'], }), ('dill', '0.3.2', { 'source_tmpl': 'dill-%(version)s.zip', @@ -84,8 +87,8 @@ exts_list = [ ('mendeleev', '0.6.0', { 'checksums': ['944d185e81f158e48dd394b011e6c14acb612c2ffbc3c32c4aa490cd5b4f65dd'], }), - ('pyfileindex', '0.0.4', { - 'checksums': ['bbfbfc9372f810587917ab1a88bebb8de44d32a1210bbd436c5b88447d97dfd2'], + ('pyfileindex', '0.0.18', { + 'checksums': ['6d5acf2500f568667aa5273ae57692c2b62facbcaae7c0bbbf21ba3bdd904961'], }), ('seekpath', '2.0.1', { 'checksums': ['188513ee187fbbace49066a29ecea9bbd351f23da3bea33d507d0f590856b082'], @@ -101,7 +104,7 @@ exts_list = [ 'checksums': [ {'pyiron_base-0.6.12.tar.gz': '7ef8fa8b21724776c1ced3ee1efb8484984234150a7f3da296577f90c63751cb'}, {'pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch': - 'f7fe1bda2672894a42b20df268f27f77cc4bd65f7540752b4b46d4ceb2eaef5c'}, + 'a6390dcd366e17361fb71f26c6d3b75835526bdf773d9ef535c02836fe551b31'}, ], }), ('atomistics', '0.1.15', { @@ -119,7 +122,7 @@ exts_list = [ 'checksums': [ {'pyiron_atomistics-0.3.11.tar.gz': '8c73c452fe60cb808961d22361f9b749488e3d50a8bda7f5c0132aea2f69e00f'}, {'pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch': - 'c4efd2685c714a5cbae32899fd5b3152db633c0d0d889022a95c8cd580d88ba9'}, + '6d608199f430bf6d6de159943cec76157ecbf345deb35398510bf12f64b3ec7e'}, ], }), ('mp-api', '0.39.4', { From 6fbe709aa657ce6845b5d52b87ddaac73146524e Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 15 Jan 2024 15:41:19 +0100 Subject: [PATCH 085/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index 73d0e97845e..73097d8340a 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -43,6 +43,9 @@ check_ldshared = True use_pip = True exts_list = [ + ('greenlet', '2.0.2', { + 'checksums': ['e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0'], + }), ('jsonschema', '4.18.0', { 'checksums': ['8caf5b57a990a98e9b39832ef3cb35c176fe331414252b6e1b26fd5866f891a4'], }), @@ -61,8 +64,8 @@ exts_list = [ ('paramiko', '3.3.1', { 'checksums': ['6a3777a961ac86dbef375c5f5b8d50014a1a96d0fd7f054a43bc880134b0ff77'], }), - ('SQLAlchemy', '2.0.3', { - 'checksums': ['c2b924f6d0162ed1c0d8f47db1e56498702b1c3c953ad84f0eefbf5b4e53bb05'], + ('SQLAlchemy', '2.0.23', { + 'checksums': ['c1bda93cbbe4aa2aa0aa8655c5aeda505cd219ff3e8da91d1d329e143e4aff69'], }), ('dill', '0.3.2', { 'source_tmpl': 'dill-%(version)s.zip', From 91d88a63f9e7369fe003a045ebc598849d4eb94b Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 15 Jan 2024 15:42:56 +0100 Subject: [PATCH 086/889] Update pydantic-2.1.1-GCCcore-12.3.0.eb --- .../easyconfigs/p/pydantic/pydantic-2.1.1-GCCcore-12.3.0.eb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/p/pydantic/pydantic-2.1.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pydantic/pydantic-2.1.1-GCCcore-12.3.0.eb index 5cb85f6a578..39e0670651b 100644 --- a/easybuild/easyconfigs/p/pydantic/pydantic-2.1.1-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/pydantic/pydantic-2.1.1-GCCcore-12.3.0.eb @@ -31,9 +31,8 @@ exts_list = [ 'sources': {'source_urls': ['https://github.com/pydantic/%(name)s/archive/refs/tags/'], 'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}, 'checksums': ['ae48a2ffe679ae003bb52b511ecfe85bed70f4b8a955c76e0957dd29c003cdbf'], }), - ('pydantic-settings', '2.0.1', { + ('pydantic-settings', '2.0.3', { 'sources': {'source_urls': ['https://github.com/pydantic/pydantic-settings/archive/refs/tags/'], 'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}, - 'checksums': ['bf8e327234e4ffab3642e72e677c1b176d358bab551090a1b1cea6f462cd9a1e'], }), ('pydantic-core', '2.4.0', { 'sources': {'source_urls': ['https://github.com/pydantic/%(name)s/archive/refs/tags/'], 'filename': 'v%(version)s.tar.gz'}, From f217900d8c0f62afd46e5bd936215592a1b65411 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 15 Jan 2024 17:30:02 +0100 Subject: [PATCH 087/889] Update pyiron-0.5.1-foss-2023a.eb --- .../p/pyiron/pyiron-0.5.1-foss-2023a.eb | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index 73097d8340a..ce03c06ed0e 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -34,7 +34,6 @@ dependencies = [ ('Flask', '2.3.3'), ('boto3', '1.28.70'), ('sympy', '1.12'), - ('pydantic', '2.1.1'), ('maturin', '1.1.0'), ('poetry', '1.5.1'), ] @@ -43,9 +42,31 @@ check_ldshared = True use_pip = True exts_list = [ + ('pydantic_core', '2.14.6', { + 'source_tmpl': '%(name)s-%(version)s-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl', + 'checksums': ['b2602177668f89b38b9f84b7b3435d0a72511ddef45dc14446811759b82235a1'], + }), + ('pydantic', '2.5.3', { + 'checksums': ['b3ef57c62535b0941697cce638c08900d87fcb67e29cfa99e8a68f747f393f7a'], + }), ('greenlet', '2.0.2', { 'checksums': ['e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0'], }), + ('typing_extensions', '4.9.0', { + 'checksums': ['23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783'], + }), + ('python-dotenv', '1.0.0', { + 'modulename': 'dotenv', + 'checksums': ['a8df96034aae6d2d50a4ebe8216326c61c3eb64836776504fcca410e5937a3ba'], + }), + ('pydantic-settings', '2.1.0', { + 'sources': {'source_urls': ['https://github.com/pydantic/pydantic-settings/archive/refs/tags/'], 'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}, + 'checksums': ['be83f7a7da10a0686a00da1b9e62856072bbcfb7d6a420ea3c78c66b145fcd93'], + }), + ('annotated-types', '0.6.0', { + 'sources': {'source_urls': ['https://github.com/%(name)s/%(name)s/archive/refs/tags/'], 'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}, + 'checksums': ['0b99aba34b87840d7578705968d87fe6265c1a1604bcf9ccc11902b1d8d39ad8'], + }), ('jsonschema', '4.18.0', { 'checksums': ['8caf5b57a990a98e9b39832ef3cb35c176fe331414252b6e1b26fd5866f891a4'], }), @@ -141,6 +162,7 @@ exts_list = [ ], }), ('emmet-core', '0.75.0', { + 'modulename': 'emmet', 'patches': ['pyiron-0.5.1-foss-2023a_fix-emmet-readme.patch'], 'checksums': [ {'emmet-core-0.75.0.tar.gz': '2d4b20d542e56c97009d05d03f5595be9395ac27c2fe9809d617f28596c40640'}, From 000fcfe90d963a10c475ef9156cf206be99be8cd Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 15 Jan 2024 17:56:17 +0100 Subject: [PATCH 088/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index ce03c06ed0e..7acfbeff8be 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -219,6 +219,7 @@ exts_list = [ 'checksums': ['9ebbdbd6a046c304b1845e96fbcc5559cd296b4dfd3ad2509e33c4d9ce07d6a1'], }), ('dnspython', '2.4.2', { + 'modulename': False, 'checksums': ['8dcfae8c7460a2f84b4072e26f1c9f4101ca20c071649cb7c34e8b6a93d58984'], }), ('fastapi', '0.105.0', { From e21f2daa38c189fdc65c5e3265a26ba08c44e6bf Mon Sep 17 00:00:00 2001 From: sassy Date: Fri, 19 Jan 2024 15:56:20 +0000 Subject: [PATCH 089/889] adding easyconfigs: AFNI-24.0.01-foss-2023a.eb --- .../a/AFNI/AFNI-24.0.01-foss-2023a.eb | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 easybuild/easyconfigs/a/AFNI/AFNI-24.0.01-foss-2023a.eb diff --git a/easybuild/easyconfigs/a/AFNI/AFNI-24.0.01-foss-2023a.eb b/easybuild/easyconfigs/a/AFNI/AFNI-24.0.01-foss-2023a.eb new file mode 100644 index 00000000000..7926d97d997 --- /dev/null +++ b/easybuild/easyconfigs/a/AFNI/AFNI-24.0.01-foss-2023a.eb @@ -0,0 +1,68 @@ +# Updated to use CMake and better installation routines +# Updated to version 24.0.01 +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'AFNI' +version = '24.0.01' + +homepage = 'http://afni.nimh.nih.gov/' +description = """AFNI is a set of C programs for processing, analyzing, and displaying functional MRI (FMRI) data - + a technique for mapping human brain activity.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'openmp': True, 'pic': True} + +source_urls = ['https://github.com/afni/afni/archive/'] +sources = ['AFNI_%(version)s.tar.gz'] +checksums = ['eb4135978bdf54be0ce1577b87c82ffe4ea4dfdeec21aa3a38e4a6929c9567b0'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('tcsh', '6.24.10'), + ('Python', '3.11.3'), + ('X11', '20230603'), + ('motif', '2.3.8'), + ('R', '4.3.2'), + ('PyQt5', '5.15.10'), + ('expat', '2.5.0'), + ('libpng', '1.6.39'), + ('libjpeg-turbo', '2.1.5.1'), + ('GSL', '2.7'), + ('GLib', '2.77.1'), # must match version used in Qt5 (via PyQt5) + ('zlib', '1.2.13'), + ('freeglut', '3.4.0'), + ('Pillow', '10.0.0'), + ('matplotlib', '3.7.2'), + ('SciPy-bundle', '2023.07'), + ('Xvfb', '21.1.8'), + ('FFmpeg', '6.0'), # required for running the program +] + +# Make sure stuff does not get installed in .local +configopts = '-DSTANDARD_PYTHON_INSTALL=OFF ' + +# Changing permissions of some files +postinstallcmds = ['chmod a+x %(installdir)s/bin/afni_system_check.py ;'] +postinstallcmds += ['chmod a+x %(installdir)s/bin/uber_subject.py ; '] +postinstallcmds += ['chmod a+x %(installdir)s/bin/init_user_dotfiles.py ; '] +# Copying apparently missing files over +postinstallcmds += ['cp -f %(start_dir)s/src/discoraj/ClusterExplorer/ClustExp_HistTable.py %(installdir)s/bin ; '] +postinstallcmds += ['cp -f %(start_dir)s/src/discoraj/ClusterExplorer/ClustExp_StatParse.py %(installdir)s/bin ; '] +postinstallcmds += ['cp -rf %(start_dir)s/src/scripts_for_r %(installdir)s/bin ; '] +postinstallcmds += ['cp -rf %(start_dir)s/src/R_scripts %(installdir)s/bin/scripts_for_r ; '] + +sanity_check_commands = ["afni -help"] + +sanity_check_paths = { + 'files': ['bin/afni', 'lib/libgts.%s' % SHLIB_EXT, 'lib/libnifti2.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +modextrapaths = {'PATH': ['bin/scripts_for_r']} + +moduleclass = 'bio' From b70202c3f1265cff9878c456a56ccaca0160c04e Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Sat, 20 Jan 2024 15:06:47 +0100 Subject: [PATCH 090/889] bump PMIx and OpenMPI to 5.0.1 and use GCC 13.2.0 --- ...-12.2.0.eb => OpenMPI-5.0.1-GCC-13.2.0.eb} | 22 +++++++++---------- ...12.2.0.eb => PMIx-5.0.1-GCCcore-13.2.0.eb} | 12 +++++----- 2 files changed, 17 insertions(+), 17 deletions(-) rename easybuild/easyconfigs/o/OpenMPI/{OpenMPI-5.0.0rc10-GCC-12.2.0.eb => OpenMPI-5.0.1-GCC-13.2.0.eb} (64%) rename easybuild/easyconfigs/p/PMIx/{PMIx-5.0.0rc1-GCCcore-12.2.0.eb => PMIx-5.0.1-GCCcore-13.2.0.eb} (83%) diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.0rc10-GCC-12.2.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.1-GCC-13.2.0.eb similarity index 64% rename from easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.0rc10-GCC-12.2.0.eb rename to easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.1-GCC-13.2.0.eb index 88a9dacce86..903f8d4c167 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.0rc10-GCC-12.2.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.1-GCC-13.2.0.eb @@ -1,29 +1,29 @@ name = 'OpenMPI' -version = '5.0.0rc10' +version = '5.0.1' homepage = 'https://www.open-mpi.org/' description = """The Open MPI Project is an open source MPI-3 implementation.""" -toolchain = {'name': 'GCC', 'version': '12.2.0'} +toolchain = {'name': 'GCC', 'version': '13.2.0'} source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] sources = [SOURCELOWER_TAR_BZ2] -checksums = ['fdaf320c5d2a4cc83023e09e4489d86367bb8089b77f46848df5193865313b1d'] +checksums = ['e357043e65fd1b956a47d0dae6156a90cf0e378df759364936c1781f1a25ef80'] builddependencies = [ - ('pkgconf', '1.9.3'), - ('Perl', '5.36.0'), + ('pkgconf', '2.0.3'), + ('Perl', '5.38.0'), ('Autotools', '20220317'), ] dependencies = [ - ('zlib', '1.2.12'), - ('hwloc', '2.8.0'), + ('zlib', '1.2.13'), + ('hwloc', '2.9.2'), ('libevent', '2.1.12'), - ('UCX', '1.13.1'), - ('libfabric', '1.16.1'), - ('PMIx', '5.0.0rc1'), - ('UCC', '1.1.0'), + ('UCX', '1.15.0'), + ('libfabric', '1.19.0'), + ('PMIx', '5.0.1'), + ('UCC', '1.2.0'), ] # disable MPI1 compatibility for now, see what breaks... diff --git a/easybuild/easyconfigs/p/PMIx/PMIx-5.0.0rc1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/PMIx/PMIx-5.0.1-GCCcore-13.2.0.eb similarity index 83% rename from easybuild/easyconfigs/p/PMIx/PMIx-5.0.0rc1-GCCcore-12.2.0.eb rename to easybuild/easyconfigs/p/PMIx/PMIx-5.0.1-GCCcore-13.2.0.eb index c4eef27fded..fc786b047a8 100644 --- a/easybuild/easyconfigs/p/PMIx/PMIx-5.0.0rc1-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/p/PMIx/PMIx-5.0.1-GCCcore-13.2.0.eb @@ -1,7 +1,7 @@ easyblock = 'ConfigureMake' name = 'PMIx' -version = '5.0.0rc1' +version = '5.0.1' homepage = 'https://pmix.org/' description = """Process Management for Exascale Environments @@ -16,19 +16,19 @@ provide a reference implementation of the PMI-server that demonstrates the desired level of scalability. """ -toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} toolchainopts = {'pic': True} source_urls = ['https://github.com/openpmix/openpmix/releases/download/v%(version)s'] sources = ['%(namelower)s-%(version)s.tar.bz2'] -checksums = ['9e681a380dee68ff597919ab1a878265ee645ed10b079533918a726ef673b905'] +checksums = ['d4371792d4ba4c791e1010100b4bf9a65500ababaf5ff25d681f938527a67d4a'] -builddependencies = [('binutils', '2.39')] +builddependencies = [('binutils', '2.40')] dependencies = [ ('libevent', '2.1.12'), - ('zlib', '1.2.12'), - ('hwloc', '2.8.0'), + ('zlib', '1.2.13'), + ('hwloc', '2.9.2'), ] configopts = ' --with-libevent=$EBROOTLIBEVENT --with-zlib=$EBROOTZLIB' From 042a42ab24c4cd33cb810739fec45e348fb02a69 Mon Sep 17 00:00:00 2001 From: thoffman Date: Mon, 22 Jan 2024 10:11:55 +0100 Subject: [PATCH 091/889] {vis}[foss/2023a] napari v4.19rc3, Qtconsole v5.5.1, VisPy v0.14.1, pydantic v2.5.3 w/ Python v3.11.3 --- .../n/napari/napari-0.4.19rc3-foss-2023a.eb | 117 +++++++++++++++++ .../pydantic/pydantic-2.5.3-GCCcore-12.3.0.eb | 122 ++++++++++++++++++ .../Qtconsole-5.5.1-GCCcore-12.3.0.eb | 33 +++++ .../v/VisPy/VisPy-0.14.1-foss-2023a.eb | 44 +++++++ 4 files changed, 316 insertions(+) create mode 100644 easybuild/easyconfigs/n/napari/napari-0.4.19rc3-foss-2023a.eb create mode 100644 easybuild/easyconfigs/p/pydantic/pydantic-2.5.3-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/q/Qtconsole/Qtconsole-5.5.1-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/v/VisPy/VisPy-0.14.1-foss-2023a.eb diff --git a/easybuild/easyconfigs/n/napari/napari-0.4.19rc3-foss-2023a.eb b/easybuild/easyconfigs/n/napari/napari-0.4.19rc3-foss-2023a.eb new file mode 100644 index 00000000000..179ed203dbd --- /dev/null +++ b/easybuild/easyconfigs/n/napari/napari-0.4.19rc3-foss-2023a.eb @@ -0,0 +1,117 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@emblde, 2024/01 +easyblock = 'PythonBundle' + +name = 'napari' +version = '0.4.19rc3' + +homepage = 'https://napari.org/' +description = """napari is a fast, interactive, multi-dimensional image viewer for Python. It's +designed for browsing, annotating, and analyzing large multi-dimensional images. +It's built on top of Qt (for the GUI), vispy (for performant GPU-based +rendering), and the scientific Python stack (numpy, scipy).""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('poetry', '1.5.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('PyQt5', '5.15.10'), + ('SciPy-bundle', '2023.07'), + ('PyYAML', '6.0'), + ('pydantic', '2.5.3'), + ('dask', '2023.9.2'), + ('PyOpenGL', '3.1.7'), + ('imageio', '2.33.0'), + ('tqdm', '4.66.1'), + ('IPython', '8.14.0'), + ('VisPy', '0.14.1'), + ('scikit-image', '0.22.0'), + ('matplotlib', '3.7.2'), + ('Qtconsole', '5.5.1'), + ('Pint', '0.23'), + ('wrapt', '1.15.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('in_n_out', '0.1.9', { + 'checksums': ['89feb944e420faf42d3c2542145681b4d57144355932c2b859695fcdc4f9a2da'], + }), + ('pydantic_compat', '0.1.2'), + ('app_model', '0.2.4', { + 'checksums': ['127cda637003a34b26371c9c68ae5b24d7012682f071a10657a94900c8cd439d'], + }), + ('cachey', '0.2.1', { + 'checksums': ['0310ba8afe52729fa7626325c8d8356a8421c434bf887ac851e58dcf7cf056a6'], + }), + ('docstring_parser', '0.15', { + 'checksums': ['48ddc093e8b1865899956fcc03b03e66bb7240c310fac5af81814580c55bf682'], + }), + ('magicgui', '0.8.1', { + 'checksums': ['43553d8f11002a79dd5fee57caff3ba9d3e37d7d50e8ed40efe79b360adc806a'], + }), + ('numpydoc', '1.6.0', { + 'checksums': ['ae7a5380f0a06373c3afe16ccd15bd79bc6b07f2704cbc6f1e7ecc94b4f5fc0d'], + }), + ('psygnal', '0.9.5', { + 'checksums': ['4956ea6c36a75f7fc457558935b67dd8be2594661b4d08eeb3357d69c509c55f'], + }), + ('superqt', '0.6.1', { + 'checksums': ['f1a9e0499c4bbcef34b6f895eb57cd41301b3799242cd030029238124184dade'], + }), + ('napari-console', '0.0.9', { + 'modulename': 'napari_console', + 'checksums': ['3bc86dd96cf94b1af96bba1043f90a39b1369bb978a8df9038a1ac422e66b532'], + }), + ('napari-plugin-engine', '0.2.0', { + 'checksums': ['fa926f869d70e0d652c005661948cd0c7fee5508ae17d437937f34f5287590b3'], + }), + ('napari-svg', '0.1.10', { + 'checksums': ['18e642c888a71e09c9d1097f25bced1e7ef5dde1771469647bcd77975800f77d'], + }), + ('typer', '0.9.0', { + 'checksums': ['50922fd79aea2f4751a8e0408ff10d2662bd0c8bbfa84755a699f3bada2978b2'], + }), + ('pyproject_hooks', '1.0.0', { + 'checksums': ['f271b298b97f5955d53fb12b72c1fb1948c22c1a6b70b315c54cedaca0264ef5'], + }), + ('build', '1.0.3', { + 'checksums': ['538aab1b64f9828977f84bc63ae570b060a8ed1be419e7870b8b4fc5e6ea553b'], + }), + ('mdurl', '0.1.2', { + 'checksums': ['bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba'], + }), + ('markdown-it-py', '3.0.0', { + 'modulename': 'markdown_it', + 'checksums': ['e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb'], + }), + ('rich', '13.7.0', { + 'checksums': ['5cb5123b5cf9ee70584244246816e9114227e0b98ad9176eede6ad54bf5403fa'], + }), + ('npe2', '0.7.3', { + 'checksums': ['4bbb45577a7c60e1aa15636040ef4cf7690d22470e08717af689f50ddeffc807'], + }), + ('mypy_extensions', '1.0.0', { + 'checksums': ['75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782'], + }), + (name, version, { + 'checksums': ['f5fc2db2a0b357f9413ae51f64ff8fa554dff6be8288d33e5a52e7da215d6fe4'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'], +} + +sanity_check_commands = [ + '%(name)s --help', + 'pyrcc5 -version 2>&1 |grep pyrcc5' # make sure PyQt5 module was not built with --no-tools +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pydantic/pydantic-2.5.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pydantic/pydantic-2.5.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..23955f5d21d --- /dev/null +++ b/easybuild/easyconfigs/p/pydantic/pydantic-2.5.3-GCCcore-12.3.0.eb @@ -0,0 +1,122 @@ +easyblock = 'CargoPythonBundle' + +name = 'pydantic' +version = '2.5.3' + +homepage = 'https://github.com/samuelcolvin/pydantic' +description = """Data validation and settings management using Python type hinting.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('Rust', '1.75.0'), + ('maturin', '1.4.0', '-Rust-1.75.0'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('typing-extensions', '4.9.0'), +] + +use_pip = True +sanity_pip_check = True + +crates = [ + ('ahash', '0.8.6'), + ('aho-corasick', '1.0.2'), + ('autocfg', '1.1.0'), + ('base64', '0.21.5'), + ('bitflags', '1.3.2'), + ('cc', '1.0.79'), + ('cfg-if', '1.0.0'), + ('enum_dispatch', '0.3.12'), + ('equivalent', '1.0.1'), + ('form_urlencoded', '1.2.0'), + ('getrandom', '0.2.10'), + ('hashbrown', '0.14.0'), + ('heck', '0.4.1'), + ('idna', '0.4.0'), + ('indexmap', '2.0.0'), + ('indoc', '2.0.4'), + ('itoa', '1.0.8'), + ('jiter', '0.0.4'), + ('lexical-core', '0.8.5'), + ('lexical-parse-float', '0.8.5'), + ('lexical-parse-integer', '0.8.6'), + ('lexical-util', '0.8.5'), + ('lexical-write-float', '0.8.5'), + ('lexical-write-integer', '0.8.5'), + ('libc', '0.2.147'), + ('lock_api', '0.4.10'), + ('memchr', '2.6.3'), + ('memoffset', '0.9.0'), + ('num-bigint', '0.4.4'), + ('num-integer', '0.1.45'), + ('num-traits', '0.2.16'), + ('once_cell', '1.18.0'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.8'), + ('percent-encoding', '2.3.0'), + ('proc-macro2', '1.0.69'), + ('pyo3', '0.20.0'), + ('pyo3-build-config', '0.20.0'), + ('pyo3-ffi', '0.20.0'), + ('pyo3-macros', '0.20.0'), + ('pyo3-macros-backend', '0.20.0'), + ('python3-dll-a', '0.2.9'), + ('quote', '1.0.29'), + ('redox_syscall', '0.3.5'), + ('regex', '1.10.2'), + ('regex-automata', '0.4.3'), + ('regex-syntax', '0.8.2'), + ('rustversion', '1.0.13'), + ('ryu', '1.0.14'), + ('scopeguard', '1.1.0'), + ('serde', '1.0.190'), + ('serde_derive', '1.0.190'), + ('serde_json', '1.0.108'), + ('smallvec', '1.11.1'), + ('speedate', '0.13.0'), + ('static_assertions', '1.1.0'), + ('strum', '0.25.0'), + ('strum_macros', '0.25.3'), + ('syn', '2.0.38'), + ('target-lexicon', '0.12.9'), + ('tinyvec', '1.6.0'), + ('tinyvec_macros', '0.1.1'), + ('unicode-bidi', '0.3.13'), + ('unicode-ident', '1.0.10'), + ('unicode-normalization', '0.1.22'), + ('unindent', '0.2.3'), + ('url', '2.4.1'), + ('uuid', '1.5.0'), + ('version_check', '0.9.4'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('windows-targets', '0.48.1'), + ('windows_aarch64_gnullvm', '0.48.0'), + ('windows_aarch64_msvc', '0.48.0'), + ('windows_i686_gnu', '0.48.0'), + ('windows_i686_msvc', '0.48.0'), + ('windows_x86_64_gnu', '0.48.0'), + ('windows_x86_64_gnullvm', '0.48.0'), + ('windows_x86_64_msvc', '0.48.0'), + ('zerocopy', '0.7.20'), + ('zerocopy-derive', '0.7.20'), +] + +exts_list = [ + ('annotated_types', '0.6.0', { + 'checksums': ['563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d'], + }), + ('pydantic_core', '2.14.6', { + 'checksums': ['1fd0c1d395372843fba13a51c28e3bb9d59bd7aebfeb17358ffaaa1e4dbbe948'], + }), + (name, version, { + 'preinstallopts': "sed -i '/Framework :: Pydantic/d' pyproject.toml && ", + 'checksums': ['b3ef57c62535b0941697cce638c08900d87fcb67e29cfa99e8a68f747f393f7a'], + }), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/q/Qtconsole/Qtconsole-5.5.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/q/Qtconsole/Qtconsole-5.5.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a986247586e --- /dev/null +++ b/easybuild/easyconfigs/q/Qtconsole/Qtconsole-5.5.1-GCCcore-12.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonPackage' + +name = 'Qtconsole' +version = '5.5.1' + +homepage = 'https://jupyter.org/' +description = """A rich Qt-based console for working with Jupyter kernels, supporting rich media +output, session export, and more. +The Qtconsole is a very lightweight application that largely feels like a +terminal, but provides a number of enhancements only possible in a GUI, such as +inline figures, proper multiline editing with syntax highlighting, graphical +calltips, and more.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a0e806c6951db9490628e4df80caec9669b65149c7ba40f9bf033c025a5b56bc'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('IPython', '8.14.0'), + ('QtPy', '2.4.1'), + ('jupyter-server', '2.7.2'), + ('PyZMQ', '25.1.1'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/v/VisPy/VisPy-0.14.1-foss-2023a.eb b/easybuild/easyconfigs/v/VisPy/VisPy-0.14.1-foss-2023a.eb new file mode 100644 index 00000000000..33c50bb9eb4 --- /dev/null +++ b/easybuild/easyconfigs/v/VisPy/VisPy-0.14.1-foss-2023a.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonBundle' + +name = 'VisPy' +version = '0.14.1' + +homepage = 'https://vispy.org' +description = """VisPy is a high-performance interactive 2D/3D data visualization library + leveraging the computational power of modern Graphics Processing Units (GPUs) through the + OpenGL library to display very large datasets.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('PyQt5', '5.15.10'), + ('matplotlib', '3.7.2'), # for kiwisolver + ('freetype', '2.13.0') +] + +use_pip = True + +local_inject_version = """sed -i "s/use_scm_version/version='%(version)s', &/g" setup.py &&""" + +exts_list = [ + ('freetype_py', '2.4.0', { + 'preinstallopts': local_inject_version, + 'modulename': 'freetype', + 'sources': ['freetype-py-2.4.0.zip'], + 'checksums': ['8ad81195d2f8f339aba61700cebfbd77defad149c51f59b75a2a5e37833ae12e'], + }), + ('hsluv', '5.0.3', { + 'checksums': ['2586bcb61d29d76e89e563a6836df24d86939961c9657f129a59f7617de45377'], + }), + ('vispy', version, { + 'preinstallopts': local_inject_version, + 'checksums': ['249a50979fc00a8b65109283354dcf12cf415c1a5dcf9821e113f6e590b9b93c'], + 'use_pip': True + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' From baf14f2860850982b930bcd5d0a97965c4705f86 Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Mon, 22 Jan 2024 10:31:33 +0100 Subject: [PATCH 092/889] Delete easybuild/easyconfigs/p/pydantic/pydantic-2.5.3-GCCcore-12.3.0.eb del pydantic (#19647) --- .../pydantic/pydantic-2.5.3-GCCcore-12.3.0.eb | 122 ------------------ 1 file changed, 122 deletions(-) delete mode 100644 easybuild/easyconfigs/p/pydantic/pydantic-2.5.3-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/p/pydantic/pydantic-2.5.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pydantic/pydantic-2.5.3-GCCcore-12.3.0.eb deleted file mode 100644 index 23955f5d21d..00000000000 --- a/easybuild/easyconfigs/p/pydantic/pydantic-2.5.3-GCCcore-12.3.0.eb +++ /dev/null @@ -1,122 +0,0 @@ -easyblock = 'CargoPythonBundle' - -name = 'pydantic' -version = '2.5.3' - -homepage = 'https://github.com/samuelcolvin/pydantic' -description = """Data validation and settings management using Python type hinting.""" - -toolchain = {'name': 'GCCcore', 'version': '12.3.0'} - -builddependencies = [ - ('binutils', '2.40'), - ('Rust', '1.75.0'), - ('maturin', '1.4.0', '-Rust-1.75.0'), - ('hatchling', '1.18.0'), -] - -dependencies = [ - ('Python', '3.11.3'), - ('typing-extensions', '4.9.0'), -] - -use_pip = True -sanity_pip_check = True - -crates = [ - ('ahash', '0.8.6'), - ('aho-corasick', '1.0.2'), - ('autocfg', '1.1.0'), - ('base64', '0.21.5'), - ('bitflags', '1.3.2'), - ('cc', '1.0.79'), - ('cfg-if', '1.0.0'), - ('enum_dispatch', '0.3.12'), - ('equivalent', '1.0.1'), - ('form_urlencoded', '1.2.0'), - ('getrandom', '0.2.10'), - ('hashbrown', '0.14.0'), - ('heck', '0.4.1'), - ('idna', '0.4.0'), - ('indexmap', '2.0.0'), - ('indoc', '2.0.4'), - ('itoa', '1.0.8'), - ('jiter', '0.0.4'), - ('lexical-core', '0.8.5'), - ('lexical-parse-float', '0.8.5'), - ('lexical-parse-integer', '0.8.6'), - ('lexical-util', '0.8.5'), - ('lexical-write-float', '0.8.5'), - ('lexical-write-integer', '0.8.5'), - ('libc', '0.2.147'), - ('lock_api', '0.4.10'), - ('memchr', '2.6.3'), - ('memoffset', '0.9.0'), - ('num-bigint', '0.4.4'), - ('num-integer', '0.1.45'), - ('num-traits', '0.2.16'), - ('once_cell', '1.18.0'), - ('parking_lot', '0.12.1'), - ('parking_lot_core', '0.9.8'), - ('percent-encoding', '2.3.0'), - ('proc-macro2', '1.0.69'), - ('pyo3', '0.20.0'), - ('pyo3-build-config', '0.20.0'), - ('pyo3-ffi', '0.20.0'), - ('pyo3-macros', '0.20.0'), - ('pyo3-macros-backend', '0.20.0'), - ('python3-dll-a', '0.2.9'), - ('quote', '1.0.29'), - ('redox_syscall', '0.3.5'), - ('regex', '1.10.2'), - ('regex-automata', '0.4.3'), - ('regex-syntax', '0.8.2'), - ('rustversion', '1.0.13'), - ('ryu', '1.0.14'), - ('scopeguard', '1.1.0'), - ('serde', '1.0.190'), - ('serde_derive', '1.0.190'), - ('serde_json', '1.0.108'), - ('smallvec', '1.11.1'), - ('speedate', '0.13.0'), - ('static_assertions', '1.1.0'), - ('strum', '0.25.0'), - ('strum_macros', '0.25.3'), - ('syn', '2.0.38'), - ('target-lexicon', '0.12.9'), - ('tinyvec', '1.6.0'), - ('tinyvec_macros', '0.1.1'), - ('unicode-bidi', '0.3.13'), - ('unicode-ident', '1.0.10'), - ('unicode-normalization', '0.1.22'), - ('unindent', '0.2.3'), - ('url', '2.4.1'), - ('uuid', '1.5.0'), - ('version_check', '0.9.4'), - ('wasi', '0.11.0+wasi-snapshot-preview1'), - ('windows-targets', '0.48.1'), - ('windows_aarch64_gnullvm', '0.48.0'), - ('windows_aarch64_msvc', '0.48.0'), - ('windows_i686_gnu', '0.48.0'), - ('windows_i686_msvc', '0.48.0'), - ('windows_x86_64_gnu', '0.48.0'), - ('windows_x86_64_gnullvm', '0.48.0'), - ('windows_x86_64_msvc', '0.48.0'), - ('zerocopy', '0.7.20'), - ('zerocopy-derive', '0.7.20'), -] - -exts_list = [ - ('annotated_types', '0.6.0', { - 'checksums': ['563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d'], - }), - ('pydantic_core', '2.14.6', { - 'checksums': ['1fd0c1d395372843fba13a51c28e3bb9d59bd7aebfeb17358ffaaa1e4dbbe948'], - }), - (name, version, { - 'preinstallopts': "sed -i '/Framework :: Pydantic/d' pyproject.toml && ", - 'checksums': ['b3ef57c62535b0941697cce638c08900d87fcb67e29cfa99e8a68f747f393f7a'], - }), -] - -moduleclass = 'devel' From a3b5164f1661f9c3189147a74f2b9760b0ef11da Mon Sep 17 00:00:00 2001 From: thoffman Date: Mon, 22 Jan 2024 10:33:15 +0100 Subject: [PATCH 093/889] add PyOpenGL and QtPy --- .../PyOpenGL/PyOpenGL-3.1.7-GCCcore-12.3.0.eb | 37 +++++++++++++++++++ .../q/QtPy/QtPy-2.4.1-GCCcore-12.3.0.eb | 33 +++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.7-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/q/QtPy/QtPy-2.4.1-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.7-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.7-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..3ab70b9eae5 --- /dev/null +++ b/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.7-GCCcore-12.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'PyOpenGL' +version = '3.1.7' + +homepage = 'http://pyopengl.sourceforge.net' +description = """PyOpenGL is the most common cross platform Python binding to OpenGL and related APIs.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('bzip2', '1.0.8'), +] + +dependencies = [ + ('Mesa', '23.1.4'), + ('Python', '3.11.3'), +] + +download_dep_fail = True +use_pip = True + +exts_list = [ + (name, version, { + 'modulename': 'OpenGL', + 'checksums': ['eef31a3888e6984fd4d8e6c9961b184c9813ca82604d37fe3da80eb000a76c86'], + }), + ('PyOpenGL-accelerate', version, { + 'modulename': 'OpenGL_accelerate', + 'checksums': ['2b123621273a939f7fd2ec227541e399f9b5d4e815d69ae0bdb1b6c70a293680'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/q/QtPy/QtPy-2.4.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/q/QtPy/QtPy-2.4.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..ce052fd8648 --- /dev/null +++ b/easybuild/easyconfigs/q/QtPy/QtPy-2.4.1-GCCcore-12.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'QtPy' +version = '2.4.1' + +homepage = "https://github.com/spyder-ide/qtpy" +description = """QtPy is a small abstraction layer that lets you write applications using a single API call to + either PyQt or PySide. It provides support for PyQt5, PyQt4, PySide2 and PySide.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('PyQt5', '5.15.10') +] + +exts_list = [ + (name, version, { + 'checksums': ['a5a15ffd519550a1361bdc56ffc07fda56a6af7292f17c7b395d4083af632987'], + }), + ('packaging', '23.1', { + 'checksums': ['a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'vis' From 95de3c7ec68757ec81437a52da69ef223796f1ab Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 22 Jan 2024 10:43:40 +0100 Subject: [PATCH 094/889] Delete easybuild/easyconfigs/p/pydantic/pydantic-2.1.1-GCCcore-12.3.0.eb --- .../pydantic/pydantic-2.1.1-GCCcore-12.3.0.eb | 47 ------------------- 1 file changed, 47 deletions(-) delete mode 100644 easybuild/easyconfigs/p/pydantic/pydantic-2.1.1-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/p/pydantic/pydantic-2.1.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pydantic/pydantic-2.1.1-GCCcore-12.3.0.eb deleted file mode 100644 index 39e0670651b..00000000000 --- a/easybuild/easyconfigs/p/pydantic/pydantic-2.1.1-GCCcore-12.3.0.eb +++ /dev/null @@ -1,47 +0,0 @@ -easyblock = 'PythonBundle' - -name = 'pydantic' -version = '2.1.1' - -homepage = 'https://github.com/samuelcolvin/pydantic' -description = """Data validation and settings management using Python type hinting.""" - -toolchain = {'name': 'GCCcore', 'version': '12.3.0'} - -builddependencies = [('binutils', '2.40')] - -dependencies = [ - ('Python', '3.11.3'), - ('hatchling', '1.18.0'), - ('maturin', '1.1.0') -] - -sanity_pip_check = True -use_pip = True - -exts_list = [ - ('typing_extensions', '4.9.0', { - 'checksums': ['23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783'], - }), - ('python-dotenv', '1.0.0', { - 'modulename': 'dotenv', - 'checksums': ['a8df96034aae6d2d50a4ebe8216326c61c3eb64836776504fcca410e5937a3ba'], - }), - (name, version, { - 'sources': {'source_urls': ['https://github.com/pydantic/%(name)s/archive/refs/tags/'], 'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}, - 'checksums': ['ae48a2ffe679ae003bb52b511ecfe85bed70f4b8a955c76e0957dd29c003cdbf'], - }), - ('pydantic-settings', '2.0.3', { - 'sources': {'source_urls': ['https://github.com/pydantic/pydantic-settings/archive/refs/tags/'], 'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}, - }), - ('pydantic-core', '2.4.0', { - 'sources': {'source_urls': ['https://github.com/pydantic/%(name)s/archive/refs/tags/'], 'filename': 'v%(version)s.tar.gz'}, - 'checksums': ['94b4ef19df7e0ea5e9f32590afc3673dab0d9855ed786d3dc95513124d842874'], - }), - ('annotated-types', '0.6.0', { - 'sources': {'source_urls': ['https://github.com/%(name)s/%(name)s/archive/refs/tags/'], 'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}, - 'checksums': ['0b99aba34b87840d7578705968d87fe6265c1a1604bcf9ccc11902b1d8d39ad8'], - }), -] - -moduleclass = 'devel' From 239f4cbe355cf8010021655df11a61bcbaaa7dc8 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 22 Jan 2024 10:49:14 +0100 Subject: [PATCH 095/889] Update pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch --- .../pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch index 8046feee46d..5b47f86d759 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch @@ -1,7 +1,7 @@ Relax requirements of `atomistics`. --- 0.5.1/foss-2023a/atomistics/atomistics-atomistics-0.1.15/pyproject.toml.orig 2024-01-09 12:42:59.508409527 +0000 -+++ 0.5.1/foss-2023a/atomistics/atomistics-atomistics-0.1.15/pyproject.toml2024-01-09 12:43:44.589293464 +0000 ++++ 0.5.1/foss-2023a/atomistics/atomistics-atomistics-0.1.15/pyproject.toml 2024-01-09 12:43:44.589293464 +0000 @@ -26,9 +26,9 @@ ] dependencies = [ From 056161749f60dc04c4287522924feb30ef6fdb03 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 22 Jan 2024 11:29:02 +0100 Subject: [PATCH 096/889] Update pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch --- ...-2023a_fix-pyiron-atomistics-version.patch | 83 +++++++++---------- 1 file changed, 41 insertions(+), 42 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch index 299f079890b..40ac0f4360e 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch @@ -1,63 +1,62 @@ Fixes use of dynamic versioning in pyproject.toml and puts in a specific version instead. ---- 0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/pyproject.toml.orig 2023-12-13 15:51:48.895090935 +0000 -+++ 0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/pyproject.toml 2023-12-13 15:53:26.626579151 +0000 -@@ -24,23 +24,23 @@ - "Programming Language :: Python :: 3.11", - ] +--- 0.5.1/foss-2023a/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/pyproject.toml.orig 2024-01-22 10:12:31.768251943 +0000 ++++ 0.5.1/foss-2023a/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/pyproject.toml 2024-01-22 10:26:21.997455595 +0000 +@@ -26,24 +26,24 @@ dependencies = [ -- "dill==0.3.7", -- "gitpython==3.1.40", -- "h5io==0.1.9", + "ase==3.22.1", + "atomistics==0.1.12", +- "defusedxml==0.7.1", - "h5py==3.10.0", -- "jinja2==3.1.2", +- "matplotlib==3.8.2", +- "mendeleev==0.14.0", +- "mp-api==0.39.1", - "numpy==1.26.2", - "pandas==2.1.3", -- "pint==0.22", -- "psutil==5.9.5", -- "pyfileindex==0.0.18", -- "pysqa==0.1.7", -- "sqlalchemy==2.0.23", -- "tables==3.9.2", -- "tqdm==4.66.1", -- "traitlets==5.14.0", -+ "dill>=0.3.2", -+ "gitpython>=3.1.8", -+ "h5io>=0.1.2", -+ "h5py>=3.9.0", -+ "jinja2>=3.1.2", +- "phonopy==2.21.0", ++ "defusedxml>=0.6.0", ++ "h5py>=3.9.8", ++ "matplotlib>=3.7.2", ++ "mendeleev>=0.14.0", ++ "mp-api>=0.39.1", + "numpy>=1.25.1", + "pandas>=2.0.3", -+ "pint>=0.22", -+ "psutil>=5.9.5", -+ "pyfileindex>=0.0.18", -+ "pysqa>=0.1.7", -+ "sqlalchemy>=2.0.23", -+ "tables>=3.8.0", -+ "tqdm>=4.66.1", -+ "traitlets>=5.9.0", ++ "phonopy>=2.20.0", + "pint==0.22", + "pyiron_base==0.6.12", + "pylammpsmpi==0.2.9", +- "scipy==1.11.4", +- "scikit-learn==1.3.2", +- "seekpath==2.1.0", +- "spglib==2.1.0", ++ "scipy>=1.11.1", ++ "scikit-learn>=1.3.1", ++ "seekpath>=2.1.0", ++ "spglib>=2.1.0", + "structuretoolkit==0.0.15", ] -dynamic = ["version"] -+version = "0.6.12" ++version = '0.3.11' [project.urls] - Homepage = "https://github.com/pyiron/pyiron_base" -@@ -53,12 +53,3 @@ - [tool.setuptools.packages.find] - include = ["pyiron_base*"] + Homepage = "https://pyiron.org" +@@ -55,13 +55,3 @@ + [tool.setuptools.package-data] + "*" = ["data/*.csv"] +- -[tool.setuptools.dynamic] --version = {attr = "pyiron_base.__version__"} +-version = {attr = "pyiron_atomistics.__version__"} - -[tool.versioneer] -VCS = "git" -style = "pep440-pre" --versionfile_source = "pyiron_base/_version.py" --parentdir_prefix = "pyiron_base" --tag_prefix = "pyiron_base-" +-versionfile_source = "pyiron_atomistics/_version.py" +-parentdir_prefix = "pyiron_atomistics" +-tag_prefix = "pyiron_atomistics-" ---- 0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/setup.py.orig 2023-12-13 17:16:26.902513343 +0000 -+++ 0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/setup.py 2023-12-13 17:18:56.504736380 +0000 +--- 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/setup.py.orig 2023-12-13 17:16:26.902513343 +0000 ++++ 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.111/setup.py 2023-12-13 17:18:56.504736380 +0000 @@ -3,6 +3,6 @@ import versioneer @@ -66,6 +65,6 @@ Fixes use of dynamic versioning in pyproject.toml and puts in a specific version - cmdclass=versioneer.get_cmdclass(), -) \ No newline at end -+ version="0.6.12", ++ version="0.3.11", +) + From 4ecdbfc5ce5c53651133cfbd8d27d95f2ca416fe Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 22 Jan 2024 11:30:10 +0100 Subject: [PATCH 097/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index 7acfbeff8be..d5377be5e17 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -114,7 +114,7 @@ exts_list = [ ('pyfileindex', '0.0.18', { 'checksums': ['6d5acf2500f568667aa5273ae57692c2b62facbcaae7c0bbbf21ba3bdd904961'], }), - ('seekpath', '2.0.1', { + ('seekpath', '2.1.0', { 'checksums': ['188513ee187fbbace49066a29ecea9bbd351f23da3bea33d507d0f590856b082'], }), (name, version, { From f46619e6adcf1e9f04f18efd0419cf1405df5e3c Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 22 Jan 2024 11:32:17 +0100 Subject: [PATCH 098/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index d5377be5e17..d5a7aa673a2 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -115,7 +115,7 @@ exts_list = [ 'checksums': ['6d5acf2500f568667aa5273ae57692c2b62facbcaae7c0bbbf21ba3bdd904961'], }), ('seekpath', '2.1.0', { - 'checksums': ['188513ee187fbbace49066a29ecea9bbd351f23da3bea33d507d0f590856b082'], + 'checksums': ['31cec579628262e6d4a4c3693fefa70d6ccae1ceeef7c9d10ea3cd48988452c4'], }), (name, version, { 'modulename': False, @@ -128,7 +128,7 @@ exts_list = [ 'checksums': [ {'pyiron_base-0.6.12.tar.gz': '7ef8fa8b21724776c1ced3ee1efb8484984234150a7f3da296577f90c63751cb'}, {'pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch': - 'a6390dcd366e17361fb71f26c6d3b75835526bdf773d9ef535c02836fe551b31'}, + 'f7fe1bda2672894a42b20df268f27f77cc4bd65f7540752b4b46d4ceb2eaef5c'}, ], }), ('atomistics', '0.1.15', { @@ -137,7 +137,7 @@ exts_list = [ 'checksums': [ {'atomistics-0.1.15.tar.gz': 'e9c505cace0cbeb9ea5ed33799f332f5cc95230a05ba14b646475cff1bdecaee'}, {'pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch': - '748f2e720c07e9dbe3eb04c6b1e89aa021b99671f6212c5c958ffa5d9cd286ed'}, + 'deaa57c27be147efc7e4926f6795bfa421280a299fc96de8c0bae342e4770d6c'}, ], }), ('pyiron_atomistics', '0.3.11', { @@ -146,7 +146,7 @@ exts_list = [ 'checksums': [ {'pyiron_atomistics-0.3.11.tar.gz': '8c73c452fe60cb808961d22361f9b749488e3d50a8bda7f5c0132aea2f69e00f'}, {'pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch': - '6d608199f430bf6d6de159943cec76157ecbf345deb35398510bf12f64b3ec7e'}, + 'df83534e5df96ccbb432001f1a40b9f0bf5403bb477fd94016a193dfd3c6321d'}, ], }), ('mp-api', '0.39.4', { From 28f63cf6fed0aa12308d4be4242d17efcb44fcfe Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 22 Jan 2024 11:40:07 +0100 Subject: [PATCH 099/889] Update pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch --- .../pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch index 5bcb556a62b..9efc42afbb9 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch @@ -35,7 +35,7 @@ Fixes use of dynamic versioning in pyproject.toml and puts in a specific version + "sqlalchemy>=2.0.23", + "tables>=3.8.0", + "tqdm>=4.66.1", -+ "traitlet>=5.9.0", ++ "traitlets>=5.9.0", ] -dynamic = ["version"] +version = "0.6.12" From ed18d5a0449e72e248689e1f62b12ae2b16c1f0e Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 22 Jan 2024 11:42:17 +0100 Subject: [PATCH 100/889] Update pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch --- ...n-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch index 40ac0f4360e..402bd476a10 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch @@ -5,7 +5,7 @@ Fixes use of dynamic versioning in pyproject.toml and puts in a specific version @@ -26,24 +26,24 @@ dependencies = [ "ase==3.22.1", - "atomistics==0.1.12", +- "atomistics==0.1.12", - "defusedxml==0.7.1", - "h5py==3.10.0", - "matplotlib==3.8.2", @@ -14,8 +14,9 @@ Fixes use of dynamic versioning in pyproject.toml and puts in a specific version - "numpy==1.26.2", - "pandas==2.1.3", - "phonopy==2.21.0", ++ "atomistics>=0.1.12", + "defusedxml>=0.6.0", -+ "h5py>=3.9.8", ++ "h5py>=3.9.0", + "matplotlib>=3.7.2", + "mendeleev>=0.14.0", + "mp-api>=0.39.1", @@ -24,7 +25,8 @@ Fixes use of dynamic versioning in pyproject.toml and puts in a specific version + "phonopy>=2.20.0", "pint==0.22", "pyiron_base==0.6.12", - "pylammpsmpi==0.2.9", +- "pylammpsmpi==0.2.9", ++ "pylammpsmpi>=0.2.9", - "scipy==1.11.4", - "scikit-learn==1.3.2", - "seekpath==2.1.0", From 059c9824bb4a5db529ecc6d26c1faece76219f46 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 22 Jan 2024 11:42:47 +0100 Subject: [PATCH 101/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index d5a7aa673a2..776305fa4ba 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -108,7 +108,7 @@ exts_list = [ ('pyfiglet', '0.8.post1', { 'checksums': ['c6c2321755d09267b438ec7b936825a4910fec696292139e664ca8670e103639'], }), - ('mendeleev', '0.6.0', { + ('mendeleev', '0.14.0', { 'checksums': ['944d185e81f158e48dd394b011e6c14acb612c2ffbc3c32c4aa490cd5b4f65dd'], }), ('pyfileindex', '0.0.18', { From e939dd862bad26fec85c2ea303ccfdf20baf58df Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 22 Jan 2024 11:44:35 +0100 Subject: [PATCH 102/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index 776305fa4ba..2d644fe7b57 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -109,7 +109,7 @@ exts_list = [ 'checksums': ['c6c2321755d09267b438ec7b936825a4910fec696292139e664ca8670e103639'], }), ('mendeleev', '0.14.0', { - 'checksums': ['944d185e81f158e48dd394b011e6c14acb612c2ffbc3c32c4aa490cd5b4f65dd'], + 'checksums': ['1a89ccf05c708aebe627c5eb19ff5c6379585a2f9e588e1dcf9b03182fe61f3c'], }), ('pyfileindex', '0.0.18', { 'checksums': ['6d5acf2500f568667aa5273ae57692c2b62facbcaae7c0bbbf21ba3bdd904961'], @@ -128,7 +128,7 @@ exts_list = [ 'checksums': [ {'pyiron_base-0.6.12.tar.gz': '7ef8fa8b21724776c1ced3ee1efb8484984234150a7f3da296577f90c63751cb'}, {'pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch': - 'f7fe1bda2672894a42b20df268f27f77cc4bd65f7540752b4b46d4ceb2eaef5c'}, + 'a6390dcd366e17361fb71f26c6d3b75835526bdf773d9ef535c02836fe551b31'}, ], }), ('atomistics', '0.1.15', { @@ -146,7 +146,7 @@ exts_list = [ 'checksums': [ {'pyiron_atomistics-0.3.11.tar.gz': '8c73c452fe60cb808961d22361f9b749488e3d50a8bda7f5c0132aea2f69e00f'}, {'pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch': - 'df83534e5df96ccbb432001f1a40b9f0bf5403bb477fd94016a193dfd3c6321d'}, + 'e7059f005eef599668022f1796acb5ac4cb82bcef6abe732bb15ec6dc44e86a2'}, ], }), ('mp-api', '0.39.4', { From b7fedfa67bdd6ccbea4c89c73540835a2ebc33ff Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 22 Jan 2024 12:15:16 +0100 Subject: [PATCH 103/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index 2d644fe7b57..3ca8cc2dd2f 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -102,8 +102,8 @@ exts_list = [ 'modulename': 'git', 'checksums': ['080bf8e2cf1a2b907634761c2eaefbe83b69930c94c66ad11b65a8252959f912'], }), - ('colorama', '0.4.3', { - 'checksums': ['e96da0d330793e2cb9485e9ddfd918d456036c7149416295932478192f4436a1'], + ('colorama', '0.4.4', { + 'checksums': ['5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b'], }), ('pyfiglet', '0.8.post1', { 'checksums': ['c6c2321755d09267b438ec7b936825a4910fec696292139e664ca8670e103639'], From 74557748480153ee1e4194b3463a983b97ffd736 Mon Sep 17 00:00:00 2001 From: jfgrimm Date: Mon, 22 Jan 2024 12:17:34 +0000 Subject: [PATCH 104/889] adding easyconfigs: ESM-2-2.0.0-foss-2023a-CUDA-12.1.1.eb, topaz-0.2.5.20231120-foss-2023a-CUDA-12.1.1.eb, torchvision-0.16.2-foss-2023a-CUDA-12.1.1.eb --- .../ESM-2-2.0.0-foss-2023a-CUDA-12.1.1.eb | 42 ++++++++++++++ ...z-0.2.5.20231120-foss-2023a-CUDA-12.1.1.eb | 55 +++++++++++++++++++ ...rchvision-0.16.2-foss-2023a-CUDA-12.1.1.eb | 27 +++++++++ 3 files changed, 124 insertions(+) create mode 100644 easybuild/easyconfigs/e/ESM-2/ESM-2-2.0.0-foss-2023a-CUDA-12.1.1.eb create mode 100644 easybuild/easyconfigs/t/topaz/topaz-0.2.5.20231120-foss-2023a-CUDA-12.1.1.eb create mode 100644 easybuild/easyconfigs/t/torchvision/torchvision-0.16.2-foss-2023a-CUDA-12.1.1.eb diff --git a/easybuild/easyconfigs/e/ESM-2/ESM-2-2.0.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/e/ESM-2/ESM-2-2.0.0-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..eae9330bcdb --- /dev/null +++ b/easybuild/easyconfigs/e/ESM-2/ESM-2-2.0.0-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonBundle' + +name = 'ESM-2' +version = '2.0.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/facebookresearch/esm' +description = """ESM-2 outperforms all tested single-sequence protein language models + across a range of structure prediction tasks. ESMFold harnesses the ESM-2 language model to generate + accurate structure predictions end to end directly from the sequence of a protein.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('Java', '11', '', SYSTEM), # needed by ANTLR4 runtime +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('PyTorch', '2.1.2', versionsuffix), +] + +use_pip = True +sanity_pip_check = True + +# omegaconf is required for esmfold (in addition to OpenFold-1.0.1) +exts_list = [ + ('antlr4-python3-runtime', '4.9.3', { + 'modulename': 'antlr4', + 'checksums': ['f224469b4168294902bb1efa80a8bf7855f24c99aef99cbefc1bcd3cce77881b'], + }), + ('omegaconf', '2.3.0', { + 'checksums': ['d5d4b6d29955cc50ad50c46dc269bcd92c6e00f5f90d23ab5fee7bfca4ba4cc7'], + }), + ('fair-esm', version, { + 'modulename': "esm, esm.pretrained", + 'checksums': ['4ed34d4598ec75ed6550a4e581d023bf8d4a8375317ecba6269bb68135f80c85'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/topaz/topaz-0.2.5.20231120-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/t/topaz/topaz-0.2.5.20231120-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..a99c772078d --- /dev/null +++ b/easybuild/easyconfigs/t/topaz/topaz-0.2.5.20231120-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,55 @@ +# Thomas Hoffman, EMBL Heidelberg, structures-it@embl.de, 2023/11 +easyblock = 'PythonPackage' + +name = 'topaz' +_mainversion = '0.2.5' +_commitdate = '20231120' +_commit = '25cb2cb' +version = '%s.%s' % (_mainversion, _commitdate) +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'http://cb.csail.mit.edu/cb/topaz/' + +description = """Particle picking software for single particle cryo-electron microscopy using +convolutional neural networks and positive-unlabeled learning. Includes methods +for micrograph denoising.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('PyTorch', '2.1.2', versionsuffix), + ('scikit-learn', '1.3.1'), + ('torchvision', '0.16.2', versionsuffix), +] + +source_urls = ['https://github.com/tbepler/topaz/archive'] +sources = [{ + 'download_filename': '%s.tar.gz' % _commit, + 'filename': '%(name)s-%(version)s.tar.gz' +}] +patches = [ + 'topaz-0.2.5_install_relion3_wrappers.patch', +] +checksums = [ + {'topaz-0.2.5.20231120.tar.gz': 'ca0630f9a69622eb3e10c9de310f58ac846e60a5504c4533398a9a75b3091df9'}, + {'topaz-0.2.5_install_relion3_wrappers.patch': '0fe23a0ecaf887aaa89641a7e7cf37fafd3134384b0a8f46acb4e17537d1a151'}, +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'topaz'} + +_relion3_wrappers = ['denoise', 'pick', 'train', 'train_denoise'] + +sanity_check_paths = { + 'files': ["bin/run_topaz_%s.py" % x for x in _relion3_wrappers], + 'dirs': [], +} +sanity_check_commands = ['run_topaz_%s.py --help' % x for x in _relion3_wrappers] + ['topaz --help'] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/t/torchvision/torchvision-0.16.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/t/torchvision/torchvision-0.16.2-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..a72f7b8760a --- /dev/null +++ b/easybuild/easyconfigs/t/torchvision/torchvision-0.16.2-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,27 @@ +name = 'torchvision' +version = '0.16.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/pytorch/vision' +description = " Datasets, Transforms and Models specific to Computer Vision" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/pytorch/vision/archive'] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-0.16.2_ffmpeg-6.0-fix.patch'] +checksums = [ + {'v0.16.2.tar.gz': '8c1f2951e98d8ada6e5a468f179af4be9f56d2ebc3ab057af873da61669806d7'}, + {'torchvision-0.16.2_ffmpeg-6.0-fix.patch': 'a49336e7bfa1c950e886852bff37a3ea2146ac7bda87241e3ffb31c5cb869cce'}, +] + +builddependencies = [('CMake', '3.26.3')] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('Pillow-SIMD', '9.5.0'), + ('PyTorch', '2.1.2', '-CUDA-%(cudaver)s'), +] + +moduleclass = 'vis' From 667b511113bfc377880f1c23d2bcf69c786c0885 Mon Sep 17 00:00:00 2001 From: jfgrimm Date: Mon, 22 Jan 2024 12:18:08 +0000 Subject: [PATCH 105/889] adding easyconfigs: Faiss-1.7.4-foss-2023a-CUDA-12.1.1.eb, t-SNE-CUDA-3.0.1-foss-2023a-CUDA-12.1.1.eb and patches: t-SNE-CUDA-3.0.1_avoid-overriding-cuda-compute-capabilities.patch, t-SNE-CUDA-3.0.1_use-external-cxxopts.patch --- .../Faiss-1.7.4-foss-2023a-CUDA-12.1.1.eb | 68 +++++++++++ ...t-SNE-CUDA-3.0.1-foss-2023a-CUDA-12.1.1.eb | 58 ++++++++++ ...overriding-cuda-compute-capabilities.patch | 109 ++++++++++++++++++ ...-SNE-CUDA-3.0.1_use-external-cxxopts.patch | 27 +++++ 4 files changed, 262 insertions(+) create mode 100644 easybuild/easyconfigs/f/Faiss/Faiss-1.7.4-foss-2023a-CUDA-12.1.1.eb create mode 100644 easybuild/easyconfigs/t/t-SNE-CUDA/t-SNE-CUDA-3.0.1-foss-2023a-CUDA-12.1.1.eb create mode 100644 easybuild/easyconfigs/t/t-SNE-CUDA/t-SNE-CUDA-3.0.1_avoid-overriding-cuda-compute-capabilities.patch create mode 100644 easybuild/easyconfigs/t/t-SNE-CUDA/t-SNE-CUDA-3.0.1_use-external-cxxopts.patch diff --git a/easybuild/easyconfigs/f/Faiss/Faiss-1.7.4-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/f/Faiss/Faiss-1.7.4-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..a55db18bfc6 --- /dev/null +++ b/easybuild/easyconfigs/f/Faiss/Faiss-1.7.4-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,68 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'CMakePythonPackage' + +name = 'Faiss' +version = '1.7.4' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/facebookresearch/faiss' +description = """ +Faiss is a library for efficient similarity search and clustering of dense + vectors. It contains algorithms that search in sets of vectors of any size, up + to ones that possibly do not fit in RAM. It also contains supporting code for + evaluation and parameter tuning. Faiss is written in C++ with complete + wrappers for Python/numpy. Some of the most useful algorithms are implemented + on the GPU. It is developed primarily at Meta's Fundamental AI Research group. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +github_account = 'facebookresearch' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['d9a7b31bf7fd6eb32c10b7ea7ff918160eed5be04fe63bb7b4b4b5f2bbde01ad'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('SWIG', '4.1.1'), +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('PyTorch', '2.1.2', versionsuffix), + ('SciPy-bundle', '2023.07'), +] + +_copts = [ + '-DFAISS_ENABLE_GPU=ON', + '-DFAISS_ENABLE_PYTHON=ON', + '-DFAISS_ENABLE_C_API=ON', + '-DBUILD_TESTING=ON', + '-DBUILD_SHARED_LIBS=ON', + '-DPython_EXECUTABLE="${EBROOTPYTHON}/bin/python"', + '-DCUDAToolkit_ROOT="${CUDA_ROOT}"', + '-DCMAKE_CUDA_ARCHITECTURES="%(cuda_cc_cmake)s"', + '-DCMAKE_INSTALL_LIBDIR=%(installdir)s/lib', +] + +configopts = ' '.join(_copts) + +buildopts = 'faiss swigfaiss' + +postinstallcmds = [ + ' && '.join([ + # run a pip install in the 'faiss/python' subdir + 'cd ../easybuild_obj/%(namelower)s/python', + 'python -m pip install --prefix=%(installdir)s --no-build-isolation .', + # for some reason, 'libfaiss_python_callbacks.so' doesn't get installed, so copy this manually + 'cp libfaiss_python_callbacks.%s %%(installdir)s/lib/python%%(pyshortver)s/site-packages/faiss' % SHLIB_EXT + ]) +] + +sanity_check_paths = { + 'files': ['lib/lib%%(namelower)s.%s' % SHLIB_EXT], + 'dirs': ['include/%(namelower)s', 'lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/t-SNE-CUDA/t-SNE-CUDA-3.0.1-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/t/t-SNE-CUDA/t-SNE-CUDA-3.0.1-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..2b28e554dd7 --- /dev/null +++ b/easybuild/easyconfigs/t/t-SNE-CUDA/t-SNE-CUDA-3.0.1-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,58 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'CMakePythonPackage' + +name = 't-SNE-CUDA' +version = '3.0.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/CannyLab/tsne-cuda' +description = "GPU Accelerated t-SNE for CUDA with Python bindings" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/CannyLab/tsne-cuda/archive'] +sources = ['%(version)s.tar.gz'] +patches = [ + '%(name)s-3.0.1_use-external-cxxopts.patch', + '%(name)s-3.0.1_avoid-overriding-cuda-compute-capabilities.patch', +] +checksums = [ + {'3.0.1.tar.gz': '0f778247191f483df22dc4dbed792c9a6a9152ee7404329c4d9da3fd9a8774d6'}, + {'t-SNE-CUDA-3.0.1_use-external-cxxopts.patch': 'be278f6a122ac12b02e05faffd53f3bce3e58b1d6b40af5e6af6b4182c6a25f1'}, + {'t-SNE-CUDA-3.0.1_avoid-overriding-cuda-compute-capabilities.patch': + '09a1ac23c8ca485478fdfccacfe7b04a5608530f3da33892f64c76064a834722'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('googletest', '1.13.0'), + ('cxxopts', '3.0.0', '', SYSTEM), +] + +dependencies = [ + ('Python', '3.11.3'), + ('CUDA', '12.1.1', '', SYSTEM), + ('Faiss', '1.7.4', versionsuffix), + ('gflags', '2.2.2'), +] + +_copts = [ + '-DBUILD_PYTHON=ON', + '-DWITH_ZMQ=FALSE', + '-DWITH_MKL=OFF', + '-DCMAKE_CUDA_ARCHITECTURES="%(cuda_cc_cmake)s"', +] + +configopts = ' '.join(_copts) + +install_cmd = ('cd %(builddir)s/easybuild_obj/python &&' + ' python -m pip install --prefix=%(installdir)s --no-build-isolation .') + +options = {'modulename': 'tsnecuda'} + +sanity_check_paths = { + 'files': ['lib/python%%(pyshortver)s/site-packages/tsnecuda/libtsnecuda.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/t-SNE-CUDA/t-SNE-CUDA-3.0.1_avoid-overriding-cuda-compute-capabilities.patch b/easybuild/easyconfigs/t/t-SNE-CUDA/t-SNE-CUDA-3.0.1_avoid-overriding-cuda-compute-capabilities.patch new file mode 100644 index 00000000000..b8586bf9c6e --- /dev/null +++ b/easybuild/easyconfigs/t/t-SNE-CUDA/t-SNE-CUDA-3.0.1_avoid-overriding-cuda-compute-capabilities.patch @@ -0,0 +1,109 @@ +Avoid overriding CUDA_ARCH if CMAKE_CUDA_ARCHITECTURES is non-empty +diff -Nru tsne-cuda-3.0.1.orig/CMakeLists.txt tsne-cuda-3.0.1/CMakeLists.txt +--- tsne-cuda-3.0.1.orig/CMakeLists.txt 2024-01-18 17:31:58.841767793 +0000 ++++ tsne-cuda-3.0.1/CMakeLists.txt 2024-01-18 18:17:35.153863840 +0000 +@@ -58,55 +58,56 @@ + set(CMAKE_CUDA_STANDARD_REQUIRED ON) + endif() + +-if(CUDAToolkit_VERSION_MAJOR EQUAL "10") +- set(CUDA_ARCH +- -gencode=arch=compute_30,code=sm_30 +- -gencode=arch=compute_35,code=sm_35 +- -gencode=arch=compute_37,code=sm_37 +- -gencode=arch=compute_50,code=sm_50 +- -gencode=arch=compute_52,code=sm_52 +- -gencode=arch=compute_60,code=sm_60 +- -gencode=arch=compute_61,code=sm_61 +- -gencode=arch=compute_70,code=sm_70 +- -gencode=arch=compute_75,code=sm_75 +- ) +-elseif(CUDAToolkit_VERSION_MAJOR EQUAL "11" AND CUDAToolkit_VERSION_MINOR LESS "1") +- set(CUDA_ARCH +- -gencode=arch=compute_35,code=sm_35 +- -gencode=arch=compute_37,code=sm_37 +- -gencode=arch=compute_50,code=sm_50 +- -gencode=arch=compute_52,code=sm_52 +- -gencode=arch=compute_60,code=sm_60 +- -gencode=arch=compute_61,code=sm_61 +- -gencode=arch=compute_70,code=sm_70 +- -gencode=arch=compute_75,code=sm_75 +- -gencode=arch=compute_80,code=sm_80 +- ) +-elseif(CUDAToolkit_VERSION_MAJOR EQUAL "11") +- set(CUDA_ARCH +- -gencode=arch=compute_35,code=sm_35 +- -gencode=arch=compute_37,code=sm_37 +- -gencode=arch=compute_50,code=sm_50 +- -gencode=arch=compute_52,code=sm_52 +- -gencode=arch=compute_60,code=sm_60 +- -gencode=arch=compute_61,code=sm_61 +- -gencode=arch=compute_70,code=sm_70 +- -gencode=arch=compute_75,code=sm_75 +- -gencode=arch=compute_80,code=sm_80 +- -gencode=arch=compute_86,code=sm_86 +- ) +-else() +- set(CUDA_ARCH +- -gencode=arch=compute_30,code=sm_30 +- -gencode=arch=compute_35,code=sm_35 +- -gencode=arch=compute_37,code=sm_37 +- -gencode=arch=compute_50,code=sm_50 +- -gencode=arch=compute_52,code=sm_52 +- -gencode=arch=compute_60,code=sm_60 +- -gencode=arch=compute_61,code=sm_61 ++if("${CMAKE_CUDA_ARCHITECTURES}" STREQUAL "") ++ if(CUDAToolkit_VERSION_MAJOR EQUAL "10") ++ set(CUDA_ARCH ++ -gencode=arch=compute_30,code=sm_30 ++ -gencode=arch=compute_35,code=sm_35 ++ -gencode=arch=compute_37,code=sm_37 ++ -gencode=arch=compute_50,code=sm_50 ++ -gencode=arch=compute_52,code=sm_52 ++ -gencode=arch=compute_60,code=sm_60 ++ -gencode=arch=compute_61,code=sm_61 ++ -gencode=arch=compute_70,code=sm_70 ++ -gencode=arch=compute_75,code=sm_75 + ) +-endif() +- ++ elseif(CUDAToolkit_VERSION_MAJOR EQUAL "11" AND CUDAToolkit_VERSION_MINOR LESS "1") ++ set(CUDA_ARCH ++ -gencode=arch=compute_35,code=sm_35 ++ -gencode=arch=compute_37,code=sm_37 ++ -gencode=arch=compute_50,code=sm_50 ++ -gencode=arch=compute_52,code=sm_52 ++ -gencode=arch=compute_60,code=sm_60 ++ -gencode=arch=compute_61,code=sm_61 ++ -gencode=arch=compute_70,code=sm_70 ++ -gencode=arch=compute_75,code=sm_75 ++ -gencode=arch=compute_80,code=sm_80 ++ ) ++ elseif(CUDAToolkit_VERSION_MAJOR EQUAL "11") ++ set(CUDA_ARCH ++ -gencode=arch=compute_35,code=sm_35 ++ -gencode=arch=compute_37,code=sm_37 ++ -gencode=arch=compute_50,code=sm_50 ++ -gencode=arch=compute_52,code=sm_52 ++ -gencode=arch=compute_60,code=sm_60 ++ -gencode=arch=compute_61,code=sm_61 ++ -gencode=arch=compute_70,code=sm_70 ++ -gencode=arch=compute_75,code=sm_75 ++ -gencode=arch=compute_80,code=sm_80 ++ -gencode=arch=compute_86,code=sm_86 ++ ) ++ else() ++ set(CUDA_ARCH ++ -gencode=arch=compute_30,code=sm_30 ++ -gencode=arch=compute_35,code=sm_35 ++ -gencode=arch=compute_37,code=sm_37 ++ -gencode=arch=compute_50,code=sm_50 ++ -gencode=arch=compute_52,code=sm_52 ++ -gencode=arch=compute_60,code=sm_60 ++ -gencode=arch=compute_61,code=sm_61 ++ ) ++ endif() ++endif() + + set(CUDA_OPTS + -O3 diff --git a/easybuild/easyconfigs/t/t-SNE-CUDA/t-SNE-CUDA-3.0.1_use-external-cxxopts.patch b/easybuild/easyconfigs/t/t-SNE-CUDA/t-SNE-CUDA-3.0.1_use-external-cxxopts.patch new file mode 100644 index 00000000000..d5d2e37012a --- /dev/null +++ b/easybuild/easyconfigs/t/t-SNE-CUDA/t-SNE-CUDA-3.0.1_use-external-cxxopts.patch @@ -0,0 +1,27 @@ +Update CMakeLists.txt to use an external cxxopts +diff -Nru tsne-cuda-3.0.1.orig/CMakeLists.txt tsne-cuda-3.0.1/CMakeLists.txt +--- tsne-cuda-3.0.1.orig/CMakeLists.txt 2024-01-18 17:31:58.841767793 +0000 ++++ tsne-cuda-3.0.1/CMakeLists.txt 2024-01-18 17:34:46.095207526 +0000 +@@ -157,6 +157,14 @@ + endif() + include_directories(${FAISS_INCLUDE_DIR}) + ++# CXXOPTS Configuration ++#------------------------------------------------------------------------------- ++find_package(CXXOPTS REQUIRED) ++if(NOT ${CXXOPTS_FOUND}) ++ message("-- CXXOPTS not installed. PLease install CXXOPTS.") ++endif() ++include_directories(${CXXOPTS_INCLUDE_DIR}) ++ + # Project Setup + #------------------------------------------------------------------------------- + include_directories( +@@ -164,7 +172,6 @@ + src/include + ${CUDA_INCLUDE_DIRS} + third_party/ +- third_party/cxxopts/include/ + ${ZMQ_INCLUDE_DIR} + ) + link_directories( From efd0fac77b958895599bcb24b3228ab246b706bc Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 22 Jan 2024 14:00:17 +0100 Subject: [PATCH 106/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index 3ca8cc2dd2f..2311e800cb6 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -60,11 +60,15 @@ exts_list = [ 'checksums': ['a8df96034aae6d2d50a4ebe8216326c61c3eb64836776504fcca410e5937a3ba'], }), ('pydantic-settings', '2.1.0', { - 'sources': {'source_urls': ['https://github.com/pydantic/pydantic-settings/archive/refs/tags/'], 'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}, + 'sources': {'source_urls': ['https://github.com/pydantic/pydantic-settings/archive/refs/tags/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': '%(name)s-%(version)s.tar.gz'}, 'checksums': ['be83f7a7da10a0686a00da1b9e62856072bbcfb7d6a420ea3c78c66b145fcd93'], }), ('annotated-types', '0.6.0', { - 'sources': {'source_urls': ['https://github.com/%(name)s/%(name)s/archive/refs/tags/'], 'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}, + 'sources': {'source_urls': ['https://github.com/%(name)s/%(name)s/archive/refs/tags/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': '%(name)s-%(version)s.tar.gz'}, 'checksums': ['0b99aba34b87840d7578705968d87fe6265c1a1604bcf9ccc11902b1d8d39ad8'], }), ('jsonschema', '4.18.0', { From e961d0a9ed842f92ba55666f6c476fbb564ba145 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 22 Jan 2024 14:06:25 +0100 Subject: [PATCH 107/889] Update Pint-0.22-GCCcore-12.3.0.eb --- easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-12.3.0.eb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-12.3.0.eb index fb5a9be76b2..0702d78f0f4 100644 --- a/easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-12.3.0.eb @@ -12,8 +12,11 @@ conversions from and to different units.""" toolchain = {'name': 'GCCcore', 'version': '12.3.0'} sources = [SOURCE_TAR_GZ] -checksums = ['2d139f6abbcf3016cad7d3cec05707fe908ac4f99cf59aedfd6ee667b7a64433'] patches = [('Pint-0.22-GCCcore-12.3.0_fix-version.patch', 3)] +checksums = [ + {'Pint-0.22.tar.gz': '2d139f6abbcf3016cad7d3cec05707fe908ac4f99cf59aedfd6ee667b7a64433'}, + {'Pint-0.22-GCCcore-12.3.0_fix-version.patch': '6a01aca1d0a6a9b91499787e39497d7ca44befcbb21b82fd9a1036d7b6c84a58'}, +] builddependencies = [('binutils', '2.40')] From 1d9811bf6bd2f067bd4bf41d686ed72e3e8dbb57 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 22 Jan 2024 14:08:12 +0100 Subject: [PATCH 108/889] Update typing-extensions-4.9.0-GCCcore-12.3.0.eb --- .../typing-extensions/typing-extensions-4.9.0-GCCcore-12.3.0.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/t/typing-extensions/typing-extensions-4.9.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/typing-extensions/typing-extensions-4.9.0-GCCcore-12.3.0.eb index 2078482b45a..44a057a01fd 100644 --- a/easybuild/easyconfigs/t/typing-extensions/typing-extensions-4.9.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/t/typing-extensions/typing-extensions-4.9.0-GCCcore-12.3.0.eb @@ -9,6 +9,7 @@ description = 'Typing Extensions – Backported and Experimental Type Hints for toolchain = {'name': 'GCCcore', 'version': '12.3.0'} sources = ['typing_extensions-%(version)s.tar.gz'] +checksums = ['23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783'] builddependencies = [('binutils', '2.40')] From 20f3075f50a34d4528281643c5f4f88f4324fa3a Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 22 Jan 2024 14:11:10 +0100 Subject: [PATCH 109/889] Create Pint-0.22-GCCcore-12.3.0_fix-version.patch --- .../p/Pint/Pint-0.22-GCCcore-12.3.0_fix-version.patch | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-12.3.0_fix-version.patch diff --git a/easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-12.3.0_fix-version.patch b/easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-12.3.0_fix-version.patch new file mode 100644 index 00000000000..763bcfeca9f --- /dev/null +++ b/easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-12.3.0_fix-version.patch @@ -0,0 +1,7 @@ +--- 0.22/GCCcore-12.3.0/Pint-0.22/setup.py.orig 2023-12-13 18:45:35.241637807 +0000 ++++ 0.22/GCCcore-12.3.0/Pint-0.22/setup.py 2023-12-13 18:49:29.304418276 +0000 +@@ -0,0 +1,4 @@ ++from setuptools import setup ++ ++ ++setup(version='0.22') From 258ae16c70082e01800d6faa37a336ead02d959b Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 22 Jan 2024 14:11:44 +0100 Subject: [PATCH 110/889] Delete easybuild/easyconfigs/p/Pint-0.22-GCCcore-12.3.0_fix-version.patch --- .../p/Pint-0.22-GCCcore-12.3.0_fix-version.patch | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 easybuild/easyconfigs/p/Pint-0.22-GCCcore-12.3.0_fix-version.patch diff --git a/easybuild/easyconfigs/p/Pint-0.22-GCCcore-12.3.0_fix-version.patch b/easybuild/easyconfigs/p/Pint-0.22-GCCcore-12.3.0_fix-version.patch deleted file mode 100644 index 763bcfeca9f..00000000000 --- a/easybuild/easyconfigs/p/Pint-0.22-GCCcore-12.3.0_fix-version.patch +++ /dev/null @@ -1,7 +0,0 @@ ---- 0.22/GCCcore-12.3.0/Pint-0.22/setup.py.orig 2023-12-13 18:45:35.241637807 +0000 -+++ 0.22/GCCcore-12.3.0/Pint-0.22/setup.py 2023-12-13 18:49:29.304418276 +0000 -@@ -0,0 +1,4 @@ -+from setuptools import setup -+ -+ -+setup(version='0.22') From 50820bf64e1a9738b065b44f74a55654f3940bab Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 22 Jan 2024 14:31:23 +0100 Subject: [PATCH 111/889] Delete easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-12.3.0.eb --- .../p/Pint/Pint-0.22-GCCcore-12.3.0.eb | 32 ------------------- 1 file changed, 32 deletions(-) delete mode 100644 easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-12.3.0.eb deleted file mode 100644 index 0702d78f0f4..00000000000 --- a/easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-12.3.0.eb +++ /dev/null @@ -1,32 +0,0 @@ -easyblock = 'PythonPackage' - -name = 'Pint' -version = '0.22' - -homepage = 'https://github.com/hgrecco/pint' -description = """Pint is a Python package to define, operate and -manipulate physical quantities: the product of a numerical value and a -unit of measurement. It allows arithmetic operations between them and -conversions from and to different units.""" - -toolchain = {'name': 'GCCcore', 'version': '12.3.0'} - -sources = [SOURCE_TAR_GZ] -patches = [('Pint-0.22-GCCcore-12.3.0_fix-version.patch', 3)] -checksums = [ - {'Pint-0.22.tar.gz': '2d139f6abbcf3016cad7d3cec05707fe908ac4f99cf59aedfd6ee667b7a64433'}, - {'Pint-0.22-GCCcore-12.3.0_fix-version.patch': '6a01aca1d0a6a9b91499787e39497d7ca44befcbb21b82fd9a1036d7b6c84a58'}, -] - -builddependencies = [('binutils', '2.40')] - -dependencies = [ - ('Python', '3.11.3'), - ('typing-extensions', '4.9.0') -] - -download_dep_fail = True -use_pip = True -sanity_pip_check = True - -moduleclass = 'numlib' From a41c651623cb8bb3c9e8928753fa01c2873f756e Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 22 Jan 2024 14:31:35 +0100 Subject: [PATCH 112/889] Delete easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-12.3.0_fix-version.patch --- .../p/Pint/Pint-0.22-GCCcore-12.3.0_fix-version.patch | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-12.3.0_fix-version.patch diff --git a/easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-12.3.0_fix-version.patch b/easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-12.3.0_fix-version.patch deleted file mode 100644 index 763bcfeca9f..00000000000 --- a/easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-12.3.0_fix-version.patch +++ /dev/null @@ -1,7 +0,0 @@ ---- 0.22/GCCcore-12.3.0/Pint-0.22/setup.py.orig 2023-12-13 18:45:35.241637807 +0000 -+++ 0.22/GCCcore-12.3.0/Pint-0.22/setup.py 2023-12-13 18:49:29.304418276 +0000 -@@ -0,0 +1,4 @@ -+from setuptools import setup -+ -+ -+setup(version='0.22') From ae881430a13aa3c0d06f7e65e007b20e233c9066 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 22 Jan 2024 14:31:56 +0100 Subject: [PATCH 113/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index 2311e800cb6..01ef3789d01 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -27,7 +27,7 @@ dependencies = [ ('yaff', '1.6.0'), ('TAMkin', '1.2.6'), ('QuickFF', '2.2.7'), - ('Pint', '0.22'), + ('Pint', '0.23'), ('bcrypt', '4.0.1'), ('ruamel.yaml', '0.17.32'), ('plotly.py', '5.16.0'), From 84c315fc3b63d3f0a46cc38c52561420bc226cf6 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 22 Jan 2024 14:32:34 +0100 Subject: [PATCH 114/889] Update pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch --- ...pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch index 402bd476a10..c0854e34c37 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch @@ -23,7 +23,8 @@ Fixes use of dynamic versioning in pyproject.toml and puts in a specific version + "numpy>=1.25.1", + "pandas>=2.0.3", + "phonopy>=2.20.0", - "pint==0.22", +- "pint==0.22", ++ "pint>=0.22", "pyiron_base==0.6.12", - "pylammpsmpi==0.2.9", + "pylammpsmpi>=0.2.9", From eba4b27f893c5ba1520aa52377b6859f2a41fa96 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 22 Jan 2024 14:35:07 +0100 Subject: [PATCH 115/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index 01ef3789d01..d771af25f92 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -27,7 +27,6 @@ dependencies = [ ('yaff', '1.6.0'), ('TAMkin', '1.2.6'), ('QuickFF', '2.2.7'), - ('Pint', '0.23'), ('bcrypt', '4.0.1'), ('ruamel.yaml', '0.17.32'), ('plotly.py', '5.16.0'), @@ -42,6 +41,7 @@ check_ldshared = True use_pip = True exts_list = [ + ('pint', '0.23'), ('pydantic_core', '2.14.6', { 'source_tmpl': '%(name)s-%(version)s-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl', 'checksums': ['b2602177668f89b38b9f84b7b3435d0a72511ddef45dc14446811759b82235a1'], From d66786f03d113939e3f6bf06fd409afd11636c78 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 22 Jan 2024 14:41:12 +0100 Subject: [PATCH 116/889] Update pyiron-0.5.1-foss-2023a.eb --- .../p/pyiron/pyiron-0.5.1-foss-2023a.eb | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index d771af25f92..c1e9e5fdcb7 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -41,7 +41,10 @@ check_ldshared = True use_pip = True exts_list = [ - ('pint', '0.23'), + ('pint', '0.23', { + 'source_tmpl': 'Pint-%(version)s.tar.gz', + 'checksums': ['e1509b91606dbc52527c600a4ef74ffac12fff70688aff20e9072409346ec9b4'], + }), ('pydantic_core', '2.14.6', { 'source_tmpl': '%(name)s-%(version)s-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl', 'checksums': ['b2602177668f89b38b9f84b7b3435d0a72511ddef45dc14446811759b82235a1'], @@ -61,14 +64,14 @@ exts_list = [ }), ('pydantic-settings', '2.1.0', { 'sources': {'source_urls': ['https://github.com/pydantic/pydantic-settings/archive/refs/tags/'], - 'download_filename': 'v%(version)s.tar.gz', - 'filename': '%(name)s-%(version)s.tar.gz'}, + 'download_filename': 'v%(version)s.tar.gz', + 'filename': '%(name)s-%(version)s.tar.gz'}, 'checksums': ['be83f7a7da10a0686a00da1b9e62856072bbcfb7d6a420ea3c78c66b145fcd93'], }), ('annotated-types', '0.6.0', { 'sources': {'source_urls': ['https://github.com/%(name)s/%(name)s/archive/refs/tags/'], - 'download_filename': 'v%(version)s.tar.gz', - 'filename': '%(name)s-%(version)s.tar.gz'}, + 'download_filename': 'v%(version)s.tar.gz', + 'filename': '%(name)s-%(version)s.tar.gz'}, 'checksums': ['0b99aba34b87840d7578705968d87fe6265c1a1604bcf9ccc11902b1d8d39ad8'], }), ('jsonschema', '4.18.0', { @@ -150,7 +153,7 @@ exts_list = [ 'checksums': [ {'pyiron_atomistics-0.3.11.tar.gz': '8c73c452fe60cb808961d22361f9b749488e3d50a8bda7f5c0132aea2f69e00f'}, {'pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch': - 'e7059f005eef599668022f1796acb5ac4cb82bcef6abe732bb15ec6dc44e86a2'}, + '17375bfadfe22d575d92bab92e4318a2a1a475efefc3739d4a461b9efeea39be'}, ], }), ('mp-api', '0.39.4', { From 5cdd5875183f23c50c73271d40b2cf5e0d8d8734 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 22 Jan 2024 15:19:17 +0100 Subject: [PATCH 117/889] Update pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch --- ...yiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch index c0854e34c37..46ab8c36467 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch @@ -23,8 +23,8 @@ Fixes use of dynamic versioning in pyproject.toml and puts in a specific version + "numpy>=1.25.1", + "pandas>=2.0.3", + "phonopy>=2.20.0", -- "pint==0.22", -+ "pint>=0.22", +- "pint==0.22", ++ "pint>=0.22", "pyiron_base==0.6.12", - "pylammpsmpi==0.2.9", + "pylammpsmpi>=0.2.9", From 8c317da76231fe0b444de9b738d3f91b8942b692 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 22 Jan 2024 15:19:56 +0100 Subject: [PATCH 118/889] Update pyiron-0.5.1-foss-2023a.eb --- .../easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index c1e9e5fdcb7..c11b7870d3d 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -63,15 +63,11 @@ exts_list = [ 'checksums': ['a8df96034aae6d2d50a4ebe8216326c61c3eb64836776504fcca410e5937a3ba'], }), ('pydantic-settings', '2.1.0', { - 'sources': {'source_urls': ['https://github.com/pydantic/pydantic-settings/archive/refs/tags/'], - 'download_filename': 'v%(version)s.tar.gz', - 'filename': '%(name)s-%(version)s.tar.gz'}, + 'sources': {'source_urls': ['https://github.com/pydantic/pydantic-settings/archive/refs/tags/'], 'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}, 'checksums': ['be83f7a7da10a0686a00da1b9e62856072bbcfb7d6a420ea3c78c66b145fcd93'], }), ('annotated-types', '0.6.0', { - 'sources': {'source_urls': ['https://github.com/%(name)s/%(name)s/archive/refs/tags/'], - 'download_filename': 'v%(version)s.tar.gz', - 'filename': '%(name)s-%(version)s.tar.gz'}, + 'sources': {'source_urls': ['https://github.com/%(name)s/%(name)s/archive/refs/tags/'], 'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}, 'checksums': ['0b99aba34b87840d7578705968d87fe6265c1a1604bcf9ccc11902b1d8d39ad8'], }), ('jsonschema', '4.18.0', { @@ -153,7 +149,7 @@ exts_list = [ 'checksums': [ {'pyiron_atomistics-0.3.11.tar.gz': '8c73c452fe60cb808961d22361f9b749488e3d50a8bda7f5c0132aea2f69e00f'}, {'pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch': - '17375bfadfe22d575d92bab92e4318a2a1a475efefc3739d4a461b9efeea39be'}, + '5c9b987cb63508f482bff696e252987e10df9b8ee8e860491583c8e547d4568c'}, ], }), ('mp-api', '0.39.4', { From 02e7a99122d2fea26a2f6581d32290f1cb79a7a7 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 22 Jan 2024 15:34:26 +0100 Subject: [PATCH 119/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index c11b7870d3d..36c7b676185 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -63,11 +63,15 @@ exts_list = [ 'checksums': ['a8df96034aae6d2d50a4ebe8216326c61c3eb64836776504fcca410e5937a3ba'], }), ('pydantic-settings', '2.1.0', { - 'sources': {'source_urls': ['https://github.com/pydantic/pydantic-settings/archive/refs/tags/'], 'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}, + 'sources': {'source_urls': ['https://github.com/pydantic/pydantic-settings/archive/refs/tags/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': '%(name)s-%(version)s.tar.gz'}, 'checksums': ['be83f7a7da10a0686a00da1b9e62856072bbcfb7d6a420ea3c78c66b145fcd93'], }), ('annotated-types', '0.6.0', { - 'sources': {'source_urls': ['https://github.com/%(name)s/%(name)s/archive/refs/tags/'], 'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}, + 'sources': {'source_urls': ['https://github.com/%(name)s/%(name)s/archive/refs/tags/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': '%(name)s-%(version)s.tar.gz'}, 'checksums': ['0b99aba34b87840d7578705968d87fe6265c1a1604bcf9ccc11902b1d8d39ad8'], }), ('jsonschema', '4.18.0', { From 8b3487586eeb4759bcd46ac5381aacfb15a6cca2 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Tue, 23 Jan 2024 10:24:03 +0100 Subject: [PATCH 120/889] convert comment to download_instructions in GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb --- .../GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb index c8b407a094c..8eb11be2a93 100644 --- a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb +++ b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb @@ -30,8 +30,10 @@ dependencies = [ ('imkl', '2022.1.0', '', SYSTEM), ] -# manually download via http://www.msg.chem.iastate.edu/gamess/download.html (requires registration) -# rename gamess-current.tar.gz by changing 'current' to the proper version +download_instructions = """ +1. Manually download via http://www.msg.chem.iastate.edu/gamess/download.html (requires registration) +2. Rename gamess-current.tar.gz to gamess-%(version)s.tar.gz +""" sources = ['gamess-%(version)s.tar.gz'] patches = ['GAMESS-US-20230930_add_slurm_support_mpi_target.patch'] checksums = [ From 1adaa388dde38222dd75620241d42c2bc138d75d Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Tue, 23 Jan 2024 10:47:17 +0100 Subject: [PATCH 121/889] adding patch GAMESS-US-20230630_add_slurm_support_mpi_target.patch --- ...0230630_add_slurm_support_mpi_target.patch | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230630_add_slurm_support_mpi_target.patch diff --git a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230630_add_slurm_support_mpi_target.patch b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230630_add_slurm_support_mpi_target.patch new file mode 100644 index 00000000000..1f5e924f957 --- /dev/null +++ b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230630_add_slurm_support_mpi_target.patch @@ -0,0 +1,26 @@ +Add support for Slurm scheduler on MPI targets that do not have any nodefile +given by the user. +author: Alex Domingo (Vrije Universiteit Brussel) +--- rungms.orig 2023-07-01 08:04:29.000000000 +0200 ++++ rungms 2023-12-13 16:29:19.738351362 +0100 +@@ -188,6 +188,7 @@ + set SCHED=none + if ($?PBS_O_LOGNAME) set SCHED=PBS + if ($?SGE_O_LOGNAME) set SCHED=SGE ++if ($?SLURM_JOB_ID) set SCHED=SLURM + if ($SCHED == SGE) then + set SCR=$TMPDIR + echo "SGE has assigned the following compute nodes to this run:" +@@ -805,6 +806,12 @@ + set NNODES=$NNODES[1] + echo "MPI was given $NNODES nodes by PBS..." + breaksw ++ case SLURM: ++ scontrol show hostname "$SLURM_NODELIST" > $HOSTFILE ++ set NNODES=`wc -l $HOSTFILE` ++ set NNODES=$NNODES[1] ++ echo "MPI was given $NNODES nodes by Slurm..." ++ breaksw + default: + # Use use provided list (a new feature to be tested). + if (-e $NCPUS) then From 20a852fb3e621c157ff6fbb35686a835fa563dec Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Tue, 23 Jan 2024 10:55:08 +0100 Subject: [PATCH 122/889] conver comment to download_instructions in GAMESS-US-20220930-R2-gompi-2022a.eb and GAMESS-US-20230930-R2-gompi-2022a.eb --- .../g/GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb | 6 ++++-- .../g/GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb index bf649f38963..2b3ea044a2d 100644 --- a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb +++ b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb @@ -30,8 +30,10 @@ dependencies = [ ('libxc', '5.2.3'), ] -# manually download via http://www.msg.chem.iastate.edu/gamess/download.html (requires registration) -# rename gamess-current.tar.gz by changing 'current' to the proper version +download_instructions = """ +1. Manually download via http://www.msg.chem.iastate.edu/gamess/download.html (requires registration) +2. Rename gamess-current.tar.gz to gamess-%(version)s.tar.gz +""" sources = ['gamess-%(version)s.tar.gz'] checksums = ['22c8c2dc3ef007c36a32d9ff5a9e1803ac9006f24065455c22de40dd26fb2a7a'] diff --git a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb index f2052f2e7a8..d0863f4a375 100644 --- a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb +++ b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb @@ -30,8 +30,10 @@ dependencies = [ ('libxc', '5.2.3'), ] -# manually download via http://www.msg.chem.iastate.edu/gamess/download.html (requires registration) -# rename gamess-current.tar.gz by changing 'current' to the proper version +download_instructions = """ +1. Manually download via http://www.msg.chem.iastate.edu/gamess/download.html (requires registration) +2. Rename gamess-current.tar.gz to gamess-%(version)s.tar.gz +""" sources = ['gamess-%(version)s.tar.gz'] patches = ['GAMESS-US-20230930_add_slurm_support_mpi_target.patch'] checksums = [ From d5130a44076919fc201d36e29a47562c68efda7c Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Tue, 23 Jan 2024 10:58:35 +0100 Subject: [PATCH 123/889] Remove toolchain suffix from patch files --- .../m/molmod/molmod-1.4.8-foss-2023a.eb | 4 ++-- ...atch => molmod-1.4.8_fix-np-unicode.patch} | 0 .../p/pyiron/pyiron-0.5.1-foss-2023a.eb | 20 +++++++++---------- ...n-0.5.1_fix-atomistics-requirements.patch} | 0 ...ch => pyiron-0.5.1_fix-emmet-readme.patch} | 0 ...0.5.1_fix-pyiron-atomistics-version.patch} | 0 ...yiron-0.5.1_fix-pyiron-base-version.patch} | 0 ...tch => pyiron-0.5.1_fix-pylammpsmpi.patch} | 0 .../y/yaff/yaff-1.6.0-foss-2023a.eb | 12 +++++------ ...x-h5py.patch => yaff-1.6.0_fix-h5py.patch} | 0 ...ep.patch => yaff-1.6.0_fix-nose-dep.patch} | 0 ...tch => yaff-1.6.0_fix-random-import.patch} | 0 12 files changed, 18 insertions(+), 18 deletions(-) rename easybuild/easyconfigs/m/molmod/{molmod-1.4.8-foss-2023a_fix-np-unicode.patch => molmod-1.4.8_fix-np-unicode.patch} (100%) rename easybuild/easyconfigs/p/pyiron/{pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch => pyiron-0.5.1_fix-atomistics-requirements.patch} (100%) rename easybuild/easyconfigs/p/pyiron/{pyiron-0.5.1-foss-2023a_fix-emmet-readme.patch => pyiron-0.5.1_fix-emmet-readme.patch} (100%) rename easybuild/easyconfigs/p/pyiron/{pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch => pyiron-0.5.1_fix-pyiron-atomistics-version.patch} (100%) rename easybuild/easyconfigs/p/pyiron/{pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch => pyiron-0.5.1_fix-pyiron-base-version.patch} (100%) rename easybuild/easyconfigs/p/pyiron/{pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch => pyiron-0.5.1_fix-pylammpsmpi.patch} (100%) rename easybuild/easyconfigs/y/yaff/{yaff-1.6.0-foss-2023a_fix-h5py.patch => yaff-1.6.0_fix-h5py.patch} (100%) rename easybuild/easyconfigs/y/yaff/{yaff-1.6.0-foss-2023a_fix-nose-dep.patch => yaff-1.6.0_fix-nose-dep.patch} (100%) rename easybuild/easyconfigs/y/yaff/{yaff-1.6.0-foss-2023a_fix-random-import.patch => yaff-1.6.0_fix-random-import.patch} (100%) diff --git a/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2023a.eb b/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2023a.eb index eb570fc1078..6d091b4f23b 100644 --- a/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2023a.eb +++ b/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2023a.eb @@ -10,10 +10,10 @@ toolchain = {'name': 'foss', 'version': '2023a'} source_urls = ['https://github.com/molmod/molmod/releases/download/%(version)s'] sources = [SOURCE_TAR_GZ] -patches = ['molmod-1.4.8-foss-2023a_fix-np-unicode.patch'] +patches = ['molmod-1.4.8_fix-np-unicode.patch'] checksums = [ {'molmod-1.4.8.tar.gz': '759f8894f8a206e8d83f3f88882f29fcf73a7f9be375026e03c58e19496f42e8'}, - {'molmod-1.4.8-foss-2023a_fix-np-unicode.patch': + {'molmod-1.4.8_fix-np-unicode.patch': '85bd2e2981d2cdd8cfab5d1c2cf37432e2967ff82de603700383d7c31530327c'}, ] diff --git a/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2023a_fix-np-unicode.patch b/easybuild/easyconfigs/m/molmod/molmod-1.4.8_fix-np-unicode.patch similarity index 100% rename from easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2023a_fix-np-unicode.patch rename to easybuild/easyconfigs/m/molmod/molmod-1.4.8_fix-np-unicode.patch diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index 36c7b676185..20b07b632d4 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -130,29 +130,29 @@ exts_list = [ 'checksums': ['2e5e3f892b7e49a15443569870aa4ea049951b71fe2ad1ad7f4ac7551d475788'], }), ('pyiron_base', '0.6.12', { - 'patches': ['pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch'], + 'patches': ['pyiron-0.5.1_fix-pyiron-base-version.patch'], 'source_urls': ['https://github.com/pyiron/pyiron_base/archive/refs/tags/'], 'checksums': [ {'pyiron_base-0.6.12.tar.gz': '7ef8fa8b21724776c1ced3ee1efb8484984234150a7f3da296577f90c63751cb'}, - {'pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch': + {'pyiron-0.5.1_fix-pyiron-base-version.patch': 'a6390dcd366e17361fb71f26c6d3b75835526bdf773d9ef535c02836fe551b31'}, ], }), ('atomistics', '0.1.15', { - 'patches': ['pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch'], + 'patches': ['pyiron-0.5.1_fix-atomistics-requirements.patch'], 'source_urls': ['https://github.com/pyiron/atomistics/archive/refs/tags/'], 'checksums': [ {'atomistics-0.1.15.tar.gz': 'e9c505cace0cbeb9ea5ed33799f332f5cc95230a05ba14b646475cff1bdecaee'}, - {'pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch': + {'pyiron-0.5.1_fix-atomistics-requirements.patch': 'deaa57c27be147efc7e4926f6795bfa421280a299fc96de8c0bae342e4770d6c'}, ], }), ('pyiron_atomistics', '0.3.11', { - 'patches': ['pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch'], + 'patches': ['pyiron-0.5.1_fix-pyiron-atomistics-version.patch'], 'source_urls': ['https://github.com/pyiron/pyiron_atomistics/archive/refs/tags/'], 'checksums': [ {'pyiron_atomistics-0.3.11.tar.gz': '8c73c452fe60cb808961d22361f9b749488e3d50a8bda7f5c0132aea2f69e00f'}, - {'pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch': + {'pyiron-0.5.1_fix-pyiron-atomistics-version.patch': '5c9b987cb63508f482bff696e252987e10df9b8ee8e860491583c8e547d4568c'}, ], }), @@ -160,20 +160,20 @@ exts_list = [ 'checksums': ['692abefd6adec36eb4fa193f914e08167ed33a5a3a9714ec3c15606839649f32'], }), ('pylammpsmpi', '0.2.10', { - 'patches': ['pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch'], + 'patches': ['pyiron-0.5.1_fix-pylammpsmpi.patch'], 'source_urls': ['https://github.com/pyiron/pylammpsmpi/archive/refs/tags/'], 'checksums': [ {'pylammpsmpi-0.2.10.tar.gz': 'bd5af29a935dacbee743c3cc0bcc799e24e7c2483801f56cb9092a79f016f2ed'}, - {'pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch': + {'pyiron-0.5.1_fix-pylammpsmpi.patch': 'd7cacf8eb73cb43e47526bfa3f98157073c01cd88918f191f87d7e75ab4c7c30'}, ], }), ('emmet-core', '0.75.0', { 'modulename': 'emmet', - 'patches': ['pyiron-0.5.1-foss-2023a_fix-emmet-readme.patch'], + 'patches': ['pyiron-0.5.1_fix-emmet-readme.patch'], 'checksums': [ {'emmet-core-0.75.0.tar.gz': '2d4b20d542e56c97009d05d03f5595be9395ac27c2fe9809d617f28596c40640'}, - {'pyiron-0.5.1-foss-2023a_fix-emmet-readme.patch': + {'pyiron-0.5.1_fix-emmet-readme.patch': 'd299f388044fdcff32fc246b0215ae4b656bc20d9d3c759d545cbe3167df08b8'}, ], }), diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-atomistics-requirements.patch similarity index 100% rename from easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-atomistics-requirements.patch rename to easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-atomistics-requirements.patch diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-emmet-readme.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-emmet-readme.patch similarity index 100% rename from easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-emmet-readme.patch rename to easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-emmet-readme.patch diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-pyiron-atomistics-version.patch similarity index 100% rename from easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-atomistics-version.patch rename to easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-pyiron-atomistics-version.patch diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-pyiron-base-version.patch similarity index 100% rename from easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pyiron-base-version.patch rename to easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-pyiron-base-version.patch diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-pylammpsmpi.patch similarity index 100% rename from easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a_fix-pylammpsmpi.patch rename to easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-pylammpsmpi.patch diff --git a/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a.eb b/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a.eb index 4bc49223ce2..743974c697c 100644 --- a/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a.eb +++ b/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a.eb @@ -37,9 +37,9 @@ local_runtest += "python setup.py build_ext -i; nosetests -v" exts_list = [ (name, version, { 'patches': [ - 'yaff-1.6.0-foss-2023a_fix-random-import.patch', - 'yaff-1.6.0-foss-2023a_fix-h5py.patch', - 'yaff-1.6.0-foss-2023a_fix-nose-dep.patch', + 'yaff-1.6.0_fix-random-import.patch', + 'yaff-1.6.0_fix-h5py.patch', + 'yaff-1.6.0_fix-nose-dep.patch', ], 'runtest': ("export MATPLOTLIBRC=$PWD; " "echo 'backend: agg' > $MATPLOTLIBRC/matplotlibrc; " @@ -47,11 +47,11 @@ exts_list = [ 'source_urls': ['https://github.com/molmod/yaff/releases/download/%(version)s'], 'checksums': [ {'yaff-1.6.0.tar.gz': 'a266ab032778e37bb2e93152aefb67f396827aa728151651403984429c74ceaa'}, - {'yaff-1.6.0-foss-2023a_fix-random-import.patch': + {'yaff-1.6.0_fix-random-import.patch': 'a38afacbcbfbf16a80742ae8253852e725e656c9d684310894c806f689362840'}, - {'yaff-1.6.0-foss-2023a_fix-h5py.patch': + {'yaff-1.6.0_fix-h5py.patch': 'bd2a73f375910360fd5dd22b3ec006344527476e80dea549f4d82297257105f9'}, - {'yaff-1.6.0-foss-2023a_fix-nose-dep.patch': + {'yaff-1.6.0_fix-nose-dep.patch': '2314c487c4a847d7740d7dfc97052cf7efd764ced726d098def0a1aef0b498e0'}, ], }), diff --git a/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a_fix-h5py.patch b/easybuild/easyconfigs/y/yaff/yaff-1.6.0_fix-h5py.patch similarity index 100% rename from easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a_fix-h5py.patch rename to easybuild/easyconfigs/y/yaff/yaff-1.6.0_fix-h5py.patch diff --git a/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a_fix-nose-dep.patch b/easybuild/easyconfigs/y/yaff/yaff-1.6.0_fix-nose-dep.patch similarity index 100% rename from easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a_fix-nose-dep.patch rename to easybuild/easyconfigs/y/yaff/yaff-1.6.0_fix-nose-dep.patch diff --git a/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a_fix-random-import.patch b/easybuild/easyconfigs/y/yaff/yaff-1.6.0_fix-random-import.patch similarity index 100% rename from easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a_fix-random-import.patch rename to easybuild/easyconfigs/y/yaff/yaff-1.6.0_fix-random-import.patch From a9c2c1e38751b9f4152561ad01dd0d4869b9f343 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Tue, 23 Jan 2024 12:28:10 +0100 Subject: [PATCH 124/889] Fix toolchains Remove already existing numexpr (in SciPy-bundle) and phonopy (foss variant) Remove explicit toolchain specifications for dependencies --- .../n/nglview/nglview-3.0.8-foss-2023a.eb | 4 +- .../n/numexpr/numexpr-2.8.7-foss-2023a.eb | 23 ----------- .../p/PyTables/PyTables-3.8.0-foss-2023a.eb | 2 +- .../p/phonopy/phonopy-2.20.0-gfbf-2023a.eb | 38 ------------------- .../p/pyiron/pyiron-0.5.1-foss-2023a.eb | 1 - 5 files changed, 2 insertions(+), 66 deletions(-) delete mode 100644 easybuild/easyconfigs/n/numexpr/numexpr-2.8.7-foss-2023a.eb delete mode 100644 easybuild/easyconfigs/p/phonopy/phonopy-2.20.0-gfbf-2023a.eb diff --git a/easybuild/easyconfigs/n/nglview/nglview-3.0.8-foss-2023a.eb b/easybuild/easyconfigs/n/nglview/nglview-3.0.8-foss-2023a.eb index 73b94940f74..a0fd0895046 100644 --- a/easybuild/easyconfigs/n/nglview/nglview-3.0.8-foss-2023a.eb +++ b/easybuild/easyconfigs/n/nglview/nglview-3.0.8-foss-2023a.eb @@ -8,11 +8,9 @@ description = "IPython widget to interactively view molecular structures and tra toolchain = {'name': 'foss', 'version': '2023a'} -local_gfbf_ver = '2023a' - dependencies = [ ('Python', '3.11.3'), - ('SciPy-bundle', '2023.07', '', ('gfbf', local_gfbf_ver)), + ('SciPy-bundle', '2023.07'), ('JupyterLab', '4.0.5'), ('nodejs', '18.17.1'), ('MDAnalysis', '2.6.1'), # optional diff --git a/easybuild/easyconfigs/n/numexpr/numexpr-2.8.7-foss-2023a.eb b/easybuild/easyconfigs/n/numexpr/numexpr-2.8.7-foss-2023a.eb deleted file mode 100644 index 14d228ba563..00000000000 --- a/easybuild/easyconfigs/n/numexpr/numexpr-2.8.7-foss-2023a.eb +++ /dev/null @@ -1,23 +0,0 @@ -name = 'numexpr' -version = '2.8.7' - -homepage = 'https://numexpr.readthedocs.io/en/latest/' -description = """The numexpr package evaluates multiple-operator array expressions many times faster than NumPy can. - It accepts the expression as a string, analyzes it, rewrites it more efficiently, and compiles it on the fly into - code for its internal virtual machine (VM). Due to its integrated just-in-time (JIT) compiler, it does not require a - compiler at runtime.""" - -toolchain = {'name': 'foss', 'version': '2023a'} - -source_urls = ['https://github.com/pydata/numexpr/archive/refs/tags'] -sources = ['v%(version)s.tar.gz'] -checksums = ['df5131349ec1e4b080a3e2df7abbb7bce20d023adff633d259e1ce1549a60ed1'] - -local_gfbf_ver = '2023a' - -dependencies = [ - ('Python', '3.11.3'), - ('SciPy-bundle', '2023.07', '', ('gfbf', local_gfbf_ver)), -] - -moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2023a.eb b/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2023a.eb index a0f4b362b19..3804e6016ca 100644 --- a/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2023a.eb +++ b/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2023a.eb @@ -29,7 +29,7 @@ builddependencies = [ dependencies = [ ('Python', '3.11.3'), - ('SciPy-bundle', '2023.07', '', ('gfbf', local_gfbf_ver)), # provides numexpr + ('SciPy-bundle', '2023.07'), # provides numexpr ('HDF5', '1.14.0'), ('LZO', '2.10'), ('Blosc', '1.21.5'), diff --git a/easybuild/easyconfigs/p/phonopy/phonopy-2.20.0-gfbf-2023a.eb b/easybuild/easyconfigs/p/phonopy/phonopy-2.20.0-gfbf-2023a.eb deleted file mode 100644 index 959805d4cce..00000000000 --- a/easybuild/easyconfigs/p/phonopy/phonopy-2.20.0-gfbf-2023a.eb +++ /dev/null @@ -1,38 +0,0 @@ -easyblock = 'PythonPackage' - -name = 'phonopy' -version = '2.20.0' - -homepage = 'https://atztogo.github.io/phonopy/' -description = """Phonopy is an open source package of phonon calculations based on the supercell approach.""" - -toolchain = {'name': 'gfbf', 'version': '2023a'} - -source_urls = ['https://github.com/phonopy/phonopy/archive/refs/tags/'] -sources = ['v%(version)s.tar.gz'] -checksums = ['1dd47cb6e5b427d5cb88ce0b810b91f05533f434d53d22ea69eb974d4eb0ab46'] - -local_foss_ver = '2023a' - -dependencies = [ - ('Python', '3.11.3'), - ('SciPy-bundle', '2023.07'), # for numpy - ('matplotlib', '3.7.2'), - ('PyYAML', '6.0'), - ('h5py', '3.9.0', '', ('foss', local_foss_ver)), - ('spglib-python', '2.1.0'), -] - -download_dep_fail = True -use_pip = True - -sanity_check_paths = { - 'files': ['bin/phonopy'], - 'dirs': ['lib/python%(pyshortver)s/site-packages'], -} - -sanity_check_commands = ["phonopy --help"] - -sanity_pip_check = True - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index 20b07b632d4..b60efd6141d 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -18,7 +18,6 @@ dependencies = [ ('phonopy', '2.20.0'), ('spglib-python', '2.1.0'), ('ASE', '3.22.1'), - ('numexpr', '2.8.7'), ('PyTables', '3.8.0'), ('nglview', '3.0.8'), ('tqdm', '4.66.1'), From 3158cece4f0bcc01b1f39aab34f28de371410484 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Wed, 24 Jan 2024 11:07:44 +0100 Subject: [PATCH 125/889] Remove explicit C++ standard from Blosc/Blosc2 Not required for newer GCC versions and can cause trouble --- easybuild/easyconfigs/b/Blosc/Blosc-1.21.5-GCCcore-12.3.0.eb | 2 +- easybuild/easyconfigs/b/Blosc2/Blosc2-2.8.0-GCCcore-12.3.0.eb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/b/Blosc/Blosc-1.21.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/Blosc/Blosc-1.21.5-GCCcore-12.3.0.eb index 60fb8a755d1..8ec9141c86c 100644 --- a/easybuild/easyconfigs/b/Blosc/Blosc-1.21.5-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/b/Blosc/Blosc-1.21.5-GCCcore-12.3.0.eb @@ -8,7 +8,7 @@ homepage = 'https://www.blosc.org/' description = "Blosc, an extremely fast, multi-threaded, meta-compressor library" toolchain = {'name': 'GCCcore', 'version': '12.3.0'} -toolchainopts = {'pic': True, 'cstd': 'c++11'} +toolchainopts = {'pic': True} source_urls = ['https://github.com/Blosc/c-blosc/archive/'] sources = ['v%(version)s.tar.gz'] diff --git a/easybuild/easyconfigs/b/Blosc2/Blosc2-2.8.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/Blosc2/Blosc2-2.8.0-GCCcore-12.3.0.eb index 58f563af452..9cebfb5a167 100644 --- a/easybuild/easyconfigs/b/Blosc2/Blosc2-2.8.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/b/Blosc2/Blosc2-2.8.0-GCCcore-12.3.0.eb @@ -11,7 +11,7 @@ homepage = 'https://www.blosc.org/' description = "Blosc, an extremely fast, multi-threaded, meta-compressor library" toolchain = {'name': 'GCCcore', 'version': '12.3.0'} -toolchainopts = {'pic': True, 'cstd': 'c++11'} +toolchainopts = {'pic': True} source_urls = ['https://github.com/Blosc/c-blosc2/archive/'] sources = ['v%(version)s.tar.gz'] From ea209e99b26e8fca59dbcb7157a3e7f571194366 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Wed, 24 Jan 2024 11:10:28 +0100 Subject: [PATCH 126/889] Convert some ECs to PythonPackage and improve formatting --- .../coverage/coverage-7.2.3-GCCcore-12.3.0.eb | 9 +-- .../n/nglview/nglview-3.0.8-foss-2023a.eb | 19 +++--- .../n/nose3/nose3-1.3.8-GCCcore-12.3.0.eb | 4 +- .../py-cpuinfo-9.0.0-GCCcore-12.3.0.eb | 9 +-- .../y/yaff/yaff-1.6.0-foss-2023a.eb | 58 ++++++++----------- 5 files changed, 36 insertions(+), 63 deletions(-) diff --git a/easybuild/easyconfigs/c/coverage/coverage-7.2.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/coverage/coverage-7.2.3-GCCcore-12.3.0.eb index f75075ae45e..66cdb2b6ec4 100644 --- a/easybuild/easyconfigs/c/coverage/coverage-7.2.3-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/c/coverage/coverage-7.2.3-GCCcore-12.3.0.eb @@ -13,13 +13,8 @@ toolchain = {'name': 'GCCcore', 'version': '12.3.0'} sources = [SOURCE_TAR_GZ] checksums = ['d298c2815fa4891edd9abe5ad6e6cb4207104c7dd9fd13aea3fdebf6f9b91259'] -builddependencies = [ - ('binutils', '2.40'), -] - -dependencies = [ - ('Python', '3.11.3'), -] +builddependencies = [('binutils', '2.40')] +dependencies = [('Python', '3.11.3')] use_pip = True sanity_pip_check = True diff --git a/easybuild/easyconfigs/n/nglview/nglview-3.0.8-foss-2023a.eb b/easybuild/easyconfigs/n/nglview/nglview-3.0.8-foss-2023a.eb index a0fd0895046..b96adf11bdc 100644 --- a/easybuild/easyconfigs/n/nglview/nglview-3.0.8-foss-2023a.eb +++ b/easybuild/easyconfigs/n/nglview/nglview-3.0.8-foss-2023a.eb @@ -1,4 +1,4 @@ -easyblock = 'PythonBundle' +easyblock = 'PythonPackage' name = 'nglview' version = '3.0.8' @@ -16,20 +16,15 @@ dependencies = [ ('MDAnalysis', '2.6.1'), # optional ] -use_pip = True - -exts_list = [ - ('versioneer', '0.28', { - 'checksums': ['7175ca8e7bb4dd0e3c9779dd2745e5b4a6036304af3f5e50bd896f10196586d6'], - }), - (name, version, { - 'use_pip_extras': 'MDAnalysis', - 'checksums': ['f9e468cd813dac319cbeca6ae20ae099008ff3a06399f5d23d75582dde28623a'], - }), -] +sources = [SOURCE_TAR_GZ] +checksums = ['f9e468cd813dac319cbeca6ae20ae099008ff3a06399f5d23d75582dde28623a'] +use_pip = True +download_dep_fail = True sanity_pip_check = True +use_pip_extras = 'MDAnalysis' + sanity_check_paths = { 'files': ['bin/nglview'], 'dirs': ['lib/python%(pyshortver)s/site-packages'], diff --git a/easybuild/easyconfigs/n/nose3/nose3-1.3.8-GCCcore-12.3.0.eb b/easybuild/easyconfigs/n/nose3/nose3-1.3.8-GCCcore-12.3.0.eb index 46f4f2d2669..bc5d8e11586 100644 --- a/easybuild/easyconfigs/n/nose3/nose3-1.3.8-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/n/nose3/nose3-1.3.8-GCCcore-12.3.0.eb @@ -11,9 +11,7 @@ toolchain = {'name': 'GCCcore', 'version': '12.3.0'} sources = [SOURCE_TAR_GZ] checksums = ['762aae22cadb898b00b9d4f4bbb9f8e87f8e0dde6c49a88cd0c554f4e5925b76'] -builddependencies = [ - ('binutils', '2.40'), -] +builddependencies = [('binutils', '2.40')] dependencies = [ ('Python', '3.11.3'), diff --git a/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-12.3.0.eb index a4a0886152c..43afd372fa5 100644 --- a/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-12.3.0.eb @@ -11,13 +11,8 @@ toolchain = {'name': 'GCCcore', 'version': '12.3.0'} sources = [SOURCE_TAR_GZ] checksums = ['3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690'] -builddependencies = [ - ('binutils', '2.40'), -] - -dependencies = [ - ('Python', '3.11.3'), -] +builddependencies = [('binutils', '2.40')] +dependencies = [('Python', '3.11.3')] download_dep_fail = True use_pip = True diff --git a/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a.eb b/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a.eb index 743974c697c..47eba698998 100644 --- a/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a.eb +++ b/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2023a.eb @@ -1,14 +1,7 @@ # Updated from previous config # Author: Pavel Grochal (INUITS) # License: GPLv2 -# -# Building this in interactive Slurm session will result in freeze during either -# runtest phase or sanity_check_commands phase (python -c 'import yaff') -# -# If you submit this as non-interactive Slurm job, it will build just fine. -# Possibly root cause: https://github.com/h5py/h5py/issues/917 -# -easyblock = 'PythonBundle' +easyblock = 'PythonPackage' name = 'yaff' version = '1.6.0' @@ -19,7 +12,6 @@ description = """Yaff stands for 'Yet another force field'. It is a pythonic for toolchain = {'name': 'foss', 'version': '2023a'} builddependencies = [('pkgconfig', '1.5.5', '-python')] - dependencies = [ ('Python', '3.11.3'), ('SciPy-bundle', '2023.07'), @@ -28,33 +20,31 @@ dependencies = [ ('nose3', '1.3.8') ] +source_urls = ['https://github.com/molmod/yaff/releases/download/%(version)s'] +sources = [SOURCE_TAR_GZ] +patches = [ + 'yaff-1.6.0_fix-random-import.patch', + 'yaff-1.6.0_fix-h5py.patch', + 'yaff-1.6.0_fix-nose-dep.patch', +] +checksums = [ + {'yaff-1.6.0.tar.gz': 'a266ab032778e37bb2e93152aefb67f396827aa728151651403984429c74ceaa'}, + {'yaff-1.6.0_fix-random-import.patch': + 'a38afacbcbfbf16a80742ae8253852e725e656c9d684310894c806f689362840'}, + {'yaff-1.6.0_fix-h5py.patch': + 'bd2a73f375910360fd5dd22b3ec006344527476e80dea549f4d82297257105f9'}, + {'yaff-1.6.0_fix-nose-dep.patch': + '2314c487c4a847d7740d7dfc97052cf7efd764ced726d098def0a1aef0b498e0'}, +] + use_pip = True +download_dep_fail = True sanity_pip_check = True -local_runtest = "export MATPLOTLIBRC=$PWD; echo 'backend: agg' > $MATPLOTLIBRC/matplotlibrc; " -local_runtest += "python setup.py build_ext -i; nosetests -v" - -exts_list = [ - (name, version, { - 'patches': [ - 'yaff-1.6.0_fix-random-import.patch', - 'yaff-1.6.0_fix-h5py.patch', - 'yaff-1.6.0_fix-nose-dep.patch', - ], - 'runtest': ("export MATPLOTLIBRC=$PWD; " - "echo 'backend: agg' > $MATPLOTLIBRC/matplotlibrc; " - "python setup.py build_ext -i; nosetests -v"), - 'source_urls': ['https://github.com/molmod/yaff/releases/download/%(version)s'], - 'checksums': [ - {'yaff-1.6.0.tar.gz': 'a266ab032778e37bb2e93152aefb67f396827aa728151651403984429c74ceaa'}, - {'yaff-1.6.0_fix-random-import.patch': - 'a38afacbcbfbf16a80742ae8253852e725e656c9d684310894c806f689362840'}, - {'yaff-1.6.0_fix-h5py.patch': - 'bd2a73f375910360fd5dd22b3ec006344527476e80dea549f4d82297257105f9'}, - {'yaff-1.6.0_fix-nose-dep.patch': - '2314c487c4a847d7740d7dfc97052cf7efd764ced726d098def0a1aef0b498e0'}, - ], - }), -] +runtest = ' '.join([ + "export MATPLOTLIBRC=$PWD;", + "echo 'backend: agg' > $MATPLOTLIBRC/matplotlibrc;", + "python setup.py build_ext -i; nosetests -v", +]) moduleclass = 'chem' From c7410dcdb1410136b7e3a816bff669c3b9478c89 Mon Sep 17 00:00:00 2001 From: jfgrimm Date: Wed, 24 Jan 2024 12:00:36 +0000 Subject: [PATCH 127/889] add torchvision patch --- .../torchvision-0.16.2_ffmpeg-6.0-fix.patch | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 easybuild/easyconfigs/t/torchvision/torchvision-0.16.2_ffmpeg-6.0-fix.patch diff --git a/easybuild/easyconfigs/t/torchvision/torchvision-0.16.2_ffmpeg-6.0-fix.patch b/easybuild/easyconfigs/t/torchvision/torchvision-0.16.2_ffmpeg-6.0-fix.patch new file mode 100644 index 00000000000..7a3637f3adc --- /dev/null +++ b/easybuild/easyconfigs/t/torchvision/torchvision-0.16.2_ffmpeg-6.0-fix.patch @@ -0,0 +1,36 @@ +From 86620bd84b872b76db0acafec167949dca03a29e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?= + +Date: Tue, 7 Nov 2023 10:43:11 +0100 +Subject: [PATCH] Fix build with ffmpeg 6.0 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Zoltán Böszörményi +--- + torchvision/csrc/io/decoder/stream.cpp | 11 ++--------- + 1 file changed, 2 insertions(+), 9 deletions(-) + +diff --git a/torchvision/csrc/io/decoder/stream.cpp b/torchvision/csrc/io/decoder/stream.cpp +index 0d625ef211c..8c914050587 100644 +--- a/torchvision/csrc/io/decoder/stream.cpp ++++ b/torchvision/csrc/io/decoder/stream.cpp +@@ -63,15 +63,8 @@ int Stream::openCodec(std::vector* metadata, int num_threads) { + codecCtx_->thread_count = num_threads; + } else { + // otherwise set sensible defaults +- // with the special case for the different MPEG4 codecs +- // that don't have threading context functions +- if (codecCtx_->codec->capabilities & AV_CODEC_CAP_INTRA_ONLY) { +- codecCtx_->thread_type = FF_THREAD_FRAME; +- codecCtx_->thread_count = 2; +- } else { +- codecCtx_->thread_count = 8; +- codecCtx_->thread_type = FF_THREAD_SLICE; +- } ++ codecCtx_->thread_count = 8; ++ codecCtx_->thread_type = FF_THREAD_SLICE; + } + + int ret; From c6d1c61d531bdc51cbe5ce86180454b3d232054e Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Wed, 24 Jan 2024 11:11:59 +0100 Subject: [PATCH 128/889] Move some PythonPackages into own ECs and use existing ones Reduce number of additional packages installed in pyiron --- .../g/Greenlet/Greenlet-2.0.2-foss-2023a.eb | 27 ++++ .../pydantic/pydantic-2.5.3-GCCcore-12.3.0.eb | 122 +++++++++++++++ .../p/pyiron/pyiron-0.5.1-foss-2023a.eb | 139 +----------------- .../emmet-core-0.75.0-fix-readme.patch} | 0 .../pymatgen-2023.12.18-foss-2023a.eb | 138 +++++++++++++++++ .../uncertainties-3.1.7-foss-2023a.eb | 24 +++ 6 files changed, 317 insertions(+), 133 deletions(-) create mode 100644 easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-foss-2023a.eb create mode 100644 easybuild/easyconfigs/p/pydantic/pydantic-2.5.3-GCCcore-12.3.0.eb rename easybuild/easyconfigs/p/{pyiron/pyiron-0.5.1_fix-emmet-readme.patch => pymatgen/emmet-core-0.75.0-fix-readme.patch} (100%) create mode 100644 easybuild/easyconfigs/p/pymatgen/pymatgen-2023.12.18-foss-2023a.eb create mode 100644 easybuild/easyconfigs/u/uncertainties/uncertainties-3.1.7-foss-2023a.eb diff --git a/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-foss-2023a.eb b/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-foss-2023a.eb new file mode 100644 index 00000000000..29d04a9e7b5 --- /dev/null +++ b/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-foss-2023a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'Greenlet' +version = '2.0.2' + +homepage = 'https://github.com/python-greenlet/greenlet' + +description = """The greenlet package is a spin-off of Stackless, a version of CPython that +supports micro-threads called "tasklets". Tasklets run pseudo-concurrently (typically in a single +or a few OS-level threads) and are synchronized with data exchanges on "channels". +A "greenlet", on the other hand, is a still more primitive notion of micro-thread with no implicit +scheduling; coroutines, in other words. This is useful when you want to control exactly when your code runs. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [('Python', '3.11.3')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pydantic/pydantic-2.5.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pydantic/pydantic-2.5.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..23955f5d21d --- /dev/null +++ b/easybuild/easyconfigs/p/pydantic/pydantic-2.5.3-GCCcore-12.3.0.eb @@ -0,0 +1,122 @@ +easyblock = 'CargoPythonBundle' + +name = 'pydantic' +version = '2.5.3' + +homepage = 'https://github.com/samuelcolvin/pydantic' +description = """Data validation and settings management using Python type hinting.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('Rust', '1.75.0'), + ('maturin', '1.4.0', '-Rust-1.75.0'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('typing-extensions', '4.9.0'), +] + +use_pip = True +sanity_pip_check = True + +crates = [ + ('ahash', '0.8.6'), + ('aho-corasick', '1.0.2'), + ('autocfg', '1.1.0'), + ('base64', '0.21.5'), + ('bitflags', '1.3.2'), + ('cc', '1.0.79'), + ('cfg-if', '1.0.0'), + ('enum_dispatch', '0.3.12'), + ('equivalent', '1.0.1'), + ('form_urlencoded', '1.2.0'), + ('getrandom', '0.2.10'), + ('hashbrown', '0.14.0'), + ('heck', '0.4.1'), + ('idna', '0.4.0'), + ('indexmap', '2.0.0'), + ('indoc', '2.0.4'), + ('itoa', '1.0.8'), + ('jiter', '0.0.4'), + ('lexical-core', '0.8.5'), + ('lexical-parse-float', '0.8.5'), + ('lexical-parse-integer', '0.8.6'), + ('lexical-util', '0.8.5'), + ('lexical-write-float', '0.8.5'), + ('lexical-write-integer', '0.8.5'), + ('libc', '0.2.147'), + ('lock_api', '0.4.10'), + ('memchr', '2.6.3'), + ('memoffset', '0.9.0'), + ('num-bigint', '0.4.4'), + ('num-integer', '0.1.45'), + ('num-traits', '0.2.16'), + ('once_cell', '1.18.0'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.8'), + ('percent-encoding', '2.3.0'), + ('proc-macro2', '1.0.69'), + ('pyo3', '0.20.0'), + ('pyo3-build-config', '0.20.0'), + ('pyo3-ffi', '0.20.0'), + ('pyo3-macros', '0.20.0'), + ('pyo3-macros-backend', '0.20.0'), + ('python3-dll-a', '0.2.9'), + ('quote', '1.0.29'), + ('redox_syscall', '0.3.5'), + ('regex', '1.10.2'), + ('regex-automata', '0.4.3'), + ('regex-syntax', '0.8.2'), + ('rustversion', '1.0.13'), + ('ryu', '1.0.14'), + ('scopeguard', '1.1.0'), + ('serde', '1.0.190'), + ('serde_derive', '1.0.190'), + ('serde_json', '1.0.108'), + ('smallvec', '1.11.1'), + ('speedate', '0.13.0'), + ('static_assertions', '1.1.0'), + ('strum', '0.25.0'), + ('strum_macros', '0.25.3'), + ('syn', '2.0.38'), + ('target-lexicon', '0.12.9'), + ('tinyvec', '1.6.0'), + ('tinyvec_macros', '0.1.1'), + ('unicode-bidi', '0.3.13'), + ('unicode-ident', '1.0.10'), + ('unicode-normalization', '0.1.22'), + ('unindent', '0.2.3'), + ('url', '2.4.1'), + ('uuid', '1.5.0'), + ('version_check', '0.9.4'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('windows-targets', '0.48.1'), + ('windows_aarch64_gnullvm', '0.48.0'), + ('windows_aarch64_msvc', '0.48.0'), + ('windows_i686_gnu', '0.48.0'), + ('windows_i686_msvc', '0.48.0'), + ('windows_x86_64_gnu', '0.48.0'), + ('windows_x86_64_gnullvm', '0.48.0'), + ('windows_x86_64_msvc', '0.48.0'), + ('zerocopy', '0.7.20'), + ('zerocopy-derive', '0.7.20'), +] + +exts_list = [ + ('annotated_types', '0.6.0', { + 'checksums': ['563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d'], + }), + ('pydantic_core', '2.14.6', { + 'checksums': ['1fd0c1d395372843fba13a51c28e3bb9d59bd7aebfeb17358ffaaa1e4dbbe948'], + }), + (name, version, { + 'preinstallopts': "sed -i '/Framework :: Pydantic/d' pyproject.toml && ", + 'checksums': ['b3ef57c62535b0941697cce638c08900d87fcb67e29cfa99e8a68f747f393f7a'], + }), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index b60efd6141d..132fa8d3080 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -9,14 +9,15 @@ description = "An integrated development environment (IDE) for computational mat toolchain = {'name': 'foss', 'version': '2023a'} +builddependencies = [('poetry', '1.5.1')] dependencies = [ ('Python', '3.11.3'), ('SciPy-bundle', '2023.07'), + ('Python-bundle-PyPI', '2023.06'), ('matplotlib', '3.7.2'), ('h5py', '3.9.0'), ('PyYAML', '6.0'), ('phonopy', '2.20.0'), - ('spglib-python', '2.1.0'), ('ASE', '3.22.1'), ('PyTables', '3.8.0'), ('nglview', '3.0.8'), @@ -26,14 +27,12 @@ dependencies = [ ('yaff', '1.6.0'), ('TAMkin', '1.2.6'), ('QuickFF', '2.2.7'), - ('bcrypt', '4.0.1'), - ('ruamel.yaml', '0.17.32'), ('plotly.py', '5.16.0'), - ('Flask', '2.3.3'), - ('boto3', '1.28.70'), + ('GitPython', '3.1.40'), + ('Greenlet', '2.0.2'), + ('dill', '0.3.7'), ('sympy', '1.12'), - ('maturin', '1.1.0'), - ('poetry', '1.5.1'), + ('pymatgen', '2023.12.18'), ] check_ldshared = True @@ -44,41 +43,6 @@ exts_list = [ 'source_tmpl': 'Pint-%(version)s.tar.gz', 'checksums': ['e1509b91606dbc52527c600a4ef74ffac12fff70688aff20e9072409346ec9b4'], }), - ('pydantic_core', '2.14.6', { - 'source_tmpl': '%(name)s-%(version)s-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl', - 'checksums': ['b2602177668f89b38b9f84b7b3435d0a72511ddef45dc14446811759b82235a1'], - }), - ('pydantic', '2.5.3', { - 'checksums': ['b3ef57c62535b0941697cce638c08900d87fcb67e29cfa99e8a68f747f393f7a'], - }), - ('greenlet', '2.0.2', { - 'checksums': ['e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0'], - }), - ('typing_extensions', '4.9.0', { - 'checksums': ['23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783'], - }), - ('python-dotenv', '1.0.0', { - 'modulename': 'dotenv', - 'checksums': ['a8df96034aae6d2d50a4ebe8216326c61c3eb64836776504fcca410e5937a3ba'], - }), - ('pydantic-settings', '2.1.0', { - 'sources': {'source_urls': ['https://github.com/pydantic/pydantic-settings/archive/refs/tags/'], - 'download_filename': 'v%(version)s.tar.gz', - 'filename': '%(name)s-%(version)s.tar.gz'}, - 'checksums': ['be83f7a7da10a0686a00da1b9e62856072bbcfb7d6a420ea3c78c66b145fcd93'], - }), - ('annotated-types', '0.6.0', { - 'sources': {'source_urls': ['https://github.com/%(name)s/%(name)s/archive/refs/tags/'], - 'download_filename': 'v%(version)s.tar.gz', - 'filename': '%(name)s-%(version)s.tar.gz'}, - 'checksums': ['0b99aba34b87840d7578705968d87fe6265c1a1604bcf9ccc11902b1d8d39ad8'], - }), - ('jsonschema', '4.18.0', { - 'checksums': ['8caf5b57a990a98e9b39832ef3cb35c176fe331414252b6e1b26fd5866f891a4'], - }), - ('sshtunnel', '0.4.0', { - 'checksums': ['e7cb0ea774db81bf91844db22de72a40aae8f7b0f9bb9ba0f666d474ef6bf9fc'], - }), ('h5io', '0.1.2', { 'checksums': ['6400543224c489f1cf487be551f892310fa7060fcd4935b84e515efdc1e1fa43'], }), @@ -88,29 +52,9 @@ exts_list = [ ('pysqa', '0.1.7', { 'checksums': ['fdc37e0178649750e7386b4e9b8287693ee2d47559723c11b9ad42afcfc55900'], }), - ('paramiko', '3.3.1', { - 'checksums': ['6a3777a961ac86dbef375c5f5b8d50014a1a96d0fd7f054a43bc880134b0ff77'], - }), ('SQLAlchemy', '2.0.23', { 'checksums': ['c1bda93cbbe4aa2aa0aa8655c5aeda505cd219ff3e8da91d1d329e143e4aff69'], }), - ('dill', '0.3.2', { - 'source_tmpl': 'dill-%(version)s.zip', - 'checksums': ['6e12da0d8e49c220e8d6e97ee8882002e624f1160289ce85ec2cc0a5246b3a2e'], - }), - ('smmap', '3.0.4', { - 'checksums': ['9c98bbd1f9786d22f14b3d4126894d56befb835ec90cef151af566c7e19b5d24'], - }), - ('gitdb', '4.0.5', { - 'checksums': ['c9e1f2d0db7ddb9a704c2a0217be31214e91a4fe1dea1efad19ae42ba0c285c9'], - }), - ('GitPython', '3.1.8', { - 'modulename': 'git', - 'checksums': ['080bf8e2cf1a2b907634761c2eaefbe83b69930c94c66ad11b65a8252959f912'], - }), - ('colorama', '0.4.4', { - 'checksums': ['5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b'], - }), ('pyfiglet', '0.8.post1', { 'checksums': ['c6c2321755d09267b438ec7b936825a4910fec696292139e664ca8670e103639'], }), @@ -125,7 +69,6 @@ exts_list = [ }), (name, version, { 'modulename': False, - 'source_urls': ['https://github.com/pyiron/pyiron/archive/refs/tags/%(name)s-%(version)s.tar.gz'], 'checksums': ['2e5e3f892b7e49a15443569870aa4ea049951b71fe2ad1ad7f4ac7551d475788'], }), ('pyiron_base', '0.6.12', { @@ -155,9 +98,6 @@ exts_list = [ '5c9b987cb63508f482bff696e252987e10df9b8ee8e860491583c8e547d4568c'}, ], }), - ('mp-api', '0.39.4', { - 'checksums': ['692abefd6adec36eb4fa193f914e08167ed33a5a3a9714ec3c15606839649f32'], - }), ('pylammpsmpi', '0.2.10', { 'patches': ['pyiron-0.5.1_fix-pylammpsmpi.patch'], 'source_urls': ['https://github.com/pyiron/pylammpsmpi/archive/refs/tags/'], @@ -167,79 +107,12 @@ exts_list = [ 'd7cacf8eb73cb43e47526bfa3f98157073c01cd88918f191f87d7e75ab4c7c30'}, ], }), - ('emmet-core', '0.75.0', { - 'modulename': 'emmet', - 'patches': ['pyiron-0.5.1_fix-emmet-readme.patch'], - 'checksums': [ - {'emmet-core-0.75.0.tar.gz': '2d4b20d542e56c97009d05d03f5595be9395ac27c2fe9809d617f28596c40640'}, - {'pyiron-0.5.1_fix-emmet-readme.patch': - 'd299f388044fdcff32fc246b0215ae4b656bc20d9d3c759d545cbe3167df08b8'}, - ], - }), - ('maggma', '0.60.2', { - 'checksums': ['12e8da1f80505f39432b972cbe47fb378cd9aa51fab968877a2d3b2588c96c69'], - }), - ('monty', '2023.11.3', { - 'checksums': ['d961c14b0b20901c7603aa00d275e62dee8333fbdaf1179f5d862c6fb3f3c52f'], - }), - ('pymatgen', '2023.12.18', { - 'checksums': ['56c0041fe5431ac1b8f8c0c17d06091c4d61082c3a99924f3940d73ebb6656eb'], - }), ('pympipool', '0.7.9', { 'checksums': ['5698181bc5dc9a69595fd00ff6a8ba651b77734ccf00df79ae3aea8aaf32790a'], }), ('structuretoolkit', '0.0.15', { 'checksums': ['1a258a072055d0c20e9d56156afd4481cfc94c2612c1b908de4b274b423cc6e6'], }), - ('uncertainties', '3.1.7', { - 'checksums': ['80111e0839f239c5b233cb4772017b483a0b7a1573a581b92ab7746a35e6faab'], - }), - ('palettable', '3.1.1', { - 'checksums': ['0685b223a236bb7e2a900ef7a855ccf9a4027361c8acf400f3b350ea51870f80'], - }), - ('pybtex', '0.24.0', { - 'checksums': ['818eae35b61733e5c007c3fcd2cfb75ed1bc8b4173c1f70b56cc4c0802d34755'], - }), - ('h11', '0.14.0', { - 'checksums': ['8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d'], - }), - ('mongogrant', '0.3.3', { - 'checksums': ['ad494b8638adfa840cdd5568af44448dd43771b58102550cf7c61402b1620ab4'], - }), - ('mongomock', '4.1.2', { - 'checksums': ['f06cd62afb8ae3ef63ba31349abd220a657ef0dd4f0243a29587c5213f931b7d'], - }), - ('pymongo', '4.6.1', { - 'checksums': ['31dab1f3e1d0cdd57e8df01b645f52d43cc1b653ed3afd535d2891f4fc4f9712'], - }), - ('pydash', '7.0.6', { - 'checksums': ['7d9df7e9f36f2bbb08316b609480e7c6468185473a21bdd8e65dda7915565a26'], - }), - ('uvicorn', '0.25.0', { - 'checksums': ['6dddbad1d7ee0f5140aba5ec138ddc9612c5109399903828b4874c9937f009c2'], - }), - ('starlette', '0.27.0', { - 'checksums': ['6a6b0d042acb8d469a01eba54e9cda6cbd24ac602c4cd016723117d6a7e73b75'], - }), - ('orjson', '3.9.10', { - 'checksums': ['9ebbdbd6a046c304b1845e96fbcc5559cd296b4dfd3ad2509e33c4d9ce07d6a1'], - }), - ('dnspython', '2.4.2', { - 'modulename': False, - 'checksums': ['8dcfae8c7460a2f84b4072e26f1c9f4101ca20c071649cb7c34e8b6a93d58984'], - }), - ('fastapi', '0.105.0', { - 'checksums': ['4d12838819aa52af244580675825e750ad67c9df4614f557a769606af902cf22'], - }), - ('aioitertools', '0.11.0', { - 'checksums': ['42c68b8dd3a69c2bf7f2233bf7df4bb58b557bca5252ac02ed5187bbc67d6831'], - }), - ('latexcodec', '2.0.1', { - 'checksums': ['2aa2551c373261cefe2ad3a8953a6d6533e68238d180eb4bb91d7964adb3fe9a'], - }), - ('sentinels', '1.0.0', { - 'checksums': ['7be0704d7fe1925e397e92d18669ace2f619c92b5d4eb21a89f31e026f9ff4b1'], - }), ] sanity_pip_check = True diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-emmet-readme.patch b/easybuild/easyconfigs/p/pymatgen/emmet-core-0.75.0-fix-readme.patch similarity index 100% rename from easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-emmet-readme.patch rename to easybuild/easyconfigs/p/pymatgen/emmet-core-0.75.0-fix-readme.patch diff --git a/easybuild/easyconfigs/p/pymatgen/pymatgen-2023.12.18-foss-2023a.eb b/easybuild/easyconfigs/p/pymatgen/pymatgen-2023.12.18-foss-2023a.eb new file mode 100644 index 00000000000..5432a146d04 --- /dev/null +++ b/easybuild/easyconfigs/p/pymatgen/pymatgen-2023.12.18-foss-2023a.eb @@ -0,0 +1,138 @@ +easyblock = 'PythonBundle' + +name = 'pymatgen' +version = '2023.12.18' + +homepage = 'https://pymatgen.org/' +description = """Python Materials Genomics is a robust materials analysis code that defines core object + representations for structures and molecules with support for many electronic structure codes.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('hatchling', '1.18.0'), + ('hypothesis', '6.82.0'), # required for tests + ('maturin', '1.1.0'), + ('poetry', '1.5.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('PyYAML', '6.0'), + ('PyZMQ', '25.1.1'), + ('bcrypt', '4.0.1'), + ('boto3', '1.28.70'), + ('Flask', '2.3.3'), + ('matplotlib', '3.7.2'), + ('networkx', '3.1'), + ('paramiko', '3.2.0'), + ('plotly.py', '5.16.0'), + ('pydantic', '2.5.3'), + ('ruamel.yaml', '0.17.32'), + ('spglib-python', '2.1.0'), + ('sympy', '1.12'), + ('tqdm', '4.66.1'), + ('uncertainties', '3.1.7'), +] + +use_pip = True + +exts_list = [ + ('palettable', '3.3.0', { + 'checksums': ['72feca71cf7d79830cd6d9181b02edf227b867d503bec953cf9fa91bf44896bd'], + }), + ('latexcodec', '2.0.1', { + 'checksums': ['2aa2551c373261cefe2ad3a8953a6d6533e68238d180eb4bb91d7964adb3fe9a'], + }), + ('pybtex', '0.24.0', { + 'checksums': ['818eae35b61733e5c007c3fcd2cfb75ed1bc8b4173c1f70b56cc4c0802d34755'], + }), + ('h11', '0.14.0', { + 'checksums': ['8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d'], + }), + ('uvicorn', '0.25.0', { + 'checksums': ['6dddbad1d7ee0f5140aba5ec138ddc9612c5109399903828b4874c9937f009c2'], + }), + ('sshtunnel', '0.4.0', { + 'checksums': ['e7cb0ea774db81bf91844db22de72a40aae8f7b0f9bb9ba0f666d474ef6bf9fc'], + }), + ('dnspython', '2.4.2', { + 'modulename': False, + 'checksums': ['8dcfae8c7460a2f84b4072e26f1c9f4101ca20c071649cb7c34e8b6a93d58984'], + }), + ('pymongo', '4.6.1', { + 'checksums': ['31dab1f3e1d0cdd57e8df01b645f52d43cc1b653ed3afd535d2891f4fc4f9712'], + }), + ('pydash', '7.0.6', { + 'checksums': ['7d9df7e9f36f2bbb08316b609480e7c6468185473a21bdd8e65dda7915565a26'], + }), + ('python-dotenv', '1.0.0', { + 'modulename': 'dotenv', + 'checksums': ['a8df96034aae6d2d50a4ebe8216326c61c3eb64836776504fcca410e5937a3ba'], + }), + ('pydantic-settings', '2.1.0', { + 'sources': {'source_urls': ['https://github.com/pydantic/pydantic-settings/archive/refs/tags/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ}, + 'checksums': ['be83f7a7da10a0686a00da1b9e62856072bbcfb7d6a420ea3c78c66b145fcd93'], + }), + ('emmet-core', '0.75.0', { + 'modulename': 'emmet', + 'patches': ['emmet-core-0.75.0-fix-readme.patch'], + 'checksums': [ + {'emmet-core-0.75.0.tar.gz': '2d4b20d542e56c97009d05d03f5595be9395ac27c2fe9809d617f28596c40640'}, + {'emmet-core-0.75.0-fix-readme.patch': + 'd299f388044fdcff32fc246b0215ae4b656bc20d9d3c759d545cbe3167df08b8'}, + ], + }), + ('orjson', '3.9.10', { + 'checksums': ['9ebbdbd6a046c304b1845e96fbcc5559cd296b4dfd3ad2509e33c4d9ce07d6a1'], + }), + ('monty', '2023.11.3', { + 'checksums': ['d961c14b0b20901c7603aa00d275e62dee8333fbdaf1179f5d862c6fb3f3c52f'], + }), + ('sentinels', '1.0.0', { + 'checksums': ['7be0704d7fe1925e397e92d18669ace2f619c92b5d4eb21a89f31e026f9ff4b1'], + }), + ('mongomock', '4.1.2', { + 'checksums': ['f06cd62afb8ae3ef63ba31349abd220a657ef0dd4f0243a29587c5213f931b7d'], + }), + ('mongogrant', '0.3.3', { + 'checksums': ['ad494b8638adfa840cdd5568af44448dd43771b58102550cf7c61402b1620ab4'], + }), + ('sniffio', '1.3.0', { # Same version as in jupyter-server + 'checksums': ['e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101'], + }), + ('anyio', '3.7.1', { # Same version as in jupyter-server + 'checksums': ['44a3c9aba0f5defa43261a8b3efb97891f2bd7d804e0e1f56419befa1adfc780'], + }), + ('starlette', '0.27.0', { + 'checksums': ['6a6b0d042acb8d469a01eba54e9cda6cbd24ac602c4cd016723117d6a7e73b75'], + }), + ('fastapi', '0.105.0', { + 'checksums': ['4d12838819aa52af244580675825e750ad67c9df4614f557a769606af902cf22'], + }), + ('aioitertools', '0.11.0', { + 'checksums': ['42c68b8dd3a69c2bf7f2233bf7df4bb58b557bca5252ac02ed5187bbc67d6831'], + }), + ('maggma', '0.60.2', { + 'checksums': ['12e8da1f80505f39432b972cbe47fb378cd9aa51fab968877a2d3b2588c96c69'], + }), + ('mp-api', '0.39.4', { + 'checksums': ['692abefd6adec36eb4fa193f914e08167ed33a5a3a9714ec3c15606839649f32'], + }), + (name, version, { + 'checksums': ['56c0041fe5431ac1b8f8c0c17d06091c4d61082c3a99924f3940d73ebb6656eb'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pmg'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["pmg --help"] + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/u/uncertainties/uncertainties-3.1.7-foss-2023a.eb b/easybuild/easyconfigs/u/uncertainties/uncertainties-3.1.7-foss-2023a.eb new file mode 100644 index 00000000000..2b643d74ce6 --- /dev/null +++ b/easybuild/easyconfigs/u/uncertainties/uncertainties-3.1.7-foss-2023a.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'uncertainties' +version = '3.1.7' + +homepage = 'http://uncertainties-python-package.readthedocs.io' +description = """Transparent calculations with uncertainties on the quantities involved (aka error propagation); + fast calculation of derivatives""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +sources = [SOURCE_TAR_GZ] +checksums = ['80111e0839f239c5b233cb4772017b483a0b7a1573a581b92ab7746a35e6faab'] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'lib' From 6ab34120a223955f2cc551f0fb24d19fc2f8adec Mon Sep 17 00:00:00 2001 From: sassy Date: Fri, 26 Jan 2024 11:49:43 +0000 Subject: [PATCH 129/889] Updated to 24.0.2 which only got released a few days ago --- ...NI-24.0.01-foss-2023a.eb => AFNI-24.0.02-foss-2023a.eb} | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) rename easybuild/easyconfigs/a/AFNI/{AFNI-24.0.01-foss-2023a.eb => AFNI-24.0.02-foss-2023a.eb} (92%) diff --git a/easybuild/easyconfigs/a/AFNI/AFNI-24.0.01-foss-2023a.eb b/easybuild/easyconfigs/a/AFNI/AFNI-24.0.02-foss-2023a.eb similarity index 92% rename from easybuild/easyconfigs/a/AFNI/AFNI-24.0.01-foss-2023a.eb rename to easybuild/easyconfigs/a/AFNI/AFNI-24.0.02-foss-2023a.eb index 7926d97d997..265f24fc704 100644 --- a/easybuild/easyconfigs/a/AFNI/AFNI-24.0.01-foss-2023a.eb +++ b/easybuild/easyconfigs/a/AFNI/AFNI-24.0.02-foss-2023a.eb @@ -1,11 +1,10 @@ -# Updated to use CMake and better installation routines -# Updated to version 24.0.01 +# Updated to version 24.0.02 # Author: J. Sassmannshausen (Imperial College London/UK) easyblock = 'CMakeMake' name = 'AFNI' -version = '24.0.01' +version = '24.0.02' homepage = 'http://afni.nimh.nih.gov/' description = """AFNI is a set of C programs for processing, analyzing, and displaying functional MRI (FMRI) data - @@ -16,7 +15,7 @@ toolchainopts = {'openmp': True, 'pic': True} source_urls = ['https://github.com/afni/afni/archive/'] sources = ['AFNI_%(version)s.tar.gz'] -checksums = ['eb4135978bdf54be0ce1577b87c82ffe4ea4dfdeec21aa3a38e4a6929c9567b0'] +checksums = ['2915ed5bf98712abe3373bfc285f946fdee6cf1367e23ba80575dd6eedb3529a'] builddependencies = [ ('CMake', '3.26.3'), From b70ab66fe07ce6b27fd648f8ec9e275f2260dae9 Mon Sep 17 00:00:00 2001 From: Bart Oldeman Date: Thu, 1 Feb 2024 13:35:09 +0000 Subject: [PATCH 130/889] adding easyconfigs: Z3-4.12.5-GCCcore-13.2.0.eb, Clang-17.0.6-GCCcore-13.2.0.eb --- .../c/Clang/Clang-17.0.6-GCCcore-13.2.0.eb | 55 +++++++++++++++++++ .../z/Z3/Z3-4.12.5-GCCcore-13.2.0.eb | 33 +++++++++++ 2 files changed, 88 insertions(+) create mode 100644 easybuild/easyconfigs/c/Clang/Clang-17.0.6-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/z/Z3/Z3-4.12.5-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/c/Clang/Clang-17.0.6-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/Clang/Clang-17.0.6-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..57ee152e63c --- /dev/null +++ b/easybuild/easyconfigs/c/Clang/Clang-17.0.6-GCCcore-13.2.0.eb @@ -0,0 +1,55 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2013-2015 Dmitri Gribenko, Ward Poelmans +# Authors:: Dmitri Gribenko +# Authors:: Ward Poelmans +# License:: GPLv2 or later, MIT, three-clause BSD. +# $Id$ +## + +name = 'Clang' +version = '17.0.6' + +homepage = 'https://clang.llvm.org/' +description = """C, C++, Objective-C compiler, based on LLVM. Does not + include C++ standard library -- use libstdc++ from GCC.""" + +# Clang also depends on libstdc++ during runtime, but this dependency is +# already specified as the toolchain. +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s"] +sources = [ + 'llvm-project-%(version)s.src.tar.xz', +] +checksums = ['58a8818c60e6627064f312dbf46c02d9949956558340938b71cf731ad8bc0813'] + +builddependencies = [ + ('CMake', '3.27.6'), + ('Perl', '5.38.0'), + # Including Python bindings would require this as a runtime dep + # and SWIG as an additional build dep + ('Python', '3.11.5'), +] +dependencies = [ + # since Clang is a compiler, binutils is a runtime dependency too + ('binutils', '2.40'), + ('hwloc', '2.9.2'), + ('libxml2', '2.11.5'), + ('ncurses', '6.4'), + ('GMP', '6.3.0'), + ('Z3', '4.12.5'), +] + +# If True, Flang does not currently support building with LLVM exceptions enabled. +enable_rtti = False + +assertions = True +python_bindings = False +skip_all_tests = True + +llvm_runtimes = ['libunwind', 'libcxx', 'libcxxabi'] +llvm_projects = ['polly', 'lld', 'lldb', 'clang-tools-extra', 'flang'] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/z/Z3/Z3-4.12.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/z/Z3/Z3-4.12.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..a5fd483d2fc --- /dev/null +++ b/easybuild/easyconfigs/z/Z3/Z3-4.12.5-GCCcore-13.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'Z3' +version = '4.12.5' + +homepage = 'https://github.com/Z3Prover/z3' +description = """ + Z3 is a theorem prover from Microsoft Research. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/Z3Prover/z3/archive/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['70e211e0a8e77febccc51865e45111066f623356a4ef0b527c3597362bc6db72'] + +builddependencies = [ + ('CMake', '3.27.6'), + ('binutils', '2.40'), +] + +dependencies = [ + ('GMP', '6.3.0'), +] + +configopts = '-DZ3_USE_LIB_GMP=ON -DZ3_LINK_TIME_OPTIMIZATION=ON ' + +sanity_check_paths = { + 'files': ['bin/z3', 'include/z3_api.h', 'lib/libz3.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' From 84accc3d942c522acb2772a74f4d16393e89b63f Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Thu, 1 Feb 2024 15:19:26 +0100 Subject: [PATCH 131/889] Update PyOpenGL-3.1.7-GCCcore-12.3.0.eb remove download_dep_fail --- .../easyconfigs/p/PyOpenGL/PyOpenGL-3.1.7-GCCcore-12.3.0.eb | 2 -- 1 file changed, 2 deletions(-) diff --git a/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.7-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.7-GCCcore-12.3.0.eb index 3ab70b9eae5..5da5a99ea37 100644 --- a/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.7-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.7-GCCcore-12.3.0.eb @@ -18,7 +18,6 @@ dependencies = [ ('Python', '3.11.3'), ] -download_dep_fail = True use_pip = True exts_list = [ @@ -31,7 +30,6 @@ exts_list = [ 'checksums': ['2b123621273a939f7fd2ec227541e399f9b5d4e815d69ae0bdb1b6c70a293680'], }), ] - sanity_pip_check = True moduleclass = 'vis' From 6977868fc0aaa22c632f448f61b3872a26f9c202 Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Thu, 1 Feb 2024 15:30:03 +0100 Subject: [PATCH 132/889] Update and rename napari-0.4.19rc3-foss-2023a.eb to napari-0.4.19-foss-2023a.eb 0.4.19rc3 -> 0.4.19 --- ...ri-0.4.19rc3-foss-2023a.eb => napari-0.4.19-foss-2023a.eb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename easybuild/easyconfigs/n/napari/{napari-0.4.19rc3-foss-2023a.eb => napari-0.4.19-foss-2023a.eb} (97%) diff --git a/easybuild/easyconfigs/n/napari/napari-0.4.19rc3-foss-2023a.eb b/easybuild/easyconfigs/n/napari/napari-0.4.19-foss-2023a.eb similarity index 97% rename from easybuild/easyconfigs/n/napari/napari-0.4.19rc3-foss-2023a.eb rename to easybuild/easyconfigs/n/napari/napari-0.4.19-foss-2023a.eb index 179ed203dbd..c8cdd8873c0 100644 --- a/easybuild/easyconfigs/n/napari/napari-0.4.19rc3-foss-2023a.eb +++ b/easybuild/easyconfigs/n/napari/napari-0.4.19-foss-2023a.eb @@ -2,7 +2,7 @@ easyblock = 'PythonBundle' name = 'napari' -version = '0.4.19rc3' +version = '0.4.19' homepage = 'https://napari.org/' description = """napari is a fast, interactive, multi-dimensional image viewer for Python. It's @@ -100,7 +100,7 @@ exts_list = [ 'checksums': ['75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782'], }), (name, version, { - 'checksums': ['f5fc2db2a0b357f9413ae51f64ff8fa554dff6be8288d33e5a52e7da215d6fe4'], + 'checksums': ['083468ebbdb3e91c6bba6ed60bc75747adcba622376caf8a1a6490378cea0f6d'], }), ] From 28c2316201f65a9aac4c960e36272d7d32ebec40 Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Thu, 1 Feb 2024 15:48:33 +0100 Subject: [PATCH 133/889] Update napari-0.4.19-foss-2023a.eb add checksum for pydantic_compat --- easybuild/easyconfigs/n/napari/napari-0.4.19-foss-2023a.eb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/n/napari/napari-0.4.19-foss-2023a.eb b/easybuild/easyconfigs/n/napari/napari-0.4.19-foss-2023a.eb index c8cdd8873c0..9cfeac2f61d 100644 --- a/easybuild/easyconfigs/n/napari/napari-0.4.19-foss-2023a.eb +++ b/easybuild/easyconfigs/n/napari/napari-0.4.19-foss-2023a.eb @@ -42,7 +42,9 @@ exts_list = [ ('in_n_out', '0.1.9', { 'checksums': ['89feb944e420faf42d3c2542145681b4d57144355932c2b859695fcdc4f9a2da'], }), - ('pydantic_compat', '0.1.2'), + ('pydantic_compat', '0.1.2', { + 'checksums': ['c5c5bca39ca2d22cad00c02898e400e1920e5127649a8e860637f15566739373'], + }), ('app_model', '0.2.4', { 'checksums': ['127cda637003a34b26371c9c68ae5b24d7012682f071a10657a94900c8cd439d'], }), From 263d506e0a80c6caae061a9c2d36dd5d5bec0da1 Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Thu, 1 Feb 2024 15:57:51 +0100 Subject: [PATCH 134/889] Update napari-0.4.19-foss-2023a.eb update napari-plugin-engine2 to version 0.7.4 --- easybuild/easyconfigs/n/napari/napari-0.4.19-foss-2023a.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/n/napari/napari-0.4.19-foss-2023a.eb b/easybuild/easyconfigs/n/napari/napari-0.4.19-foss-2023a.eb index 9cfeac2f61d..afba3d6fb17 100644 --- a/easybuild/easyconfigs/n/napari/napari-0.4.19-foss-2023a.eb +++ b/easybuild/easyconfigs/n/napari/napari-0.4.19-foss-2023a.eb @@ -95,8 +95,8 @@ exts_list = [ ('rich', '13.7.0', { 'checksums': ['5cb5123b5cf9ee70584244246816e9114227e0b98ad9176eede6ad54bf5403fa'], }), - ('npe2', '0.7.3', { - 'checksums': ['4bbb45577a7c60e1aa15636040ef4cf7690d22470e08717af689f50ddeffc807'], + ('npe2', '0.7.4', { + 'checksums': ['969d5394b24225cff1ab6625f29ea1603a6509714bd9496c49e697c3e49077b0'], }), ('mypy_extensions', '1.0.0', { 'checksums': ['75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782'], From 6573517e11b2c89c864089b1b2c5cd5c2ddcbc67 Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Thu, 1 Feb 2024 16:53:24 +0100 Subject: [PATCH 135/889] Update napari-0.4.19-foss-2023a.eb adjust dependency imageio to ver 2.33.1 --- easybuild/easyconfigs/n/napari/napari-0.4.19-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/n/napari/napari-0.4.19-foss-2023a.eb b/easybuild/easyconfigs/n/napari/napari-0.4.19-foss-2023a.eb index afba3d6fb17..225fd5d1f31 100644 --- a/easybuild/easyconfigs/n/napari/napari-0.4.19-foss-2023a.eb +++ b/easybuild/easyconfigs/n/napari/napari-0.4.19-foss-2023a.eb @@ -24,7 +24,7 @@ dependencies = [ ('pydantic', '2.5.3'), ('dask', '2023.9.2'), ('PyOpenGL', '3.1.7'), - ('imageio', '2.33.0'), + ('imageio', '2.33.1'), ('tqdm', '4.66.1'), ('IPython', '8.14.0'), ('VisPy', '0.14.1'), From 9a19bb3bb5f36a87d4d4c0752fed69d782acb45c Mon Sep 17 00:00:00 2001 From: jfgrimm Date: Fri, 2 Feb 2024 11:32:04 +0000 Subject: [PATCH 136/889] add 3dem patches for topaz --- ...z-0.2.5.20231120-foss-2023a-CUDA-12.1.1.eb | 11 +- ....5.20231120_helical-filament-picking.patch | 289 ++++++++++++++++++ ...az-0.2.5.20231120_update-description.patch | 24 ++ 3 files changed, 322 insertions(+), 2 deletions(-) create mode 100644 easybuild/easyconfigs/t/topaz/topaz-0.2.5.20231120_helical-filament-picking.patch create mode 100644 easybuild/easyconfigs/t/topaz/topaz-0.2.5.20231120_update-description.patch diff --git a/easybuild/easyconfigs/t/topaz/topaz-0.2.5.20231120-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/t/topaz/topaz-0.2.5.20231120-foss-2023a-CUDA-12.1.1.eb index a99c772078d..877445f182e 100644 --- a/easybuild/easyconfigs/t/topaz/topaz-0.2.5.20231120-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/t/topaz/topaz-0.2.5.20231120-foss-2023a-CUDA-12.1.1.eb @@ -1,4 +1,4 @@ -# Thomas Hoffman, EMBL Heidelberg, structures-it@embl.de, 2023/11 +# Thomas Hoffman, EMBL Heidelberg, structures-it@embl.de, 2023/11 easyblock = 'PythonPackage' name = 'topaz' @@ -10,7 +10,7 @@ versionsuffix = '-CUDA-%(cudaver)s' homepage = 'http://cb.csail.mit.edu/cb/topaz/' -description = """Particle picking software for single particle cryo-electron microscopy using +description = """Particle picking software for single particle cryo-electron microscopy using convolutional neural networks and positive-unlabeled learning. Includes methods for micrograph denoising.""" @@ -23,6 +23,7 @@ dependencies = [ ('PyTorch', '2.1.2', versionsuffix), ('scikit-learn', '1.3.1'), ('torchvision', '0.16.2', versionsuffix), + ('scikit-image', '0.22.0'), ] source_urls = ['https://github.com/tbepler/topaz/archive'] @@ -32,10 +33,16 @@ sources = [{ }] patches = [ 'topaz-0.2.5_install_relion3_wrappers.patch', + 'topaz-0.2.5.20231120_helical-filament-picking.patch', + 'topaz-0.2.5.20231120_update-description.patch', ] checksums = [ {'topaz-0.2.5.20231120.tar.gz': 'ca0630f9a69622eb3e10c9de310f58ac846e60a5504c4533398a9a75b3091df9'}, {'topaz-0.2.5_install_relion3_wrappers.patch': '0fe23a0ecaf887aaa89641a7e7cf37fafd3134384b0a8f46acb4e17537d1a151'}, + {'topaz-0.2.5.20231120_helical-filament-picking.patch': + '320466e4ac1d1f06ba392a419aefa369905baa6877717868cd8ea7135b6bc28f'}, + {'topaz-0.2.5.20231120_update-description.patch': + '073241dba2de63e543136a387ff7ef698a5e0139ab3356de021e370338fa57c1'}, ] download_dep_fail = True diff --git a/easybuild/easyconfigs/t/topaz/topaz-0.2.5.20231120_helical-filament-picking.patch b/easybuild/easyconfigs/t/topaz/topaz-0.2.5.20231120_helical-filament-picking.patch new file mode 100644 index 00000000000..2e8413fd5e3 --- /dev/null +++ b/easybuild/easyconfigs/t/topaz/topaz-0.2.5.20231120_helical-filament-picking.patch @@ -0,0 +1,289 @@ +From 4ea1710c88648ff4c5f7232e20ad5d9aa9535241 Mon Sep 17 00:00:00 2001 +From: scheres +Date: Wed, 5 Jan 2022 12:13:10 +0000 +Subject: [PATCH] implemented helical filament picking in extract.py + +--- + topaz/commands/extract.py | 225 ++++++++++++++++++++++++++++++++++++-- + 1 file changed, 215 insertions(+), 10 deletions(-) + +diff --git a/topaz/commands/extract.py b/topaz/commands/extract.py +index 3c3f032..6676618 100644 +--- a/topaz/commands/extract.py ++++ b/topaz/commands/extract.py +@@ -52,6 +52,11 @@ def add_arguments(parser): + parser.add_argument('--targets', help='path to file specifying particle coordinates. used to find extraction radius that maximizes the AUPRC') + parser.add_argument('--only-validate', action='store_true', help='flag indicating to only calculate validation metrics. does not report full prediction list') + ++ # Filament picking SHWS 30032021 ++ parser.add_argument('-f', '--filaments', action='store_true', help='flag for filament start-end picking.') ++ parser.add_argument('-fp', '--filaments_plot', action='store_true', help='flag for filament start-end picking plus plotting of its intermediate stages (useful for tuning parameters).') ++ parser.add_argument('-fl', '--filaments_length', default=-1, type=int, help='minimum length of straight filament segments to be picked (in Angstrom) (default: twice --radius)') ++ + parser.add_argument('-d', '--device', default=0, type=int, help='which device to use, <0 corresponds to CPU') + + parser.add_argument('-o', '--output', help='file path to write') +@@ -63,24 +68,219 @@ def add_arguments(parser): + + return parser + ++ ++def is_in_between(point, line): ++ dx = line[1][0] - line[0][0] ++ dy = line[1][1] - line[0][1] ++ dotp = (point[0] - line[0][0])*dx + (point[1] - line[0][1])*dy ++ return 0 <= dotp and dotp <= dx*dx + dy*dy ++ ++def distance_point_line(point, line): ++ x1=line[0][0] ++ x2=line[1][0] ++ y1=line[0][1] ++ y2=line[1][1] ++ x0=point[0] ++ y0=point[1] ++ dd = abs( (x2-x1)*(y1-y0) - (x1-x0)*(y2-y1) ) / np.sqrt( (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1) ) ++ if not is_in_between(point,line): ++ closest = min(distance_point_point(point,line[0]), distance_point_point(point,line[1])) ++ return max(closest, dd) ++ else: ++ return dd ++ ++def distance_point_point(point1, point2): ++ x1=point1[0] ++ y1=point1[1] ++ x2=point2[0] ++ y2=point2[1] ++ return np.sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2)) ++ ++def angle_line_line(line1, line2): ++ a1 = np.arctan2(line1[1][1]-line1[0][1], line1[1][0]-line1[0][0]) ++ a2 = np.arctan2(line2[1][1]-line2[0][1], line2[1][0]-line2[0][0]) ++ return abs(a2-a1) ++ ++def prune_lines(inlines, mind, min_ang, max_merge): ++ import math ++ lengths = [] ++ merged = [] ++ lines = np.asarray(inlines) ++ for line in lines: ++ lengths = np.append(lengths, np.linalg.norm(line[0]-line[1])) ++ merged = np.append(merged, 1) ++ sortidx = np.argsort(lengths); ++ ++ min_ang_rad = math.radians(min_ang) ++ NN = len(sortidx) ++ idx = NN - 1 ++ while idx >= 0: ++ i1 = sortidx[idx] ++ ++ for i2 in range(NN): ++ if (i1 != i2 and lengths[i2] > 0. and lengths[i1] > 0.): ++ ++ d11 = distance_point_line(lines[i1][0],lines[i2]) ++ d12 = distance_point_line(lines[i1][1],lines[i2]) ++ d21 = distance_point_line(lines[i2][0],lines[i1]) ++ d22 = distance_point_line(lines[i2][1],lines[i1]) ++ ang = angle_line_line(lines[i1], lines[i2]) ++ sum = 0 ++ if (d11 < mind): ++ sum = sum + 1 ++ if (d12 < mind): ++ sum = sum + 1 ++ if (d21 < mind): ++ sum = sum + 1 ++ if (d22 < mind): ++ sum = sum + 1 ++ ++ # merge lines if they haven't been merged too often already, they overlap two or more points and are parallel ++ if ( (merged[i1] + merged[i2] < max_merge) and (sum >= 2) and (ang < min_ang_rad or abs(ang-math.pi) < min_ang_rad) ): ++ ++ # select the two points with the furthest distance ++ maxd=0 ++ for i in range(2): ++ for j in range(2): ++ d = distance_point_point(lines[i1][i], lines[i2][j]) ++ if (d > maxd): ++ maxd = d ++ mymax0 = lines[i1][i] ++ mymax1 = lines[i2][j] ++ # perhaps original one was longer? ++ if maxd > lengths[i1]: ++ lines[i1][0] = mymax0 ++ lines[i1][1] = mymax1 ++ lengths[i1] = np.linalg.norm(lines[i1][0]-lines[i1][1]) ++ merged[i1] = merged[i1] + merged[i2] ++ ++ lines[i2][0][0] = -9999 ++ lines[i2][0][1] = -9999 ++ lines[i2][1][0] = -9999 ++ lines[i2][1][1] = -9999 ++ lengths[i2] = 0 ++ merged[i2] = 0 ++ idx = idx + 1 ++ break ++ ++ # remove smaller lines with both points close to longer one ++ elif (d21 < mind and d22 < mind): ++ lines[i2][0][0] = -9999 ++ lines[i2][0][1] = -9999 ++ lines[i2][1][0] = -9999 ++ lines[i2][1][1] = -9999 ++ lengths[i2] = 0 ++ ++ idx = idx - 1 ++ ++ return lines ++ ++ ++def pick_filaments(score, radius, threshold, filaments_length, filaments_plot): ++ from topaz import mrc ++ from skimage.filters import gaussian ++ from skimage.transform import probabilistic_hough_line ++ from skimage.morphology import skeletonize ++ import math ++ ++ #Parameters ++ thr = round(0.1*filaments_length) ++ line_length = filaments_length ++ gap = radius ++ mind= radius ++ min_angle = 10 ++ max_merge = 5 ++ ++ bin_score = (gaussian(score, 3) > threshold) ++ edges = skeletonize(bin_score) ++ houghs = probabilistic_hough_line(edges, threshold=thr, line_length=line_length, line_gap=gap) ++ lines = prune_lines(houghs, mind=mind, min_ang=min_angle, max_merge=max_merge) ++ ++ if filaments_plot: ++ import matplotlib.pyplot as plt ++ from matplotlib import cm ++ fig, axes = plt.subplots(1, 4, figsize=(15, 5), sharex=True, sharey=True) ++ ax = axes.ravel() ++ ++ ax[0].imshow(score, cmap=cm.binary, vmin=-20, vmax=5) ++ ax[0].imshow(bin_score, alpha=0.5, cmap=cm.Reds) ++ ax[0].set_title('FOM [-20,5] thr= ' + str(threshold)) ++ ++ ax[1].imshow(edges, cmap=cm.gray) ++ ax[1].set_title('Skeletonize') ++ ++ ax[2].imshow(edges * 0) ++ for hough in houghs: ++ p0, p1 = hough ++ ax[2].plot((p0[0], p1[0]), (p0[1], p1[1])) ++ ax[2].set_xlim((0, score.shape[1])) ++ ax[2].set_ylim((score.shape[0], 0)) ++ ax[2].set_title('Hough transform; len= ' + str(line_length) + ' gap= ' + str(gap)) ++ ++ ax[3].imshow(edges * 0) ++ for line in lines: ++ p0, p1 = line ++ ax[3].plot((p0[0], p1[0]), (p0[1], p1[1])) ++ ax[3].set_xlim((0, score.shape[1])) ++ ax[3].set_ylim((score.shape[0], 0)) ++ ax[3].set_title('Prune: mind= ' + str(mind)) ++ ++ for a in ax: ++ a.set_axis_off() ++ ++ plt.tight_layout() ++ plt.show() ++ ++ oldlines=lines ++ # Flatten lines into 2D array, as rest of topaz ++ NN=len(lines) ++ if NN>0: ++ lines = lines.reshape(2*NN, 2) ++ # Remove -9999 coordinates ++ newlines = [] ++ for i in range(2*NN): ++ if (lines[i,0] != -9999 and lines[i,1] != -9999): ++ newlines = np.append(newlines, lines[i]) ++ ++ NN=round(len(newlines)/2) ++ if (NN>0): ++ lines = newlines.reshape(NN, 2) ++ else: ++ lines = [] ++ ++ # Just set scores to zero, a they are meaningless now ++ scores = np.zeros(NN, dtype=np.float32) ++ ++ return scores, lines ++ ++ + class NonMaximumSuppression: +- def __init__(self, radius, threshold): ++ def __init__(self, radius, threshold, do_filaments=False, filaments_length=150, filaments_plot=False): + self.radius = radius + self.threshold = threshold ++ self.do_filaments = do_filaments ++ self.filaments_length = filaments_length ++ self.filaments_plot = filaments_plot + + def __call__(self, args): + name,score = args +- score,coords = non_maximum_suppression(score, self.radius, threshold=self.threshold) +- return name, score, coords ++ if self.do_filaments: ++ score,coords = pick_filaments(score, self.radius, threshold=self.threshold, length=self.filaments_length, filaments_plot = self.filaments_plot ) ++ else: ++ score,coords = non_maximum_suppression(score, self.radius, threshold=self.threshold, length=self.filaments_length) ++ return name, core, coords + +-def nms_iterator(scores, radius, threshold, pool=None): +- process = NonMaximumSuppression(radius, threshold) ++def nms_iterator(scores, radius, threshold, pool=None, do_filaments=False, filaments_length=150, filaments_plot=False): ++ process = NonMaximumSuppression(radius, threshold, do_filaments, filaments_length, filaments_plot) + if pool is not None: + for name,score,coords in pool.imap_unordered(process, scores): + yield name,score,coords + else: + for name,score in scores: +- score,coords = non_maximum_suppression(score, radius, threshold=threshold) ++ if do_filaments: ++ score,coords = pick_filaments(score, radius, threshold=threshold, filaments_length=filaments_length, filaments_plot=filaments_plot) ++ else: ++ score,coords = non_maximum_suppression(score, radius, threshold=threshold) + yield name,score,coords + + def iterate_score_target_pairs(scores, targets): +@@ -231,6 +431,12 @@ def main(args): + if radius is None: + radius = -1 + ++ do_filaments = args.filaments or args.filaments_plot ++ filaments_length = args.filaments_length ++ if (filaments_length < 0): ++ filaments_length = 2 * radius ++ filaments_plot = args.filaments_plot ++ + num_workers = args.num_workers + pool = None + if num_workers < 0: +@@ -284,12 +490,13 @@ def main(args): + + if not per_micrograph: + print('image_name\tx_coord\ty_coord\tscore', file=f) ++ + ## extract coordinates using radius +- for path,score,coords in nms_iterator(stream, radius, threshold, pool=pool): ++ for path,score,coords in nms_iterator(stream, radius, threshold, pool=pool, do_filaments=do_filaments, filaments_length=filaments_length, filaments_plot=filaments_plot): + basename = os.path.basename(path) + name = os.path.splitext(basename)[0] + ## scale the coordinates +- if scale != 1: ++ if scale != 1 and len(coords)>0: + coords = np.round(coords*scale).astype(int) + + if per_micrograph: +@@ -303,8 +510,6 @@ def main(args): + print(name + '\t' + str(coords[i,0]) + '\t' + str(coords[i,1]) + '\t' + str(score[i]), file=f) + + +- +- + if __name__ == '__main__': + import argparse + parser = argparse.ArgumentParser('Script for extracting particles from segmented images or images processed with a trained model. Uses a non maximum suppression algorithm.') diff --git a/easybuild/easyconfigs/t/topaz/topaz-0.2.5.20231120_update-description.patch b/easybuild/easyconfigs/t/topaz/topaz-0.2.5.20231120_update-description.patch new file mode 100644 index 00000000000..f52fac9497d --- /dev/null +++ b/easybuild/easyconfigs/t/topaz/topaz-0.2.5.20231120_update-description.patch @@ -0,0 +1,24 @@ +From 14b2bc331768b67b3267397523de57c707fa1253 Mon Sep 17 00:00:00 2001 +From: scheres +Date: Fri, 25 Mar 2022 09:27:07 +0000 +Subject: [PATCH] added description of new options and dependency on skimage + +--- + README.md | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/README.md b/README.md +index bed6f4f..a98993c 100644 +--- a/README.md ++++ b/README.md +@@ -3,6 +3,10 @@ A pipeline for particle detection in cryo-electron microscopy images using convo + + **Check out our [Discussion](https://github.com/tbepler/topaz/discussions) section for general help, suggestions, and tips on using Topaz.** + ++## New in modification for filament picking: ++- Added support for filament start-end coordinate picking (new options -f, -fp and -fl in the extract command), for subsequent helical reconstruction in RELION ++- This adds a new dependency to skimage (make sure you install this in your conda environment) ++ + ## New in v0.2.5 + - Added Relion integration scripts + - Topaz extract can now write particle coordinates to one file per input micrograph From 0dadece1e6a9012c31164e3ec0fa6f13f7b661bd Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Sat, 3 Feb 2024 11:23:11 +0100 Subject: [PATCH 137/889] add libxc as dependency of GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb --- .../GAMESS-US/GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb index 8eb11be2a93..c16b820edd3 100644 --- a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb +++ b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb @@ -28,6 +28,7 @@ toolchainopts = {'openmp': True} dependencies = [ ('imkl', '2022.1.0', '', SYSTEM), + ('libxc', '5.2.3'), ] download_instructions = """ From 255c28750cff51020b1e69bf13587cd26235caef Mon Sep 17 00:00:00 2001 From: Jiri Furst Date: Thu, 15 Feb 2024 13:28:26 +0100 Subject: [PATCH 138/889] adding easyconfigs: gmsh-4.12.2-foss-2023a.eb --- .../g/gmsh/gmsh-4.12.2-foss-2023a.eb | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 easybuild/easyconfigs/g/gmsh/gmsh-4.12.2-foss-2023a.eb diff --git a/easybuild/easyconfigs/g/gmsh/gmsh-4.12.2-foss-2023a.eb b/easybuild/easyconfigs/g/gmsh/gmsh-4.12.2-foss-2023a.eb new file mode 100644 index 00000000000..6b555b2971b --- /dev/null +++ b/easybuild/easyconfigs/g/gmsh/gmsh-4.12.2-foss-2023a.eb @@ -0,0 +1,42 @@ +easyblock = 'CMakeMake' + +name = 'gmsh' +version = '4.12.2' + +homepage = 'https://gmsh.info/' +description = "Gmsh is a 3D finite element grid generator with a build-in CAD engine and post-processor." + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://%(name)s.info/src/'] +sources = ['%(name)s-%(version)s-source.tgz'] +checksums = ['13e09d9ca8102e5c40171d6ee150c668742b98c3a6ca57f837f7b64e1e2af48f'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('SWIG', '4.1.1'), + ('Eigen', '3.4.0'), +] +dependencies = [ + ('Python', '3.11.3'), + ('PETSc', '3.20.3'), + ('SLEPc', '3.20.1'), + ('FLTK', '1.3.8'), + ('occt', '7.8.0'), +] + +separate_build_dir = True + +configopts = "-DENABLE_BUILD_SHARED=ON -DENABLE_WRAP_PYTHON=ON -DENABLE_METIS=1" + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'bin/onelab.py', 'lib/%(name)s.py', 'lib/libgmsh.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ['%(name)s --help'] + +modextrapaths = {'PYTHONPATH': ['lib']} + +moduleclass = 'math' From 0793144ec74eb61b239fb88f3053efea32262b08 Mon Sep 17 00:00:00 2001 From: Bart Oldeman Date: Thu, 15 Feb 2024 15:42:04 +0000 Subject: [PATCH 139/889] Bump Open MPI to 5.0.2 and add internal CUDA patch This patch has changed since libcuda is no longer dlopen()'ed by Open MPI. Instead we can generate a stub library, and at runtime the CUDA-dependent DSO's (but not the main libmpi.so library) load libcuda.so. This is then consistent with https://docs.open-mpi.org/en/v5.0.x/tuning-apps/networking/cuda.html (but --enable-mca-dso= is done by default already) --- ...-13.2.0.eb => OpenMPI-5.0.2-GCC-13.2.0.eb} | 14 +- ....0.2_build-with-internal-cuda-header.patch | 139 ++++++++++++++++++ 2 files changed, 150 insertions(+), 3 deletions(-) rename easybuild/easyconfigs/o/OpenMPI/{OpenMPI-5.0.1-GCC-13.2.0.eb => OpenMPI-5.0.2-GCC-13.2.0.eb} (58%) create mode 100644 easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.2_build-with-internal-cuda-header.patch diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.1-GCC-13.2.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.2-GCC-13.2.0.eb similarity index 58% rename from easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.1-GCC-13.2.0.eb rename to easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.2-GCC-13.2.0.eb index 903f8d4c167..e291e3e2c26 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.1-GCC-13.2.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.2-GCC-13.2.0.eb @@ -1,5 +1,5 @@ name = 'OpenMPI' -version = '5.0.1' +version = '5.0.2' homepage = 'https://www.open-mpi.org/' description = """The Open MPI Project is an open source MPI-3 implementation.""" @@ -8,11 +8,15 @@ toolchain = {'name': 'GCC', 'version': '13.2.0'} source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] sources = [SOURCELOWER_TAR_BZ2] -checksums = ['e357043e65fd1b956a47d0dae6156a90cf0e378df759364936c1781f1a25ef80'] +patches = [('OpenMPI-5.0.2_build-with-internal-cuda-header.patch', 1)] +checksums = [ + {'openmpi-5.0.2.tar.bz2': 'ee46ad8eeee2c3ff70772160bff877cbf38c330a0bc3b3ddc811648b3396698f'}, + {'OpenMPI-5.0.2_build-with-internal-cuda-header.patch': + 'f52dc470543f35efef10d651dd159c771ae25f8f76a420d20d87abf4dc769ed7'}, +] builddependencies = [ ('pkgconf', '2.0.3'), - ('Perl', '5.38.0'), ('Autotools', '20220317'), ] @@ -26,6 +30,10 @@ dependencies = [ ('UCC', '1.2.0'), ] +# CUDA related patches and custom configure option can be removed if CUDA support isn't wanted. +preconfigopts = 'gcc -Iopal/mca/cuda/include -shared opal/mca/cuda/lib/cuda.c -o opal/mca/cuda/lib/libcuda.so && ' +configopts = '--with-cuda=%(start_dir)s/opal/mca/cuda ' + # disable MPI1 compatibility for now, see what breaks... # configopts += '--enable-mpi1-compatibility ' diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.2_build-with-internal-cuda-header.patch b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.2_build-with-internal-cuda-header.patch new file mode 100644 index 00000000000..2d935fda64a --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.2_build-with-internal-cuda-header.patch @@ -0,0 +1,139 @@ +Allow building Open MPI with an internal CUDA header and stub library via +--with-cuda=%(start_dir)s/opal/mca/cuda +by providing an internal minimal cuda.h header file, and function stubs. +This eliminates the CUDA (build)dependency; as long as the runtime CUDA version is 8.0+, +the system's libcuda.so will be used successfully by dynamically loaded plugins in +$EBROOTOPENMPI/lib/openmpi, not by the main libmpi.so. + +Author: Bart Oldeman +diff -urN openmpi-5.0.2.orig/opal/mca/cuda/cuda.c openmpi-5.0.2/opal/mca/cuda/cuda.c +--- openmpi-5.0.2.orig/opal/mca/cuda/lib/cuda.c 1970-01-01 00:00:00.000000000 +0000 ++++ openmpi-5.0.2/opal/mca/cuda/lib/cuda.c 2024-02-15 01:39:24.969142045 +0000 +@@ -0,0 +1,28 @@ ++#include "cuda.h" ++ ++CUresult cuPointerGetAttribute(void *, CUpointer_attribute, CUdeviceptr) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuMemcpyAsync(CUdeviceptr, CUdeviceptr, size_t, CUstream) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuMemAlloc(CUdeviceptr *, size_t) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuMemFree(CUdeviceptr buf) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuCtxGetCurrent(void *cuContext) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuStreamCreate(CUstream *, int) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuEventCreate(CUevent *, int) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuEventRecord(CUevent, CUstream) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuEventQuery(CUevent) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuEventDestroy(CUevent) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuMemHostRegister(void *, size_t, unsigned int) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuMemHostUnregister(void *) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuMemGetAddressRange(CUdeviceptr *, size_t *, CUdeviceptr) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuIpcGetEventHandle(CUipcEventHandle *, CUevent) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuIpcOpenEventHandle(CUevent *, CUipcEventHandle) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuIpcOpenMemHandle(CUdeviceptr *, CUipcMemHandle, unsigned int) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuIpcCloseMemHandle(CUdeviceptr) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuIpcGetMemHandle(CUipcMemHandle *, CUdeviceptr) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuCtxGetDevice(CUdevice *) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuDeviceCanAccessPeer(int *, CUdevice, CUdevice) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuCtxSetCurrent(CUcontext) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuStreamSynchronize(CUstream) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuStreamDestroy(CUstream) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuPointerSetAttribute(const void *, CUpointer_attribute, CUdeviceptr) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuDeviceGetPCIBusId(char*, int, CUdevice) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuPointerGetAttributes(unsigned int, CUpointer_attribute *, void **, CUdeviceptr) { return CUDA_ERROR_UNKNOWN; } +diff -urN openmpi-5.0.2.orig/opal/mca/cuda/include/cuda.h openmpi-5.0.2/opal/mca/cuda/include/cuda.h +--- openmpi-5.0.2.orig/opal/mca/cuda/include/cuda.h 1970-01-01 00:00:00.000000000 +0000 ++++ openmpi-5.0.2/opal/mca/cuda/include/cuda.h 2024-02-15 03:07:26.480531383 +0000 +@@ -0,0 +1,95 @@ ++/* This header provides minimal parts of the CUDA Driver API, without having to ++ rely on the proprietary CUDA toolkit. ++ ++ References (to avoid copying from NVidia's proprietary cuda.h): ++ https://github.com/gcc-mirror/gcc/blob/master/include/cuda/cuda.h ++ https://github.com/Theano/libgpuarray/blob/master/src/loaders/libcuda.h ++ https://github.com/CPFL/gdev/blob/master/cuda/driver/cuda.h ++ https://github.com/CudaWrangler/cuew/blob/master/include/cuew.h ++*/ ++ ++#ifndef OMPI_CUDA_H ++#define OMPI_CUDA_H ++ ++#include ++ ++#define CUDA_VERSION 8000 ++ ++typedef void *CUcontext; ++typedef int CUdevice; ++#if defined(__LP64__) || defined(_WIN64) ++typedef unsigned long long CUdeviceptr; ++#else ++typedef unsigned CUdeviceptr; ++#endif ++typedef void *CUevent; ++typedef void *CUstream; ++ ++typedef enum { ++ CUDA_SUCCESS = 0, ++ CUDA_ERROR_INVALID_VALUE = 1, ++ CUDA_ERROR_NOT_INITIALIZED = 3, ++ CUDA_ERROR_DEINITIALIZED = 4, ++ CUDA_ERROR_ALREADY_MAPPED = 208, ++ CUDA_ERROR_NOT_READY = 600, ++ CUDA_ERROR_UNKNOWN = 999, ++} CUresult; ++ ++enum { ++ CU_EVENT_DISABLE_TIMING = 0x2, ++ CU_EVENT_INTERPROCESS = 0x4, ++}; ++ ++enum { ++ CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS = 0x1, ++}; ++ ++typedef enum { ++ CU_POINTER_ATTRIBUTE_CONTEXT = 1, ++ CU_POINTER_ATTRIBUTE_MEMORY_TYPE = 2, ++ CU_POINTER_ATTRIBUTE_SYNC_MEMOPS = 6, ++ CU_POINTER_ATTRIBUTE_BUFFER_ID = 7, ++ CU_POINTER_ATTRIBUTE_IS_MANAGED = 8, ++} CUpointer_attribute; ++ ++typedef enum { ++ CU_MEMORYTYPE_HOST = 0x01, ++} CUmemorytype; ++ ++#define CU_IPC_HANDLE_SIZE 64 ++typedef struct CUipcEventHandle_st { ++ char reserved[CU_IPC_HANDLE_SIZE]; ++} CUipcEventHandle; ++ ++typedef struct CUipcMemHandle_st { ++ char reserved[CU_IPC_HANDLE_SIZE]; ++} CUipcMemHandle; ++ ++CUresult cuPointerGetAttribute(void *, CUpointer_attribute, CUdeviceptr); ++CUresult cuMemcpyAsync(CUdeviceptr, CUdeviceptr, size_t, CUstream); ++CUresult cuMemAlloc(CUdeviceptr *, size_t); ++CUresult cuMemFree(CUdeviceptr buf); ++CUresult cuCtxGetCurrent(void *cuContext); ++CUresult cuStreamCreate(CUstream *, int); ++CUresult cuEventCreate(CUevent *, int); ++CUresult cuEventRecord(CUevent, CUstream); ++CUresult cuEventQuery(CUevent); ++CUresult cuEventDestroy(CUevent); ++CUresult cuMemHostRegister(void *, size_t, unsigned int); ++CUresult cuMemHostUnregister(void *); ++CUresult cuMemGetAddressRange(CUdeviceptr *, size_t *, CUdeviceptr); ++CUresult cuIpcGetEventHandle(CUipcEventHandle *, CUevent); ++CUresult cuIpcOpenEventHandle(CUevent *, CUipcEventHandle); ++CUresult cuIpcOpenMemHandle(CUdeviceptr *, CUipcMemHandle, unsigned int); ++CUresult cuIpcCloseMemHandle(CUdeviceptr); ++CUresult cuIpcGetMemHandle(CUipcMemHandle *, CUdeviceptr); ++CUresult cuCtxGetDevice(CUdevice *); ++CUresult cuDeviceCanAccessPeer(int *, CUdevice, CUdevice); ++CUresult cuCtxSetCurrent(CUcontext); ++CUresult cuStreamSynchronize(CUstream); ++CUresult cuStreamDestroy(CUstream); ++CUresult cuPointerSetAttribute(const void *, CUpointer_attribute, CUdeviceptr); ++CUresult cuDeviceGetPCIBusId(char*, int, CUdevice); ++CUresult cuPointerGetAttributes(unsigned int, CUpointer_attribute *, void **, CUdeviceptr); ++ ++#endif From 69212eda9a8ecbacfbc77eea62144cff3ae93f8b Mon Sep 17 00:00:00 2001 From: WilleBell Date: Fri, 16 Feb 2024 15:54:27 +0100 Subject: [PATCH 140/889] adding easyconfigs: dorado-0.5.3-foss-2022a-CUDA-11.7.0.eb --- .../dorado-0.5.3-foss-2022a-CUDA-11.7.0.eb | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 easybuild/easyconfigs/d/dorado/dorado-0.5.3-foss-2022a-CUDA-11.7.0.eb diff --git a/easybuild/easyconfigs/d/dorado/dorado-0.5.3-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/d/dorado/dorado-0.5.3-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..62d6434a9e1 --- /dev/null +++ b/easybuild/easyconfigs/d/dorado/dorado-0.5.3-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,74 @@ +easyblock = 'CMakeMake' + +name = 'dorado' +version = '0.5.3' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/nanoporetech/dorado' +description = """Dorado is a high-performance, easy-to-use, open source basecaller for Oxford Nanopore reads.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +# -Wno-error option is required to fix: +# error: void {anonymous}::convert_f32_to_f16_impl(c10::Half*, const float*, std::size_t) defined but not used +toolchainopts = {'usempi': True, 'extra_cxxflags': "-Wno-error=unused-function"} + +source_urls = ['https://github.com/nanoporetech/dorado/archive/'] +sources = [{ + 'git_config': { + 'url': 'https://github.com/nanoporetech', + 'repo_name': name, + 'tag': 'v%(version)s', + 'recursive': True, + }, + 'filename': SOURCE_TAR_GZ, +}] +checksums = [None] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('OpenSSL', '1.1', '', SYSTEM), + ('PyTorch', '1.12.0', '-CUDA-%(cudaver)s'), + ('HDF5', '1.12.2'), + ('zstd', '1.5.2'), + ('HTSlib', '1.15.1'), + ('kineto', '0.4.0'), + ('libaec', '1.0.6'), +] + +# don't link to OpenSSL static libraries +# fix for CMake Error "missing: OPENSSL_CRYPTO_LIBRARY" (if only shared OpenSSL libraries are available) +preconfigopts = "sed -i '/OPENSSL_USE_STATIC_LIBS TRUE/d' ../dorado/cmake/OpenSSL.cmake && " +preconfigopts += "export OPENSSL_ROOT_DIR=$EBROOTOPENSSL && " +# link in the ssl and crypto libs, to fix: +# undefined reference to symbol 'SSL_get_peer_certificate@@OPENSSL_1_1_0' +preconfigopts += "sed -i 's/OpenSSL::SSL/ssl\\n crypto/g' ../dorado/dorado/utils/CMakeLists.txt && " + +# don't use vendored HTSlib, use provided HTSlib dependency +preconfigopts += "rm -r ../dorado/dorado/3rdparty/htslib/ && " +preconfigopts += "sed -i '/add_dependencies.*htslib_project/d' ../dorado/CMakeLists.txt && " +preconfigopts += "sed -i '/add_dependencies.*htslib_project/d' ../dorado/dorado/utils/CMakeLists.txt && " +preconfigopts += "sed -i '/Htslib.cmake/d' ../dorado/CMakeLists.txt && " +# link with -lhts, not -lhtslib +preconfigopts += "sed -i 's/htslib/hts/g' ../dorado/CMakeLists.txt && " +preconfigopts += "sed -i 's/htslib/hts/g' ../dorado/dorado/utils/CMakeLists.txt && " + +configopts = "-DDORADO_INSTALL_PATH=%(installdir)s " +configopts += "-DCUDA_TOOLKIT_ROOT_DIR=$EBROOTCUDA -DCMAKE_CUDA_COMPILER=$EBROOTCUDA/bin/nvcc " +configopts += "-DDORADO_LIBTORCH_DIR=$EBROOTPYTORCH/lib " +# add -pthread flag (in addition to -lpthread) to avoid linking error: +# in function `_GLOBAL__sub_I_mutex.cc': mutex.cc:(.text.startup+0x17): undefined reference to `pthread_atfork' +configopts += '-DCMAKE_C_FLAGS="$CFLAGS -pthread" ' + +sanity_check_paths = { + 'files': ['bin/dorado'], + 'dirs': [], +} + +sanity_check_commands = ["dorado basecaller --help"] + +moduleclass = 'bio' From 5f9c0ea6fb03bda04e802d26266b7e225d6f654c Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Sun, 18 Feb 2024 23:47:04 +0100 Subject: [PATCH 141/889] adding easyconfigs: skorch-0.15.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb, Braindecode-0.8.1-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb --- ....1-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb | 47 +++++++++++++++++++ ....0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb | 32 +++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 easybuild/easyconfigs/b/Braindecode/Braindecode-0.8.1-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb create mode 100644 easybuild/easyconfigs/s/skorch/skorch-0.15.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb diff --git a/easybuild/easyconfigs/b/Braindecode/Braindecode-0.8.1-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb b/easybuild/easyconfigs/b/Braindecode/Braindecode-0.8.1-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb new file mode 100644 index 00000000000..80012266f49 --- /dev/null +++ b/easybuild/easyconfigs/b/Braindecode/Braindecode-0.8.1-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'Braindecode' +version = '0.8.1' +local_torch_version = '2.1.2' +versionsuffix = '-PyTorch-' + local_torch_version + '-CUDA-%(cudaver)s' + +homepage = 'https://braindecode.org/' +description = """Braindecode is an open-source Python toolbox for decoding raw +electrophysiological brain data with deep learning models. It includes dataset +fetchers, data preprocessing and visualization tools, as well as +implementations of several deep learning architectures and data augmentations +for analysis of EEG, ECoG and MEG.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('einops', '0.7.0'), + ('h5py', '3.9.0'), + ('matplotlib', '3.7.2'), + ('MNE-Python', '1.6.1'), + ('MOABB', '1.0.0'), + ('skorch', '0.15.0', versionsuffix), +] + +use_pip = True + +exts_list = [ + ('docstring-inheritance', '2.1.2', { + 'modulename': 'docstring_inheritance', + 'checksums': ['ac9af95a7b06a305d43720274d0e62523d23f835bf94ce2bb814687e6fe3957b'], + }), + ('torchinfo', '1.8.0', { + 'checksums': ['72e94b0e9a3e64dc583a8e5b7940b8938a1ac0f033f795457f27e6f4e7afa2e9'], + }), + ('braindecode', version, { + 'use_pip_extras': 'moabb', + 'checksums': ['e80515c3d20a80f16800770936d1eb0012de15830a8175dce376256bdaf928e7'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/s/skorch/skorch-0.15.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb b/easybuild/easyconfigs/s/skorch/skorch-0.15.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb new file mode 100644 index 00000000000..7db54f41b95 --- /dev/null +++ b/easybuild/easyconfigs/s/skorch/skorch-0.15.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'skorch' +version = '0.15.0' +local_torch_version = '2.1.2' +versionsuffix = '-PyTorch-' + local_torch_version + '-CUDA-%(cudaver)s' + +homepage = 'https://skorch.readthedocs.io/' +description = "A scikit-learn compatible neural network library that wraps PyTorch." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('scikit-learn', '1.3.1'), + ('tqdm', '4.66.1'), + ('PyTorch', local_torch_version, '-CUDA-%(cudaver)s'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['dfd5d50650a66e0d7adb3f6e2fce0666b53ebfe33cc1a5db19d555ef66587fce'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' From 2d2f1638c3aa24d45b7a8435c842277b6488e533 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 20 Feb 2024 14:33:12 +0100 Subject: [PATCH 142/889] add patch based on https://github.com/open-mpi/ompi/pull/12343 --- .../OpenMPI-5.0.x_add_atomic_wmb.patch | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.x_add_atomic_wmb.patch diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.x_add_atomic_wmb.patch b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.x_add_atomic_wmb.patch new file mode 100644 index 00000000000..044ec75cdb5 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.x_add_atomic_wmb.patch @@ -0,0 +1,35 @@ +From 0ebea598a5023200bcae8a647478e2f297bc1a41 Mon Sep 17 00:00:00 2001 +From: Luke Robison +Date: Wed, 14 Feb 2024 21:14:29 +0000 +Subject: [PATCH] btl/smcuda: Add atomic_wmb() before sm_fifo_write + +This change fixes https://github.com/open-mpi/ompi/issues/12270 + +Testing on c7g instance type (arm64) confirms this change elminates +hangs and crashes that were previously observed in 1 in 30 runs of +IMB alltoall benchmark. Tested with over 300 runs and no failures. + +The write memory barrier prevents other CPUs from observing the fifo +get updated before they observe the updated contents of the header +itself. Without the barrier, uninitialized header contents caused +the crashes and invalid data. + +Signed-off-by: Luke Robison +(cherry picked from commit 71f378d28cb89dd80379dbad570849b297594cde) +--- + opal/mca/btl/smcuda/btl_smcuda_fifo.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/opal/mca/btl/smcuda/btl_smcuda_fifo.h b/opal/mca/btl/smcuda/btl_smcuda_fifo.h +index ca1257b5c56..56369dba9b3 100644 +--- a/opal/mca/btl/smcuda/btl_smcuda_fifo.h ++++ b/opal/mca/btl/smcuda/btl_smcuda_fifo.h +@@ -85,6 +85,8 @@ static void add_pending(struct mca_btl_base_endpoint_t *ep, void *data, bool res + #define MCA_BTL_SMCUDA_FIFO_WRITE(endpoint_peer, my_smp_rank, peer_smp_rank, hdr, resend, \ + retry_pending_sends, rc) \ + do { \ ++ /* memory barrier: ensure writes to the hdr have completed */ \ ++ opal_atomic_wmb(); \ + sm_fifo_t *fifo = &(mca_btl_smcuda_component.fifo[peer_smp_rank][FIFO_MAP(my_smp_rank)]); \ + \ + if (retry_pending_sends) { \ From 85e836b0600c9033052ed3e2f95ceca66472a490 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 20 Feb 2024 14:33:27 +0100 Subject: [PATCH 143/889] add OpenMPI-5.0.x_add_atomic_wmb.patch --- easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.2-GCC-13.2.0.eb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.2-GCC-13.2.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.2-GCC-13.2.0.eb index e291e3e2c26..956b36afc2e 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.2-GCC-13.2.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.2-GCC-13.2.0.eb @@ -8,11 +8,15 @@ toolchain = {'name': 'GCC', 'version': '13.2.0'} source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] sources = [SOURCELOWER_TAR_BZ2] -patches = [('OpenMPI-5.0.2_build-with-internal-cuda-header.patch', 1)] +patches = [ + ('OpenMPI-5.0.2_build-with-internal-cuda-header.patch', 1), + 'OpenMPI-5.0.x_add_atomic_wmb.patch' +] checksums = [ {'openmpi-5.0.2.tar.bz2': 'ee46ad8eeee2c3ff70772160bff877cbf38c330a0bc3b3ddc811648b3396698f'}, {'OpenMPI-5.0.2_build-with-internal-cuda-header.patch': 'f52dc470543f35efef10d651dd159c771ae25f8f76a420d20d87abf4dc769ed7'}, + {'OpenMPI-5.0.x_add_atomic_wmb.patch': '23989c1998bd89c64b23e4fc101aa68748543c90f3c79bdedda38a5933a5ef44'}, ] builddependencies = [ From d01ec38a0dc365e824507569236a5c69ccaec7b4 Mon Sep 17 00:00:00 2001 From: Jens Henrik Goebbert Date: Wed, 21 Feb 2024 18:42:53 +0100 Subject: [PATCH 144/889] initial commit --- .../i/ICON/ICON-2024.01-foss-2023a.eb | 248 +++++++++++++++++ .../i/ICON/ICON-2024.01-nvompic-2024.1.eb | 252 ++++++++++++++++++ ...ICON-2024.01_ecrad-inline-workaround.patch | 12 + .../i/ICON/ICON-2024.01_lzacc-undefined.patch | 40 +++ 4 files changed, 552 insertions(+) create mode 100644 easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb create mode 100644 easybuild/easyconfigs/i/ICON/ICON-2024.01-nvompic-2024.1.eb create mode 100644 easybuild/easyconfigs/i/ICON/ICON-2024.01_ecrad-inline-workaround.patch create mode 100644 easybuild/easyconfigs/i/ICON/ICON-2024.01_lzacc-undefined.patch diff --git a/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb b/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb new file mode 100644 index 00000000000..f3480778ff0 --- /dev/null +++ b/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb @@ -0,0 +1,248 @@ +# This file is an EasyBuild recipe as per https://easybuild.io +# Author: Jens Henrik Göbbert +# Forschungszentrum Juelich GmbH (FZJ) +# Juelich Supercomputing Centre (JSC) + +easyblock = 'ConfigureMake' + +name = 'ICON' +version = '2024.01' + +local_tag = 'icon-%(version)s-public' + +homepage = "https://www.icon-model.org/" +description = """ +ICON is a flexible, scalable, high-performance modelling framework for weather, climate and environmental prediction +that provides actionable information for society and advances our understanding of the Earth's climate system. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True, 'usempi': True} + +sources = [{ + 'git_config': { + 'url': 'https://gitlab.dkrz.de/icon', + 'repo_name': 'icon-model', + 'tag': '%s' % local_tag, + 'recursive': True, + 'keep_git_dir': True, + }, + 'filename': 'v%s.tar.gz' % version, +}] +patches = [ + 'ICON-2024.01_lzacc-undefined.patch', +] +checksums = [ + None, + '5612f304dc0241016e3126134737549d7bb719cb879451ef3a9623a29a218414', +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07', '', ('gcccoreflexiblas', '12.3.0-3.3.1')), + ('Perl', '5.36.1'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('libxml2', '2.11.4'), + ('libfyaml', '0.9'), + ('ecCodes', '2.31.0'), + ('netCDF', '4.9.2'), + ('netCDF-Fortran', '4.6.1'), + ('HDF5', '1.14.2'), +] + +preconfigopts = ( + # Overwrite externals YAC with newer version + 'pushd %(builddir)s/icon-model/externals && ' + 'rm -rf yac && ' + 'git clone --branch release-3.0.3_p8 https://gitlab.dkrz.de/dkrz-sw/yac.git && ' + 'popd && ' +) + +# Details on configuration settings and order can be found here: +# https://gitlab.dkrz.de/icon/icon-model/-/blob/icon-2024.01-public/doc/Quick_Start.md#icon-deptable +configopts = ( + # C/C++ + 'CFLAGS="' + ' -mpc64 -march=native ' + ' -g -gdwarf-4 ' + '" ' + 'ICON_CFLAGS="-O3" ' + 'ICON_BUNDLED_CFLAGS="-O2" ' + 'CPPFLAGS="' + ' -I${EBROOTHDF5}/include ' + ' -I${EBROOTNETCDF}/include ' + ' -I${EBROOTECCODES}/include ' + ' -I${EBROOTLIBFYAML}/include/libfyaml ' + ' -I${EBROOTLIBXML2}/include/libxml2 ' + '" ' + # Fortran + 'FCFLAGS="' + ' -mpc64 -march=native ' + ' -g -gdwarf-4 ' + ' -ffree-line-length-none ' + # ' -fmodule-private -fimplicit-none -fmax-identifier-length=63 ' # Test possible code-style-issues + # ' -Wall -Wcharacter-truncation -Wconversion -Wunderflow -Wunused-parameter -Wno-surprising ' + ' -I${EBROOTHDF5}/include ' + ' -I${EBROOTNETCDFMINFORTRAN}/include ' + ' -I${EBROOTECCODES}/include ' + '" ' + 'ICON_FCFLAGS="' + ' -O2 ' + ' -std=f2008 -fall-intrinsics ' # Set standard but allow other intrinsics, too + ' -DDO_NOT_COMBINE_PUT_AND_NOCHECK ' # Set lock_assert=0 instead of MPI_MODE_NOCHECK for a MPI_Win_lock() + # ' -fbacktrace -fbounds-check -fstack-protector-all ' # For testing purpose (performance decrease) + # ' -finit-real=nan -finit-integer=-2147483648 -finit-character=127 ' # For testing (performance decrease) + '" ' + 'ICON_BUNDLED_FCFLAGS="-O2" ' + 'ICON_OCEAN_FCFLAGS="' + ' -O3 ' + ' -fno-tree-loop-vectorize ' + '" ' + 'ICON_ECRAD_FCFLAGS="' + ' -fallow-invalid-boz ' # Degrades a specific error to a warning + '" ' + # Linker + 'LDFLAGS="' + ' -L${EBROOTZLIB}/lib ' + ' -L${EBROOTHDF5}/lib ' + ' -L${EBROOTNETCDF}/lib -L${EBROOTNETCDFMINFORTRAN}/lib ' + ' -L${EBROOTECCODES}/lib ' + ' -L${EBROOTLIBFYAML}/lib ' + ' -L${EBROOTLIBXML2}/lib ' + '" ' + 'LIBS="' + ' -Wl,--disable-new-dtags -Wl,--as-needed ' + ' -lxml2 ' + ' -lfyaml ' + ' -leccodes_f90 -leccodes ' + ' -llapacke -lflexiblas ' + ' -lnetcdff -lnetcdf ' + ' -lhdf5_hl_fortran -lhdf5_fortran -lhdf5 ' + ' -lz ' + ' -lstdc++ ' + '" ' + 'MPI_LAUNCH=false ' +) + +# Model Features: +configopts += ( + '--enable-atmo ' # atmosphere component [default=yes] + '--enable-les ' # Large-Eddy Simulation component [default=yes] + '--enable-upatmo ' # upper atmosphere component [default=yes] + '--enable-ocean ' # ocean component [default=yes] + '--enable-jsbach ' # land component JSBACH [default=yes] + '--enable-jsbach-hd ' # hydrological discharge scheme of the JSBACH land component [default=auto] + '--enable-waves ' # ocean surface wave component [default=no] + '--enable-coupling ' # coupling [default=yes] + '--enable-aes ' # AES physics package [default=yes] + '--enable-nwp ' # NWP physics package [default=yes] + '--enable-ecrad ' # ECMWF radiation scheme (ECRAD) [default=no] + '--enable-rte-rrtmgp ' # RTE+RRTMGP toolbox for radiation calculations [default=yes] + '--enable-art ' # aerosols and reactive trace component ART [default=no] + '--enable-art-gpl ' # GPL-licensed code parts of the ART component [default=no] + '--enable-comin ' # ICON community interfaces [default=no] + + # Subject to a license agreement + # '--enable-acm-license ' # accepting ACM Software License Agreement [default=no] + # '--enable-rttov ' # radiative transfer model for TOVS [default=no] + # https://nwp-saf.eumetsat.int/site/software/rttov/download/#Software + # '--enable-dace ' # DACE modules for data assimilation [default=no] + # "Data Assimilation Coding Environment (DACE)" + # http://www.cosmo-model.org/content/support/software/#dace + # '--enable-emvorado ' # radar forward operator EMVORADO [default=no] + # "Efficient Modular VOlume scan RADar Operator (EMVORADO)" + # '--enable-hd=yes ' # Hydrological Discharge (HD) model [default=no]: + # 05deg|yes enable for the 0.5-degree global domain + # 5min enable for the 5min global domain + # no disable the HD model +) + +# Infrastructural Features: +configopts += ( + '--enable-mpi ' # MPI (parallelization) support [default=yes] + '--disable-mpi-checks ' # configure-time checks of MPI library [default=yes] + # '--enable-active-target-sync ' # MPI active target mode [default=no] + # '--enable-mpi-rget ' # MPI_Rget routine [default=auto] - if MPI library supports standard 3.0 or higher + # '--enable-mpi-gpu ' # GPU-aware MPI features [default=no] + '--enable-async-io-rma ' # MPI RMA for asynchronous I/O [default=yes] + '--enable-openmp ' # OpenMP support [default=no] - do not combine with --enable-gpu + # '--enable-gpu=yes ' # GPU support [default=no]: - do not combine with --enable-openmp + # openacc+cuda with OpenACC and CUDA + # openacc+hip with OpenACC and HIP + # openacc alias for 'openacc+cuda' + # yes alias for 'openacc+cuda' + # no disable GPU support + '--enable-grib2 ' # GRIB2 I/O [default=no] + # '--enable-parallel-netcdf ' # parallel features of NetCDF [default=no] - ICON hangs with netCDF>=4.8.0 + '--enable-cdi-pio ' # parallel features of CDI [default=no] + # '--enable-sct ' # SCT timer [default=no] + '--enable-yaxt ' # YAXT data exchange [default=no] + # '--enable-explicit-fpp ' # explicit Fortran preprocessing [default=auto] + # '--enable-serialization ' # Serialbox2 serialization [default=no]: + # read enable READ mode + # perturb enable READ & PERTURB mode + # create enable CREATE mode + # yes alias for 'read' + # no disable serialization + # '--enable-testbed ' # ICON Testbed infrastructure [default=no] + # '--enable-memory-tracing ' # native dynamic memory tracing facility [default=no]: + # mtrace enable tracing with mtrace (glibc) + # yes alias for 'mtrace' + # no disable memory tracing +) + +# Optimization Features: +configopts += ( + '' + # '--enable-loop-exchange ' # loop exchange [default=auto] - enabled if no GPU support requested + # '--enable-dim-swap ' # dimension swap [default=auto] + # '--enable-realloc-buf ' # reallocatable buffer in the communication [default=no] + '--enable-vectorized-lrtm ' # parallelization-invariant version of LRTM [default=no] + # '--enable-mixed-precision ' # mixed precision dycore [default=no] + # '--enable-intel-consistency ' # Intel compiler directives enforcing consistency [default=auto] + # '--enable-pgi-inlib ' # PGI/NVIDIA cross-file function inlining via an inline library [default=no] + # '--enable-nccl ' # NCCL for communication [default=no] + # '--enable-cuda-graphs ' # CUDA graphs [default=no] + # '--enable-fcgroup- ' # Fortran compile group for extra set of compiler flags + '--enable-fcgroup-OCEAN=src/hamocc:src/ocean:src/sea_ice ' +) + +# External Libraries: +configopts += ( + '' + # '--with-external-tixi ' # https://gitlab.dkrz.de/icon-libraries/libtixi - a modified version of TIXI + # '--with-external-yac ' # https://gitlab.dkrz.de/dkrz-sw/yac + # '--with-external-mtime ' # https://gitlab.dkrz.de/icon-libraries/libmtime + # '--with-external-cdi ' # https://code.mpimet.mpg.de/projects/cdi/ + # '--with-external-ppm ' # https://gitlab.dkrz.de/jahns/ppm + # '--with-external-yaxt ' # https://gitlab.dkrz.de/dkrz-sw/yaxt + # '--with-external-sct ' # https://gitlab.dkrz.de/dkrz-sw/sct + # '--with-external-ecrad ' # https://confluence.ecmwf.int/display/ECRAD/ECMWF+Radiation+Scheme+Home + # '--with-external-rte-rrtmgp ' # https://github.com/earth-system-radiation/rte-rrtmgp +) + +postinstallcmds = [ + # Transfer required data + '%(builddir)s/icon-model/utils/move_to_prefix.sh ', + # Generate the runscripts + ( + 'cd %(installdir)s && ' + './make_runscripts --all ' + ), +] + +modextravars = { + 'NVCOMPILER_ACC_DEFER_UPLOADS': '1', # for a small 1-2% performance improvement +} + +sanity_check_paths = { + 'files': ['bin/icon'], + 'dirs': ['bin'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/ICON/ICON-2024.01-nvompic-2024.1.eb b/easybuild/easyconfigs/i/ICON/ICON-2024.01-nvompic-2024.1.eb new file mode 100644 index 00000000000..feecf560541 --- /dev/null +++ b/easybuild/easyconfigs/i/ICON/ICON-2024.01-nvompic-2024.1.eb @@ -0,0 +1,252 @@ +# This file is an EasyBuild recipe as per https://easybuild.io +# Author: Jens Henrik Göbbert +# Forschungszentrum Juelich GmbH (FZJ) +# Juelich Supercomputing Centre (JSC) + +import os + +easyblock = 'ConfigureMake' + +name = 'ICON' +version = '2024.01' + +local_tag = 'icon-%(version)s-public' + +homepage = "https://www.icon-model.org/" +description = """ +ICON is a flexible, scalable, high-performance modelling framework for weather, climate and environmental prediction +that provides actionable information for society and advances our understanding of the Earth's climate system. +""" + +toolchain = {'name': 'nvompic', 'version': '2024.1'} +toolchainopts = {'pic': True, 'usempi': True} + +sources = [{ + 'git_config': { + 'url': 'https://gitlab.dkrz.de/icon', + 'repo_name': 'icon-model', + 'tag': '%s' % local_tag, + 'recursive': True, + 'keep_git_dir': True, + }, + 'filename': 'v%s.tar.gz' % version, +}] +patches = [ + 'ICON-2024.01_lzacc-undefined.patch', + 'ICON-2024.01_ecrad-inline-workaround.patch', # workaround bug in --enable-pgi-inlib +] +checksums = [ + None, + '5612f304dc0241016e3126134737549d7bb719cb879451ef3a9623a29a218414', + 'ebf1f260800c44134941920bab14d312291af7d7a6581c1b446726892dc22a8c', +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07', '', ('gcccoreflexiblas', '12.3.0-3.3.1')), + ('Perl', '5.36.1'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('libxml2', '2.11.4'), + ('libfyaml', '0.9'), + ('ecCodes', '2.31.0'), + ('netCDF', '4.9.2'), + ('netCDF-Fortran', '4.6.1'), + ('HDF5', '1.14.2'), + ('CUDA', '12', '', SYSTEM), +] + +# get the local cuda_compute_capabilities +local_gpu_cc = os.environ["EASYBUILD_CUDA_COMPUTE_CAPABILITIES"].split(',')[0].replace('.', '') + +preconfigopts = ( + # Overwrite externals YAC with newer version for NVHPC 24.1 + 'pushd %(builddir)s/icon-model/externals && ' + 'rm -rf yac && ' + 'git clone --branch release-3.0.3_p8 https://gitlab.dkrz.de/dkrz-sw/yac.git && ' + 'popd && ' +) + +# Details on configuration settings and order can be found here: +# https://gitlab.dkrz.de/icon/icon-model/-/blob/icon-2024.01-public/doc/Quick_Start.md#icon-deptable +configopts = ( + # C/C++ + 'CC="mpicc" ' + 'CFLAGS="-g" ' + 'ICON_CFLAGS="' + ' -O2 ' + '" ' + 'ICON_BUNDLED_CFLAGS="-O2" ' + 'ICON_YAC_CFLAGS="-fortranlibs" ' # Let YAC find LAPACK with the C compiler + 'CPPFLAGS="' + ' -I${EBROOTHDF5}/include ' + ' -I${EBROOTNETCDF}/include ' + ' -I${EBROOTECCODES}/include ' + ' -I${EBROOTLIBFYAML}/include/libfyaml ' + ' -I${EBROOTLIBXML2}/include/libxml2 ' + '" ' + # Fortran + 'FC="mpif90" ' + 'FCFLAGS="' + ' -g ' + ' -Mpreprocess -Mrecursive -Mallocatable=03 -Minfo=accel,inline -Mstack_arrays ' + ' -acc=verystrict,gpu ' + ' -gpu=cc%s,lineinfo ' + ' -I${EBROOTHDF5}/include ' + ' -I${EBROOTNETCDFMINFORTRAN}/include ' + ' -I${EBROOTECCODES}/include ' + '" ' + 'ICON_FCFLAGS=" ' + ' -O2 ' + '" ' + 'ICON_BUNDLED_FCFLAGS="-O2" ' + # CUDA + 'CUDACXX=nvcc ' + 'CUDAFLAGS="' + ' -O3 -arch=sm_%s ' + '" ' + # Linker + 'LDFLAGS="' + ' -L${EBROOTZLIB}/lib ' + ' -L${EBROOTHDF5}/lib ' + ' -L${EBROOTNETCDF}/lib -L${EBROOTNETCDFMINFORTRAN}/lib ' + ' -L${EBROOTECCODES}/lib ' + ' -L${EBROOTLIBFYAML}/lib ' + ' -L${EBROOTLIBXML2}/lib ' + ' -nvmalloc ' + '" ' + 'LIBS="' + ' -Wl,--disable-new-dtags -Wl,--as-needed ' + ' -lcudart ' + ' -lxml2 ' + ' -lfyaml ' + ' -leccodes_f90 -leccodes ' + ' -llapack -lblas ' + ' -lnetcdff -lnetcdf ' + ' -lhdf5_hl_fortran -lhdf5_fortran -lhdf5 ' + ' -lz ' + ' -lstdc++ ' + '" ' + 'MPI_LAUNCH=false ' +) % (local_gpu_cc, local_gpu_cc) + +# Model Features: +configopts += ( + '--enable-atmo ' # atmosphere component [default=yes] + '--enable-les ' # Large-Eddy Simulation component [default=yes] + '--enable-upatmo ' # upper atmosphere component [default=yes] + '--enable-ocean ' # ocean component [default=yes] + '--enable-jsbach ' # land component JSBACH [default=yes] + '--enable-jsbach-hd ' # hydrological discharge scheme of the JSBACH land component [default=auto] + '--enable-waves ' # ocean surface wave component [default=no] + '--enable-coupling ' # coupling [default=yes] + '--enable-aes ' # AES physics package [default=yes] + '--enable-nwp ' # NWP physics package [default=yes] + '--enable-ecrad ' # ECMWF radiation scheme (ECRAD) [default=no] + '--enable-rte-rrtmgp ' # RTE+RRTMGP toolbox for radiation calculations [default=yes] + '--enable-art ' # aerosols and reactive trace component ART [default=no] + '--enable-art-gpl ' # GPL-licensed code parts of the ART component [default=no] + '--enable-comin ' # ICON community interfaces [default=no] + + # Subject to a license agreement + # '--enable-acm-license ' # accepting ACM Software License Agreement [default=no] + # '--enable-rttov ' # radiative transfer model for TOVS [default=no] + # https://nwp-saf.eumetsat.int/site/software/rttov/download/#Software + # '--enable-dace ' # DACE modules for data assimilation [default=no] + # "Data Assimilation Coding Environment (DACE)" + # http://www.cosmo-model.org/content/support/software/#dace + # '--enable-emvorado ' # radar forward operator EMVORADO [default=no] + # "Efficient Modular VOlume scan RADar Operator (EMVORADO)" + # '--enable-hd=yes ' # Hydrological Discharge (HD) model [default=no]: + # 05deg|yes enable for the 0.5-degree global domain + # 5min enable for the 5min global domain + # no disable the HD model +) + +# Infrastructural Features: +configopts += ( + '--enable-mpi ' # MPI (parallelization) support [default=yes] + '--disable-mpi-checks ' # configure-time checks of MPI library [default=yes] + # '--enable-active-target-sync ' # MPI active target mode [default=no] + # '--enable-mpi-rget ' # MPI_Rget routine [default=auto] + '--enable-mpi-gpu ' # GPU-aware MPI features [default=no] + '--enable-async-io-rma ' # MPI RMA for asynchronous I/O [default=yes] + # '--enable-openmp ' # OpenMP support [default=no] - do not combine with --enable-gpu + '--enable-gpu=yes ' # GPU support [default=no]: - do not combine with --enable-openmp + # openacc+cuda with OpenACC and CUDA + # openacc+hip with OpenACC and HIP + # openacc alias for 'openacc+cuda' + # yes alias for 'openacc+cuda' + # no disable GPU support + '--enable-grib2 ' # GRIB2 I/O [default=no] + # '--enable-parallel-netcdf ' # parallel features of NetCDF [default=no] - ICON hangs with netCDF>=4.8.0 + '--enable-cdi-pio ' # parallel features of CDI [default=no] + # '--enable-sct ' # SCT timer [default=no] + '--enable-yaxt ' # YAXT data exchange [default=no] + # '--enable-explicit-fpp ' # explicit Fortran preprocessing [default=auto] + # '--enable-serialization ' # Serialbox2 serialization [default=no]: + # read enable READ mode + # perturb enable READ & PERTURB mode + # create enable CREATE mode + # yes alias for 'read' + # no disable serialization + # '--enable-testbed ' # ICON Testbed infrastructure [default=no] + # '--enable-memory-tracing ' # native dynamic memory tracing facility [default=no]: + # mtrace enable tracing with mtrace (glibc) + # yes alias for 'mtrace' + # no disable memory tracing +) + +# Optimization Features: +configopts += ( + '' + '--disable-loop-exchange ' # loop exchange [default=auto] + # '--enable-dim-swap ' # dimension swap [default=auto] + '--enable-realloc-buf ' # reallocatable buffer in the communication [default=no] + '--enable-vectorized-lrtm ' # parallelization-invariant version of LRTM [default=no] + # '--enable-mixed-precision ' # mixed precision dycore [default=no] + # '--enable-intel-consistency ' # Intel compiler directives enforcing consistency [default=auto] + '--enable-pgi-inlib ' # PGI/NVIDIA cross-file function inlining via an inline library [default=no] + # '--enable-nccl ' # NCCL for communication [default=no] + # '--enable-cuda-graphs ' # CUDA graphs [default=no] + # '--enable-fcgroup- # Fortran compile group for extra set of compiler flags +) + +# External Libraries: +configopts += ( + '' + # '--with-external-tixi ' # https://gitlab.dkrz.de/icon-libraries/libtixi - a modified version of TIXI + # '--with-external-yac ' # https://gitlab.dkrz.de/dkrz-sw/yac + # '--with-external-mtime ' # https://gitlab.dkrz.de/icon-libraries/libmtime + # '--with-external-cdi ' # https://code.mpimet.mpg.de/projects/cdi/ + # '--with-external-ppm ' # https://gitlab.dkrz.de/jahns/ppm + # '--with-external-yaxt ' # https://gitlab.dkrz.de/dkrz-sw/yaxt + # '--with-external-sct ' # https://gitlab.dkrz.de/dkrz-sw/sct + # '--with-external-ecrad ' # https://confluence.ecmwf.int/display/ECRAD/ECMWF+Radiation+Scheme+Home + # '--with-external-rte-rrtmgp ' # https://github.com/earth-system-radiation/rte-rrtmgp +) + +postinstallcmds = [ + # Transfer required data + '%(builddir)s/icon-model/utils/move_to_prefix.sh ', + # Generate the runscripts + ( + 'cd %(installdir)s && ' + './make_runscripts --all ' + ), +] + +modextravars = { + 'NVCOMPILER_ACC_DEFER_UPLOADS': '1', # for a small 1-2% performance improvement +} + +sanity_check_paths = { + 'files': ['bin/icon'], + 'dirs': ['bin'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/ICON/ICON-2024.01_ecrad-inline-workaround.patch b/easybuild/easyconfigs/i/ICON/ICON-2024.01_ecrad-inline-workaround.patch new file mode 100644 index 00000000000..727a32a02d9 --- /dev/null +++ b/easybuild/easyconfigs/i/ICON/ICON-2024.01_ecrad-inline-workaround.patch @@ -0,0 +1,12 @@ +diff -Naur icon-model.orig/externals/ecrad/radiation/radiation_mcica_acc_sw.F90 icon-model/externals/ecrad/radiation/radiation_mcica_acc_sw.F90 +--- icon-model.orig/externals/ecrad/radiation/radiation_mcica_acc_sw.F90 2024-02-14 10:14:44.000000000 +0100 ++++ icon-model/externals/ecrad/radiation/radiation_mcica_acc_sw.F90 2024-02-17 01:32:38.621200392 +0100 +@@ -364,7 +364,7 @@ + + ! Do cloudy-sky calculation + call cloud_generator_acc(ng, nlev, & +- & single_level%iseed(jcol), & ++ & single_level%iseed(jcol) + 0, & ! HPC SDK inlining workaround + & config%cloud_fraction_threshold, & + & frac(:,jcol), overlap_param(:,jcol), & + & config%cloud_inhom_decorr_scaling, frac_std(:,jcol), & diff --git a/easybuild/easyconfigs/i/ICON/ICON-2024.01_lzacc-undefined.patch b/easybuild/easyconfigs/i/ICON/ICON-2024.01_lzacc-undefined.patch new file mode 100644 index 00000000000..f826398c934 --- /dev/null +++ b/easybuild/easyconfigs/i/ICON/ICON-2024.01_lzacc-undefined.patch @@ -0,0 +1,40 @@ +diff -Naur icon-model.orig/src/parallel_infrastructure/mo_communication_yaxt.f90 icon-model/src/parallel_infrastructure/mo_communication_yaxt.f90 +--- icon-model.orig/src/parallel_infrastructure/mo_communication_yaxt.f90 2024-02-11 18:27:08.000000000 +0100 ++++ icon-model/src/parallel_infrastructure/mo_communication_yaxt.f90 2024-02-13 09:28:31.775211101 +0100 +@@ -2541,7 +2541,11 @@ + + CALL exchange_data_grf_bottom(redist_coll, cpy_size, nfields, ndim2tot,& + & npats, src_fsize4d, dst_fsize4d, needs_cpy, & +- & recv, send) ++ & recv, send & ++#ifdef _OPENACC ++ & ,lzacc & ++#endif ++ & ) + + #if defined(_OPENACC) && ! defined(__USE_G2G) + IF (i_am_accel_node) THEN +@@ -2559,7 +2563,11 @@ + END SUBROUTINE exchange_data_grf + + SUBROUTINE exchange_data_grf_bottom(redist_coll, cpy_size, nfields, ndim2tot,& +- npats, src_fsize4d, dst_fsize4d, needs_cpy, recv, send) ++ npats, src_fsize4d, dst_fsize4d, needs_cpy, recv, send & ++#ifdef _OPENACC ++ & ,lzacc & ++#endif ++ & ) + TYPE(xt_redist), INTENT(IN) :: redist_coll + + !> size of copy array needed for contiguous buffering +@@ -2576,6 +2584,10 @@ + ! recv itself is intent(in), but the pointed to data will be modified + TYPE(t_ptr_3d), PTR_INTENT(in) :: recv(nfields), send(nfields) + ++#ifdef _OPENACC ++ LOGICAL :: lzacc ++#endif ++ + REAL(dp), TARGET :: cpy_buf(cpy_size) + REAL(dp), POINTER :: cpy(:,:,:) + INTEGER :: i, ofs, cpy_psum, nblk, incr, nl, npnts, np, last From 364673518bc0c318f520ffe037ef4c7eefaab800 Mon Sep 17 00:00:00 2001 From: Jens Henrik Goebbert Date: Wed, 21 Feb 2024 19:16:37 +0100 Subject: [PATCH 145/889] remove nvidia-specific variable --- easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb | 4 ---- 1 file changed, 4 deletions(-) diff --git a/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb b/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb index f3480778ff0..c95ba0a334f 100644 --- a/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb +++ b/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb @@ -236,10 +236,6 @@ postinstallcmds = [ ), ] -modextravars = { - 'NVCOMPILER_ACC_DEFER_UPLOADS': '1', # for a small 1-2% performance improvement -} - sanity_check_paths = { 'files': ['bin/icon'], 'dirs': ['bin'], From 37a0012f5fc25d6be49c678be6dff048db1ef94c Mon Sep 17 00:00:00 2001 From: Jasper Grimm <65227842+jfgrimm@users.noreply.github.com> Date: Thu, 22 Feb 2024 13:38:25 +0000 Subject: [PATCH 146/889] linting --- .../t/t-SNE-CUDA/t-SNE-CUDA-3.0.1-foss-2023a-CUDA-12.1.1.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/t/t-SNE-CUDA/t-SNE-CUDA-3.0.1-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/t/t-SNE-CUDA/t-SNE-CUDA-3.0.1-foss-2023a-CUDA-12.1.1.eb index 2b28e554dd7..880e2f47538 100644 --- a/easybuild/easyconfigs/t/t-SNE-CUDA/t-SNE-CUDA-3.0.1-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/t/t-SNE-CUDA/t-SNE-CUDA-3.0.1-foss-2023a-CUDA-12.1.1.eb @@ -45,8 +45,8 @@ _copts = [ configopts = ' '.join(_copts) -install_cmd = ('cd %(builddir)s/easybuild_obj/python &&' - ' python -m pip install --prefix=%(installdir)s --no-build-isolation .') +install_cmd = ('cd %(builddir)s/easybuild_obj/python &&' + ' python -m pip install --prefix=%(installdir)s --no-build-isolation .') options = {'modulename': 'tsnecuda'} From 3d129a6a60d8fc662a41f5b8271d612c861cbbf5 Mon Sep 17 00:00:00 2001 From: nicolas Date: Fri, 23 Feb 2024 16:38:22 +0100 Subject: [PATCH 147/889] adding easyconfigs: PyTorch-Lightning-2.2.0.post0-foss-2023a-CUDA-12.1.1.eb, lightning-2.2.0.post0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb --- .../deepdiff/deepdiff-6.7.1-GCCcore-12.3.0.eb | 36 ++++ ...t0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb | 32 ++++ ...ning-2.2.0.post0-foss-2023a-CUDA-12.1.1.eb | 172 ++++++++++++++++++ .../tensorboardX-2.6.2.2-foss-2023a.eb | 30 +++ 4 files changed, 270 insertions(+) create mode 100644 easybuild/easyconfigs/d/deepdiff/deepdiff-6.7.1-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/l/lightning/lightning-2.2.0.post0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb create mode 100644 easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.2.0.post0-foss-2023a-CUDA-12.1.1.eb create mode 100644 easybuild/easyconfigs/t/tensorboardX/tensorboardX-2.6.2.2-foss-2023a.eb diff --git a/easybuild/easyconfigs/d/deepdiff/deepdiff-6.7.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/d/deepdiff/deepdiff-6.7.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..557a3af6db1 --- /dev/null +++ b/easybuild/easyconfigs/d/deepdiff/deepdiff-6.7.1-GCCcore-12.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonBundle' + +name = 'deepdiff' +version = '6.7.1' + +homepage = 'https://zepworks.com/deepdiff/current/' +description = """DeepDiff: Deep Difference of dictionaries, iterables and almost any other object recursively.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('hatchling', '1.18.0'), # for setuptools-scm +] + +dependencies = [ + ('Python', '3.11.3'), +] + +use_pip = True + +exts_list = [ + ('jsonpickle', '3.0.2', { + 'checksums': ['e37abba4bfb3ca4a4647d28bb9f4706436f7b46c8a8333b4a718abafa8e46b37'], + }), + ('ordered-set', '4.1.0', { + 'checksums': ['694a8e44c87657c59292ede72891eb91d34131f6531463aab3009191c77364a8'], + }), + (name, version, { + 'checksums': ['b367e6fa6caac1c9f500adc79ada1b5b1242c50d5f716a1a4362030197847d30'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/lightning/lightning-2.2.0.post0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb b/easybuild/easyconfigs/l/lightning/lightning-2.2.0.post0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb new file mode 100644 index 00000000000..f7a8c878175 --- /dev/null +++ b/easybuild/easyconfigs/l/lightning/lightning-2.2.0.post0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonPackage' + +name = 'lightning' +version = '2.2.0.post0' +local_pytorch_version = '2.1.2' +versionsuffix = '-PyTorch-' + local_pytorch_version + '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/Lightning-AI/pytorch-lightning' +description = "The deep learning framework to pretrain, finetune and deploy AI models." + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = [PYPI_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['60d91d39f42dde49e411bbf3a243b3d89c58aa028e2476d5fd2b3894a97ea775'] + +builddependencies = [ +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('PyTorch', local_pytorch_version, '-CUDA-%(cudaver)s'), + ('PyTorch-Lightning', version, '-CUDA-%(cudaver)s'), +] + + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.2.0.post0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.2.0.post0-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..92fb590b341 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.2.0.post0-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,172 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-Lightning' +version = '2.2.0.post0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://pytorchlightning.ai' +description = "PyTorch Lightning is the lightweight PyTorch wrapper for ML researchers." + +toolchain = {'name': 'foss', 'version': '2023a'} + + +builddependencies = [ + ('flit', '3.9.0'), + ('poetry', '1.5.1'), +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + # dependencies from requirements/app/base.txt + ('aiohttp', '3.8.5'), + ('BeautifulSoup', '4.12.2'), + ('deepdiff', '6.7.1'), + # dependencies from requirements/pytorch/base.txt + ('PyTorch', '2.1.2', versionsuffix), + ('tqdm', '4.66.1'), + ('tensorboardX', '2.6.2.2'), + ('pydantic', '2.5.3'), + ('typing-extensions', '4.9.0'), +] + +use_pip = True + +# dependencies from requirements/app/base.txt and requirements/pytorch/base.txt +exts_list = [ + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('mdurl', '0.1.2', { + 'checksums': ['bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba'], + }), + ('markdown-it-py', '3.0.0', { + 'modulename': 'markdown_it', + 'checksums': ['e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb'], + }), + ('rich', '13.7.0', { + 'checksums': ['5cb5123b5cf9ee70584244246816e9114227e0b98ad9176eede6ad54bf5403fa'], + }), + ('PyJWT', '2.8.0', { + 'modulename': 'jwt', + 'checksums': ['57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de'], + }), + ('starlette', '0.35.1', { + 'checksums': ['3e2639dac3520e4f58734ed22553f950d3f3cb1001cd2eaac4d57e8cdc5f66bc'], + }), + ('fastapi', '0.109.0', { + 'checksums': ['b978095b9ee01a5cf49b19f4bc1ac9b8ca83aa076e770ef8fd9af09a2b88d191'], + }), + ('sniffio', '1.3.0', { + 'checksums': ['e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101'], + }), + ('exceptiongroup', '1.2.0', { + 'checksums': ['91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68'], + }), + ('anyio', '4.2.0', { + 'checksums': ['e1875bb4b4e2de1669f4bc7869b6d3f54231cdced71605e6e64c9be77e3be50f'], + }), + ('websocket-client', '1.7.0', { + 'modulename': 'websocket', + 'checksums': ['10e511ea3a8c744631d3bd77e61eb17ed09304c413ad42cf6ddfa4c7787e8fe6'], + }), + ('python_multipart', '0.0.6', { + 'modulename': 'multipart', + 'checksums': ['e9925a80bb668529f1b67c7fdb0a5dacdd7cbfc6fb0bff3ea443fe22bdd62132'], + }), + ('h11', '0.14.0', { + 'checksums': ['8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d'], + }), + ('uvicorn', '0.26.0', { + 'checksums': ['48bfd350fce3c5c57af5fb4995fded8fb50da3b4feb543eb18ad7e0d54589602'], + }), + ('lightning_cloud', '0.5.64', { + 'checksums': ['44c44b387260e7f808bef7a2368966da166bf58fa37562a8ce8366febe3ca38e'], + }), + ('itsdangerous', '2.1.2', { + 'checksums': ['5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a'], + }), + ('starsessions', '2.1.2', { + 'checksums': ['7e028b7b06a5b7f8ac4fe7894eb609941f96d137bc9d6cc6b6d86ae4724d7e36'], + }), + ('fsspec', '2023.12.2', { + 'checksums': ['8548d39e8810b59c38014934f6b31e57f40c1b20f911f4cc2b85389c7e9bf0cb'], + }), + ('croniter', '2.0.1', { + 'checksums': ['d199b2ec3ea5e82988d1f72022433c5f9302b3b3ea9e6bfd6a1518f6ea5e700a'], + }), + ('traitlets', '5.14.1', { + 'checksums': ['8585105b371a04b8316a43d5ce29c098575c2e477850b62b848b964f1444527e'], + }), + ('types-python-dateutil', '2.8.19.20240106', { + 'modulename': False, + 'checksums': ['1f8db221c3b98e6ca02ea83a58371b22c374f42ae5bbdf186db9c9a76581459f'], + }), + ('arrow', '1.3.0', { + 'checksums': ['d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85'], + }), + ('lightning-utilities', '0.10.1', { + 'checksums': ['362755023dcf93b8fa519bc002ae41794943a3ffbc5318e40804d36aa14bf1fd'], + }), + ('blessed', '1.20.0', { + 'checksums': ['2cdd67f8746e048f00df47a2880f4d6acbcdb399031b604e34ba8f71d5787680'], + }), + ('python-editor', '1.0.4', { + 'modulename': 'editor', + 'checksums': ['51fda6bcc5ddbbb7063b2af7509e43bd84bfc32a4ff71349ec7847713882327b'], + }), + ('readchar', '4.0.5', { + 'checksums': ['08a456c2d7c1888cde3f4688b542621b676eb38cd6cfed7eb6cb2e2905ddc826'], + }), + ('runs', '1.2.0', { + 'checksums': ['8804271011b7a2eeb0d77c3e3f556e5ce5f602fa0dd2a31ed0c1222893be69b7'], + }), + ('xmod', '1.8.1', { + 'checksums': ['38c76486b9d672c546d57d8035df0beb7f4a9b088bc3fb2de5431ae821444377'], + }), + ('editor', '1.6.5', { + 'checksums': ['5a8ad611d2a05de34994df3781605e26e63492f82f04c2e93abdd330eed6fa8d'], + }), + ('inquirer', '3.2.1', { + 'checksums': ['d5ff9bb8cd07bd3f076eabad8ae338280886e93998ff10461975b768e3854fbc'], + }), + ('wrapt', '1.16.0', { + 'checksums': ['5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d'], + }), + ('aioitertools', '0.11.0', { + 'checksums': ['42c68b8dd3a69c2bf7f2233bf7df4bb58b557bca5252ac02ed5187bbc67d6831'], + }), + ('botocore', '1.33.13', { + 'checksums': ['fb577f4cb175605527458b04571451db1bd1a2036976b626206036acd4496617'], + }), + ('jmespath', '1.0.1', { + 'checksums': ['90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe'], + }), + ('s3transfer', '0.8.2', { + 'checksums': ['368ac6876a9e9ed91f6bc86581e319be08188dc60d50e0d56308ed5765446283'], + }), + ('boto3', '1.33.13', { + 'checksums': ['0e966b8a475ecb06cc0846304454b8da2473d4c8198a45dfb2c5304871986883'], + }), + ('aiobotocore', '2.9.1', { + 'checksums': ['24daf4f1ce86e2fb5aee146cdc944736ef76791635ec3a9b6f3d5755b1ac3c46'], + }), + ('s3fs', '2023.12.2', { + 'checksums': ['b5ec07062481bbb45cb061b31984c7188d106e292c27033039e024e4ba5740dc'], + }), + ('torchmetrics', '1.3.0.post0', { + 'checksums': ['6d31aeabee964ff539425800164790b8670293f2fade9fcfee6fabbe3f45dd7e'], + }), + ('pytorch-lightning', version, { + 'checksums': ['4ed1a97c5ba3ee5049f25b63a9a60062f54be9c93a3efd8fee2496cadb31fd83'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['bin', 'lib/python%(pyshortver)s/site-packages/dateutil-stubs'], +} + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tensorboardX/tensorboardX-2.6.2.2-foss-2023a.eb b/easybuild/easyconfigs/t/tensorboardX/tensorboardX-2.6.2.2-foss-2023a.eb new file mode 100644 index 00000000000..c6f2278fae0 --- /dev/null +++ b/easybuild/easyconfigs/t/tensorboardX/tensorboardX-2.6.2.2-foss-2023a.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'tensorboardX' +version = '2.6.2.2' + +homepage = 'https://github.com/lanpa/tensorboardX' +description = "Tensorboard for PyTorch." + +toolchain = {'name': 'foss', 'version': '2023a'} + +# tensorboardX v2.x works with tensorboards generated with TensorFlow 2, +# but TensorFlow is not needed to use tensorboardX +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('protobuf-python', '4.24.0'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['c6476d7cd0d529b0b72f4acadb1269f9ed8b22f441e87a84f2a3b940bb87b666'], + 'modulename': '%(name)s', + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' From f141dc9e732481262b145dd82625c0eaa3bf6c7d Mon Sep 17 00:00:00 2001 From: nicolas Date: Fri, 23 Feb 2024 17:23:12 +0100 Subject: [PATCH 148/889] removed explicit urls_source --- ...ightning-2.2.0.post0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb | 2 -- 1 file changed, 2 deletions(-) diff --git a/easybuild/easyconfigs/l/lightning/lightning-2.2.0.post0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb b/easybuild/easyconfigs/l/lightning/lightning-2.2.0.post0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb index f7a8c878175..8e77b816aca 100644 --- a/easybuild/easyconfigs/l/lightning/lightning-2.2.0.post0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/l/lightning/lightning-2.2.0.post0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb @@ -10,8 +10,6 @@ description = "The deep learning framework to pretrain, finetune and deploy AI m toolchain = {'name': 'foss', 'version': '2023a'} -source_urls = [PYPI_SOURCE] -sources = [SOURCELOWER_TAR_GZ] checksums = ['60d91d39f42dde49e411bbf3a243b3d89c58aa028e2476d5fd2b3894a97ea775'] builddependencies = [ From 2578324cead8c5e009d4ff78e9407994c3bac5cd Mon Sep 17 00:00:00 2001 From: Jens Henrik Goebbert Date: Sat, 24 Feb 2024 20:01:33 +0100 Subject: [PATCH 149/889] add foss only (for now) --- .../i/ICON/ICON-2024.01-nvompic-2024.1.eb | 252 ------------------ 1 file changed, 252 deletions(-) delete mode 100644 easybuild/easyconfigs/i/ICON/ICON-2024.01-nvompic-2024.1.eb diff --git a/easybuild/easyconfigs/i/ICON/ICON-2024.01-nvompic-2024.1.eb b/easybuild/easyconfigs/i/ICON/ICON-2024.01-nvompic-2024.1.eb deleted file mode 100644 index feecf560541..00000000000 --- a/easybuild/easyconfigs/i/ICON/ICON-2024.01-nvompic-2024.1.eb +++ /dev/null @@ -1,252 +0,0 @@ -# This file is an EasyBuild recipe as per https://easybuild.io -# Author: Jens Henrik Göbbert -# Forschungszentrum Juelich GmbH (FZJ) -# Juelich Supercomputing Centre (JSC) - -import os - -easyblock = 'ConfigureMake' - -name = 'ICON' -version = '2024.01' - -local_tag = 'icon-%(version)s-public' - -homepage = "https://www.icon-model.org/" -description = """ -ICON is a flexible, scalable, high-performance modelling framework for weather, climate and environmental prediction -that provides actionable information for society and advances our understanding of the Earth's climate system. -""" - -toolchain = {'name': 'nvompic', 'version': '2024.1'} -toolchainopts = {'pic': True, 'usempi': True} - -sources = [{ - 'git_config': { - 'url': 'https://gitlab.dkrz.de/icon', - 'repo_name': 'icon-model', - 'tag': '%s' % local_tag, - 'recursive': True, - 'keep_git_dir': True, - }, - 'filename': 'v%s.tar.gz' % version, -}] -patches = [ - 'ICON-2024.01_lzacc-undefined.patch', - 'ICON-2024.01_ecrad-inline-workaround.patch', # workaround bug in --enable-pgi-inlib -] -checksums = [ - None, - '5612f304dc0241016e3126134737549d7bb719cb879451ef3a9623a29a218414', - 'ebf1f260800c44134941920bab14d312291af7d7a6581c1b446726892dc22a8c', -] - -builddependencies = [ - ('CMake', '3.26.3'), - ('Python', '3.11.3'), - ('SciPy-bundle', '2023.07', '', ('gcccoreflexiblas', '12.3.0-3.3.1')), - ('Perl', '5.36.1'), - ('pkgconf', '1.9.5'), -] - -dependencies = [ - ('zlib', '1.2.13'), - ('libxml2', '2.11.4'), - ('libfyaml', '0.9'), - ('ecCodes', '2.31.0'), - ('netCDF', '4.9.2'), - ('netCDF-Fortran', '4.6.1'), - ('HDF5', '1.14.2'), - ('CUDA', '12', '', SYSTEM), -] - -# get the local cuda_compute_capabilities -local_gpu_cc = os.environ["EASYBUILD_CUDA_COMPUTE_CAPABILITIES"].split(',')[0].replace('.', '') - -preconfigopts = ( - # Overwrite externals YAC with newer version for NVHPC 24.1 - 'pushd %(builddir)s/icon-model/externals && ' - 'rm -rf yac && ' - 'git clone --branch release-3.0.3_p8 https://gitlab.dkrz.de/dkrz-sw/yac.git && ' - 'popd && ' -) - -# Details on configuration settings and order can be found here: -# https://gitlab.dkrz.de/icon/icon-model/-/blob/icon-2024.01-public/doc/Quick_Start.md#icon-deptable -configopts = ( - # C/C++ - 'CC="mpicc" ' - 'CFLAGS="-g" ' - 'ICON_CFLAGS="' - ' -O2 ' - '" ' - 'ICON_BUNDLED_CFLAGS="-O2" ' - 'ICON_YAC_CFLAGS="-fortranlibs" ' # Let YAC find LAPACK with the C compiler - 'CPPFLAGS="' - ' -I${EBROOTHDF5}/include ' - ' -I${EBROOTNETCDF}/include ' - ' -I${EBROOTECCODES}/include ' - ' -I${EBROOTLIBFYAML}/include/libfyaml ' - ' -I${EBROOTLIBXML2}/include/libxml2 ' - '" ' - # Fortran - 'FC="mpif90" ' - 'FCFLAGS="' - ' -g ' - ' -Mpreprocess -Mrecursive -Mallocatable=03 -Minfo=accel,inline -Mstack_arrays ' - ' -acc=verystrict,gpu ' - ' -gpu=cc%s,lineinfo ' - ' -I${EBROOTHDF5}/include ' - ' -I${EBROOTNETCDFMINFORTRAN}/include ' - ' -I${EBROOTECCODES}/include ' - '" ' - 'ICON_FCFLAGS=" ' - ' -O2 ' - '" ' - 'ICON_BUNDLED_FCFLAGS="-O2" ' - # CUDA - 'CUDACXX=nvcc ' - 'CUDAFLAGS="' - ' -O3 -arch=sm_%s ' - '" ' - # Linker - 'LDFLAGS="' - ' -L${EBROOTZLIB}/lib ' - ' -L${EBROOTHDF5}/lib ' - ' -L${EBROOTNETCDF}/lib -L${EBROOTNETCDFMINFORTRAN}/lib ' - ' -L${EBROOTECCODES}/lib ' - ' -L${EBROOTLIBFYAML}/lib ' - ' -L${EBROOTLIBXML2}/lib ' - ' -nvmalloc ' - '" ' - 'LIBS="' - ' -Wl,--disable-new-dtags -Wl,--as-needed ' - ' -lcudart ' - ' -lxml2 ' - ' -lfyaml ' - ' -leccodes_f90 -leccodes ' - ' -llapack -lblas ' - ' -lnetcdff -lnetcdf ' - ' -lhdf5_hl_fortran -lhdf5_fortran -lhdf5 ' - ' -lz ' - ' -lstdc++ ' - '" ' - 'MPI_LAUNCH=false ' -) % (local_gpu_cc, local_gpu_cc) - -# Model Features: -configopts += ( - '--enable-atmo ' # atmosphere component [default=yes] - '--enable-les ' # Large-Eddy Simulation component [default=yes] - '--enable-upatmo ' # upper atmosphere component [default=yes] - '--enable-ocean ' # ocean component [default=yes] - '--enable-jsbach ' # land component JSBACH [default=yes] - '--enable-jsbach-hd ' # hydrological discharge scheme of the JSBACH land component [default=auto] - '--enable-waves ' # ocean surface wave component [default=no] - '--enable-coupling ' # coupling [default=yes] - '--enable-aes ' # AES physics package [default=yes] - '--enable-nwp ' # NWP physics package [default=yes] - '--enable-ecrad ' # ECMWF radiation scheme (ECRAD) [default=no] - '--enable-rte-rrtmgp ' # RTE+RRTMGP toolbox for radiation calculations [default=yes] - '--enable-art ' # aerosols and reactive trace component ART [default=no] - '--enable-art-gpl ' # GPL-licensed code parts of the ART component [default=no] - '--enable-comin ' # ICON community interfaces [default=no] - - # Subject to a license agreement - # '--enable-acm-license ' # accepting ACM Software License Agreement [default=no] - # '--enable-rttov ' # radiative transfer model for TOVS [default=no] - # https://nwp-saf.eumetsat.int/site/software/rttov/download/#Software - # '--enable-dace ' # DACE modules for data assimilation [default=no] - # "Data Assimilation Coding Environment (DACE)" - # http://www.cosmo-model.org/content/support/software/#dace - # '--enable-emvorado ' # radar forward operator EMVORADO [default=no] - # "Efficient Modular VOlume scan RADar Operator (EMVORADO)" - # '--enable-hd=yes ' # Hydrological Discharge (HD) model [default=no]: - # 05deg|yes enable for the 0.5-degree global domain - # 5min enable for the 5min global domain - # no disable the HD model -) - -# Infrastructural Features: -configopts += ( - '--enable-mpi ' # MPI (parallelization) support [default=yes] - '--disable-mpi-checks ' # configure-time checks of MPI library [default=yes] - # '--enable-active-target-sync ' # MPI active target mode [default=no] - # '--enable-mpi-rget ' # MPI_Rget routine [default=auto] - '--enable-mpi-gpu ' # GPU-aware MPI features [default=no] - '--enable-async-io-rma ' # MPI RMA for asynchronous I/O [default=yes] - # '--enable-openmp ' # OpenMP support [default=no] - do not combine with --enable-gpu - '--enable-gpu=yes ' # GPU support [default=no]: - do not combine with --enable-openmp - # openacc+cuda with OpenACC and CUDA - # openacc+hip with OpenACC and HIP - # openacc alias for 'openacc+cuda' - # yes alias for 'openacc+cuda' - # no disable GPU support - '--enable-grib2 ' # GRIB2 I/O [default=no] - # '--enable-parallel-netcdf ' # parallel features of NetCDF [default=no] - ICON hangs with netCDF>=4.8.0 - '--enable-cdi-pio ' # parallel features of CDI [default=no] - # '--enable-sct ' # SCT timer [default=no] - '--enable-yaxt ' # YAXT data exchange [default=no] - # '--enable-explicit-fpp ' # explicit Fortran preprocessing [default=auto] - # '--enable-serialization ' # Serialbox2 serialization [default=no]: - # read enable READ mode - # perturb enable READ & PERTURB mode - # create enable CREATE mode - # yes alias for 'read' - # no disable serialization - # '--enable-testbed ' # ICON Testbed infrastructure [default=no] - # '--enable-memory-tracing ' # native dynamic memory tracing facility [default=no]: - # mtrace enable tracing with mtrace (glibc) - # yes alias for 'mtrace' - # no disable memory tracing -) - -# Optimization Features: -configopts += ( - '' - '--disable-loop-exchange ' # loop exchange [default=auto] - # '--enable-dim-swap ' # dimension swap [default=auto] - '--enable-realloc-buf ' # reallocatable buffer in the communication [default=no] - '--enable-vectorized-lrtm ' # parallelization-invariant version of LRTM [default=no] - # '--enable-mixed-precision ' # mixed precision dycore [default=no] - # '--enable-intel-consistency ' # Intel compiler directives enforcing consistency [default=auto] - '--enable-pgi-inlib ' # PGI/NVIDIA cross-file function inlining via an inline library [default=no] - # '--enable-nccl ' # NCCL for communication [default=no] - # '--enable-cuda-graphs ' # CUDA graphs [default=no] - # '--enable-fcgroup- # Fortran compile group for extra set of compiler flags -) - -# External Libraries: -configopts += ( - '' - # '--with-external-tixi ' # https://gitlab.dkrz.de/icon-libraries/libtixi - a modified version of TIXI - # '--with-external-yac ' # https://gitlab.dkrz.de/dkrz-sw/yac - # '--with-external-mtime ' # https://gitlab.dkrz.de/icon-libraries/libmtime - # '--with-external-cdi ' # https://code.mpimet.mpg.de/projects/cdi/ - # '--with-external-ppm ' # https://gitlab.dkrz.de/jahns/ppm - # '--with-external-yaxt ' # https://gitlab.dkrz.de/dkrz-sw/yaxt - # '--with-external-sct ' # https://gitlab.dkrz.de/dkrz-sw/sct - # '--with-external-ecrad ' # https://confluence.ecmwf.int/display/ECRAD/ECMWF+Radiation+Scheme+Home - # '--with-external-rte-rrtmgp ' # https://github.com/earth-system-radiation/rte-rrtmgp -) - -postinstallcmds = [ - # Transfer required data - '%(builddir)s/icon-model/utils/move_to_prefix.sh ', - # Generate the runscripts - ( - 'cd %(installdir)s && ' - './make_runscripts --all ' - ), -] - -modextravars = { - 'NVCOMPILER_ACC_DEFER_UPLOADS': '1', # for a small 1-2% performance improvement -} - -sanity_check_paths = { - 'files': ['bin/icon'], - 'dirs': ['bin'], -} - -moduleclass = 'tools' From 4f1b88ebd86cd80c1c9aeb327645106f3f7c48cb Mon Sep 17 00:00:00 2001 From: Jens Henrik Goebbert Date: Sat, 24 Feb 2024 20:04:21 +0100 Subject: [PATCH 150/889] remmove unrequired patch --- .../ICON/ICON-2024.01_ecrad-inline-workaround.patch | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 easybuild/easyconfigs/i/ICON/ICON-2024.01_ecrad-inline-workaround.patch diff --git a/easybuild/easyconfigs/i/ICON/ICON-2024.01_ecrad-inline-workaround.patch b/easybuild/easyconfigs/i/ICON/ICON-2024.01_ecrad-inline-workaround.patch deleted file mode 100644 index 727a32a02d9..00000000000 --- a/easybuild/easyconfigs/i/ICON/ICON-2024.01_ecrad-inline-workaround.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur icon-model.orig/externals/ecrad/radiation/radiation_mcica_acc_sw.F90 icon-model/externals/ecrad/radiation/radiation_mcica_acc_sw.F90 ---- icon-model.orig/externals/ecrad/radiation/radiation_mcica_acc_sw.F90 2024-02-14 10:14:44.000000000 +0100 -+++ icon-model/externals/ecrad/radiation/radiation_mcica_acc_sw.F90 2024-02-17 01:32:38.621200392 +0100 -@@ -364,7 +364,7 @@ - - ! Do cloudy-sky calculation - call cloud_generator_acc(ng, nlev, & -- & single_level%iseed(jcol), & -+ & single_level%iseed(jcol) + 0, & ! HPC SDK inlining workaround - & config%cloud_fraction_threshold, & - & frac(:,jcol), overlap_param(:,jcol), & - & config%cloud_inhom_decorr_scaling, frac_std(:,jcol), & From 96d486d75d233bd2767afe0902065ae8be785d96 Mon Sep 17 00:00:00 2001 From: Jens Henrik Goebbert Date: Sat, 24 Feb 2024 20:39:50 +0100 Subject: [PATCH 151/889] fix ci issues --- .../i/ICON/ICON-2024.01-foss-2023a.eb | 4 +- .../l/libfyaml/libfyaml-0.9-GCCcore-12.3.0.eb | 40 +++++++++++++++++++ 2 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 easybuild/easyconfigs/l/libfyaml/libfyaml-0.9-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb b/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb index c95ba0a334f..4e09c27c435 100644 --- a/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb +++ b/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb @@ -40,7 +40,7 @@ checksums = [ builddependencies = [ ('CMake', '3.26.3'), ('Python', '3.11.3'), - ('SciPy-bundle', '2023.07', '', ('gcccoreflexiblas', '12.3.0-3.3.1')), + ('SciPy-bundle', '2023.07', '', ('gfbf', '2023a')), ('Perl', '5.36.1'), ('pkgconf', '1.9.5'), ] @@ -52,7 +52,7 @@ dependencies = [ ('ecCodes', '2.31.0'), ('netCDF', '4.9.2'), ('netCDF-Fortran', '4.6.1'), - ('HDF5', '1.14.2'), + ('HDF5', '1.14.3'), ] preconfigopts = ( diff --git a/easybuild/easyconfigs/l/libfyaml/libfyaml-0.9-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libfyaml/libfyaml-0.9-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..f0b33633eae --- /dev/null +++ b/easybuild/easyconfigs/l/libfyaml/libfyaml-0.9-GCCcore-12.3.0.eb @@ -0,0 +1,40 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'ConfigureMake' + +name = 'libfyaml' +version = '0.9' + +homepage = "https://github.com/pantoniou/libfyaml" +description = """Fully feature complete YAML parser and emitter, supporting the latest YAML spec and passing the +full YAML testsuite.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/pantoniou/libfyaml/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['7731edc5dfcc345d5c5c9f6ce597133991a689dabede393cd77bae89b327cd6d'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('libyaml', '0.2.5'), +] + +preconfigopts = './bootstrap.sh &&' + +# tests require git checkout for the data +# if jq is available then one test may fail: https://github.com/pantoniou/libfyaml/issues/99 +# runtest = 'check' + +sanity_check_paths = { + 'files': ['bin/fy-tool', 'include/libfyaml.h', 'lib/libfyaml.a', 'lib/libfyaml.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["fy-tool --help"] + +moduleclass = 'lib' \ No newline at end of file From 569f53598105c79cdbe82a978e04035e1d7334b0 Mon Sep 17 00:00:00 2001 From: Jens Henrik Goebbert Date: Sat, 24 Feb 2024 21:02:39 +0100 Subject: [PATCH 152/889] fix style --- easybuild/easyconfigs/l/libfyaml/libfyaml-0.9-GCCcore-12.3.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/l/libfyaml/libfyaml-0.9-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libfyaml/libfyaml-0.9-GCCcore-12.3.0.eb index f0b33633eae..c7f9f5e86b2 100644 --- a/easybuild/easyconfigs/l/libfyaml/libfyaml-0.9-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/l/libfyaml/libfyaml-0.9-GCCcore-12.3.0.eb @@ -37,4 +37,4 @@ sanity_check_paths = { sanity_check_commands = ["fy-tool --help"] -moduleclass = 'lib' \ No newline at end of file +moduleclass = 'lib' From 9a52f5aab7eb28fa3aeafbfe5c12051e654fdd29 Mon Sep 17 00:00:00 2001 From: Jens Henrik Goebbert Date: Sat, 24 Feb 2024 21:25:28 +0100 Subject: [PATCH 153/889] downgrade HDF5-dependency version to match existing versions --- easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb b/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb index 4e09c27c435..42b04d89a3c 100644 --- a/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb +++ b/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb @@ -52,7 +52,7 @@ dependencies = [ ('ecCodes', '2.31.0'), ('netCDF', '4.9.2'), ('netCDF-Fortran', '4.6.1'), - ('HDF5', '1.14.3'), + ('HDF5', '1.14.0'), ] preconfigopts = ( From 6a8767fc2096a5c67b123aa1788b9e6d2a9603f5 Mon Sep 17 00:00:00 2001 From: nicolas Date: Mon, 26 Feb 2024 11:58:12 +0100 Subject: [PATCH 154/889] added 'sources' back --- ...htning-2.2.0.post0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/l/lightning/lightning-2.2.0.post0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb b/easybuild/easyconfigs/l/lightning/lightning-2.2.0.post0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb index 8e77b816aca..39f01a1abef 100644 --- a/easybuild/easyconfigs/l/lightning/lightning-2.2.0.post0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/l/lightning/lightning-2.2.0.post0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb @@ -10,11 +10,9 @@ description = "The deep learning framework to pretrain, finetune and deploy AI m toolchain = {'name': 'foss', 'version': '2023a'} +sources = [SOURCELOWER_TAR_GZ] checksums = ['60d91d39f42dde49e411bbf3a243b3d89c58aa028e2476d5fd2b3894a97ea775'] -builddependencies = [ -] - dependencies = [ ('CUDA', '12.1.1', '', SYSTEM), ('Python', '3.11.3'), From 8d01616883c03835b17f6c8725e3a197f2ebb5e4 Mon Sep 17 00:00:00 2001 From: jfgrimm Date: Tue, 27 Feb 2024 11:34:26 +0000 Subject: [PATCH 155/889] use PyTorch-bundle instead of separate torchvision easyconfig --- ...rch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 79 +++++++++++++++++++ .../SentencePiece-0.2.0-GCC-12.3.0.eb | 65 +++++++++++++++ ...rchvision-0.16.2-foss-2023a-CUDA-12.1.1.eb | 27 ------- 3 files changed, 144 insertions(+), 27 deletions(-) create mode 100644 easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb create mode 100644 easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb delete mode 100644 easybuild/easyconfigs/t/torchvision/torchvision-0.16.2-foss-2023a-CUDA-12.1.1.eb diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..344d73613b2 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,79 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-bundle' +version = '2.1.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://pytorch.org/' +description = """PyTorch with compatible versions of official Torch extensions.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('CMake', '3.26.3'), + ('RE2', '2023-08-01'), # for torchtext +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('PyTorch', version, versionsuffix), + ('Pillow-SIMD', '9.5.0'), # for torchvision + ('SentencePiece', '0.2.0'), # for torchtext + ('tqdm', '4.66.1'), # for torchtext + ('double-conversion', '3.3.0'), # for torchtext + ('utf8proc', '2.8.0'), # for torchtext + ('tensorboard', '2.15.1'), # for torch-tb-profiler +] + +use_pip = True + +exts_list = [ + ('portalocker', '2.8.2', { + 'checksums': ['2b035aa7828e46c58e9b31390ee1f169b98e1066ab10b9a6a861fe7e25ee4f33'], + }), + ('torchdata', '0.7.1', { + 'preinstallopts': "USE_SYSTEM_LIBS=1 ", + 'source_urls': ['https://github.com/pytorch/data/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['ef9bbdcee759b53c3c9d99e76eb0a66da33d36bfb7f859a25a9b5e737a51fa23'], + }), + ('torchtext', '0.17.1', { + 'patches': [ + 'torchtext-0.14.1_use-system-libs.patch', + ], + 'source_urls': ['https://github.com/pytorch/text/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': [ + {'torchtext-0.17.1.tar.gz': '1b21c1efb13072465bc11dbb7b80e8bdc3aca3cee9234242f57f0503f3db47f5'}, + {'torchtext-0.14.1_use-system-libs.patch': + '1366d10c4755b6003194f7313ca11d165a80a13d325bee9d669ea2b333d82536'}, + {'torchtext-0.13.1_cxx_17.patch': 'fd242c139baa27352d1065cece4658a3ede76f46ffec08ac04a554301e547f22'}, + ], + }), + ('torchvision', '0.16.2', { + 'patches': ['torchvision-0.16.2_ffmpeg-6.0-fix.patch'], + 'source_urls': ['https://github.com/pytorch/vision/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': [ + {'torchvision-0.16.2.tar.gz': '8c1f2951e98d8ada6e5a468f179af4be9f56d2ebc3ab057af873da61669806d7'}, + {'torchvision-0.16.2_ffmpeg-6.0-fix.patch': + 'a49336e7bfa1c950e886852bff37a3ea2146ac7bda87241e3ffb31c5cb869cce'}, + ], + }), + ('pytorch-ignite', '0.4.13', { + 'modulename': 'ignite', + 'source_urls': ['https://github.com/pytorch/ignite/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['bfe4b6f1cd96e78c021a65a0c51350cdb89d6ef5a8b9609638666ca95bae51d7'], + }), + ('torch-tb-profiler', '0.4.3', { + 'modulename': 'torch.profiler', + 'sources': ['torch_tb_profiler-%(version)s.tar.gz'], + 'checksums': ['8b8d29b2de960b3c4423087b23cec29beaf9ac3a8c7b046c18fd25b218f726b1'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb b/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..42c6e7f5281 --- /dev/null +++ b/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb @@ -0,0 +1,65 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'Bundle' + +name = 'SentencePiece' +version = '0.2.0' + +homepage = 'https://github.com/google/sentencepiece' +description = "Unsupervised text tokenizer for Neural Network-based text generation." +github_account = 'google' + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('gperftools', '2.12'), +] + +default_component_specs = { + 'source_urls': [GITHUB_LOWER_SOURCE], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['9970f0a0afee1648890293321665e5b2efa04eaec9f1671fcf8048f456f5bb86'], +} + +components = [ + (name, version, { + 'easyblock': 'CMakeMake', + 'separate_build_dir': True, + 'start_dir': '%(namelower)s-%(version)s', + }), + ('sentencepiece', version, { + 'easyblock': 'PythonPackage', + 'start_dir': '%(namelower)s-%(version)s/python', + 'prebuildopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && ', + 'preinstallopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && ', + 'use_pip': True, + 'download_dep_fail': True, + 'sanity_pip_check': True, + }), +] + +postinstallcmds = ['cp -a %(builddir)s/%(namelower)s-%(version)s/{data,doc} %(installdir)s/'] + +sanity_check_paths = { + 'files': ['bin/spm_%s' % x for x in ['decode', 'encode', 'export_vocab', 'normalize', 'train']] + + ['lib/libsentencepiece.%s' % SHLIB_EXT, 'lib/libsentencepiece_train.%s' % SHLIB_EXT] + + ['include/sentencepiece_processor.h', 'include/sentencepiece_trainer.h'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'data', 'doc'], +} + +sanity_check_commands = [ + 'spm_train --help', + "python -c 'import sentencepiece'", +] + +modextrapaths = { + 'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/torchvision/torchvision-0.16.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/t/torchvision/torchvision-0.16.2-foss-2023a-CUDA-12.1.1.eb deleted file mode 100644 index a72f7b8760a..00000000000 --- a/easybuild/easyconfigs/t/torchvision/torchvision-0.16.2-foss-2023a-CUDA-12.1.1.eb +++ /dev/null @@ -1,27 +0,0 @@ -name = 'torchvision' -version = '0.16.2' -versionsuffix = '-CUDA-%(cudaver)s' - -homepage = 'https://github.com/pytorch/vision' -description = " Datasets, Transforms and Models specific to Computer Vision" - -toolchain = {'name': 'foss', 'version': '2023a'} - -source_urls = ['https://github.com/pytorch/vision/archive'] -sources = ['v%(version)s.tar.gz'] -patches = ['%(name)s-0.16.2_ffmpeg-6.0-fix.patch'] -checksums = [ - {'v0.16.2.tar.gz': '8c1f2951e98d8ada6e5a468f179af4be9f56d2ebc3ab057af873da61669806d7'}, - {'torchvision-0.16.2_ffmpeg-6.0-fix.patch': 'a49336e7bfa1c950e886852bff37a3ea2146ac7bda87241e3ffb31c5cb869cce'}, -] - -builddependencies = [('CMake', '3.26.3')] - -dependencies = [ - ('CUDA', '12.1.1', '', SYSTEM), - ('Python', '3.11.3'), - ('Pillow-SIMD', '9.5.0'), - ('PyTorch', '2.1.2', '-CUDA-%(cudaver)s'), -] - -moduleclass = 'vis' From 47793b27245967dff14ecf186de21be06e13e0a2 Mon Sep 17 00:00:00 2001 From: jfgrimm Date: Tue, 27 Feb 2024 11:39:01 +0000 Subject: [PATCH 156/889] move patch --- .../PyTorch-bundle}/torchvision-0.16.2_ffmpeg-6.0-fix.patch | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/{t/torchvision => p/PyTorch-bundle}/torchvision-0.16.2_ffmpeg-6.0-fix.patch (100%) diff --git a/easybuild/easyconfigs/t/torchvision/torchvision-0.16.2_ffmpeg-6.0-fix.patch b/easybuild/easyconfigs/p/PyTorch-bundle/torchvision-0.16.2_ffmpeg-6.0-fix.patch similarity index 100% rename from easybuild/easyconfigs/t/torchvision/torchvision-0.16.2_ffmpeg-6.0-fix.patch rename to easybuild/easyconfigs/p/PyTorch-bundle/torchvision-0.16.2_ffmpeg-6.0-fix.patch From 6bb22cff3946a48c69000803b885806fbcccfc83 Mon Sep 17 00:00:00 2001 From: Jasper Grimm <65227842+jfgrimm@users.noreply.github.com> Date: Tue, 27 Feb 2024 11:59:21 +0000 Subject: [PATCH 157/889] delete unused checksum --- .../PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index 344d73613b2..e6eb6a4aef4 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -48,7 +48,6 @@ exts_list = [ {'torchtext-0.17.1.tar.gz': '1b21c1efb13072465bc11dbb7b80e8bdc3aca3cee9234242f57f0503f3db47f5'}, {'torchtext-0.14.1_use-system-libs.patch': '1366d10c4755b6003194f7313ca11d165a80a13d325bee9d669ea2b333d82536'}, - {'torchtext-0.13.1_cxx_17.patch': 'fd242c139baa27352d1065cece4658a3ede76f46ffec08ac04a554301e547f22'}, ], }), ('torchvision', '0.16.2', { From 28babcda3166bc094dacc1c858e5b1a88bc2c48f Mon Sep 17 00:00:00 2001 From: maxim-masterov Date: Tue, 27 Feb 2024 13:35:30 +0100 Subject: [PATCH 158/889] Add deal.II and p4est --- .../d/deal.II/deal.II-9.5.2-foss-2023a.eb | 42 +++++++++++++++++++ .../p/p4est/p4est-2.8.5.5-9ddbb-foss-2023a.eb | 35 ++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 easybuild/easyconfigs/d/deal.II/deal.II-9.5.2-foss-2023a.eb create mode 100644 easybuild/easyconfigs/p/p4est/p4est-2.8.5.5-9ddbb-foss-2023a.eb diff --git a/easybuild/easyconfigs/d/deal.II/deal.II-9.5.2-foss-2023a.eb b/easybuild/easyconfigs/d/deal.II/deal.II-9.5.2-foss-2023a.eb new file mode 100644 index 00000000000..78d55276fe7 --- /dev/null +++ b/easybuild/easyconfigs/d/deal.II/deal.II-9.5.2-foss-2023a.eb @@ -0,0 +1,42 @@ +easyblock = 'CMakeMake' + +name = 'deal.II' +version = '9.5.2' + +homepage = 'https://www.dealii.org' +description = """deal.II is a C++ program library targeted at the computational solution of + partial differential equations using adaptive finite elements.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/dealii/dealii/releases/download/v%(version)s/'] +sources = ['dealii-%(version)s.tar.gz'] +checksums = ['7930e5218a9807d60cc05c300a3b70f36f4af22c3551a2cd1141fbab013bbaf1'] + +builddependencies = [('CMake', '3.26.3')] + +dependencies = [ + ('Boost', '1.82.0'), + ('GSL', '2.7'), + ('HDF5', '1.14.0'), + ('METIS', '5.1.0'), + ('p4est', '2.8.5.5-9ddbb'), + ('PETSc', '3.20.3'), + ('zlib', '1.2.13'), +] + +configopts = "-DDEAL_II_WITH_LAPACK=ON -DDEAL_II_WITH_MPI=ON " +configopts += "-DDEAL_II_WITH_BOOST=ON -DBOOST_DIR=$EBROOTBOOST " +configopts += "-DDEAL_II_WITH_GSL=ON -DGSL_DIR=$EBROOTGSL " +configopts += "-DDEAL_II_WITH_HDF5=ON -DHDF5_DIR=$EBROOTHDF5 " +configopts += "-DDEAL_II_WITH_METIS=ON -DMETIS_DIR=$EBROOTMETIS " +configopts += "-DDEAL_II_WITH_P4EST=ON -DP4EST_DIR=$EBROOTP4EST " +configopts += "-DDEAL_II_WITH_PETSC=ON -DPETSC_DIR=$EBROOTPETSC " +configopts += "-DDEAL_II_WITH_ZLIB=ON -DZLIB_DIR=$EBROOTZLIB " + +sanity_check_paths = { + 'files': ['lib/libdeal_II.%s' % SHLIB_EXT], + 'dirs': ['include/deal.II', 'lib/cmake', 'share/deal.II'], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/p/p4est/p4est-2.8.5.5-9ddbb-foss-2023a.eb b/easybuild/easyconfigs/p/p4est/p4est-2.8.5.5-9ddbb-foss-2023a.eb new file mode 100644 index 00000000000..2e4b85e161b --- /dev/null +++ b/easybuild/easyconfigs/p/p4est/p4est-2.8.5.5-9ddbb-foss-2023a.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'p4est' +version = '2.8.5.5-9ddbb' + +homepage = 'https://www.p4est.org' +description = """p4est is a C library to manage a collection (a forest) of multiple +connected adaptive quadtrees or octrees in parallel.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'openmp': True, 'usempi': True, 'pic': True} + +source_urls = ['https://p4est.github.io/release/'] +sources = [SOURCE_TAR_GZ] +checksums = ['1a1fd146c07b8b4de369d2ac63984533e33e576c89d1f7bab9a15b343a6e403a'] + +builddependencies = [ + ('Autotools', '20220317') +] + +dependencies = [ + ('zlib', '1.2.13'), + ('METIS', '5.1.0') +] + +configopts = "--enable-openmp --enable-mpi --with-metis " +configopts += '--with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK" ' + +sanity_check_paths = { + 'files': ['bin/p4est_simple', 'bin/p4est_step1', 'bin/p4est_step2', 'bin/p4est_step3', 'bin/p4est_step4', + 'lib/libp4est.a', 'lib/libp4est.la'], + 'dirs': [], +} + +moduleclass = 'math' From d8bb18c88b8e7e7f2ae07ea013651717071eaace Mon Sep 17 00:00:00 2001 From: Jasper Grimm <65227842+jfgrimm@users.noreply.github.com> Date: Tue, 27 Feb 2024 12:40:22 +0000 Subject: [PATCH 159/889] switch topaz to pytorch bundle --- .../t/topaz/topaz-0.2.5.20231120-foss-2023a-CUDA-12.1.1.eb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/t/topaz/topaz-0.2.5.20231120-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/t/topaz/topaz-0.2.5.20231120-foss-2023a-CUDA-12.1.1.eb index 877445f182e..8156c8d8dbc 100644 --- a/easybuild/easyconfigs/t/topaz/topaz-0.2.5.20231120-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/t/topaz/topaz-0.2.5.20231120-foss-2023a-CUDA-12.1.1.eb @@ -20,9 +20,8 @@ dependencies = [ ('CUDA', '12.1.1', '', SYSTEM), ('Python', '3.11.3'), ('SciPy-bundle', '2023.07'), - ('PyTorch', '2.1.2', versionsuffix), + ('PyTorch-bundle', '2.1.2', versionsuffix), ('scikit-learn', '1.3.1'), - ('torchvision', '0.16.2', versionsuffix), ('scikit-image', '0.22.0'), ] From 5b31fa1aec0bb8302c3847805a52d06ecc7f0883 Mon Sep 17 00:00:00 2001 From: jfgrimm Date: Tue, 27 Feb 2024 14:52:55 +0000 Subject: [PATCH 160/889] adding easyconfigs: PyEXR-0.3.10-gfbf-2023a.eb and patches: OpenEXR-1.3.9_fix-openexr-inc-lib-searching.patch --- ...-1.3.9_fix-openexr-inc-lib-searching.patch | 51 +++++++++++++++++++ .../p/PyEXR/PyEXR-0.3.10-gfbf-2023a.eb | 38 ++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 easybuild/easyconfigs/p/PyEXR/OpenEXR-1.3.9_fix-openexr-inc-lib-searching.patch create mode 100644 easybuild/easyconfigs/p/PyEXR/PyEXR-0.3.10-gfbf-2023a.eb diff --git a/easybuild/easyconfigs/p/PyEXR/OpenEXR-1.3.9_fix-openexr-inc-lib-searching.patch b/easybuild/easyconfigs/p/PyEXR/OpenEXR-1.3.9_fix-openexr-inc-lib-searching.patch new file mode 100644 index 00000000000..47702d55e38 --- /dev/null +++ b/easybuild/easyconfigs/p/PyEXR/OpenEXR-1.3.9_fix-openexr-inc-lib-searching.patch @@ -0,0 +1,51 @@ +Author: Jasper Grimm +Ensure that OpenEXR (python) can find the OpenEXR include and library files +diff -Nru OpenEXR-1.3.9.orig/setup.py OpenEXR-1.3.9/setup.py +--- OpenEXR-1.3.9.orig/setup.py 2024-02-27 14:20:58.796514598 +0000 ++++ OpenEXR-1.3.9/setup.py 2024-02-27 14:29:13.274992396 +0000 +@@ -2,7 +2,7 @@ + from distutils.extension import Extension + from distutils.command.build_py import build_py as _build_py + +-from os import system ++from os import path, environ + import platform + + from distutils.core import setup, Extension +@@ -21,12 +21,7 @@ + """ + + +-print("Looking for libOpenEXR...") +-if platform.system() == "Linux" and system("ldconfig -p | grep libOpenEXR"): +- # There is no libOpenEXR, probably an old version of OpenEXR +- libraries=['Iex', 'Half', 'Imath', 'IlmImf', 'z'] +-else: +- libraries=['Iex', 'OpenEXR', 'z'] ++libraries=['Iex', 'OpenEXR', 'z'] + + extra_compile_args = ['-g', '-DVERSION="%s"' % VERSION] + if platform.system() == 'Darwin': +@@ -41,18 +36,12 @@ + description = "Python bindings for ILM's OpenEXR image file format", + long_description = DESC, + version=VERSION, +- ext_modules=[ ++ ext_modules=[ + Extension('OpenEXR', + ['OpenEXR.cpp'], +- include_dirs=['/usr/include/OpenEXR', +- '/usr/local/include/OpenEXR', +- '/opt/local/include/OpenEXR', +- '/usr/include/Imath', +- '/usr/local/include/Imath', +- '/opt/local/include/Imath'], +- library_dirs=['/usr/lib', +- '/usr/local/lib', +- '/opt/local/lib'], ++ include_dirs=[path.join(environ['EBROOTOPENEXR'], 'include', 'OpenEXR'), ++ path.join(environ['EBROOTIMATH'], 'include', 'Imath')], ++ library_dirs=[path.join(environ['EBROOTOPENEXR'], 'lib')], + libraries=libraries, + extra_compile_args=extra_compile_args) + ], diff --git a/easybuild/easyconfigs/p/PyEXR/PyEXR-0.3.10-gfbf-2023a.eb b/easybuild/easyconfigs/p/PyEXR/PyEXR-0.3.10-gfbf-2023a.eb new file mode 100644 index 00000000000..a5830ad2506 --- /dev/null +++ b/easybuild/easyconfigs/p/PyEXR/PyEXR-0.3.10-gfbf-2023a.eb @@ -0,0 +1,38 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'PythonBundle' + +name = 'PyEXR' +version = '0.3.10' + +homepage = 'https://github.com/tvogels/pyexr' +description = "A simple EXR IO-library for Python that simplifies the use of OpenEXR." + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('OpenEXR', '3.1.7'), +] + +use_pip = True + +exts_list = [ + ('OpenEXR', '1.3.9', { + 'patches': ['OpenEXR-1.3.9_fix-openexr-inc-lib-searching.patch'], + 'checksums': [ + {'OpenEXR-1.3.9.tar.gz': 'cffcd13906291ef1a81b369c1c0e907648ecd24363668873691f44866704ab21'}, + {'OpenEXR-1.3.9_fix-openexr-inc-lib-searching.patch': + '12a6abe5d0ef6911471f87078cd8d18ea9a47b584e75ea559f3f787c5fc9f268'}, + ], + 'modulename': False, + }), + (name, version, { + 'checksums': ['fe41fb791f58744053e7d665fbacaa904b22d957a6efb4f5d77f82aebb1ece21'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' From 51ba589257069ed973680652207b89d36186af08 Mon Sep 17 00:00:00 2001 From: Jens Henrik Goebbert Date: Tue, 27 Feb 2024 16:24:58 +0100 Subject: [PATCH 161/889] avoid git-clone, set checksums, add yac-patch, remove FLAGS --- .../i/ICON/ICON-2024.01-foss-2023a.eb | 50 +++++-------------- .../i/ICON/ICON-2024.01_yac4nvhcp24.patch | 22 ++++++++ .../l/libfyaml/libfyaml-0.9-GCCcore-12.3.0.eb | 1 - 3 files changed, 35 insertions(+), 38 deletions(-) create mode 100644 easybuild/easyconfigs/i/ICON/ICON-2024.01_yac4nvhcp24.patch diff --git a/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb b/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb index 42b04d89a3c..dac252c7eed 100644 --- a/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb +++ b/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb @@ -7,6 +7,7 @@ easyblock = 'ConfigureMake' name = 'ICON' version = '2024.01' +versionsuffix = '-test' local_tag = 'icon-%(version)s-public' @@ -19,28 +20,23 @@ that provides actionable information for society and advances our understanding toolchain = {'name': 'foss', 'version': '2023a'} toolchainopts = {'pic': True, 'usempi': True} -sources = [{ - 'git_config': { - 'url': 'https://gitlab.dkrz.de/icon', - 'repo_name': 'icon-model', - 'tag': '%s' % local_tag, - 'recursive': True, - 'keep_git_dir': True, - }, - 'filename': 'v%s.tar.gz' % version, -}] +source_urls = [('https://gitlab.dkrz.de/icon/icon-model/-/archive/release-%(version)s-public/')] +sources = [('icon-model-release-%(version)s-public.tar.gz')] + patches = [ + 'ICON-2024.01_yac4nvhcp24.patch', 'ICON-2024.01_lzacc-undefined.patch', ] checksums = [ - None, + '53f0c6fb2622725b184b220ace307665d7965ae3609ebe4a51e5e36539a495b0', + '98e595f67c0227a8599c383e207c235541221ea4f00befd1c5f515b072152068', '5612f304dc0241016e3126134737549d7bb719cb879451ef3a9623a29a218414', ] builddependencies = [ ('CMake', '3.26.3'), ('Python', '3.11.3'), - ('SciPy-bundle', '2023.07', '', ('gfbf', '2023a')), + ('SciPy-bundle', '2023.07', '', ('gcccoreflexiblas', '12.3.0-3.3.1')), ('Perl', '5.36.1'), ('pkgconf', '1.9.5'), ] @@ -52,17 +48,9 @@ dependencies = [ ('ecCodes', '2.31.0'), ('netCDF', '4.9.2'), ('netCDF-Fortran', '4.6.1'), - ('HDF5', '1.14.0'), + ('HDF5', '1.14.2'), ] -preconfigopts = ( - # Overwrite externals YAC with newer version - 'pushd %(builddir)s/icon-model/externals && ' - 'rm -rf yac && ' - 'git clone --branch release-3.0.3_p8 https://gitlab.dkrz.de/dkrz-sw/yac.git && ' - 'popd && ' -) - # Details on configuration settings and order can be found here: # https://gitlab.dkrz.de/icon/icon-model/-/blob/icon-2024.01-public/doc/Quick_Start.md#icon-deptable configopts = ( @@ -73,13 +61,7 @@ configopts = ( '" ' 'ICON_CFLAGS="-O3" ' 'ICON_BUNDLED_CFLAGS="-O2" ' - 'CPPFLAGS="' - ' -I${EBROOTHDF5}/include ' - ' -I${EBROOTNETCDF}/include ' - ' -I${EBROOTECCODES}/include ' - ' -I${EBROOTLIBFYAML}/include/libfyaml ' - ' -I${EBROOTLIBXML2}/include/libxml2 ' - '" ' + # 'CPPFLAGS="''" # $CPATH set by easybuild # Fortran 'FCFLAGS="' ' -mpc64 -march=native ' @@ -107,14 +89,7 @@ configopts = ( ' -fallow-invalid-boz ' # Degrades a specific error to a warning '" ' # Linker - 'LDFLAGS="' - ' -L${EBROOTZLIB}/lib ' - ' -L${EBROOTHDF5}/lib ' - ' -L${EBROOTNETCDF}/lib -L${EBROOTNETCDFMINFORTRAN}/lib ' - ' -L${EBROOTECCODES}/lib ' - ' -L${EBROOTLIBFYAML}/lib ' - ' -L${EBROOTLIBXML2}/lib ' - '" ' + # 'LDFLAGS="''" # $LIBRARY_PATH set by easybuild 'LIBS="' ' -Wl,--disable-new-dtags -Wl,--as-needed ' ' -lxml2 ' @@ -228,7 +203,7 @@ configopts += ( postinstallcmds = [ # Transfer required data - '%(builddir)s/icon-model/utils/move_to_prefix.sh ', + '%(builddir)s/icon-model-release-%(version)s-public/utils/move_to_prefix.sh ', # Generate the runscripts ( 'cd %(installdir)s && ' @@ -242,3 +217,4 @@ sanity_check_paths = { } moduleclass = 'tools' + diff --git a/easybuild/easyconfigs/i/ICON/ICON-2024.01_yac4nvhcp24.patch b/easybuild/easyconfigs/i/ICON/ICON-2024.01_yac4nvhcp24.patch new file mode 100644 index 00000000000..7c5f2e08d6a --- /dev/null +++ b/easybuild/easyconfigs/i/ICON/ICON-2024.01_yac4nvhcp24.patch @@ -0,0 +1,22 @@ +diff --git a/src/config_yaml.c b/src/config_yaml.c +index 6cfac2f3..068bbc1c 100644 +--- icon-model.orig/externals/yac/src/config_yaml.c ++++ icon-model/externals/yac/src/config_yaml.c +@@ -210,7 +210,7 @@ DEF_NAME_TYPE_PAIRS( + DEF_NAME_TYPE_PAIR(target, 0)); + + typedef +-#if defined __NVCOMPILER && (__NVCOMPILER_MAJOR__ <= 22 || __NVCOMPILER_MAJOR__ == 23 && __NVCOMPILER_MINOR__ <= 11) ++#if defined __NVCOMPILER && (__NVCOMPILER_MAJOR__ <= 23 || __NVCOMPILER_MAJOR__ == 24 && __NVCOMPILER_MINOR__ <= 1) + // Older versions of NVHPC have serious problems with unions that contain + // pointers that are not the first members. + struct +@@ -239,7 +239,7 @@ struct interp_method_parameter { + char const * name; + enum interp_method_parameter_value_type type; + +-#if defined __NVCOMPILER && (__NVCOMPILER_MAJOR__ <= 22 || __NVCOMPILER_MAJOR__ == 23 && __NVCOMPILER_MINOR__ <= 11) ++#if defined __NVCOMPILER && (__NVCOMPILER_MAJOR__ <= 23 || __NVCOMPILER_MAJOR__ == 24 && __NVCOMPILER_MINOR__ <= 1) + // Older versions of NVHPC generate invalid LLVM IR for unions that contain + // structures with doubles: an attempt to initialize a member of type double + // that is not the first member of the respective structure will lead to a diff --git a/easybuild/easyconfigs/l/libfyaml/libfyaml-0.9-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libfyaml/libfyaml-0.9-GCCcore-12.3.0.eb index c7f9f5e86b2..b0095e84672 100644 --- a/easybuild/easyconfigs/l/libfyaml/libfyaml-0.9-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/l/libfyaml/libfyaml-0.9-GCCcore-12.3.0.eb @@ -1,4 +1,3 @@ -# This easyconfig was created by the BEAR Software team at the University of Birmingham. easyblock = 'ConfigureMake' name = 'libfyaml' From 282639b4c38bf5c06a63473faa9fd520c6343c0d Mon Sep 17 00:00:00 2001 From: Jens Henrik Goebbert Date: Tue, 27 Feb 2024 16:30:07 +0100 Subject: [PATCH 162/889] fix dependency --- easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb b/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb index dac252c7eed..4fe963ec357 100644 --- a/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb +++ b/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb @@ -36,7 +36,7 @@ checksums = [ builddependencies = [ ('CMake', '3.26.3'), ('Python', '3.11.3'), - ('SciPy-bundle', '2023.07', '', ('gcccoreflexiblas', '12.3.0-3.3.1')), + ('SciPy-bundle', '2023.07', '', ('gfbf', '2023a')), ('Perl', '5.36.1'), ('pkgconf', '1.9.5'), ] From 3e3298513981796e0d5c3b3a5de40f898cab6efe Mon Sep 17 00:00:00 2001 From: Jens Henrik Goebbert Date: Tue, 27 Feb 2024 16:35:33 +0100 Subject: [PATCH 163/889] remove unrequired yac-patch --- .../i/ICON/ICON-2024.01-foss-2023a.eb | 2 -- .../i/ICON/ICON-2024.01_yac4nvhcp24.patch | 22 ------------------- 2 files changed, 24 deletions(-) delete mode 100644 easybuild/easyconfigs/i/ICON/ICON-2024.01_yac4nvhcp24.patch diff --git a/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb b/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb index 4fe963ec357..26bef4902dd 100644 --- a/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb +++ b/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb @@ -24,12 +24,10 @@ source_urls = [('https://gitlab.dkrz.de/icon/icon-model/-/archive/release-%(vers sources = [('icon-model-release-%(version)s-public.tar.gz')] patches = [ - 'ICON-2024.01_yac4nvhcp24.patch', 'ICON-2024.01_lzacc-undefined.patch', ] checksums = [ '53f0c6fb2622725b184b220ace307665d7965ae3609ebe4a51e5e36539a495b0', - '98e595f67c0227a8599c383e207c235541221ea4f00befd1c5f515b072152068', '5612f304dc0241016e3126134737549d7bb719cb879451ef3a9623a29a218414', ] diff --git a/easybuild/easyconfigs/i/ICON/ICON-2024.01_yac4nvhcp24.patch b/easybuild/easyconfigs/i/ICON/ICON-2024.01_yac4nvhcp24.patch deleted file mode 100644 index 7c5f2e08d6a..00000000000 --- a/easybuild/easyconfigs/i/ICON/ICON-2024.01_yac4nvhcp24.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/src/config_yaml.c b/src/config_yaml.c -index 6cfac2f3..068bbc1c 100644 ---- icon-model.orig/externals/yac/src/config_yaml.c -+++ icon-model/externals/yac/src/config_yaml.c -@@ -210,7 +210,7 @@ DEF_NAME_TYPE_PAIRS( - DEF_NAME_TYPE_PAIR(target, 0)); - - typedef --#if defined __NVCOMPILER && (__NVCOMPILER_MAJOR__ <= 22 || __NVCOMPILER_MAJOR__ == 23 && __NVCOMPILER_MINOR__ <= 11) -+#if defined __NVCOMPILER && (__NVCOMPILER_MAJOR__ <= 23 || __NVCOMPILER_MAJOR__ == 24 && __NVCOMPILER_MINOR__ <= 1) - // Older versions of NVHPC have serious problems with unions that contain - // pointers that are not the first members. - struct -@@ -239,7 +239,7 @@ struct interp_method_parameter { - char const * name; - enum interp_method_parameter_value_type type; - --#if defined __NVCOMPILER && (__NVCOMPILER_MAJOR__ <= 22 || __NVCOMPILER_MAJOR__ == 23 && __NVCOMPILER_MINOR__ <= 11) -+#if defined __NVCOMPILER && (__NVCOMPILER_MAJOR__ <= 23 || __NVCOMPILER_MAJOR__ == 24 && __NVCOMPILER_MINOR__ <= 1) - // Older versions of NVHPC generate invalid LLVM IR for unions that contain - // structures with doubles: an attempt to initialize a member of type double - // that is not the first member of the respective structure will lead to a From 6e6f002329a074f09ea26a3d2d764b3a90410773 Mon Sep 17 00:00:00 2001 From: Jens Henrik Goebbert Date: Tue, 27 Feb 2024 16:49:54 +0100 Subject: [PATCH 164/889] fix HDF5 version --- easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb b/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb index 26bef4902dd..afe3d0e497e 100644 --- a/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb +++ b/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb @@ -46,7 +46,7 @@ dependencies = [ ('ecCodes', '2.31.0'), ('netCDF', '4.9.2'), ('netCDF-Fortran', '4.6.1'), - ('HDF5', '1.14.2'), + ('HDF5', '1.14.3'), ] # Details on configuration settings and order can be found here: From 59485ecae7c13877eb4b7c4a5a5a11ebae4d34de Mon Sep 17 00:00:00 2001 From: Jens Henrik Goebbert Date: Tue, 27 Feb 2024 16:52:25 +0100 Subject: [PATCH 165/889] remove versionsuffix --- easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb b/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb index afe3d0e497e..a51b94f7441 100644 --- a/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb +++ b/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb @@ -7,7 +7,6 @@ easyblock = 'ConfigureMake' name = 'ICON' version = '2024.01' -versionsuffix = '-test' local_tag = 'icon-%(version)s-public' From f43af3e337a11bd2bf66fc088edd8f2b9d6a5ebc Mon Sep 17 00:00:00 2001 From: Jens Henrik Goebbert Date: Tue, 27 Feb 2024 17:09:04 +0100 Subject: [PATCH 166/889] fix dependency, use of local_tag --- .../easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb b/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb index a51b94f7441..5374d7795b6 100644 --- a/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb +++ b/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb @@ -8,7 +8,7 @@ easyblock = 'ConfigureMake' name = 'ICON' version = '2024.01' -local_tag = 'icon-%(version)s-public' +local_tag = 'release-%(version)s-public' homepage = "https://www.icon-model.org/" description = """ @@ -19,8 +19,8 @@ that provides actionable information for society and advances our understanding toolchain = {'name': 'foss', 'version': '2023a'} toolchainopts = {'pic': True, 'usempi': True} -source_urls = [('https://gitlab.dkrz.de/icon/icon-model/-/archive/release-%(version)s-public/')] -sources = [('icon-model-release-%(version)s-public.tar.gz')] +source_urls = [('https://gitlab.dkrz.de/icon/icon-model/-/archive/%s/' % local_tag)] +sources = [('icon-model-%s.tar.gz' % local_tag)] patches = [ 'ICON-2024.01_lzacc-undefined.patch', @@ -45,7 +45,7 @@ dependencies = [ ('ecCodes', '2.31.0'), ('netCDF', '4.9.2'), ('netCDF-Fortran', '4.6.1'), - ('HDF5', '1.14.3'), + ('HDF5', '1.14.0'), ] # Details on configuration settings and order can be found here: @@ -200,7 +200,7 @@ configopts += ( postinstallcmds = [ # Transfer required data - '%(builddir)s/icon-model-release-%(version)s-public/utils/move_to_prefix.sh ', + '%%(builddir)s/icon-model-%s/utils/move_to_prefix.sh ' % local_tag, # Generate the runscripts ( 'cd %(installdir)s && ' From 80545fae18f5ae23333d614baefb9489fa20d3db Mon Sep 17 00:00:00 2001 From: Jens Henrik Goebbert Date: Tue, 27 Feb 2024 17:26:42 +0100 Subject: [PATCH 167/889] remove blank line --- easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb b/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb index 5374d7795b6..143d5d70c16 100644 --- a/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb +++ b/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb @@ -213,5 +213,4 @@ sanity_check_paths = { 'dirs': ['bin'], } -moduleclass = 'tools' - +moduleclass = 'tools' \ No newline at end of file From d580354f7d9c7c42229528d1c22fca41587bd82f Mon Sep 17 00:00:00 2001 From: Jens Henrik Goebbert Date: Tue, 27 Feb 2024 18:25:54 +0100 Subject: [PATCH 168/889] fix style --- easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb b/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb index 143d5d70c16..1bb91f3fb97 100644 --- a/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb +++ b/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb @@ -213,4 +213,4 @@ sanity_check_paths = { 'dirs': ['bin'], } -moduleclass = 'tools' \ No newline at end of file +moduleclass = 'tools' From 9f5f0b75ad7b91db24ac3ce77652afaa44dab5c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Wed, 28 Feb 2024 00:10:17 +0000 Subject: [PATCH 169/889] adding easyconfigs: PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb, SoX-14.4.2-GCCcore-12.3.0.eb, libmad-0.15.1b-GCCcore-12.3.0.eb, SentencePiece-0.2.0-GCC-12.3.0.eb --- .../l/libmad/libmad-0.15.1b-GCCcore-12.3.0.eb | 27 ++++++ ...rch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 88 +++++++++++++++++++ .../SentencePiece-0.2.0-GCC-12.3.0.eb | 62 +++++++++++++ .../s/SoX/SoX-14.4.2-GCCcore-12.3.0.eb | 34 +++++++ 4 files changed, 211 insertions(+) create mode 100644 easybuild/easyconfigs/l/libmad/libmad-0.15.1b-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb create mode 100644 easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb create mode 100644 easybuild/easyconfigs/s/SoX/SoX-14.4.2-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/l/libmad/libmad-0.15.1b-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libmad/libmad-0.15.1b-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..f0d6ed43058 --- /dev/null +++ b/easybuild/easyconfigs/l/libmad/libmad-0.15.1b-GCCcore-12.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libmad' +version = '0.15.1b' + +homepage = 'https://www.underbit.com/products/mad/' +description = """MAD is a high-quality MPEG audio decoder.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://sourceforge.net/projects/mad/files/%(name)s/%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['libmad-0.15.1b-remove-depreciated-gcc-option.patch'] +checksums = [ + 'bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690', # libmad-0.15.1b.tar.gz + # libmad-0.15.1b-remove-depreciated-gcc-option.patch + '8f96a23a22ba66e62f32e20064d01f4c7f6a18ba0aab85d3be9ce63794b2c678', +] + +builddependencies = [('binutils', '2.40')] + +sanity_check_paths = { + 'files': ['include/mad.h', 'lib/libmad.a', 'lib/libmad.la', 'lib/libmad.%s' % SHLIB_EXT], + 'dirs': ['include', 'lib', 'lib64'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..2ed110edd50 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,88 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-bundle' +version = '2.1.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://pytorch.org/' +description = """PyTorch with compatible versions of official Torch extensions.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('CMake', '3.26.3'), + ('RE2', '2023-08-01'), # for torchtext +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('PyTorch', version, versionsuffix), + ('Pillow-SIMD', '9.5.0'), # for torchvision + ('SentencePiece', '0.2.0'), # for torchtext + ('tqdm', '4.66.1'), # for torchtext + ('double-conversion', '3.3.0'), # for torchtext + ('utf8proc', '2.8.0'), # for torchtext + ('tensorboard', '2.15.1'), # for torch-tb-profiler + ('FFmpeg', '6.0'), # for torchvision and torchaudio + ('SoX', '14.4.2'), # for torchaudio +] + +use_pip = True + +exts_list = [ + ('portalocker', '2.8.2', { + 'checksums': ['2b035aa7828e46c58e9b31390ee1f169b98e1066ab10b9a6a861fe7e25ee4f33'], + }), + ('torchdata', '0.7.1', { + 'preinstallopts': "USE_SYSTEM_LIBS=1 ", + 'source_urls': ['https://github.com/pytorch/data/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['ef9bbdcee759b53c3c9d99e76eb0a66da33d36bfb7f859a25a9b5e737a51fa23'], + + }), + ('torchtext', '0.16.2', { + 'patches': [ + 'torchtext-0.14.1_use-system-libs.patch', + ], + 'source_urls': ['https://github.com/pytorch/text/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': [ + {'torchtext-0.16.2.tar.gz': '6574b012804f65220329a2ad34a95c18e4df0d4cff2f862fb7862d57b374b013'}, + {'torchtext-0.14.1_use-system-libs.patch': + '1366d10c4755b6003194f7313ca11d165a80a13d325bee9d669ea2b333d82536'}, + ], + }), + ('torchvision', '0.16.2', { + 'patches': ['torchvision-0.16.2_ffmpeg-6.0-fix.patch'], + 'source_urls': ['https://github.com/pytorch/vision/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': [ + {'torchvision-0.16.2.tar.gz': '8c1f2951e98d8ada6e5a468f179af4be9f56d2ebc3ab057af873da61669806d7'}, + {'torchvision-0.16.2_ffmpeg-6.0-fix.patch': + 'a49336e7bfa1c950e886852bff37a3ea2146ac7bda87241e3ffb31c5cb869cce'}, + ], + }), + ('torchaudio', '2.2.1', { + 'source_urls': ['https://github.com/pytorch/audio/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['5f2a9cda9369ff348d1d7ca2c0a1f01afc9ebff1a13df9775c22aa5c43f5b0f1'], + 'preinstallopts': 'USE_FFMPEG=1', + 'installopts': '--no-use-pep517', + }), + ('pytorch-ignite', '0.4.13', { + 'modulename': 'ignite', + 'source_urls': ['https://github.com/pytorch/ignite/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['bfe4b6f1cd96e78c021a65a0c51350cdb89d6ef5a8b9609638666ca95bae51d7'], + }), + ('torch-tb-profiler', '0.4.3', { + 'modulename': 'torch.profiler', + 'sources': ['torch_tb_profiler-%(version)s.tar.gz'], + 'checksums': ['8b8d29b2de960b3c4423087b23cec29beaf9ac3a8c7b046c18fd25b218f726b1'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb b/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..8504b4fc6e1 --- /dev/null +++ b/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb @@ -0,0 +1,62 @@ +easyblock = 'Bundle' + +name = 'SentencePiece' +version = '0.2.0' + +homepage = 'https://github.com/google/sentencepiece' +description = "Unsupervised text tokenizer for Neural Network-based text generation." +github_account = 'google' + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('gperftools', '2.12'), +] + +default_component_specs = { + 'source_urls': [GITHUB_LOWER_SOURCE], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['9970f0a0afee1648890293321665e5b2efa04eaec9f1671fcf8048f456f5bb86'], +} + +components = [ + (name, version, { + 'easyblock': 'CMakeMake', + 'separate_build_dir': True, + 'start_dir': '%(namelower)s-%(version)s', + }), + ('sentencepiece', version, { + 'easyblock': 'PythonPackage', + 'start_dir': '%(namelower)s-%(version)s/python', + 'prebuildopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && ', + 'preinstallopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && ', + 'use_pip': True, + 'download_dep_fail': True, + 'sanity_pip_check': True, + }), +] + +postinstallcmds = ['cp -a %(builddir)s/%(namelower)s-%(version)s/{data,doc} %(installdir)s/'] + +sanity_check_paths = { + 'files': ['bin/spm_%s' % x for x in ['decode', 'encode', 'export_vocab', 'normalize', 'train']] + + ['lib/libsentencepiece.%s' % SHLIB_EXT, 'lib/libsentencepiece_train.%s' % SHLIB_EXT] + + ['include/sentencepiece_processor.h', 'include/sentencepiece_trainer.h'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'data', 'doc'], +} + +sanity_check_commands = [ + 'spm_train --help', + "python -c 'import sentencepiece'", +] + +modextrapaths = { + 'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SoX/SoX-14.4.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/SoX/SoX-14.4.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..5238f615df8 --- /dev/null +++ b/easybuild/easyconfigs/s/SoX/SoX-14.4.2-GCCcore-12.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'SoX' +version = '14.4.2' + +homepage = 'http://sox.sourceforge.net/' +docurls = 'http://sox.sourceforge.net/Docs/Documentation' +description = """Sound eXchange, the Swiss Army knife of audio manipulation""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b45f598643ffbd8e363ff24d61166ccec4836fea6d3888881b8df53e3bb55f6c'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('FLAC', '1.4.2'), + ('LAME', '3.100'), + ('libmad', '0.15.1b'), + ('libvorbis', '1.3.7'), + ('FFmpeg', '6.0'), +] + +sanity_check_paths = { + 'files': ['bin/play', 'bin/rec', 'bin/sox', 'bin/soxi', 'include/sox.h', + 'lib/libsox.la', 'lib/libsox.a', 'lib/pkgconfig/sox.pc', 'lib/libsox.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include', 'lib', 'lib/pkgconfig', 'share/man'], +} + +sanity_check_commands = ['sox --help'] + +moduleclass = 'data' From 569fac899d0b54eff336459a02c0208bdfaf0e96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Wed, 28 Feb 2024 01:25:20 +0100 Subject: [PATCH 170/889] Add torchvision patch --- .../torchvision-0.16.2_ffmpeg_6.0-fix.patch | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 easybuild/easyconfigs/p/PyTorch-bundle/torchvision-0.16.2_ffmpeg_6.0-fix.patch diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/torchvision-0.16.2_ffmpeg_6.0-fix.patch b/easybuild/easyconfigs/p/PyTorch-bundle/torchvision-0.16.2_ffmpeg_6.0-fix.patch new file mode 100644 index 00000000000..7a3637f3adc --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-bundle/torchvision-0.16.2_ffmpeg_6.0-fix.patch @@ -0,0 +1,36 @@ +From 86620bd84b872b76db0acafec167949dca03a29e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?= + +Date: Tue, 7 Nov 2023 10:43:11 +0100 +Subject: [PATCH] Fix build with ffmpeg 6.0 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Zoltán Böszörményi +--- + torchvision/csrc/io/decoder/stream.cpp | 11 ++--------- + 1 file changed, 2 insertions(+), 9 deletions(-) + +diff --git a/torchvision/csrc/io/decoder/stream.cpp b/torchvision/csrc/io/decoder/stream.cpp +index 0d625ef211c..8c914050587 100644 +--- a/torchvision/csrc/io/decoder/stream.cpp ++++ b/torchvision/csrc/io/decoder/stream.cpp +@@ -63,15 +63,8 @@ int Stream::openCodec(std::vector* metadata, int num_threads) { + codecCtx_->thread_count = num_threads; + } else { + // otherwise set sensible defaults +- // with the special case for the different MPEG4 codecs +- // that don't have threading context functions +- if (codecCtx_->codec->capabilities & AV_CODEC_CAP_INTRA_ONLY) { +- codecCtx_->thread_type = FF_THREAD_FRAME; +- codecCtx_->thread_count = 2; +- } else { +- codecCtx_->thread_count = 8; +- codecCtx_->thread_type = FF_THREAD_SLICE; +- } ++ codecCtx_->thread_count = 8; ++ codecCtx_->thread_type = FF_THREAD_SLICE; + } + + int ret; From 438f8eddba7fa3e6f02e82fbc597e25baaca7135 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Wed, 28 Feb 2024 09:44:07 +0100 Subject: [PATCH 171/889] Fix patch name --- ...mpeg_6.0-fix.patch => torchvision-0.16.2_ffmpeg-6.0-fix.patch} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/p/PyTorch-bundle/{torchvision-0.16.2_ffmpeg_6.0-fix.patch => torchvision-0.16.2_ffmpeg-6.0-fix.patch} (100%) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/torchvision-0.16.2_ffmpeg_6.0-fix.patch b/easybuild/easyconfigs/p/PyTorch-bundle/torchvision-0.16.2_ffmpeg-6.0-fix.patch similarity index 100% rename from easybuild/easyconfigs/p/PyTorch-bundle/torchvision-0.16.2_ffmpeg_6.0-fix.patch rename to easybuild/easyconfigs/p/PyTorch-bundle/torchvision-0.16.2_ffmpeg-6.0-fix.patch From 576c9881319ccd703bb482482bb429cfe9d1b0b1 Mon Sep 17 00:00:00 2001 From: jfgrimm Date: Thu, 29 Feb 2024 14:15:13 +0000 Subject: [PATCH 172/889] patch torchaudio to use external sox; enable CUDA support --- ...orch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 18 +++++++++++------- .../torchaudio-2.2.1_use-external-sox.patch | 14 ++++++++++++++ 2 files changed, 25 insertions(+), 7 deletions(-) create mode 100644 easybuild/easyconfigs/p/PyTorch-bundle/torchaudio-2.2.1_use-external-sox.patch diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index 2ed110edd50..581b953ab89 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -39,12 +39,9 @@ exts_list = [ 'source_urls': ['https://github.com/pytorch/data/archive'], 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], 'checksums': ['ef9bbdcee759b53c3c9d99e76eb0a66da33d36bfb7f859a25a9b5e737a51fa23'], - }), ('torchtext', '0.16.2', { - 'patches': [ - 'torchtext-0.14.1_use-system-libs.patch', - ], + 'patches': ['torchtext-0.14.1_use-system-libs.patch'], 'source_urls': ['https://github.com/pytorch/text/archive'], 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], 'checksums': [ @@ -54,6 +51,8 @@ exts_list = [ ], }), ('torchvision', '0.16.2', { + 'preinstallopts': 'WITH_CUDA=1', + 'installopts': '-v', 'patches': ['torchvision-0.16.2_ffmpeg-6.0-fix.patch'], 'source_urls': ['https://github.com/pytorch/vision/archive'], 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], @@ -64,11 +63,16 @@ exts_list = [ ], }), ('torchaudio', '2.2.1', { + 'installopts': '--no-use-pep517 -v', + 'patches': ['torchaudio-2.2.1_use-external-sox.patch'], + 'preinstallopts': 'rm -r third_party/{sox,ffmpeg/multi} && USE_CUDA=1 USE_OPENMP=1 USE_FFMPEG=1 FFMPEG_ROOT="$EBROOTFFMPEG"', 'source_urls': ['https://github.com/pytorch/audio/archive'], 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], - 'checksums': ['5f2a9cda9369ff348d1d7ca2c0a1f01afc9ebff1a13df9775c22aa5c43f5b0f1'], - 'preinstallopts': 'USE_FFMPEG=1', - 'installopts': '--no-use-pep517', + 'checksums': [ + {'torchaudio-2.2.1.tar.gz': '5f2a9cda9369ff348d1d7ca2c0a1f01afc9ebff1a13df9775c22aa5c43f5b0f1'}, + {'torchaudio-2.2.1_use-external-sox.patch': + 'fc97b2bdf0ab16b9c4706bf2a31dd72d0ecb09e4af2f9c4a34e18fca8e0d165d'}, + ], }), ('pytorch-ignite', '0.4.13', { 'modulename': 'ignite', diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/torchaudio-2.2.1_use-external-sox.patch b/easybuild/easyconfigs/p/PyTorch-bundle/torchaudio-2.2.1_use-external-sox.patch new file mode 100644 index 00000000000..72d47e2c34d --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-bundle/torchaudio-2.2.1_use-external-sox.patch @@ -0,0 +1,14 @@ +Author: Jasper Grimm +use external Sox library instead of fetching and building at build time +diff -Nru audio-2.2.1.orig/CMakeLists.txt audio-2.2.1/CMakeLists.txt +--- audio-2.2.1.orig/CMakeLists.txt 2024-02-29 12:56:03.027016456 +0000 ++++ audio-2.2.1/CMakeLists.txt 2024-02-29 12:56:35.286922379 +0000 +@@ -167,7 +167,7 @@ + + add_subdirectory(src/libtorchaudio) + if (BUILD_SOX) +- add_subdirectory(third_party/sox) ++ # add_subdirectory(third_party/sox) + add_subdirectory(src/libtorchaudio/sox) + endif() + if (USE_FFMPEG) From 9d1901e74bdd12fa609b2bb03d19db555a1b68b2 Mon Sep 17 00:00:00 2001 From: Jasper Grimm <65227842+jfgrimm@users.noreply.github.com> Date: Thu, 29 Feb 2024 15:13:29 +0000 Subject: [PATCH 173/889] fix long line --- .../PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index 581b953ab89..e1a545dd16c 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -65,7 +65,8 @@ exts_list = [ ('torchaudio', '2.2.1', { 'installopts': '--no-use-pep517 -v', 'patches': ['torchaudio-2.2.1_use-external-sox.patch'], - 'preinstallopts': 'rm -r third_party/{sox,ffmpeg/multi} && USE_CUDA=1 USE_OPENMP=1 USE_FFMPEG=1 FFMPEG_ROOT="$EBROOTFFMPEG"', + 'preinstallopts': ('rm -r third_party/{sox,ffmpeg/multi} &&' + ' USE_CUDA=1 USE_OPENMP=1 USE_FFMPEG=1 FFMPEG_ROOT="$EBROOTFFMPEG"'), 'source_urls': ['https://github.com/pytorch/audio/archive'], 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], 'checksums': [ From 97e58d37f52aeaedaecb464195c549e1016b1e59 Mon Sep 17 00:00:00 2001 From: nicolas Date: Thu, 29 Feb 2024 16:44:48 +0100 Subject: [PATCH 174/889] removed duplicate easyconfigs (check #19648) --- .../deepdiff/deepdiff-6.7.1-GCCcore-12.3.0.eb | 36 ------------------- .../tensorboardX-2.6.2.2-foss-2023a.eb | 30 ---------------- 2 files changed, 66 deletions(-) delete mode 100644 easybuild/easyconfigs/d/deepdiff/deepdiff-6.7.1-GCCcore-12.3.0.eb delete mode 100644 easybuild/easyconfigs/t/tensorboardX/tensorboardX-2.6.2.2-foss-2023a.eb diff --git a/easybuild/easyconfigs/d/deepdiff/deepdiff-6.7.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/d/deepdiff/deepdiff-6.7.1-GCCcore-12.3.0.eb deleted file mode 100644 index 557a3af6db1..00000000000 --- a/easybuild/easyconfigs/d/deepdiff/deepdiff-6.7.1-GCCcore-12.3.0.eb +++ /dev/null @@ -1,36 +0,0 @@ -easyblock = 'PythonBundle' - -name = 'deepdiff' -version = '6.7.1' - -homepage = 'https://zepworks.com/deepdiff/current/' -description = """DeepDiff: Deep Difference of dictionaries, iterables and almost any other object recursively.""" - -toolchain = {'name': 'GCCcore', 'version': '12.3.0'} - -builddependencies = [ - ('binutils', '2.40'), - ('hatchling', '1.18.0'), # for setuptools-scm -] - -dependencies = [ - ('Python', '3.11.3'), -] - -use_pip = True - -exts_list = [ - ('jsonpickle', '3.0.2', { - 'checksums': ['e37abba4bfb3ca4a4647d28bb9f4706436f7b46c8a8333b4a718abafa8e46b37'], - }), - ('ordered-set', '4.1.0', { - 'checksums': ['694a8e44c87657c59292ede72891eb91d34131f6531463aab3009191c77364a8'], - }), - (name, version, { - 'checksums': ['b367e6fa6caac1c9f500adc79ada1b5b1242c50d5f716a1a4362030197847d30'], - }), -] - -sanity_pip_check = True - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tensorboardX/tensorboardX-2.6.2.2-foss-2023a.eb b/easybuild/easyconfigs/t/tensorboardX/tensorboardX-2.6.2.2-foss-2023a.eb deleted file mode 100644 index c6f2278fae0..00000000000 --- a/easybuild/easyconfigs/t/tensorboardX/tensorboardX-2.6.2.2-foss-2023a.eb +++ /dev/null @@ -1,30 +0,0 @@ -easyblock = 'PythonBundle' - -name = 'tensorboardX' -version = '2.6.2.2' - -homepage = 'https://github.com/lanpa/tensorboardX' -description = "Tensorboard for PyTorch." - -toolchain = {'name': 'foss', 'version': '2023a'} - -# tensorboardX v2.x works with tensorboards generated with TensorFlow 2, -# but TensorFlow is not needed to use tensorboardX -dependencies = [ - ('Python', '3.11.3'), - ('SciPy-bundle', '2023.07'), - ('protobuf-python', '4.24.0'), -] - -use_pip = True - -exts_list = [ - (name, version, { - 'checksums': ['c6476d7cd0d529b0b72f4acadb1269f9ed8b22f441e87a84f2a3b940bb87b666'], - 'modulename': '%(name)s', - }), -] - -sanity_pip_check = True - -moduleclass = 'vis' From 63d31f1e7b6c124d595a758e7fdc5d124daeee0e Mon Sep 17 00:00:00 2001 From: thoffman Date: Fri, 1 Mar 2024 09:54:14 +0100 Subject: [PATCH 175/889] update to 0.4.19.post1 --- .../napari/napari-0.4.19.post1-foss-2023a.eb | 119 ++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 easybuild/easyconfigs/n/napari/napari-0.4.19.post1-foss-2023a.eb diff --git a/easybuild/easyconfigs/n/napari/napari-0.4.19.post1-foss-2023a.eb b/easybuild/easyconfigs/n/napari/napari-0.4.19.post1-foss-2023a.eb new file mode 100644 index 00000000000..3ea6c480910 --- /dev/null +++ b/easybuild/easyconfigs/n/napari/napari-0.4.19.post1-foss-2023a.eb @@ -0,0 +1,119 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@emblde, 2024/01 +easyblock = 'PythonBundle' + +name = 'napari' +version = '0.4.19.post1' + +homepage = 'https://napari.org/' +description = """napari is a fast, interactive, multi-dimensional image viewer for Python. It's +designed for browsing, annotating, and analyzing large multi-dimensional images. +It's built on top of Qt (for the GUI), vispy (for performant GPU-based +rendering), and the scientific Python stack (numpy, scipy).""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('poetry', '1.5.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('PyQt5', '5.15.10'), + ('SciPy-bundle', '2023.07'), + ('PyYAML', '6.0'), + ('pydantic', '2.5.3'), + ('dask', '2023.9.2'), + ('PyOpenGL', '3.1.7'), + ('imageio', '2.33.1'), + ('tqdm', '4.66.1'), + ('IPython', '8.14.0'), + ('VisPy', '0.14.1'), + ('scikit-image', '0.22.0'), + ('matplotlib', '3.7.2'), + ('Qtconsole', '5.5.1'), + ('Pint', '0.23'), + ('wrapt', '1.15.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('in_n_out', '0.1.9', { + 'checksums': ['89feb944e420faf42d3c2542145681b4d57144355932c2b859695fcdc4f9a2da'], + }), + ('pydantic_compat', '0.1.2', { + 'checksums': ['c5c5bca39ca2d22cad00c02898e400e1920e5127649a8e860637f15566739373'], + }), + ('app_model', '0.2.4', { + 'checksums': ['127cda637003a34b26371c9c68ae5b24d7012682f071a10657a94900c8cd439d'], + }), + ('cachey', '0.2.1', { + 'checksums': ['0310ba8afe52729fa7626325c8d8356a8421c434bf887ac851e58dcf7cf056a6'], + }), + ('docstring_parser', '0.15', { + 'checksums': ['48ddc093e8b1865899956fcc03b03e66bb7240c310fac5af81814580c55bf682'], + }), + ('magicgui', '0.8.1', { + 'checksums': ['43553d8f11002a79dd5fee57caff3ba9d3e37d7d50e8ed40efe79b360adc806a'], + }), + ('numpydoc', '1.6.0', { + 'checksums': ['ae7a5380f0a06373c3afe16ccd15bd79bc6b07f2704cbc6f1e7ecc94b4f5fc0d'], + }), + ('psygnal', '0.9.5', { + 'checksums': ['4956ea6c36a75f7fc457558935b67dd8be2594661b4d08eeb3357d69c509c55f'], + }), + ('superqt', '0.6.1', { + 'checksums': ['f1a9e0499c4bbcef34b6f895eb57cd41301b3799242cd030029238124184dade'], + }), + ('napari-console', '0.0.9', { + 'modulename': 'napari_console', + 'checksums': ['3bc86dd96cf94b1af96bba1043f90a39b1369bb978a8df9038a1ac422e66b532'], + }), + ('napari-plugin-engine', '0.2.0', { + 'checksums': ['fa926f869d70e0d652c005661948cd0c7fee5508ae17d437937f34f5287590b3'], + }), + ('napari-svg', '0.1.10', { + 'checksums': ['18e642c888a71e09c9d1097f25bced1e7ef5dde1771469647bcd77975800f77d'], + }), + ('typer', '0.9.0', { + 'checksums': ['50922fd79aea2f4751a8e0408ff10d2662bd0c8bbfa84755a699f3bada2978b2'], + }), + ('pyproject_hooks', '1.0.0', { + 'checksums': ['f271b298b97f5955d53fb12b72c1fb1948c22c1a6b70b315c54cedaca0264ef5'], + }), + ('build', '1.1.1', { + 'checksums': ['8eea65bb45b1aac2e734ba2cc8dad3a6d97d97901a395bd0ed3e7b46953d2a31'], + }), + ('mdurl', '0.1.2', { + 'checksums': ['bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba'], + }), + ('markdown-it-py', '3.0.0', { + 'modulename': 'markdown_it', + 'checksums': ['e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb'], + }), + ('rich', '13.7.1', { + 'checksums': ['9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432'], + }), + ('npe2', '0.7.4', { + 'checksums': ['969d5394b24225cff1ab6625f29ea1603a6509714bd9496c49e697c3e49077b0'], + }), + ('mypy_extensions', '1.0.0', { + 'checksums': ['75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782'], + }), + (name, version, { + 'checksums': ['88e298697c38c9f842d7c26c8d51d2e0fbb90d0be05575fdd159d27eede11301'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'], +} + +sanity_check_commands = [ + '%(name)s --help', + 'pyrcc5 -version 2>&1 |grep pyrcc5' # make sure PyQt5 module was not built with --no-tools +] + +moduleclass = 'vis' From 6a4d9dad1d7699a26db52f8acd38a8b4c806f058 Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Fri, 1 Mar 2024 09:55:40 +0100 Subject: [PATCH 176/889] Delete easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.7-GCCcore-12.3.0.eb --- .../PyOpenGL/PyOpenGL-3.1.7-GCCcore-12.3.0.eb | 35 ------------------- 1 file changed, 35 deletions(-) delete mode 100644 easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.7-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.7-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.7-GCCcore-12.3.0.eb deleted file mode 100644 index 5da5a99ea37..00000000000 --- a/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.7-GCCcore-12.3.0.eb +++ /dev/null @@ -1,35 +0,0 @@ -easyblock = 'PythonBundle' - -name = 'PyOpenGL' -version = '3.1.7' - -homepage = 'http://pyopengl.sourceforge.net' -description = """PyOpenGL is the most common cross platform Python binding to OpenGL and related APIs.""" - -toolchain = {'name': 'GCCcore', 'version': '12.3.0'} - -builddependencies = [ - ('binutils', '2.40'), - ('bzip2', '1.0.8'), -] - -dependencies = [ - ('Mesa', '23.1.4'), - ('Python', '3.11.3'), -] - -use_pip = True - -exts_list = [ - (name, version, { - 'modulename': 'OpenGL', - 'checksums': ['eef31a3888e6984fd4d8e6c9961b184c9813ca82604d37fe3da80eb000a76c86'], - }), - ('PyOpenGL-accelerate', version, { - 'modulename': 'OpenGL_accelerate', - 'checksums': ['2b123621273a939f7fd2ec227541e399f9b5d4e815d69ae0bdb1b6c70a293680'], - }), -] -sanity_pip_check = True - -moduleclass = 'vis' From 2867be2be5b84b7797ef2e31fb91e0fc23302f52 Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Fri, 1 Mar 2024 09:59:30 +0100 Subject: [PATCH 177/889] Delete easybuild/easyconfigs/q/Qtconsole/Qtconsole-5.5.1-GCCcore-12.3.0.eb --- .../Qtconsole-5.5.1-GCCcore-12.3.0.eb | 33 ------------------- 1 file changed, 33 deletions(-) delete mode 100644 easybuild/easyconfigs/q/Qtconsole/Qtconsole-5.5.1-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/q/Qtconsole/Qtconsole-5.5.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/q/Qtconsole/Qtconsole-5.5.1-GCCcore-12.3.0.eb deleted file mode 100644 index a986247586e..00000000000 --- a/easybuild/easyconfigs/q/Qtconsole/Qtconsole-5.5.1-GCCcore-12.3.0.eb +++ /dev/null @@ -1,33 +0,0 @@ -easyblock = 'PythonPackage' - -name = 'Qtconsole' -version = '5.5.1' - -homepage = 'https://jupyter.org/' -description = """A rich Qt-based console for working with Jupyter kernels, supporting rich media -output, session export, and more. -The Qtconsole is a very lightweight application that largely feels like a -terminal, but provides a number of enhancements only possible in a GUI, such as -inline figures, proper multiline editing with syntax highlighting, graphical -calltips, and more.""" - -toolchain = {'name': 'GCCcore', 'version': '12.3.0'} - -sources = [SOURCELOWER_TAR_GZ] -checksums = ['a0e806c6951db9490628e4df80caec9669b65149c7ba40f9bf033c025a5b56bc'] - -builddependencies = [('binutils', '2.40')] - -dependencies = [ - ('Python', '3.11.3'), - ('IPython', '8.14.0'), - ('QtPy', '2.4.1'), - ('jupyter-server', '2.7.2'), - ('PyZMQ', '25.1.1'), -] - -use_pip = True -download_dep_fail = True -sanity_pip_check = True - -moduleclass = 'vis' From d2d583605ba13647d5b545e63912a31a8e6bb2b4 Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Fri, 1 Mar 2024 10:01:13 +0100 Subject: [PATCH 178/889] Delete easybuild/easyconfigs/q/QtPy/QtPy-2.4.1-GCCcore-12.3.0.eb --- .../q/QtPy/QtPy-2.4.1-GCCcore-12.3.0.eb | 33 ------------------- 1 file changed, 33 deletions(-) delete mode 100644 easybuild/easyconfigs/q/QtPy/QtPy-2.4.1-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/q/QtPy/QtPy-2.4.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/q/QtPy/QtPy-2.4.1-GCCcore-12.3.0.eb deleted file mode 100644 index ce052fd8648..00000000000 --- a/easybuild/easyconfigs/q/QtPy/QtPy-2.4.1-GCCcore-12.3.0.eb +++ /dev/null @@ -1,33 +0,0 @@ -easyblock = 'PythonBundle' - -name = 'QtPy' -version = '2.4.1' - -homepage = "https://github.com/spyder-ide/qtpy" -description = """QtPy is a small abstraction layer that lets you write applications using a single API call to - either PyQt or PySide. It provides support for PyQt5, PyQt4, PySide2 and PySide.""" - -toolchain = {'name': 'GCCcore', 'version': '12.3.0'} - -builddependencies = [ - ('binutils', '2.40'), -] - -dependencies = [ - ('Python', '3.11.3'), - ('PyQt5', '5.15.10') -] - -exts_list = [ - (name, version, { - 'checksums': ['a5a15ffd519550a1361bdc56ffc07fda56a6af7292f17c7b395d4083af632987'], - }), - ('packaging', '23.1', { - 'checksums': ['a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f'], - }), -] - -use_pip = True -sanity_pip_check = True - -moduleclass = 'vis' From 320653300814fae1605bd57c7cf6aea93d1068d3 Mon Sep 17 00:00:00 2001 From: thoffman Date: Fri, 1 Mar 2024 10:48:52 +0100 Subject: [PATCH 179/889] downgrad VisPy dependency from 0.14.1 to 0.12.2 --- .../easyconfigs/n/napari/napari-0.4.19.post1-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/n/napari/napari-0.4.19.post1-foss-2023a.eb b/easybuild/easyconfigs/n/napari/napari-0.4.19.post1-foss-2023a.eb index 3ea6c480910..9ca433e4617 100644 --- a/easybuild/easyconfigs/n/napari/napari-0.4.19.post1-foss-2023a.eb +++ b/easybuild/easyconfigs/n/napari/napari-0.4.19.post1-foss-2023a.eb @@ -27,7 +27,7 @@ dependencies = [ ('imageio', '2.33.1'), ('tqdm', '4.66.1'), ('IPython', '8.14.0'), - ('VisPy', '0.14.1'), + ('VisPy', '0.12.2'), ('scikit-image', '0.22.0'), ('matplotlib', '3.7.2'), ('Qtconsole', '5.5.1'), From c2160375687e5535bc723f38edf6df6cb68aa22a Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Fri, 1 Mar 2024 12:08:43 +0100 Subject: [PATCH 180/889] Delete easybuild/easyconfigs/n/napari/napari-0.4.19-foss-2023a.eb --- .../n/napari/napari-0.4.19-foss-2023a.eb | 119 ------------------ 1 file changed, 119 deletions(-) delete mode 100644 easybuild/easyconfigs/n/napari/napari-0.4.19-foss-2023a.eb diff --git a/easybuild/easyconfigs/n/napari/napari-0.4.19-foss-2023a.eb b/easybuild/easyconfigs/n/napari/napari-0.4.19-foss-2023a.eb deleted file mode 100644 index 225fd5d1f31..00000000000 --- a/easybuild/easyconfigs/n/napari/napari-0.4.19-foss-2023a.eb +++ /dev/null @@ -1,119 +0,0 @@ -# Thomas Hoffmann, EMBL Heidelberg, structures-it@emblde, 2024/01 -easyblock = 'PythonBundle' - -name = 'napari' -version = '0.4.19' - -homepage = 'https://napari.org/' -description = """napari is a fast, interactive, multi-dimensional image viewer for Python. It's -designed for browsing, annotating, and analyzing large multi-dimensional images. -It's built on top of Qt (for the GUI), vispy (for performant GPU-based -rendering), and the scientific Python stack (numpy, scipy).""" - -toolchain = {'name': 'foss', 'version': '2023a'} - -builddependencies = [ - ('poetry', '1.5.1'), -] - -dependencies = [ - ('Python', '3.11.3'), - ('PyQt5', '5.15.10'), - ('SciPy-bundle', '2023.07'), - ('PyYAML', '6.0'), - ('pydantic', '2.5.3'), - ('dask', '2023.9.2'), - ('PyOpenGL', '3.1.7'), - ('imageio', '2.33.1'), - ('tqdm', '4.66.1'), - ('IPython', '8.14.0'), - ('VisPy', '0.14.1'), - ('scikit-image', '0.22.0'), - ('matplotlib', '3.7.2'), - ('Qtconsole', '5.5.1'), - ('Pint', '0.23'), - ('wrapt', '1.15.0'), -] - -use_pip = True -sanity_pip_check = True - -exts_list = [ - ('in_n_out', '0.1.9', { - 'checksums': ['89feb944e420faf42d3c2542145681b4d57144355932c2b859695fcdc4f9a2da'], - }), - ('pydantic_compat', '0.1.2', { - 'checksums': ['c5c5bca39ca2d22cad00c02898e400e1920e5127649a8e860637f15566739373'], - }), - ('app_model', '0.2.4', { - 'checksums': ['127cda637003a34b26371c9c68ae5b24d7012682f071a10657a94900c8cd439d'], - }), - ('cachey', '0.2.1', { - 'checksums': ['0310ba8afe52729fa7626325c8d8356a8421c434bf887ac851e58dcf7cf056a6'], - }), - ('docstring_parser', '0.15', { - 'checksums': ['48ddc093e8b1865899956fcc03b03e66bb7240c310fac5af81814580c55bf682'], - }), - ('magicgui', '0.8.1', { - 'checksums': ['43553d8f11002a79dd5fee57caff3ba9d3e37d7d50e8ed40efe79b360adc806a'], - }), - ('numpydoc', '1.6.0', { - 'checksums': ['ae7a5380f0a06373c3afe16ccd15bd79bc6b07f2704cbc6f1e7ecc94b4f5fc0d'], - }), - ('psygnal', '0.9.5', { - 'checksums': ['4956ea6c36a75f7fc457558935b67dd8be2594661b4d08eeb3357d69c509c55f'], - }), - ('superqt', '0.6.1', { - 'checksums': ['f1a9e0499c4bbcef34b6f895eb57cd41301b3799242cd030029238124184dade'], - }), - ('napari-console', '0.0.9', { - 'modulename': 'napari_console', - 'checksums': ['3bc86dd96cf94b1af96bba1043f90a39b1369bb978a8df9038a1ac422e66b532'], - }), - ('napari-plugin-engine', '0.2.0', { - 'checksums': ['fa926f869d70e0d652c005661948cd0c7fee5508ae17d437937f34f5287590b3'], - }), - ('napari-svg', '0.1.10', { - 'checksums': ['18e642c888a71e09c9d1097f25bced1e7ef5dde1771469647bcd77975800f77d'], - }), - ('typer', '0.9.0', { - 'checksums': ['50922fd79aea2f4751a8e0408ff10d2662bd0c8bbfa84755a699f3bada2978b2'], - }), - ('pyproject_hooks', '1.0.0', { - 'checksums': ['f271b298b97f5955d53fb12b72c1fb1948c22c1a6b70b315c54cedaca0264ef5'], - }), - ('build', '1.0.3', { - 'checksums': ['538aab1b64f9828977f84bc63ae570b060a8ed1be419e7870b8b4fc5e6ea553b'], - }), - ('mdurl', '0.1.2', { - 'checksums': ['bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba'], - }), - ('markdown-it-py', '3.0.0', { - 'modulename': 'markdown_it', - 'checksums': ['e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb'], - }), - ('rich', '13.7.0', { - 'checksums': ['5cb5123b5cf9ee70584244246816e9114227e0b98ad9176eede6ad54bf5403fa'], - }), - ('npe2', '0.7.4', { - 'checksums': ['969d5394b24225cff1ab6625f29ea1603a6509714bd9496c49e697c3e49077b0'], - }), - ('mypy_extensions', '1.0.0', { - 'checksums': ['75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782'], - }), - (name, version, { - 'checksums': ['083468ebbdb3e91c6bba6ed60bc75747adcba622376caf8a1a6490378cea0f6d'], - }), -] - -sanity_check_paths = { - 'files': ['bin/%(name)s'], - 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'], -} - -sanity_check_commands = [ - '%(name)s --help', - 'pyrcc5 -version 2>&1 |grep pyrcc5' # make sure PyQt5 module was not built with --no-tools -] - -moduleclass = 'vis' From 7d51335d72d2f53b8349193d0e6c23174da5c6e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Fri, 1 Mar 2024 18:53:17 +0000 Subject: [PATCH 181/889] adding easyconfigs: PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb and patches: plyfile-1.0.3_use_pdm_backend.patch --- ....0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb | 68 +++++++++++++++++++ .../plyfile-1.0.3_use_pdm_backend.patch | 15 ++++ 2 files changed, 83 insertions(+) create mode 100644 easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb create mode 100644 easybuild/easyconfigs/p/PyTorch-Geometric/plyfile-1.0.3_use_pdm_backend.patch diff --git a/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb new file mode 100644 index 00000000000..2c50a3eaf7c --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb @@ -0,0 +1,68 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-Geometric' +version = '2.5.0' +local_pytorchver = '2.1.2' +versionsuffix = '-PyTorch-%s-CUDA-%%(cudaver)s' % local_pytorchver + +homepage = 'https://github.com/rusty1s/pytorch_geometric' +description = "PyTorch Geometric (PyG) is a geometric deep learning extension library for PyTorch." + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('PDM', '2.12.4'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('CUDA', '12.1.1', '', SYSTEM), + ('PyTorch', local_pytorchver, '-CUDA-%(cudaver)s'), + ('scikit-learn', '1.3.1'), + ('scikit-image', '0.22.0'), + ('numba', '0.58.1'), + ('h5py', '3.9.0'), + ('tqdm', '4.66.1'), + ('RDFlib', '7.0.0'), + ('ASE', '3.22.1'), + ('YACS', '0.1.8'), +] + +use_pip = True + +exts_list = [ + ('googledrivedownloader', '0.4', { + 'modulename': 'google_drive_downloader', + 'checksums': ['4b34c1337b2ff3bf2bd7581818efbdcaea7d50ffd484ccf80809688f5ca0e204'], + }), + ('plyfile', '1.0.3', { + 'patches': ['plyfile-1.0.3_use_pdm_backend.patch'], + 'checksums': [ + {'plyfile-1.0.3.tar.gz': '0ecbe8e7ce55a7bbc6c9dea24242fffa0ab7d9bed33fbd5ad567ca013bcc5222'}, + {'plyfile-1.0.3_use_pdm_backend.patch': '815611863f16e785ef03a7992a0b99e433150212ff03559c7f6fce4e86d9e0a7'}, + ], + }), + ('torch_scatter', '2.1.2', { + 'checksums': ['69b3aa435f2424ac6a1bfb6ff702da6eb73b33ca0db38fb26989c74159258e47'], + }), + ('torch_sparse', '0.6.18', { + 'checksums': ['2f14c510a6e93f404c6ea357210615b3c15a71731f9dbd86f25434e34fb5a741'], + }), + ('torch_cluster', '1.6.3', { + 'checksums': ['78d5a930a5bbd0d8788df8c6d66addd68d6dd292fe3edb401e3dacba26308152'], + }), + ('torch_spline_conv', '1.2.2', { + 'checksums': ['ed45a81da29f774665dbdd4709d7e534cdf16d2e7006dbd06957f35bd09661b2'], + }), + ('python-louvain', '0.16', { + 'modulename': 'community.community_louvain', + 'checksums': ['b7ba2df5002fd28d3ee789a49532baad11fe648e4f2117cf0798e7520a1da56b'], + }), + ('torch_geometric', version, { + 'checksums': ['f4f4a57fd885c74e982d570df3a259ffff5adbb4ad7a3a95aabf5ace5fa7a240'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyTorch-Geometric/plyfile-1.0.3_use_pdm_backend.patch b/easybuild/easyconfigs/p/PyTorch-Geometric/plyfile-1.0.3_use_pdm_backend.patch new file mode 100644 index 00000000000..9028258f195 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Geometric/plyfile-1.0.3_use_pdm_backend.patch @@ -0,0 +1,15 @@ +pdm-pep517 changed name to pdm-backend with minor changes. +author: micketeer@gmail.com + +--- pyproject.toml.orig 2024-03-01 19:33:52.181523013 +0100 ++++ pyproject.toml 2024-03-01 19:45:38.960430755 +0100 +@@ -60,6 +60,6 @@ + + [build-system] + requires = [ +- "pdm-pep517>=1.0.0", ++ "pdm-backend", + ] +-build-backend = "pdm.pep517.api" ++build-backend = "pdm.backend" + From e58915b3bd1120456d9167e2f34007763fecb0d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Fri, 1 Mar 2024 22:53:34 +0000 Subject: [PATCH 182/889] Add YACS --- .../y/YACS/YACS-0.1.8-GCCcore-12.3.0.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/y/YACS/YACS-0.1.8-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/y/YACS/YACS-0.1.8-GCCcore-12.3.0.eb b/easybuild/easyconfigs/y/YACS/YACS-0.1.8-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..058b8993dcf --- /dev/null +++ b/easybuild/easyconfigs/y/YACS/YACS-0.1.8-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'YACS' +version = '0.1.8' + +homepage = "https://github.com/rbgirshick/yacs" +description = """YACS was created as a lightweight library to define and +manage system configurations, such as those commonly found in software +designed for scientific experimentation. These "configurations" +typically cover concepts like hyperparameters used in training a machine +learning model or configurable model hyperparameters, such as the depth +of a convolutional neural network.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['efc4c732942b3103bea904ee89af98bcd27d01f0ac12d8d4d369f1e7a2914384'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('PyYAML', '6.0'), +] + +use_pip = True +download_dep_fail = True + +sanity_pip_check = True + +moduleclass = 'lib' From 7987731f8f3e7d7b89d84e7e53d5f0e4d0ebdc88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Sat, 2 Mar 2024 13:49:54 +0000 Subject: [PATCH 183/889] Add missing aiohttp dep --- ...Torch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb index 2c50a3eaf7c..fd80ffc3974 100644 --- a/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb @@ -26,6 +26,7 @@ dependencies = [ ('RDFlib', '7.0.0'), ('ASE', '3.22.1'), ('YACS', '0.1.8'), + ('aiohttp', '3.8.5'), ] use_pip = True From 8e268122817a51a0f9196be1f18fb1e53605201a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Sat, 2 Mar 2024 22:34:00 +0000 Subject: [PATCH 184/889] Run tests --- .../PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index e1a545dd16c..07db5bcb25e 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -39,6 +39,7 @@ exts_list = [ 'source_urls': ['https://github.com/pytorch/data/archive'], 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], 'checksums': ['ef9bbdcee759b53c3c9d99e76eb0a66da33d36bfb7f859a25a9b5e737a51fa23'], + 'runtest': 'pytest', }), ('torchtext', '0.16.2', { 'patches': ['torchtext-0.14.1_use-system-libs.patch'], @@ -49,6 +50,7 @@ exts_list = [ {'torchtext-0.14.1_use-system-libs.patch': '1366d10c4755b6003194f7313ca11d165a80a13d325bee9d669ea2b333d82536'}, ], + 'runtest': 'pytest', }), ('torchvision', '0.16.2', { 'preinstallopts': 'WITH_CUDA=1', @@ -61,6 +63,7 @@ exts_list = [ {'torchvision-0.16.2_ffmpeg-6.0-fix.patch': 'a49336e7bfa1c950e886852bff37a3ea2146ac7bda87241e3ffb31c5cb869cce'}, ], + 'runtest': 'pytest', }), ('torchaudio', '2.2.1', { 'installopts': '--no-use-pep517 -v', @@ -74,17 +77,20 @@ exts_list = [ {'torchaudio-2.2.1_use-external-sox.patch': 'fc97b2bdf0ab16b9c4706bf2a31dd72d0ecb09e4af2f9c4a34e18fca8e0d165d'}, ], + 'runtest': 'pytest', }), ('pytorch-ignite', '0.4.13', { 'modulename': 'ignite', 'source_urls': ['https://github.com/pytorch/ignite/archive'], 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], 'checksums': ['bfe4b6f1cd96e78c021a65a0c51350cdb89d6ef5a8b9609638666ca95bae51d7'], + 'runtest': 'pytest', }), ('torch-tb-profiler', '0.4.3', { 'modulename': 'torch.profiler', 'sources': ['torch_tb_profiler-%(version)s.tar.gz'], 'checksums': ['8b8d29b2de960b3c4423087b23cec29beaf9ac3a8c7b046c18fd25b218f726b1'], + 'runtest': 'pytest', }), ] From 855d4911f93cc4a3d11080c98be0c3902b21b58c Mon Sep 17 00:00:00 2001 From: Jordi Camps Puchades Date: Tue, 5 Mar 2024 14:19:30 +0100 Subject: [PATCH 185/889] Upgrade to latest version --- easybuild/easyconfigs/f/fgbio/fgbio-2.2.1.eb | 42 ++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 easybuild/easyconfigs/f/fgbio/fgbio-2.2.1.eb diff --git a/easybuild/easyconfigs/f/fgbio/fgbio-2.2.1.eb b/easybuild/easyconfigs/f/fgbio/fgbio-2.2.1.eb new file mode 100644 index 00000000000..64de1da7e09 --- /dev/null +++ b/easybuild/easyconfigs/f/fgbio/fgbio-2.2.1.eb @@ -0,0 +1,42 @@ +easyblock = 'CmdCp' + +name = 'fgbio' +version = '2.2.1' + +homepage = 'https://fulcrumgenomics.github.io/fgbio' +description = "A set of tools to analyze genomic data with a focus on Next Generation Sequencing." + +toolchain = SYSTEM + +source_urls = ['https://github.com/fulcrumgenomics/fgbio/archive/'] +sources = ['%(version)s.zip'] +checksums = ['0810b10365f501bcba1e00e02bd4543270bc8eb8bfb18cca07e89bafedbc2a79'] + +builddependencies = [ + ('sbt', '1.6.2', '-Java-%(javaver)s'), +] + +dependencies = [('Java', '1.8')] + +cmds_map = [( + '.*', + 'sed -i \'s/scala.sys.process.Process("git rev-parse --short HEAD").lineStream.head/"%(version)s"/\' version.sbt' + ' && sbt --sbt-dir "$TMPDIR/sbt" assembly --ivy "$TMPDIR/ivy2"' + ' && echo -e \'#!/bin/bash\\nexec java -jar "${EBROOTFGBIO}/lib/fgbio-%(version)s.jar" "$@"\' >> fgbio' + ' && chmod +x fgbio' +)] + +files_to_copy = [ + (['fgbio'], 'bin'), + (['target/scala-*/fgbio-%(version)s.jar'], 'lib'), +] + +sanity_check_paths = { + 'files': ['bin/fgbio', 'lib/fgbio-%(version)s.jar'], + 'dirs': [], +} + +# --help, --version, ... all exit with status code one, so we need to check the output +sanity_check_commands = ['fgbio --help 2>&1 | grep -q Version'] + +moduleclass = 'bio' From 4172c2c9ca28852d9992f128df54e49fe30cff7c Mon Sep 17 00:00:00 2001 From: Jordi Camps Puchades Date: Tue, 5 Mar 2024 15:21:39 +0100 Subject: [PATCH 186/889] Downgraded sbt version to an existing one in the EC repository --- easybuild/easyconfigs/f/fgbio/fgbio-2.2.1.eb | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/easybuild/easyconfigs/f/fgbio/fgbio-2.2.1.eb b/easybuild/easyconfigs/f/fgbio/fgbio-2.2.1.eb index 64de1da7e09..14d63daeaff 100644 --- a/easybuild/easyconfigs/f/fgbio/fgbio-2.2.1.eb +++ b/easybuild/easyconfigs/f/fgbio/fgbio-2.2.1.eb @@ -13,7 +13,7 @@ sources = ['%(version)s.zip'] checksums = ['0810b10365f501bcba1e00e02bd4543270bc8eb8bfb18cca07e89bafedbc2a79'] builddependencies = [ - ('sbt', '1.6.2', '-Java-%(javaver)s'), + ('sbt', '1.3.13', '-Java-%(javaver)s'), ] dependencies = [('Java', '1.8')] @@ -22,21 +22,21 @@ cmds_map = [( '.*', 'sed -i \'s/scala.sys.process.Process("git rev-parse --short HEAD").lineStream.head/"%(version)s"/\' version.sbt' ' && sbt --sbt-dir "$TMPDIR/sbt" assembly --ivy "$TMPDIR/ivy2"' - ' && echo -e \'#!/bin/bash\\nexec java -jar "${EBROOTFGBIO}/lib/fgbio-%(version)s.jar" "$@"\' >> fgbio' - ' && chmod +x fgbio' + ' && echo -e \'#!/bin/bash\\nexec java -jar "${EBROOTFGBIO}/lib/%(name)s-%(version)s.jar" "$@"\' >> %(name)s' + ' && chmod +x %(name)s' )] files_to_copy = [ - (['fgbio'], 'bin'), - (['target/scala-*/fgbio-%(version)s.jar'], 'lib'), + (['%(name)s'], 'bin'), + (['target/scala-*/%(name)s-%(version)s.jar'], 'lib'), ] sanity_check_paths = { - 'files': ['bin/fgbio', 'lib/fgbio-%(version)s.jar'], + 'files': ['bin/%(name)s', 'lib/%(name)s-%(version)s.jar'], 'dirs': [], } # --help, --version, ... all exit with status code one, so we need to check the output -sanity_check_commands = ['fgbio --help 2>&1 | grep -q Version'] +sanity_check_commands = ['%(name)s --help 2>&1 | grep -q Version'] moduleclass = 'bio' From 3a9dbc49e2f0bfa42a91dc905d0c41e49e20383a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Tue, 5 Mar 2024 16:21:31 +0000 Subject: [PATCH 187/889] Improve testing situation a bit --- .../PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index 07db5bcb25e..1016b41e793 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -12,6 +12,7 @@ toolchain = {'name': 'foss', 'version': '2023a'} builddependencies = [ ('CMake', '3.26.3'), ('RE2', '2023-08-01'), # for torchtext + ('parameterized', '0.9.0'), ] dependencies = [ @@ -39,7 +40,7 @@ exts_list = [ 'source_urls': ['https://github.com/pytorch/data/archive'], 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], 'checksums': ['ef9bbdcee759b53c3c9d99e76eb0a66da33d36bfb7f859a25a9b5e737a51fa23'], - 'runtest': 'pytest', + 'runtest': False, # circular test requirements }), ('torchtext', '0.16.2', { 'patches': ['torchtext-0.14.1_use-system-libs.patch'], @@ -51,6 +52,7 @@ exts_list = [ '1366d10c4755b6003194f7313ca11d165a80a13d325bee9d669ea2b333d82536'}, ], 'runtest': 'pytest', + 'testinstall': True, }), ('torchvision', '0.16.2', { 'preinstallopts': 'WITH_CUDA=1', @@ -64,6 +66,7 @@ exts_list = [ 'a49336e7bfa1c950e886852bff37a3ea2146ac7bda87241e3ffb31c5cb869cce'}, ], 'runtest': 'pytest', + 'testinstall': True, }), ('torchaudio', '2.2.1', { 'installopts': '--no-use-pep517 -v', @@ -78,6 +81,7 @@ exts_list = [ 'fc97b2bdf0ab16b9c4706bf2a31dd72d0ecb09e4af2f9c4a34e18fca8e0d165d'}, ], 'runtest': 'pytest', + 'testinstall': True, }), ('pytorch-ignite', '0.4.13', { 'modulename': 'ignite', @@ -91,6 +95,7 @@ exts_list = [ 'sources': ['torch_tb_profiler-%(version)s.tar.gz'], 'checksums': ['8b8d29b2de960b3c4423087b23cec29beaf9ac3a8c7b046c18fd25b218f726b1'], 'runtest': 'pytest', + 'testinstall': True, }), ] From 6848a81f68dfd6741c36faffeff2ce9ee2427321 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Tue, 5 Mar 2024 17:33:49 +0000 Subject: [PATCH 188/889] Use github sources --- ....0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb | 31 +++++++++++++------ 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb index fd80ffc3974..5ee275969da 100644 --- a/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb @@ -12,6 +12,7 @@ toolchain = {'name': 'foss', 'version': '2023a'} builddependencies = [ ('PDM', '2.12.4'), + ('Parallel-Hashmap', '1.3.12'), # header only ] dependencies = [ @@ -38,29 +39,39 @@ exts_list = [ }), ('plyfile', '1.0.3', { 'patches': ['plyfile-1.0.3_use_pdm_backend.patch'], - 'checksums': [ - {'plyfile-1.0.3.tar.gz': '0ecbe8e7ce55a7bbc6c9dea24242fffa0ab7d9bed33fbd5ad567ca013bcc5222'}, - {'plyfile-1.0.3_use_pdm_backend.patch': '815611863f16e785ef03a7992a0b99e433150212ff03559c7f6fce4e86d9e0a7'}, - ], }), ('torch_scatter', '2.1.2', { - 'checksums': ['69b3aa435f2424ac6a1bfb6ff702da6eb73b33ca0db38fb26989c74159258e47'], + 'source_urls': ['https://github.com/rusty1s/pytorch_scatter/archive/refs/tags/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'runtest': 'pytest', + 'testinstall': True, }), ('torch_sparse', '0.6.18', { - 'checksums': ['2f14c510a6e93f404c6ea357210615b3c15a71731f9dbd86f25434e34fb5a741'], + 'source_urls': ['https://github.com/rusty1s/pytorch_sparse/archive/refs/tags/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'runtest': 'pytest', + 'testinstall': True, }), ('torch_cluster', '1.6.3', { - 'checksums': ['78d5a930a5bbd0d8788df8c6d66addd68d6dd292fe3edb401e3dacba26308152'], + 'source_urls': ['https://github.com/rusty1s/pytorch_cluster/archive/refs/tags/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'runtest': 'pytest', + 'testinstall': True, }), ('torch_spline_conv', '1.2.2', { - 'checksums': ['ed45a81da29f774665dbdd4709d7e534cdf16d2e7006dbd06957f35bd09661b2'], + 'source_urls': ['https://github.com/rusty1s/pytorch_spline_conv/archive/refs/tags/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'runtest': 'pytest', + 'testinstall': True, }), ('python-louvain', '0.16', { 'modulename': 'community.community_louvain', - 'checksums': ['b7ba2df5002fd28d3ee789a49532baad11fe648e4f2117cf0798e7520a1da56b'], }), ('torch_geometric', version, { - 'checksums': ['f4f4a57fd885c74e982d570df3a259ffff5adbb4ad7a3a95aabf5ace5fa7a240'], + 'source_urls': ['https://github.com/pyg-team/pytorch_geometric/archive/refs/tags/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'runtest': 'pytest', + 'testinstall': True, }), ] From abf91b76a49dc2b2a53a29b6a511e4377fdb0eb8 Mon Sep 17 00:00:00 2001 From: Jordi Camps Puchades Date: Wed, 6 Mar 2024 09:59:10 +0100 Subject: [PATCH 189/889] Switched Java version to 8 --- easybuild/easyconfigs/f/fgbio/fgbio-2.2.1.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/f/fgbio/fgbio-2.2.1.eb b/easybuild/easyconfigs/f/fgbio/fgbio-2.2.1.eb index 14d63daeaff..a1867277c47 100644 --- a/easybuild/easyconfigs/f/fgbio/fgbio-2.2.1.eb +++ b/easybuild/easyconfigs/f/fgbio/fgbio-2.2.1.eb @@ -16,7 +16,7 @@ builddependencies = [ ('sbt', '1.3.13', '-Java-%(javaver)s'), ] -dependencies = [('Java', '1.8')] +dependencies = [('Java', '8')] cmds_map = [( '.*', From e641dc44d3dc972a1d24ae953a9099e7d81dba49 Mon Sep 17 00:00:00 2001 From: Jordi Camps Puchades Date: Wed, 6 Mar 2024 16:25:46 +0100 Subject: [PATCH 190/889] Added an sbt EC with Java version switched to 8 --- .../easyconfigs/s/sbt/sbt-1.6.2-Java-8.eb | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 easybuild/easyconfigs/s/sbt/sbt-1.6.2-Java-8.eb diff --git a/easybuild/easyconfigs/s/sbt/sbt-1.6.2-Java-8.eb b/easybuild/easyconfigs/s/sbt/sbt-1.6.2-Java-8.eb new file mode 100644 index 00000000000..0064c01d1e3 --- /dev/null +++ b/easybuild/easyconfigs/s/sbt/sbt-1.6.2-Java-8.eb @@ -0,0 +1,25 @@ +easyblock = 'Tarball' + +name = 'sbt' +version = '1.6.2' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'http://www.scala-sbt.org/' +description = "sbt is a build tool for Scala, Java, and more." + +toolchain = SYSTEM + +source_urls = ['https://github.com/sbt/sbt/releases/download/v%(version)s'] +sources = [SOURCE_TGZ] +checksums = ['854154de27a7d8c13b5a0f9a297cd1f254cc13b44588dae507e5d4fb2741bd22'] + +dependencies = [('Java', '8')] + +sanity_check_paths = { + 'files': ['bin/sbt'], + 'dirs': [], +} + +sanity_check_commands = ["sbt --version"] + +moduleclass = 'tools' From 90493c2a5e068a43a542f036f2cf0e7b9d4d4c45 Mon Sep 17 00:00:00 2001 From: Jordi Camps Puchades Date: Wed, 6 Mar 2024 19:12:59 +0100 Subject: [PATCH 191/889] sbt version inside EC did not match the filename --- .../easyconfigs/s/sbt/sbt-1.3.13-Java-8.eb | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 easybuild/easyconfigs/s/sbt/sbt-1.3.13-Java-8.eb diff --git a/easybuild/easyconfigs/s/sbt/sbt-1.3.13-Java-8.eb b/easybuild/easyconfigs/s/sbt/sbt-1.3.13-Java-8.eb new file mode 100644 index 00000000000..8c7a7d40219 --- /dev/null +++ b/easybuild/easyconfigs/s/sbt/sbt-1.3.13-Java-8.eb @@ -0,0 +1,25 @@ +easyblock = 'Tarball' + +name = 'sbt' +version = '1.3.13' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'http://www.scala-sbt.org/' +description = "sbt is a build tool for Scala, Java, and more." + +toolchain = SYSTEM + +source_urls = ['https://github.com/sbt/sbt/releases/download/v%(version)s'] +sources = [SOURCE_TGZ] +checksums = ['854154de27a7d8c13b5a0f9a297cd1f254cc13b44588dae507e5d4fb2741bd22'] + +dependencies = [('Java', '8')] + +sanity_check_paths = { + 'files': ['bin/sbt'], + 'dirs': [], +} + +sanity_check_commands = ["sbt --version"] + +moduleclass = 'tools' From aa3c0d591066662cc2abac274b24fa05933e9ff4 Mon Sep 17 00:00:00 2001 From: Taras Lazariv Date: Thu, 7 Mar 2024 09:03:41 +0100 Subject: [PATCH 192/889] adding easyconfigs: SOCI-4.0.3-GCC-13.2.0.eb, yaml-cpp-0.8.0-GCCcore-13.2.0.eb, RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb --- .../l/libgit2/libgit2-1.7.2-GCCcore-13.2.0.eb | 37 ++ .../easyconfigs/r/R/R-4.3.3-gfbf-2023b.eb | 372 ++++++++++++++++++ ...023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb | 100 +++++ .../s/SOCI/SOCI-4.0.3-GCC-13.2.0.eb | 52 +++ .../yaml-cpp/yaml-cpp-0.8.0-GCCcore-13.2.0.eb | 30 ++ 5 files changed, 591 insertions(+) create mode 100644 easybuild/easyconfigs/l/libgit2/libgit2-1.7.2-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/r/R/R-4.3.3-gfbf-2023b.eb create mode 100644 easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb create mode 100644 easybuild/easyconfigs/s/SOCI/SOCI-4.0.3-GCC-13.2.0.eb create mode 100644 easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.8.0-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/l/libgit2/libgit2-1.7.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libgit2/libgit2-1.7.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..1b8babdb90f --- /dev/null +++ b/easybuild/easyconfigs/l/libgit2/libgit2-1.7.2-GCCcore-13.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'libgit2' +version = '1.7.2' + +homepage = 'https://libgit2.org/' +description = """libgit2 is a portable, pure C implementation of the Git core methods provided as a re-entrant +linkable library with a solid API, allowing you to write native speed custom Git applications in any language +which supports C bindings.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['de384e29d7efc9330c6cdb126ebf88342b5025d920dcb7c645defad85195ea7f'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), + ('pkgconf', '2.0.3'), +] +dependencies = [ + ('PCRE2', '10.42'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = '-DREGEX_BACKEND=pcre2' + +github_account = '%(name)s' + +sanity_check_paths = { + 'files': ['include/git2.h', 'lib64/%%(name)s.%s' % SHLIB_EXT, 'lib64/pkgconfig/%(name)s.pc'], + 'dirs': [], +} + +moduleclass = 'devel' + diff --git a/easybuild/easyconfigs/r/R/R-4.3.3-gfbf-2023b.eb b/easybuild/easyconfigs/r/R/R-4.3.3-gfbf-2023b.eb new file mode 100644 index 00000000000..5ed3ce06c41 --- /dev/null +++ b/easybuild/easyconfigs/r/R/R-4.3.3-gfbf-2023b.eb @@ -0,0 +1,372 @@ +name = 'R' +version = '4.3.3' + +homepage = 'https://www.r-project.org/' +description = """R is a free software environment for statistical computing + and graphics.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] +sources = [SOURCE_TAR_GZ] +checksums = ['80851231393b85bf3877ee9e39b282e750ed864c5ec60cbd68e6e139f0520330'] + +builddependencies = [ + ('pkgconf', '2.0.3'), + ('Autotools', '20220317'), +] +dependencies = [ + ('X11', '20231019'), + ('Mesa', '23.1.9'), + ('libGLU', '9.0.3'), + ('cairo', '1.18.0'), + ('libreadline', '8.2'), + ('ncurses', '6.4'), + ('bzip2', '1.0.8'), + ('XZ', '5.4.4'), + ('zlib', '1.2.13'), + ('SQLite', '3.43.1'), + ('PCRE2', '10.42'), + ('libpng', '1.6.40'), # for plotting in R + ('libjpeg-turbo', '3.0.1'), # for plottting in R + ('LibTIFF', '4.6.0'), + ('Java', '11', '', SYSTEM), + ('libgit2', '1.7.2'), + ('OpenSSL', '1.1', '', SYSTEM), + ('cURL', '8.3.0'), + ('Tk', '8.6.13'), # for tcltk + ('HarfBuzz', '8.2.2'), # for textshaping + ('FriBidi', '1.0.13'), # for textshaping + +] + +# Some R extensions (mclust, quantreg, waveslim for example) require the math library (-lm) to avoid undefined symbols. +# Adding it to FLIBS makes sure it is present when needed. +preconfigopts = 'export FLIBS="$FLIBS -lm" && ' + +configopts = "--with-pic --enable-threads --enable-R-shlib" +# some recommended packages may fail in a parallel build (e.g. Matrix), and +# we're installing them anyway below +configopts += " --with-recommended-packages=no" + +# specify that at least EasyBuild v3.5.0 is required, +# since we rely on the updated easyblock for R to configure correctly w.r.t. BLAS/LAPACK +easybuild_version = '3.5.0' + +exts_default_options = { + 'source_urls': [ + 'https://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive + 'https://cran.r-project.org/src/contrib/', # current version of packages + 'https://cran.freestatistics.org/src/contrib', # mirror alternative for current packages + ], + 'source_tmpl': '%(name)s_%(version)s.tar.gz', +} + +# !! order of packages is important !! +# packages updated on 5th November 2023 +exts_list = [ + 'base', + 'compiler', + 'datasets', + 'graphics', + 'grDevices', + 'grid', + 'methods', + 'parallel', + 'splines', + 'stats', + 'stats4', + 'tcltk', + 'tools', + 'utils', + ('rlang', '1.1.3', { + 'checksums': ['24a3424b5dc2c4bd3e5f7c0b54fbe1355028e329181b2d41f4464c8ade28bf0a'], + }), + ('Rcpp', '1.0.12', { + 'checksums': ['0c7359cc43beee02761aa3df2baccede1182d29d28c9cd49964b609305062bd0'], + }), + ('R6', '2.5.1', { + 'checksums': ['8d92bd29c2ed7bf15f2778618ffe4a95556193d21d8431a7f75e7e5fc102bf48'], + }), + ('cli', '3.6.2', { + 'checksums': ['4c0749e3711b2b6ae90fd992784303bc8d98039599cac1deb397239a7018e151'], + }), + ('base64enc', '0.1-3', { + 'checksums': ['6d856d8a364bcdc499a0bf38bfd283b7c743d08f0b288174fba7dbf0a04b688d'], + }), + ('rprojroot', '2.0.4', { + 'checksums': ['b5f463fb25a24dac7a4ca916be57dbe22b5262e1f41e53871ca83e57d4336e99'], + }), + ('xfun', '0.42', { + 'checksums': ['07bbfaed212ba1fcb9367624e8bc4936a7884e30e0efc561199acd0fcba5750a'], + }), + ('commonmark', '1.9.1', { + 'checksums': ['9517a13f4ce4a99bb157493453b04419b222cb65a9471cd3b11e5045ac0db53b'], + }), + ('highr', '0.10', { + 'checksums': ['ec55bc1ff66390ed66806dc2a7b6c17dbfd089b3d73fe2e369017f8cb4bc347b'], + }), + ('digest', '0.6.34', { + 'checksums': ['0b737552932f165d4158ac94631f90abfb02c510df14577d7aa900c8fd3d44d9'], + }), + ('desc', '1.4.3', { + 'checksums': ['54468da73dd78fc9e7c565c41cfe3331802c2134b2e61a9ad197215317092f26'], + }), + ('ellipsis', '0.3.2', { + 'checksums': ['a90266e5eb59c7f419774d5c6d6bd5e09701a26c9218c5933c9bce6765aa1558'], + }), + ('prettyunits', '1.2.0', { + 'checksums': ['f059f27e2a5c82e351fe05b87ad712f7afc273c651450453f59d99af5deeacea'], + }), + ('crayon', '1.5.2', { + 'checksums': ['70a9a505b5b3c0ee6682ad8b965e28b7e24d9f942160d0a2bad18eec22b45a7a'], + }), + ('stringi', '1.8.3', { + 'checksums': ['1602be8edd1dd8ac5a836f4077cbc9d6a312ca4b2c594a0486370e8c1e314925'], + }), + ('magrittr', '2.0.3', { + 'checksums': ['a2bff83f792a1acb801bfe6330bb62724c74d5308832f2cb6a6178336ace55d2'], + }), + ('evaluate', '0.23', { + 'checksums': ['c9cf9c37502b8fbfa78e4eb96b8c3d1789060e49505c86c07cb7476da804a45c'], + }), + ('ps', '1.7.6', { + 'checksums': ['52c35ffc3d1e1d984a94c7bbd671ef4ad70946990cbcd80e814e17937b056dd2'], + }), + ('processx', '3.8.3', { + 'checksums': ['1ad8c51482b89702fbbb6621b1a179c1ae67b78388b8fd9c841bbc8cf035d831'], + }), + ('callr', '3.7.5', { + 'checksums': ['18a11e8f7324d5b013149af69a32784aea7433863492aaabccd8d227b73b472c'], + }), + ('pkgbuild', '1.4.3', { + 'checksums': ['1583edb56c0afab6f99d0dd2235fd45999461f89e8ca50bc7c0b74211f109165'], + }), + ('fs', '1.6.3', { + 'checksums': ['fa82061e50d7a4d94b7e404f9f2b699e75ae8fbfb575fabdfc2c39f536c0f971'], + }), + ('utf8', '1.2.4', { + 'checksums': ['418f824bbd9cd868d2d8a0d4345545c62151d321224cdffca8b1ffd98a167b7d'], + }), + ('fansi', '1.0.6', { + 'checksums': ['ea9dc690dfe50a7fad7c5eb863c157d70385512173574c56f4253b6dfe431863'], + }), + ('pkgconfig', '2.0.3', { + 'checksums': ['330fef440ffeb842a7dcfffc8303743f1feae83e8d6131078b5a44ff11bc3850'], + }), + ('withr', '3.0.0', { + 'checksums': ['8c78eede6d0e648c23d38a6695f642aed2819ef708239d00b36cbc15eabbe0e7'], + }), + ('glue', '1.7.0', { + 'checksums': ['1af51b51f52c1aeb3bfe9349f55896dd78b5542ffdd5654e432e4d646e4a86dc'], + }), + ('rstudioapi', '0.15.0', { + 'checksums': ['935bc81dca37d3d6e77982bfe6e7fbd779e8606e5b7e00d0ba4c80fec0416ccf'], + }), + ('pkgload', '1.3.4', { + 'checksums': ['60b04b948cda4dc56257b1e89f9b0a4b1273cacecdb2bd995d66dd76e89926ce'], + }), + ('fastmap', '1.1.1', { + 'checksums': ['3623809dd016ae8abd235200ba7834effc4b916915a059deb76044137c5c7173'], + }), + ('htmltools', '0.5.7', { + 'checksums': ['ecb0d82619063f49e4d001c44fcc1b811a06928fd66c2bb8c86632798d98b386'], + }), + ('yaml', '2.3.8', { + 'checksums': ['9ed079e2159cae214f3fefcbc4c8eb3b888ceabe902350adbdb1d181eda23fd8'], + }), + ('knitr', '1.45', { + 'checksums': ['ee2edea53bc53efa51d131ab5a0b0c829c0f950b79d3c6ee34705354bf7584fb'], + }), + ('mime', '0.12', { + 'checksums': ['a9001051d6c1e556e881910b1816b42872a1ee41ab76d0040ce66a27135e3849'], + }), + ('praise', '1.0.0', { + 'checksums': ['5c035e74fd05dfa59b03afe0d5f4c53fbf34144e175e90c53d09c6baedf5debd'], + }), + ('brio', '1.1.4', { + 'checksums': ['0cbbf38948682b2435eea69b04be59187b149183dc7562df71dc0d3e260e18e8'], + }), + ('jsonlite', '1.8.8', { + 'checksums': ['7de21316984c3ba3d7423d12f43d1c30c716007c5e39bf07e11885e0ceb0caa4'], + }), + ('lifecycle', '1.0.4', { + 'checksums': ['ada4d3c7e84b0c93105e888647c5754219a8334f6e1f82d5afaf83d4855b91cc'], + }), + ('vctrs', '0.6.5', { + 'checksums': ['43167d2248fd699594044b5c8f1dbb7ed163f2d64761e08ba805b04e7ec8e402'], + }), + ('stringr', '1.5.1', { + 'checksums': ['a4adec51bb3f04214b1d8ef40d3a58949f21b1497cbeaf2ba552e0891eef45de'], + }), + ('pillar', '1.9.0', { + 'checksums': ['f23eb486c087f864c2b4072d5cba01d5bebf2f554118bcba6886d8dbceb87acc'], + }), + ('tibble', '3.2.1', { + 'checksums': ['65a72d0c557fd6e7c510d150c935ed6ced5db7d05fc20236b370f11428372131'], + }), + ('diffobj', '0.3.5', { + 'checksums': ['d860a79b1d4c9e369282d7391b539fe89228954854a65ba47181407c53e3cf60'], + }), + ('rematch2', '2.1.2', { + 'checksums': ['fe9cbfe99dd7731a0a2a310900d999f80e7486775b67f3f8f388c30737faf7bb'], + }), + ('waldo', '0.5.2', { + 'checksums': ['82cdae1ab2c5e7e5dbf5c6bdf832020b46e152732053fb45de7c9a81afdf2e05'], + }), + ('testthat', '3.2.1', { + 'checksums': ['1d980e611b01c194007639a100c3ddaeaab77786d32f81680f497f99e60748ad'], + }), + ('xml2', '1.3.6', { + 'checksums': ['e81991ff99bff3616dde8683c1327194e3ea64fa3b8062f52d8ce32673dd308f'], + }), + ('curl', '5.2.1', { + 'checksums': ['4a7a4d8c08aa1bca2fcd9c58ade7b4b0ea2ed9076d0521071be29baac8adfa90'], + }), + ('sys', '3.4.2', { + 'checksums': ['b7bdce66f0fb681830ea6fb77b5a2c6babb43920abb1eddc733f95c0a63ce5b3'], + }), + ('askpass', '1.2.0', { + 'checksums': ['b922369781934d0ffc8d0c0177e8ace56796c2e6a726f65e460c16f792592cef'], + }), + ('openssl', '2.1.1', { + 'checksums': ['faa726f9af2a97d5fa1e1044f4a38ee2edd4c81f0beb5830f6a36ff249b64bdc'], + }), + ('httr', '1.4.7', { + 'checksums': ['1555e6c2fb67bd38ff11b479f74aa287b2d93f4add487aec53b836ff07de3a3a'], + }), + ('jquerylib', '0.1.4', { + 'checksums': ['f0bcc11dcde3a6ff180277e45c24642d3da3c8690900e38f44495efbc9064411'], + }), + ('rappdirs', '0.3.3', { + 'checksums': ['49959f65b45b0b189a2792d6c1339bef59674ecae92f8c2ed9f26ff9e488c184'], + }), + ('sass', '0.4.8', { + 'checksums': ['42ba2930cd22ad9f5e0022b9ac53bdbc4c9250f00e0646e6502f635a6db3c40c'], + }), + ('purrr', '1.0.2', { + 'checksums': ['2c1bc6bb88433dff0892b41136f2f5c23573b335ff35a4775c72aa57b48bbb63'], + }), + ('cachem', '1.0.8', { + 'checksums': ['ea9ca919fe615dce8770758ecc2fc88ac99074f66ff1cde3a0b95d40007f45c2'], + }), + ('memoise', '2.0.1', { + 'checksums': ['f85034ee98c8ca07fb3cd826142c1cd1e1e5747075a94c75a45783bbc4fe2deb'], + }), + ('bslib', '0.6.1', { + 'checksums': ['642735afd7d3895f1ac8c5a5f7f5e08001bfabcf62a56d2d85904655a2e931db'], + }), + ('fontawesome', '0.5.2', { + 'checksums': ['da3de2a9717084d1400d48edd783f06c66b8c910ce9c8d753d1b7d99be1c5cc9'], + }), + ('tinytex', '0.49', { + 'checksums': ['941169ec65445d172658d0fb6ea8d839736f3f1b5f6ce20637d7d8e299663145'], + }), + ('rmarkdown', '2.25', { + 'checksums': ['06e4662666fe018fbe3bef3531280a461c7bc24bb00f34b9d4c7b08d52210155'], + }), + ('downlit', '0.4.3', { + 'checksums': ['6c0fbe98ece8a511973263f8e8a35574df0cfc45edea7452b53b8d326436b3bd'], + }), + ('cpp11', '0.4.7', { + 'checksums': ['801d1266824c3972642bce2db2a5fd0528a65ec845c58eb5a886edf082264344'], + }), + ('systemfonts', '1.0.5', { + 'checksums': ['840ffb1d8293739c79cbc868101d9f9a84f4a9de4c7b3625e30af2fb63e15823'], + }), + ('textshaping', '0.3.7', { + 'checksums': ['fa924dbe1fb4138b80d6c26ee42f4203843f1d34f77e2a5e42514e6fcc97ec42'], + }), + ('ragg', '1.2.7', { + 'checksums': ['d77a18662d127881dcb5046033eb809293ad9ad439fa4b217202b8cef4280c9f'], + }), + ('whisker', '0.4.1', { + 'checksums': ['bf5151494508032f68ac41e211bda80da9087c65c7068ffdd12f16669bf1f2bc'], + }), + ('pkgdown', '2.0.7', { + 'checksums': ['f33872869dfa8319182d87e90eab3245ff69293b3b791471bf9538afb81b356a'], + }), + ('htmlwidgets', '1.6.4', { + 'checksums': ['7cb08f0b30485dac26f72e4056ec4ed8825d1398e8b9f25ed63db228fe3a0ed0'], + }), + ('profvis', '0.3.8', { + 'checksums': ['ec02c75bc9907a73564e691adfa8e06651ca0bd73b7915412960231cd265b4b2'], + }), + ('urlchecker', '1.0.1', { + 'checksums': ['62165ddbe1b748b58c71a50c8f07fdde6f3d19a7b39787b9fa2b4f9216250318'], + }), + ('later', '1.3.2', { + 'checksums': ['52f5073d33cd0d3c12e56526c9c53c323ebafcc79b22cc6e51fb0c41ee2b561e'], + }), + ('promises', '1.2.1', { + 'checksums': ['3ce0a26df39ea27536877ec6db13083b2952108245024baa8b40ae856d2ce5be'], + }), + ('xtable', '1.8-4', { + 'checksums': ['5abec0e8c27865ef0880f1d19c9f9ca7cc0fd24eadaa72bcd270c3fb4075fd1c'], + }), + ('httpuv', '1.6.14', { + 'checksums': ['4026acae26bd99873e269b062f343f2239131130b43fdfd6a1a5a89b913cd181'], + }), + ('sourcetools', '0.1.7-1', { + 'checksums': ['96812bdb7a0dd99690d84e4b0a3def91389e4290f53f01919ef28a50554e31d1'], + }), + ('shiny', '1.8.0', { + 'checksums': ['f28740ba28707e8b3dabb2ad27b002dae555317010660702163bb0daefe04641'], + }), + ('miniUI', '0.1.1.1', { + 'checksums': ['452b41133289f630d8026507263744e385908ca025e9a7976925c1539816b0c0'], + }), + ('brew', '1.0-10', { + 'checksums': ['4181f7334e032ae0775c5dec49d6137eb25d5430ca3792d321793307b3dda38f'], + }), + ('roxygen2', '7.3.1', { + 'checksums': ['215e9fa9c0e73cb33f9870854c97b25c1a6386f519f69f397123f1a66656e2c8'], + }), + ('rversions', '2.1.2', { + 'checksums': ['de5818233e8271132fe8ea70145618950b35786e0d2f270e39bf3338f3b8b160'], + }), + ('sessioninfo', '1.2.2', { + 'checksums': ['f56283857c53ac8691e3747ed48fe03e893d8ff348235bff7364658bcfb0c7cb'], + }), + ('xopen', '1.0.0', { + 'checksums': ['e207603844d69c226142be95281ba2f4a056b9d8cbfae7791ba60535637b3bef'], + }), + ('rcmdcheck', '1.4.0', { + 'checksums': ['bbd4ef7d514b8c2076196a7c4a6041d34623d55fbe73f2771758ce61fd32c9d0'], + }), + ('remotes', '2.4.2.1', { + 'checksums': ['7ba8ca9a652d60bcdea25dbd43bd1e055e97b031c05e0bc3fac43bf245c1209d'], + }), + ('clipr', '0.8.0', { + 'checksums': ['32c2931992fbec9c31b71de3e27059f1cbb45b4b1f45fd42e0e8dbcec6de3be9'], + }), + ('ini', '0.3.1', { + 'checksums': ['7b191a54019c8c52d6c2211c14878c95564154ec4865f57007953742868cd813'], + }), + ('gitcreds', '0.1.2', { + 'checksums': ['41c6abcca5635062b123ffb5af2794770eca5ebd97b05c5a64b24fa1c803c75d'], + }), + ('httr2', '1.0.0', { + 'checksums': ['cb852d6f560c329a7dc17aa760f09a0950413513dc8abfc3facb6418b2934a49'], + }), + ('gh', '1.4.0', { + 'checksums': ['68c69fcd18429b378e639a09652465a4e92b7b5b5704804d0c5b1ca2b9b58b71'], + }), + ('credentials', '2.0.1', { + 'checksums': ['2c7cfc45bd4afa9a2c2b85d43e907b212da3468781e1b617737bd095253c358b'], + }), + ('zip', '2.3.1', { + 'checksums': ['83754408781c525917f36535865d28214893de0778b5f337e050cb543cacc28f'], + }), + ('gert', '2.0.1', { + 'checksums': ['0ed784837809ce89797ea77834d420e89351728f70d8d2f4b34487df813cd092'], + }), + ('usethis', '2.2.3', { + 'checksums': ['8d0c98995c23b5f4b5b95cd453557d2d15faa7399cc01bff304f5b15cb0cdeb3'], + }), + ('devtools', '2.4.5', { + 'checksums': ['38160ebd839acdec7ebf0699a085b4ab1ebd5500d3c57a9fa7ae484f1909904b'], + }), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb new file mode 100644 index 00000000000..950e01b971f --- /dev/null +++ b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb @@ -0,0 +1,100 @@ +easyblock = 'CMakeNinja' + +name = 'RStudio-Server' +version = "2023.12.1+402" +versionsuffix = '-Java-%(javaver)s-R-%(rver)s' +local_git_rev = '4da58325ffcff29d157d9264087d4b1ab27f7204' + +homepage = 'https://www.rstudio.com/' +description = """This is the RStudio Server version. +RStudio is a set of integrated tools designed to help you be more productive with R. + +The server can be started with: + rserver --server-daemonize=0 --www-port=8787 + +If you need a database config one can be created with: + MYTMP=`mktemp -d` && echo -e "provider=sqlite\\ndirectory=${MYTMP}/sqlite" > "${MYTMP}/db.conf" +and then used with: + rserver ... --database-config-file="${MYTMP}/db.conf" +""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +source_urls = ['https://github.com/rstudio/rstudio/archive'] +sources = ['%(version)s.tar.gz'] + +checksums = [] +builddependencies = [ + ('ant', '1.10.14', '-Java-%(javaver)s', SYSTEM), + ('CMake', '3.27.6'), + ('Ninja', '1.11.1'), + ('pkgconf', '2.0.3'), + ('nodejs', '20.9.0'), +] + +dependencies = [ + ('Boost', '1.83.0'), + ('Java', '11', '', SYSTEM), + ('R', '4.3.3'), + ('SOCI', '4.0.3'), + ('yaml-cpp', '0.8.0'), +] + +osdependencies = [ + ('pam-devel', 'libpam0g-dev') +] + +# Required until https://github.com/easybuilders/easybuild-framework/pull/4035 +local_start_dir = "%(builddir)s/rstudio-" + version.replace("+", "-") + +preconfigopts = " && ".join([ + # Install dependencies via scripts. Done in subshell to preserve PWD + "(export RSTUDIO_TOOLS_ROOT='%(builddir)s'", + "cd '%s/dependencies/common'" % local_start_dir, + "./install-cef", + "./install-dictionaries", + "./install-mathjax", + "./install-pandoc", + "./install-packages", + "./install-panmirror", + "./install-npm-dependencies)", + "" +]) + +configopts = " ".join([ + "-DRSTUDIO_TOOLS_ROOT='%(builddir)s'", + "-DRSTUDIO_TARGET=Server", + "-DRSTUDIO_USE_SYSTEM_BOOST=ON", + "-DRSTUDIO_USE_SYSTEM_SOCI=ON", + "-DRSTUDIO_USE_SYSTEM_YAML_CPP=ON", + "-DQUARTO_ENABLED=OFF", # Not available on all archs, use pandoc fallback + "-DRSTUDIO_GIT_REVISION_HASH=" + local_git_rev +]) + +sanity_check_commands = [ + # RSession requires environment variables R_HOME and R_DOC_DIR + 'R_HOME="$EBROOTR/lib64/R" R_DOC_DIR="$R_HOME/doc" rsession --verify-installation=1', + # RServer requires a db conf (this may also be needed for live use) + # Also create and set a soem dirs so it doesn't try to use $HOME + 'MYTMP=`mktemp -d`' + ' && export RSTUDIO_CONFIG_DIR="$MYTMP"' + ' && export XDG_DATA_HOME="$MYTMP/.data"' + ' && export XDG_CACHE_HOME="$MYTMP/.cache"' + ' && mkdir "$XDG_DATA_HOME" "$XDG_CACHE_HOME"' + ' && export RS_LOG_DIR="$MYTMP/log"' + ' && echo -e "provider=sqlite\\ndirectory=$MYTMP/db" >> "$MYTMP/db.conf"' + ' && rserver ' + ' '.join([ + '--verify-installation=1', + '--server-user="$USER"', + '--database-config-file="$MYTMP/db.conf"', + '--server-data-dir="$MYTMP/sdd"', + '--secure-cookie-key-file="$MYTMP/secure-cookie-key"', + ]), +] + +sanity_check_paths = { + 'files': ['bin/rstudio-server'], + 'dirs': ['bin', 'extras', 'resources', 'www', 'www-symbolmaps', 'R'], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SOCI/SOCI-4.0.3-GCC-13.2.0.eb b/easybuild/easyconfigs/s/SOCI/SOCI-4.0.3-GCC-13.2.0.eb new file mode 100644 index 00000000000..9f4329a7316 --- /dev/null +++ b/easybuild/easyconfigs/s/SOCI/SOCI-4.0.3-GCC-13.2.0.eb @@ -0,0 +1,52 @@ +easyblock = 'CMakeMake' + +name = 'SOCI' +version = '4.0.3' + +homepage = 'http://soci.sourceforge.net/' +description = """SOCI is a database access library for C++ that makes the illusion of embedding SQL queries in the + regular C++ code, staying entirely within the Standard C++.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = ['https://github.com/SOCI/soci/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['4b1ff9c8545c5d802fbe06ee6cd2886630e5c03bf740e269bb625b45cf934928'] + +builddependencies = [ + ('CMake', '3.27.6'), +] + +dependencies = [ + ('Boost', '1.83.0'), + ('SQLite', '3.43.1'), + ('PostgreSQL', '16.1'), +] + +# Matches RStudio (1.4.1717) install options +# https://github.com/rstudio/rstudio/blob/ddcd7191ec89c4da00e77afae7e9f27e61e87c36/dependencies/common/install-soci +configopts = "-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true " +configopts += "-DSOCI_TESTS=OFF " +configopts += "-DSOCI_CXX11=ON " +configopts += "-DSOCI_EMPTY=OFF " +configopts += '-DCMAKE_INCLUDE_PATH="$EBROOTBOOST/include" ' +configopts += "-DBoost_USE_STATIC_LIBS=ON " +configopts += '-DCMAKE_LIBRARY_PATH="$EBROOTBOOST/lib" ' +configopts += "-DWITH_BOOST=ON " +configopts += "-DWITH_POSTGRESQL=ON " +configopts += "-DWITH_SQLITE3=ON " +configopts += "-DWITH_DB2=OFF " +configopts += "-DWITH_MYSQL=OFF " +configopts += "-DWITH_ORACLE=OFF " +configopts += "-DWITH_FIREBIRD=OFF " +configopts += "-DWITH_ODBC=OFF " +configopts += "-DBoost_DEBUG=1 " + +local_dbs = ['postgresql', 'sqlite3'] + +sanity_check_paths = { + 'files': ['lib/libsoci_%s.%s' % (x, SHLIB_EXT) for x in local_dbs + ['core']], + 'dirs': ['include/soci/%s' % x for x in local_dbs], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.8.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.8.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..f3aa3787613 --- /dev/null +++ b/easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.8.0-GCCcore-13.2.0.eb @@ -0,0 +1,30 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'CMakeMake' +name = 'yaml-cpp' +version = "0.8.0" + +homepage = "https://github.com/jbeder/yaml-cpp" +description = """yaml-cpp is a YAML parser and emitter in C++ matching the YAML 1.2 spec""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/jbeder/%(name)s/archive/'] +sources = ['%(version)s.tar.gz'] +#patches = ['%(name)s-0.7.0_fix-cmake-export.patch'] +checksums = [ + {'0.8.0.tar.gz': 'fbe74bbdcee21d656715688706da3c8becfd946d92cd44705cc6098bb23b3a16'}, + # {'yaml-cpp-0.7.0_fix-cmake-export.patch': 'c562a575bbb161af478795e43bfd9073e3f874bea07134a321c1063cd7098c1c'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6') +] + +sanity_check_paths = { + 'files': ['lib/libyaml-cpp.a', 'include/yaml-cpp/yaml.h'], + 'dirs': ['lib', 'include'], +} + +moduleclass = 'tools' From 6870c37f3ea6cac93e7dd19b3a19b31d44c9056e Mon Sep 17 00:00:00 2001 From: Taras Lazariv Date: Thu, 7 Mar 2024 13:30:48 +0100 Subject: [PATCH 193/889] Remove R and libgit2 --- .../l/libgit2/libgit2-1.7.2-GCCcore-13.2.0.eb | 37 -- .../easyconfigs/r/R/R-4.3.3-gfbf-2023b.eb | 372 ------------------ 2 files changed, 409 deletions(-) delete mode 100644 easybuild/easyconfigs/l/libgit2/libgit2-1.7.2-GCCcore-13.2.0.eb delete mode 100644 easybuild/easyconfigs/r/R/R-4.3.3-gfbf-2023b.eb diff --git a/easybuild/easyconfigs/l/libgit2/libgit2-1.7.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libgit2/libgit2-1.7.2-GCCcore-13.2.0.eb deleted file mode 100644 index 1b8babdb90f..00000000000 --- a/easybuild/easyconfigs/l/libgit2/libgit2-1.7.2-GCCcore-13.2.0.eb +++ /dev/null @@ -1,37 +0,0 @@ -easyblock = 'CMakeMake' - -name = 'libgit2' -version = '1.7.2' - -homepage = 'https://libgit2.org/' -description = """libgit2 is a portable, pure C implementation of the Git core methods provided as a re-entrant -linkable library with a solid API, allowing you to write native speed custom Git applications in any language -which supports C bindings.""" - -toolchain = {'name': 'GCCcore', 'version': '13.2.0'} - -source_urls = [GITHUB_SOURCE] -sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] -checksums = ['de384e29d7efc9330c6cdb126ebf88342b5025d920dcb7c645defad85195ea7f'] - -builddependencies = [ - ('binutils', '2.40'), - ('CMake', '3.27.6'), - ('pkgconf', '2.0.3'), -] -dependencies = [ - ('PCRE2', '10.42'), - ('OpenSSL', '1.1', '', SYSTEM), -] - -configopts = '-DREGEX_BACKEND=pcre2' - -github_account = '%(name)s' - -sanity_check_paths = { - 'files': ['include/git2.h', 'lib64/%%(name)s.%s' % SHLIB_EXT, 'lib64/pkgconfig/%(name)s.pc'], - 'dirs': [], -} - -moduleclass = 'devel' - diff --git a/easybuild/easyconfigs/r/R/R-4.3.3-gfbf-2023b.eb b/easybuild/easyconfigs/r/R/R-4.3.3-gfbf-2023b.eb deleted file mode 100644 index 5ed3ce06c41..00000000000 --- a/easybuild/easyconfigs/r/R/R-4.3.3-gfbf-2023b.eb +++ /dev/null @@ -1,372 +0,0 @@ -name = 'R' -version = '4.3.3' - -homepage = 'https://www.r-project.org/' -description = """R is a free software environment for statistical computing - and graphics.""" - -toolchain = {'name': 'gfbf', 'version': '2023b'} - -source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] -sources = [SOURCE_TAR_GZ] -checksums = ['80851231393b85bf3877ee9e39b282e750ed864c5ec60cbd68e6e139f0520330'] - -builddependencies = [ - ('pkgconf', '2.0.3'), - ('Autotools', '20220317'), -] -dependencies = [ - ('X11', '20231019'), - ('Mesa', '23.1.9'), - ('libGLU', '9.0.3'), - ('cairo', '1.18.0'), - ('libreadline', '8.2'), - ('ncurses', '6.4'), - ('bzip2', '1.0.8'), - ('XZ', '5.4.4'), - ('zlib', '1.2.13'), - ('SQLite', '3.43.1'), - ('PCRE2', '10.42'), - ('libpng', '1.6.40'), # for plotting in R - ('libjpeg-turbo', '3.0.1'), # for plottting in R - ('LibTIFF', '4.6.0'), - ('Java', '11', '', SYSTEM), - ('libgit2', '1.7.2'), - ('OpenSSL', '1.1', '', SYSTEM), - ('cURL', '8.3.0'), - ('Tk', '8.6.13'), # for tcltk - ('HarfBuzz', '8.2.2'), # for textshaping - ('FriBidi', '1.0.13'), # for textshaping - -] - -# Some R extensions (mclust, quantreg, waveslim for example) require the math library (-lm) to avoid undefined symbols. -# Adding it to FLIBS makes sure it is present when needed. -preconfigopts = 'export FLIBS="$FLIBS -lm" && ' - -configopts = "--with-pic --enable-threads --enable-R-shlib" -# some recommended packages may fail in a parallel build (e.g. Matrix), and -# we're installing them anyway below -configopts += " --with-recommended-packages=no" - -# specify that at least EasyBuild v3.5.0 is required, -# since we rely on the updated easyblock for R to configure correctly w.r.t. BLAS/LAPACK -easybuild_version = '3.5.0' - -exts_default_options = { - 'source_urls': [ - 'https://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive - 'https://cran.r-project.org/src/contrib/', # current version of packages - 'https://cran.freestatistics.org/src/contrib', # mirror alternative for current packages - ], - 'source_tmpl': '%(name)s_%(version)s.tar.gz', -} - -# !! order of packages is important !! -# packages updated on 5th November 2023 -exts_list = [ - 'base', - 'compiler', - 'datasets', - 'graphics', - 'grDevices', - 'grid', - 'methods', - 'parallel', - 'splines', - 'stats', - 'stats4', - 'tcltk', - 'tools', - 'utils', - ('rlang', '1.1.3', { - 'checksums': ['24a3424b5dc2c4bd3e5f7c0b54fbe1355028e329181b2d41f4464c8ade28bf0a'], - }), - ('Rcpp', '1.0.12', { - 'checksums': ['0c7359cc43beee02761aa3df2baccede1182d29d28c9cd49964b609305062bd0'], - }), - ('R6', '2.5.1', { - 'checksums': ['8d92bd29c2ed7bf15f2778618ffe4a95556193d21d8431a7f75e7e5fc102bf48'], - }), - ('cli', '3.6.2', { - 'checksums': ['4c0749e3711b2b6ae90fd992784303bc8d98039599cac1deb397239a7018e151'], - }), - ('base64enc', '0.1-3', { - 'checksums': ['6d856d8a364bcdc499a0bf38bfd283b7c743d08f0b288174fba7dbf0a04b688d'], - }), - ('rprojroot', '2.0.4', { - 'checksums': ['b5f463fb25a24dac7a4ca916be57dbe22b5262e1f41e53871ca83e57d4336e99'], - }), - ('xfun', '0.42', { - 'checksums': ['07bbfaed212ba1fcb9367624e8bc4936a7884e30e0efc561199acd0fcba5750a'], - }), - ('commonmark', '1.9.1', { - 'checksums': ['9517a13f4ce4a99bb157493453b04419b222cb65a9471cd3b11e5045ac0db53b'], - }), - ('highr', '0.10', { - 'checksums': ['ec55bc1ff66390ed66806dc2a7b6c17dbfd089b3d73fe2e369017f8cb4bc347b'], - }), - ('digest', '0.6.34', { - 'checksums': ['0b737552932f165d4158ac94631f90abfb02c510df14577d7aa900c8fd3d44d9'], - }), - ('desc', '1.4.3', { - 'checksums': ['54468da73dd78fc9e7c565c41cfe3331802c2134b2e61a9ad197215317092f26'], - }), - ('ellipsis', '0.3.2', { - 'checksums': ['a90266e5eb59c7f419774d5c6d6bd5e09701a26c9218c5933c9bce6765aa1558'], - }), - ('prettyunits', '1.2.0', { - 'checksums': ['f059f27e2a5c82e351fe05b87ad712f7afc273c651450453f59d99af5deeacea'], - }), - ('crayon', '1.5.2', { - 'checksums': ['70a9a505b5b3c0ee6682ad8b965e28b7e24d9f942160d0a2bad18eec22b45a7a'], - }), - ('stringi', '1.8.3', { - 'checksums': ['1602be8edd1dd8ac5a836f4077cbc9d6a312ca4b2c594a0486370e8c1e314925'], - }), - ('magrittr', '2.0.3', { - 'checksums': ['a2bff83f792a1acb801bfe6330bb62724c74d5308832f2cb6a6178336ace55d2'], - }), - ('evaluate', '0.23', { - 'checksums': ['c9cf9c37502b8fbfa78e4eb96b8c3d1789060e49505c86c07cb7476da804a45c'], - }), - ('ps', '1.7.6', { - 'checksums': ['52c35ffc3d1e1d984a94c7bbd671ef4ad70946990cbcd80e814e17937b056dd2'], - }), - ('processx', '3.8.3', { - 'checksums': ['1ad8c51482b89702fbbb6621b1a179c1ae67b78388b8fd9c841bbc8cf035d831'], - }), - ('callr', '3.7.5', { - 'checksums': ['18a11e8f7324d5b013149af69a32784aea7433863492aaabccd8d227b73b472c'], - }), - ('pkgbuild', '1.4.3', { - 'checksums': ['1583edb56c0afab6f99d0dd2235fd45999461f89e8ca50bc7c0b74211f109165'], - }), - ('fs', '1.6.3', { - 'checksums': ['fa82061e50d7a4d94b7e404f9f2b699e75ae8fbfb575fabdfc2c39f536c0f971'], - }), - ('utf8', '1.2.4', { - 'checksums': ['418f824bbd9cd868d2d8a0d4345545c62151d321224cdffca8b1ffd98a167b7d'], - }), - ('fansi', '1.0.6', { - 'checksums': ['ea9dc690dfe50a7fad7c5eb863c157d70385512173574c56f4253b6dfe431863'], - }), - ('pkgconfig', '2.0.3', { - 'checksums': ['330fef440ffeb842a7dcfffc8303743f1feae83e8d6131078b5a44ff11bc3850'], - }), - ('withr', '3.0.0', { - 'checksums': ['8c78eede6d0e648c23d38a6695f642aed2819ef708239d00b36cbc15eabbe0e7'], - }), - ('glue', '1.7.0', { - 'checksums': ['1af51b51f52c1aeb3bfe9349f55896dd78b5542ffdd5654e432e4d646e4a86dc'], - }), - ('rstudioapi', '0.15.0', { - 'checksums': ['935bc81dca37d3d6e77982bfe6e7fbd779e8606e5b7e00d0ba4c80fec0416ccf'], - }), - ('pkgload', '1.3.4', { - 'checksums': ['60b04b948cda4dc56257b1e89f9b0a4b1273cacecdb2bd995d66dd76e89926ce'], - }), - ('fastmap', '1.1.1', { - 'checksums': ['3623809dd016ae8abd235200ba7834effc4b916915a059deb76044137c5c7173'], - }), - ('htmltools', '0.5.7', { - 'checksums': ['ecb0d82619063f49e4d001c44fcc1b811a06928fd66c2bb8c86632798d98b386'], - }), - ('yaml', '2.3.8', { - 'checksums': ['9ed079e2159cae214f3fefcbc4c8eb3b888ceabe902350adbdb1d181eda23fd8'], - }), - ('knitr', '1.45', { - 'checksums': ['ee2edea53bc53efa51d131ab5a0b0c829c0f950b79d3c6ee34705354bf7584fb'], - }), - ('mime', '0.12', { - 'checksums': ['a9001051d6c1e556e881910b1816b42872a1ee41ab76d0040ce66a27135e3849'], - }), - ('praise', '1.0.0', { - 'checksums': ['5c035e74fd05dfa59b03afe0d5f4c53fbf34144e175e90c53d09c6baedf5debd'], - }), - ('brio', '1.1.4', { - 'checksums': ['0cbbf38948682b2435eea69b04be59187b149183dc7562df71dc0d3e260e18e8'], - }), - ('jsonlite', '1.8.8', { - 'checksums': ['7de21316984c3ba3d7423d12f43d1c30c716007c5e39bf07e11885e0ceb0caa4'], - }), - ('lifecycle', '1.0.4', { - 'checksums': ['ada4d3c7e84b0c93105e888647c5754219a8334f6e1f82d5afaf83d4855b91cc'], - }), - ('vctrs', '0.6.5', { - 'checksums': ['43167d2248fd699594044b5c8f1dbb7ed163f2d64761e08ba805b04e7ec8e402'], - }), - ('stringr', '1.5.1', { - 'checksums': ['a4adec51bb3f04214b1d8ef40d3a58949f21b1497cbeaf2ba552e0891eef45de'], - }), - ('pillar', '1.9.0', { - 'checksums': ['f23eb486c087f864c2b4072d5cba01d5bebf2f554118bcba6886d8dbceb87acc'], - }), - ('tibble', '3.2.1', { - 'checksums': ['65a72d0c557fd6e7c510d150c935ed6ced5db7d05fc20236b370f11428372131'], - }), - ('diffobj', '0.3.5', { - 'checksums': ['d860a79b1d4c9e369282d7391b539fe89228954854a65ba47181407c53e3cf60'], - }), - ('rematch2', '2.1.2', { - 'checksums': ['fe9cbfe99dd7731a0a2a310900d999f80e7486775b67f3f8f388c30737faf7bb'], - }), - ('waldo', '0.5.2', { - 'checksums': ['82cdae1ab2c5e7e5dbf5c6bdf832020b46e152732053fb45de7c9a81afdf2e05'], - }), - ('testthat', '3.2.1', { - 'checksums': ['1d980e611b01c194007639a100c3ddaeaab77786d32f81680f497f99e60748ad'], - }), - ('xml2', '1.3.6', { - 'checksums': ['e81991ff99bff3616dde8683c1327194e3ea64fa3b8062f52d8ce32673dd308f'], - }), - ('curl', '5.2.1', { - 'checksums': ['4a7a4d8c08aa1bca2fcd9c58ade7b4b0ea2ed9076d0521071be29baac8adfa90'], - }), - ('sys', '3.4.2', { - 'checksums': ['b7bdce66f0fb681830ea6fb77b5a2c6babb43920abb1eddc733f95c0a63ce5b3'], - }), - ('askpass', '1.2.0', { - 'checksums': ['b922369781934d0ffc8d0c0177e8ace56796c2e6a726f65e460c16f792592cef'], - }), - ('openssl', '2.1.1', { - 'checksums': ['faa726f9af2a97d5fa1e1044f4a38ee2edd4c81f0beb5830f6a36ff249b64bdc'], - }), - ('httr', '1.4.7', { - 'checksums': ['1555e6c2fb67bd38ff11b479f74aa287b2d93f4add487aec53b836ff07de3a3a'], - }), - ('jquerylib', '0.1.4', { - 'checksums': ['f0bcc11dcde3a6ff180277e45c24642d3da3c8690900e38f44495efbc9064411'], - }), - ('rappdirs', '0.3.3', { - 'checksums': ['49959f65b45b0b189a2792d6c1339bef59674ecae92f8c2ed9f26ff9e488c184'], - }), - ('sass', '0.4.8', { - 'checksums': ['42ba2930cd22ad9f5e0022b9ac53bdbc4c9250f00e0646e6502f635a6db3c40c'], - }), - ('purrr', '1.0.2', { - 'checksums': ['2c1bc6bb88433dff0892b41136f2f5c23573b335ff35a4775c72aa57b48bbb63'], - }), - ('cachem', '1.0.8', { - 'checksums': ['ea9ca919fe615dce8770758ecc2fc88ac99074f66ff1cde3a0b95d40007f45c2'], - }), - ('memoise', '2.0.1', { - 'checksums': ['f85034ee98c8ca07fb3cd826142c1cd1e1e5747075a94c75a45783bbc4fe2deb'], - }), - ('bslib', '0.6.1', { - 'checksums': ['642735afd7d3895f1ac8c5a5f7f5e08001bfabcf62a56d2d85904655a2e931db'], - }), - ('fontawesome', '0.5.2', { - 'checksums': ['da3de2a9717084d1400d48edd783f06c66b8c910ce9c8d753d1b7d99be1c5cc9'], - }), - ('tinytex', '0.49', { - 'checksums': ['941169ec65445d172658d0fb6ea8d839736f3f1b5f6ce20637d7d8e299663145'], - }), - ('rmarkdown', '2.25', { - 'checksums': ['06e4662666fe018fbe3bef3531280a461c7bc24bb00f34b9d4c7b08d52210155'], - }), - ('downlit', '0.4.3', { - 'checksums': ['6c0fbe98ece8a511973263f8e8a35574df0cfc45edea7452b53b8d326436b3bd'], - }), - ('cpp11', '0.4.7', { - 'checksums': ['801d1266824c3972642bce2db2a5fd0528a65ec845c58eb5a886edf082264344'], - }), - ('systemfonts', '1.0.5', { - 'checksums': ['840ffb1d8293739c79cbc868101d9f9a84f4a9de4c7b3625e30af2fb63e15823'], - }), - ('textshaping', '0.3.7', { - 'checksums': ['fa924dbe1fb4138b80d6c26ee42f4203843f1d34f77e2a5e42514e6fcc97ec42'], - }), - ('ragg', '1.2.7', { - 'checksums': ['d77a18662d127881dcb5046033eb809293ad9ad439fa4b217202b8cef4280c9f'], - }), - ('whisker', '0.4.1', { - 'checksums': ['bf5151494508032f68ac41e211bda80da9087c65c7068ffdd12f16669bf1f2bc'], - }), - ('pkgdown', '2.0.7', { - 'checksums': ['f33872869dfa8319182d87e90eab3245ff69293b3b791471bf9538afb81b356a'], - }), - ('htmlwidgets', '1.6.4', { - 'checksums': ['7cb08f0b30485dac26f72e4056ec4ed8825d1398e8b9f25ed63db228fe3a0ed0'], - }), - ('profvis', '0.3.8', { - 'checksums': ['ec02c75bc9907a73564e691adfa8e06651ca0bd73b7915412960231cd265b4b2'], - }), - ('urlchecker', '1.0.1', { - 'checksums': ['62165ddbe1b748b58c71a50c8f07fdde6f3d19a7b39787b9fa2b4f9216250318'], - }), - ('later', '1.3.2', { - 'checksums': ['52f5073d33cd0d3c12e56526c9c53c323ebafcc79b22cc6e51fb0c41ee2b561e'], - }), - ('promises', '1.2.1', { - 'checksums': ['3ce0a26df39ea27536877ec6db13083b2952108245024baa8b40ae856d2ce5be'], - }), - ('xtable', '1.8-4', { - 'checksums': ['5abec0e8c27865ef0880f1d19c9f9ca7cc0fd24eadaa72bcd270c3fb4075fd1c'], - }), - ('httpuv', '1.6.14', { - 'checksums': ['4026acae26bd99873e269b062f343f2239131130b43fdfd6a1a5a89b913cd181'], - }), - ('sourcetools', '0.1.7-1', { - 'checksums': ['96812bdb7a0dd99690d84e4b0a3def91389e4290f53f01919ef28a50554e31d1'], - }), - ('shiny', '1.8.0', { - 'checksums': ['f28740ba28707e8b3dabb2ad27b002dae555317010660702163bb0daefe04641'], - }), - ('miniUI', '0.1.1.1', { - 'checksums': ['452b41133289f630d8026507263744e385908ca025e9a7976925c1539816b0c0'], - }), - ('brew', '1.0-10', { - 'checksums': ['4181f7334e032ae0775c5dec49d6137eb25d5430ca3792d321793307b3dda38f'], - }), - ('roxygen2', '7.3.1', { - 'checksums': ['215e9fa9c0e73cb33f9870854c97b25c1a6386f519f69f397123f1a66656e2c8'], - }), - ('rversions', '2.1.2', { - 'checksums': ['de5818233e8271132fe8ea70145618950b35786e0d2f270e39bf3338f3b8b160'], - }), - ('sessioninfo', '1.2.2', { - 'checksums': ['f56283857c53ac8691e3747ed48fe03e893d8ff348235bff7364658bcfb0c7cb'], - }), - ('xopen', '1.0.0', { - 'checksums': ['e207603844d69c226142be95281ba2f4a056b9d8cbfae7791ba60535637b3bef'], - }), - ('rcmdcheck', '1.4.0', { - 'checksums': ['bbd4ef7d514b8c2076196a7c4a6041d34623d55fbe73f2771758ce61fd32c9d0'], - }), - ('remotes', '2.4.2.1', { - 'checksums': ['7ba8ca9a652d60bcdea25dbd43bd1e055e97b031c05e0bc3fac43bf245c1209d'], - }), - ('clipr', '0.8.0', { - 'checksums': ['32c2931992fbec9c31b71de3e27059f1cbb45b4b1f45fd42e0e8dbcec6de3be9'], - }), - ('ini', '0.3.1', { - 'checksums': ['7b191a54019c8c52d6c2211c14878c95564154ec4865f57007953742868cd813'], - }), - ('gitcreds', '0.1.2', { - 'checksums': ['41c6abcca5635062b123ffb5af2794770eca5ebd97b05c5a64b24fa1c803c75d'], - }), - ('httr2', '1.0.0', { - 'checksums': ['cb852d6f560c329a7dc17aa760f09a0950413513dc8abfc3facb6418b2934a49'], - }), - ('gh', '1.4.0', { - 'checksums': ['68c69fcd18429b378e639a09652465a4e92b7b5b5704804d0c5b1ca2b9b58b71'], - }), - ('credentials', '2.0.1', { - 'checksums': ['2c7cfc45bd4afa9a2c2b85d43e907b212da3468781e1b617737bd095253c358b'], - }), - ('zip', '2.3.1', { - 'checksums': ['83754408781c525917f36535865d28214893de0778b5f337e050cb543cacc28f'], - }), - ('gert', '2.0.1', { - 'checksums': ['0ed784837809ce89797ea77834d420e89351728f70d8d2f4b34487df813cd092'], - }), - ('usethis', '2.2.3', { - 'checksums': ['8d0c98995c23b5f4b5b95cd453557d2d15faa7399cc01bff304f5b15cb0cdeb3'], - }), - ('devtools', '2.4.5', { - 'checksums': ['38160ebd839acdec7ebf0699a085b4ab1ebd5500d3c57a9fa7ae484f1909904b'], - }), -] - -moduleclass = 'lang' From 210df032d0c4c6c1f5370d19fad179da3c50376a Mon Sep 17 00:00:00 2001 From: WilleBell Date: Thu, 7 Mar 2024 16:46:02 +0100 Subject: [PATCH 194/889] adding easyconfigs: HyPhy-2.5.25-gompi-2022a.eb --- .../h/HyPhy/HyPhy-2.5.25-gompi-2022a.eb | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 easybuild/easyconfigs/h/HyPhy/HyPhy-2.5.25-gompi-2022a.eb diff --git a/easybuild/easyconfigs/h/HyPhy/HyPhy-2.5.25-gompi-2022a.eb b/easybuild/easyconfigs/h/HyPhy/HyPhy-2.5.25-gompi-2022a.eb new file mode 100644 index 00000000000..f18f68e0db8 --- /dev/null +++ b/easybuild/easyconfigs/h/HyPhy/HyPhy-2.5.25-gompi-2022a.eb @@ -0,0 +1,34 @@ +easyblock = "CMakeMake" + +name = 'HyPhy' +version = '2.5.25' + +homepage = 'https://veg.github.io/hyphy-site/' +description = """HyPhy (Hypothesis Testing using Phylogenies) is an open-source software package + for the analysis of genetic sequences (in particular the inference of natural selection) + using techniques in phylogenetics, molecular evolution, and machine learning""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'openmp': True, 'usempi': True} + +source_urls = ['https://github.com/veg/hyphy/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['70f75ccc9cee8141e2956a2db6d2e5e54a82d5c96ec13b5fad68281245f2dfd3'] + +builddependencies = [('CMake', '3.24.3')] + +dependencies = [ + ('cURL', '7.83.0'), +] + +buildopts = [ + 'hyphy', + 'HYPHYMPI', +] + +sanity_check_paths = { + 'files': ['bin/hyphy', 'bin/HYPHYMPI'], + 'dirs': [], +} + +moduleclass = 'bio' From 1b2ec56523dd88b5828f917fe4c5077efa2628b7 Mon Sep 17 00:00:00 2001 From: lazariv Date: Thu, 7 Mar 2024 16:54:34 +0100 Subject: [PATCH 195/889] Update easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb Co-authored-by: Alexander Grund --- .../RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb index 950e01b971f..2aa5182de65 100644 --- a/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb +++ b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb @@ -50,7 +50,7 @@ local_start_dir = "%(builddir)s/rstudio-" + version.replace("+", "-") preconfigopts = " && ".join([ # Install dependencies via scripts. Done in subshell to preserve PWD "(export RSTUDIO_TOOLS_ROOT='%(builddir)s'", - "cd '%s/dependencies/common'" % local_start_dir, + "cd '%(start_dir)s/dependencies/common'", "./install-cef", "./install-dictionaries", "./install-mathjax", From f8a2008e81b4bc6fcef2bc278a5e29fc8de5c5d2 Mon Sep 17 00:00:00 2001 From: lazariv Date: Thu, 7 Mar 2024 16:56:00 +0100 Subject: [PATCH 196/889] Update easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb Co-authored-by: Jasper Grimm <65227842+jfgrimm@users.noreply.github.com> --- ...-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb index 2aa5182de65..536bdbbc6f7 100644 --- a/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb +++ b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb @@ -76,14 +76,15 @@ sanity_check_commands = [ 'R_HOME="$EBROOTR/lib64/R" R_DOC_DIR="$R_HOME/doc" rsession --verify-installation=1', # RServer requires a db conf (this may also be needed for live use) # Also create and set a soem dirs so it doesn't try to use $HOME - 'MYTMP=`mktemp -d`' - ' && export RSTUDIO_CONFIG_DIR="$MYTMP"' - ' && export XDG_DATA_HOME="$MYTMP/.data"' - ' && export XDG_CACHE_HOME="$MYTMP/.cache"' - ' && mkdir "$XDG_DATA_HOME" "$XDG_CACHE_HOME"' - ' && export RS_LOG_DIR="$MYTMP/log"' - ' && echo -e "provider=sqlite\\ndirectory=$MYTMP/db" >> "$MYTMP/db.conf"' - ' && rserver ' + ' '.join([ + ' '.join([ + 'MYTMP=`mktemp -d`', + '&& export RSTUDIO_CONFIG_DIR="$MYTMP"', + '&& export XDG_DATA_HOME="$MYTMP/.data"', + '&& export XDG_CACHE_HOME="$MYTMP/.cache"', + '&& mkdir "$XDG_DATA_HOME" "$XDG_CACHE_HOME"', + '&& export RS_LOG_DIR="$MYTMP/log"', + '&& echo -e "provider=sqlite\\ndirectory=$MYTMP/db" >> "$MYTMP/db.conf"', + '&& rserver', '--verify-installation=1', '--server-user="$USER"', '--database-config-file="$MYTMP/db.conf"', From ecba19fd1feeb22f0a5c7d26bd1d213841dc1e0f Mon Sep 17 00:00:00 2001 From: lazariv Date: Thu, 7 Mar 2024 17:00:58 +0100 Subject: [PATCH 197/889] Update yaml-cpp-0.8.0-GCCcore-13.2.0.eb Removed unnecessary patches from 0.7.0 --- .../easyconfigs/y/yaml-cpp/yaml-cpp-0.8.0-GCCcore-13.2.0.eb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.8.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.8.0-GCCcore-13.2.0.eb index f3aa3787613..dc041455a41 100644 --- a/easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.8.0-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.8.0-GCCcore-13.2.0.eb @@ -11,10 +11,9 @@ toolchainopts = {'pic': True} source_urls = ['https://github.com/jbeder/%(name)s/archive/'] sources = ['%(version)s.tar.gz'] -#patches = ['%(name)s-0.7.0_fix-cmake-export.patch'] + checksums = [ {'0.8.0.tar.gz': 'fbe74bbdcee21d656715688706da3c8becfd946d92cd44705cc6098bb23b3a16'}, - # {'yaml-cpp-0.7.0_fix-cmake-export.patch': 'c562a575bbb161af478795e43bfd9073e3f874bea07134a321c1063cd7098c1c'}, ] builddependencies = [ From bd88aa953a5f60be25951e1f4f18c3f2096ffcb6 Mon Sep 17 00:00:00 2001 From: lazariv Date: Thu, 7 Mar 2024 17:16:31 +0100 Subject: [PATCH 198/889] Update RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb --- .../RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb | 3 --- 1 file changed, 3 deletions(-) diff --git a/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb index 536bdbbc6f7..f6e71b56f60 100644 --- a/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb +++ b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb @@ -44,9 +44,6 @@ osdependencies = [ ('pam-devel', 'libpam0g-dev') ] -# Required until https://github.com/easybuilders/easybuild-framework/pull/4035 -local_start_dir = "%(builddir)s/rstudio-" + version.replace("+", "-") - preconfigopts = " && ".join([ # Install dependencies via scripts. Done in subshell to preserve PWD "(export RSTUDIO_TOOLS_ROOT='%(builddir)s'", From af82e228dc812c07490a5fe8cb1a9e4fa04f21c0 Mon Sep 17 00:00:00 2001 From: Taras Lazariv Date: Tue, 12 Mar 2024 09:45:59 +0100 Subject: [PATCH 199/889] Add checksum --- .../RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb index f6e71b56f60..a2b5689287b 100644 --- a/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb +++ b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb @@ -22,8 +22,8 @@ toolchain = {'name': 'gfbf', 'version': '2023b'} source_urls = ['https://github.com/rstudio/rstudio/archive'] sources = ['%(version)s.tar.gz'] +checksums = ['196d31094d580a74737fbf689d2d0b302da5fec13694aa1d63f8875d3e45e4dd'] -checksums = [] builddependencies = [ ('ant', '1.10.14', '-Java-%(javaver)s', SYSTEM), ('CMake', '3.27.6'), From a6a4dc834d910a38bd18554488b63ee8db387ce3 Mon Sep 17 00:00:00 2001 From: nicolas Date: Tue, 12 Mar 2024 17:06:05 +0100 Subject: [PATCH 200/889] upgrade version to 2.2.1 --- ...1-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb} | 15 +++- ...Lightning-2.2.1-foss-2023a-CUDA-12.1.1.eb} | 80 +++++++++---------- 2 files changed, 51 insertions(+), 44 deletions(-) rename easybuild/easyconfigs/l/{lightning/lightning-2.2.0.post0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb => Lightning/Lightning-2.2.1-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb} (53%) rename easybuild/easyconfigs/p/PyTorch-Lightning/{PyTorch-Lightning-2.2.0.post0-foss-2023a-CUDA-12.1.1.eb => PyTorch-Lightning-2.2.1-foss-2023a-CUDA-12.1.1.eb} (62%) diff --git a/easybuild/easyconfigs/l/lightning/lightning-2.2.0.post0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb b/easybuild/easyconfigs/l/Lightning/Lightning-2.2.1-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb similarity index 53% rename from easybuild/easyconfigs/l/lightning/lightning-2.2.0.post0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb rename to easybuild/easyconfigs/l/Lightning/Lightning-2.2.1-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb index 39f01a1abef..f498e76404b 100644 --- a/easybuild/easyconfigs/l/lightning/lightning-2.2.0.post0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/l/Lightning/Lightning-2.2.1-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb @@ -1,17 +1,24 @@ easyblock = 'PythonPackage' -name = 'lightning' -version = '2.2.0.post0' +name = 'Lightning' +version = '2.2.1' local_pytorch_version = '2.1.2' versionsuffix = '-PyTorch-' + local_pytorch_version + '-CUDA-%(cudaver)s' homepage = 'https://github.com/Lightning-AI/pytorch-lightning' -description = "The deep learning framework to pretrain, finetune and deploy AI models." +description = """ +The deep learning framework to pretrain, finetune and deploy AI models. +Lightning has 4 core packages: + PyTorch Lightning: Train and deploy PyTorch at scale. + Lightning Fabric: Expert control. + Lightning Data: Blazing fast, distributed streaming of training data from cloud storage. + Lightning Apps: Build AI products and ML workflows. +""" toolchain = {'name': 'foss', 'version': '2023a'} sources = [SOURCELOWER_TAR_GZ] -checksums = ['60d91d39f42dde49e411bbf3a243b3d89c58aa028e2476d5fd2b3894a97ea775'] +checksums = ['b3e46d596b32cafd1fb9b21fdba1b1767df97b1af5cc702693d1c51df60b19aa'] dependencies = [ ('CUDA', '12.1.1', '', SYSTEM), diff --git a/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.2.0.post0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.2.1-foss-2023a-CUDA-12.1.1.eb similarity index 62% rename from easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.2.0.post0-foss-2023a-CUDA-12.1.1.eb rename to easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.2.1-foss-2023a-CUDA-12.1.1.eb index 92fb590b341..1efa5a7b4c8 100644 --- a/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.2.0.post0-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.2.1-foss-2023a-CUDA-12.1.1.eb @@ -1,7 +1,7 @@ easyblock = 'PythonBundle' name = 'PyTorch-Lightning' -version = '2.2.0.post0' +version = '2.2.1' versionsuffix = '-CUDA-%(cudaver)s' homepage = 'https://pytorchlightning.ai' @@ -44,41 +44,41 @@ exts_list = [ 'modulename': 'markdown_it', 'checksums': ['e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb'], }), - ('rich', '13.7.0', { - 'checksums': ['5cb5123b5cf9ee70584244246816e9114227e0b98ad9176eede6ad54bf5403fa'], + ('rich', '13.7.1', { + 'checksums': ['9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432'], }), ('PyJWT', '2.8.0', { 'modulename': 'jwt', 'checksums': ['57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de'], }), - ('starlette', '0.35.1', { - 'checksums': ['3e2639dac3520e4f58734ed22553f950d3f3cb1001cd2eaac4d57e8cdc5f66bc'], + ('starlette', '0.36.3', { + 'checksums': ['90a671733cfb35771d8cc605e0b679d23b992f8dcfad48cc60b38cb29aeb7080'], }), - ('fastapi', '0.109.0', { - 'checksums': ['b978095b9ee01a5cf49b19f4bc1ac9b8ca83aa076e770ef8fd9af09a2b88d191'], + ('fastapi', '0.110.0', { + 'checksums': ['266775f0dcc95af9d3ef39bad55cff525329a931d5fd51930aadd4f428bf7ff3'], }), - ('sniffio', '1.3.0', { - 'checksums': ['e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101'], + ('sniffio', '1.3.1', { + 'checksums': ['f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc'], }), ('exceptiongroup', '1.2.0', { 'checksums': ['91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68'], }), - ('anyio', '4.2.0', { - 'checksums': ['e1875bb4b4e2de1669f4bc7869b6d3f54231cdced71605e6e64c9be77e3be50f'], + ('anyio', '4.3.0', { + 'checksums': ['f75253795a87df48568485fd18cdd2a3fa5c4f7c5be8e5e36637733fce06fed6'], }), ('websocket-client', '1.7.0', { 'modulename': 'websocket', 'checksums': ['10e511ea3a8c744631d3bd77e61eb17ed09304c413ad42cf6ddfa4c7787e8fe6'], }), - ('python_multipart', '0.0.6', { + ('python_multipart', '0.0.9', { 'modulename': 'multipart', - 'checksums': ['e9925a80bb668529f1b67c7fdb0a5dacdd7cbfc6fb0bff3ea443fe22bdd62132'], + 'checksums': ['03f54688c663f1b7977105f021043b0793151e4cb1c1a9d4a11fc13d622c4026'], }), ('h11', '0.14.0', { 'checksums': ['8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d'], }), - ('uvicorn', '0.26.0', { - 'checksums': ['48bfd350fce3c5c57af5fb4995fded8fb50da3b4feb543eb18ad7e0d54589602'], + ('uvicorn', '0.27.1', { + 'checksums': ['3d9a267296243532db80c83a959a3400502165ade2c1338dea4e67915fd4745a'], }), ('lightning_cloud', '0.5.64', { 'checksums': ['44c44b387260e7f808bef7a2368966da166bf58fa37562a8ce8366febe3ca38e'], @@ -86,14 +86,14 @@ exts_list = [ ('itsdangerous', '2.1.2', { 'checksums': ['5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a'], }), - ('starsessions', '2.1.2', { - 'checksums': ['7e028b7b06a5b7f8ac4fe7894eb609941f96d137bc9d6cc6b6d86ae4724d7e36'], + ('starsessions', '2.1.3', { + 'checksums': ['d20c5f277b64a86c16819f65ac50814ccdbd146776159e08c88b378b6612297d'], }), - ('fsspec', '2023.12.2', { - 'checksums': ['8548d39e8810b59c38014934f6b31e57f40c1b20f911f4cc2b85389c7e9bf0cb'], + ('fsspec', '2024.2.0', { + 'checksums': ['b6ad1a679f760dda52b1168c859d01b7b80648ea6f7f7c7f5a8a91dc3f3ecb84'], }), - ('croniter', '2.0.1', { - 'checksums': ['d199b2ec3ea5e82988d1f72022433c5f9302b3b3ea9e6bfd6a1518f6ea5e700a'], + ('croniter', '2.0.2', { + 'checksums': ['8bff16c9af4ef1fb6f05416973b8f7cb54997c02f2f8365251f9bf1dded91866'], }), ('traitlets', '5.14.1', { 'checksums': ['8585105b371a04b8316a43d5ce29c098575c2e477850b62b848b964f1444527e'], @@ -118,17 +118,17 @@ exts_list = [ ('readchar', '4.0.5', { 'checksums': ['08a456c2d7c1888cde3f4688b542621b676eb38cd6cfed7eb6cb2e2905ddc826'], }), - ('runs', '1.2.0', { - 'checksums': ['8804271011b7a2eeb0d77c3e3f556e5ce5f602fa0dd2a31ed0c1222893be69b7'], + ('runs', '1.2.2', { + 'checksums': ['9dc1815e2895cfb3a48317b173b9f1eac9ba5549b36a847b5cc60c3bf82ecef1'], }), ('xmod', '1.8.1', { 'checksums': ['38c76486b9d672c546d57d8035df0beb7f4a9b088bc3fb2de5431ae821444377'], }), - ('editor', '1.6.5', { - 'checksums': ['5a8ad611d2a05de34994df3781605e26e63492f82f04c2e93abdd330eed6fa8d'], + ('editor', '1.6.6', { + 'checksums': ['bb6989e872638cd119db9a4fce284cd8e13c553886a1c044c6b8d8a160c871f8'], }), - ('inquirer', '3.2.1', { - 'checksums': ['d5ff9bb8cd07bd3f076eabad8ae338280886e93998ff10461975b768e3854fbc'], + ('inquirer', '3.2.4', { + 'checksums': ['33b09efc1b742b9d687b540296a8b6a3f773399673321fcc2ab0eb4c109bf9b5'], }), ('wrapt', '1.16.0', { 'checksums': ['5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d'], @@ -136,29 +136,29 @@ exts_list = [ ('aioitertools', '0.11.0', { 'checksums': ['42c68b8dd3a69c2bf7f2233bf7df4bb58b557bca5252ac02ed5187bbc67d6831'], }), - ('botocore', '1.33.13', { - 'checksums': ['fb577f4cb175605527458b04571451db1bd1a2036976b626206036acd4496617'], + ('botocore', '1.34.51', { + 'checksums': ['5086217442e67dd9de36ec7e87a0c663f76b7790d5fb6a12de565af95e87e319'], }), ('jmespath', '1.0.1', { 'checksums': ['90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe'], }), - ('s3transfer', '0.8.2', { - 'checksums': ['368ac6876a9e9ed91f6bc86581e319be08188dc60d50e0d56308ed5765446283'], + ('s3transfer', '0.10.0', { + 'checksums': ['d0c8bbf672d5eebbe4e57945e23b972d963f07d82f661cabf678a5c88831595b'], }), - ('boto3', '1.33.13', { - 'checksums': ['0e966b8a475ecb06cc0846304454b8da2473d4c8198a45dfb2c5304871986883'], + ('boto3', '1.34.51', { + 'checksums': ['2cd9463e738a184cbce8a6824027c22163c5f73e277a35ff5aa0fb0e845b4301'], }), - ('aiobotocore', '2.9.1', { - 'checksums': ['24daf4f1ce86e2fb5aee146cdc944736ef76791635ec3a9b6f3d5755b1ac3c46'], + ('aiobotocore', '2.12.1', { + 'checksums': ['8706b28f16f93c541f6ed50352115a79d8f3499539f8d0bb70aa0f7a5379c1fe'], }), - ('s3fs', '2023.12.2', { - 'checksums': ['b5ec07062481bbb45cb061b31984c7188d106e292c27033039e024e4ba5740dc'], + ('s3fs', '2024.2.0', { + 'checksums': ['f8064f522ad088b56b043047c825734847c0269df19f2613c956d4c20de15b62'], }), - ('torchmetrics', '1.3.0.post0', { - 'checksums': ['6d31aeabee964ff539425800164790b8670293f2fade9fcfee6fabbe3f45dd7e'], + ('torchmetrics', '1.3.1', { + 'checksums': ['8d371f7597a1a5eb02d5f2ed59642d6fef09093926997ce91e18b1147cc8defa'], }), ('pytorch-lightning', version, { - 'checksums': ['4ed1a97c5ba3ee5049f25b63a9a60062f54be9c93a3efd8fee2496cadb31fd83'], + 'checksums': ['aa3be30c9109239a371748565a7f4b7b41ea1395725c30e04426cf946b3e2745'], }), ] From acd03f074f4985ad77ac4473b9e127a4fd8d5731 Mon Sep 17 00:00:00 2001 From: sassy Date: Tue, 12 Mar 2024 18:37:36 +0000 Subject: [PATCH 201/889] adding easyconfigs: e3nn-0.3.3-foss-2022a-PyTorch-1.13.1-CUDA-11.7.0.eb --- ...3-foss-2022a-PyTorch-1.13.1-CUDA-11.7.0.eb | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 easybuild/easyconfigs/e/e3nn/e3nn-0.3.3-foss-2022a-PyTorch-1.13.1-CUDA-11.7.0.eb diff --git a/easybuild/easyconfigs/e/e3nn/e3nn-0.3.3-foss-2022a-PyTorch-1.13.1-CUDA-11.7.0.eb b/easybuild/easyconfigs/e/e3nn/e3nn-0.3.3-foss-2022a-PyTorch-1.13.1-CUDA-11.7.0.eb new file mode 100644 index 00000000000..2be3d9bf74c --- /dev/null +++ b/easybuild/easyconfigs/e/e3nn/e3nn-0.3.3-foss-2022a-PyTorch-1.13.1-CUDA-11.7.0.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'e3nn' +version = '0.3.3' +local_pytorch_version = '1.13.1' +versionsuffix = '-PyTorch-' + local_pytorch_version + '-CUDA-%(cudaver)s' + +homepage = 'https://e3nn.org/' +description = """ +Euclidean neural networks (e3nn) is a python library based on pytorch to create equivariant +neural networks for the group O(3). +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('CUDA', '11.7.0', '', SYSTEM), + ('PyTorch', local_pytorch_version, '-CUDA-%(cudaver)s'), + ('sympy', '1.10.1'), +] + +use_pip = True + +exts_list = [ + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('opt_einsum_fx', '0.1.4', { + 'checksums': ['7eeb7f91ecb70be65e6179c106ea7f64fc1db6319e3d1289a4518b384f81e74f'], + }), + (name, version, { + 'checksums': ['532b34a5644153659253c59943fe4224cd9c3c46ce8a79f1dc7c00afccb44ecb'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' From 2041f10b0018472d1e6790cfdefbb3f025803846 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Wed, 13 Mar 2024 16:33:44 +0100 Subject: [PATCH 202/889] adding easyconfigs: Squidpy-1.4.1-foss-2023a.eb, PyGEOS-0.14-gfbf-2023a.eb, zarr-2.17.1-foss-2023a.eb --- .../p/PyGEOS/PyGEOS-0.14-gfbf-2023a.eb | 26 ++++ .../s/Squidpy/Squidpy-1.4.1-foss-2023a.eb | 134 ++++++++++++++++++ .../z/zarr/zarr-2.17.1-foss-2023a.eb | 36 +++++ 3 files changed, 196 insertions(+) create mode 100644 easybuild/easyconfigs/p/PyGEOS/PyGEOS-0.14-gfbf-2023a.eb create mode 100644 easybuild/easyconfigs/s/Squidpy/Squidpy-1.4.1-foss-2023a.eb create mode 100644 easybuild/easyconfigs/z/zarr/zarr-2.17.1-foss-2023a.eb diff --git a/easybuild/easyconfigs/p/PyGEOS/PyGEOS-0.14-gfbf-2023a.eb b/easybuild/easyconfigs/p/PyGEOS/PyGEOS-0.14-gfbf-2023a.eb new file mode 100644 index 00000000000..aff7709e6de --- /dev/null +++ b/easybuild/easyconfigs/p/PyGEOS/PyGEOS-0.14-gfbf-2023a.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'PyGEOS' +version = '0.14' + +homepage = "https://pygeos.readthedocs.io" +description = """PyGEOS is a C/Python library with vectorized geometry functions. The geometry operations are done in + the open-source geometry library GEOS. PyGEOS wraps these operations in NumPy ufuncs providing a performance + improvement when operating on arrays of geometries.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['30fbc17f64844200b85133b885fcfb65541b8779531f6ef4f8fe467d3fba7623'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('GEOS', '3.12.0'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/s/Squidpy/Squidpy-1.4.1-foss-2023a.eb b/easybuild/easyconfigs/s/Squidpy/Squidpy-1.4.1-foss-2023a.eb new file mode 100644 index 00000000000..224bb3a8638 --- /dev/null +++ b/easybuild/easyconfigs/s/Squidpy/Squidpy-1.4.1-foss-2023a.eb @@ -0,0 +1,134 @@ +easyblock = 'PythonBundle' + +name = 'Squidpy' +version = '1.4.1' + +homepage = 'https://squidpy.readthedocs.io' +description = "Squidpy is a tool for the analysis and visualization of spatial molecular data." + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('hatchling', '1.18.0'), + ('poetry', '1.7.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('aiohttp', '3.8.5'), + ('anndata', '0.10.5.post1'), + ('dask', '2023.9.2'), + ('leidenalg', '0.10.2'), + ('matplotlib', '3.7.2'), + ('networkx', '3.1'), + ('numba', '0.58.1'), + ('Pillow', '10.0.0'), + ('scanpy', '1.9.8'), + ('scikit-image', '0.22.0'), + ('scikit-learn', '1.3.1'), + ('statsmodels', '0.14.1'), + ('tqdm', '4.66.1'), + ('xarray', '2023.9.0'), + ('zarr', '2.17.1'), + ('geopandas', '0.14.2'), + ('Arrow', '14.0.1'), + ('PyGEOS', '0.14'), + ('Shapely', '2.0.1'), + ('wrapt', '1.15.0'), # omnipath dep + ('pydantic', '2.5.3'), # inflect dep +] + +use_pip = True + +exts_list = [ + ('pytest_socket', '0.7.0', { + 'checksums': ['71ab048cbbcb085c15a4423b73b619a8b35d6a307f46f78ea46be51b1b7e11b3'], + }), + ('xarray_dataclasses', '1.7.0', { + 'checksums': ['b82b454c5800bf9d488c188d6362428e6bc310d2fc35f96fa4063efa40d33267'], + }), + ('xarray-datatree', '0.0.13', { + 'modulename': 'datatree', + 'checksums': ['f42bd519cab8754eb8a98749464846893b59560318520c45212e85c46af692c9'], + }), + ('multipledispatch', '1.0.0', { + 'checksums': ['5c839915465c68206c3e9c473357908216c28383b425361e5d144594bf85a7e0'], + }), + ('colorcet', '3.1.0', { + 'checksums': ['2921b3cd81a2288aaf2d63dbc0ce3c26dcd882e8c389cc505d6886bf7aa9a4eb'], + }), + ('pyct', '0.5.0', { + 'checksums': ['dd9f4ac5cbd8e37c352c04036062d3c5f67efec76d404761ef16b0cbf26aa6a0'], + }), + ('param', '2.0.2', { + 'checksums': ['785845a727a588eb94c7666d80551c7e2bb97d4309d3507beab66f95e57f7527'], + }), + ('slicerator', '1.1.0', { + 'checksums': ['44010a7f5cd87680c07213b5cabe81d1fb71252962943e5373ee7d14605d6046'], + }), + ('datashader', '0.16.0', { + 'checksums': ['ed4c111957578dcb3fcff972d954f77586dafd71a7345fd5cd069d9fb050d0d1'], + }), + ('typing_extensions', '4.8.0', { + 'checksums': ['df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef'], + }), + ('inflect', '7.0.0', { + 'checksums': ['63da9325ad29da81ec23e055b41225795ab793b4ecb483be5dc1fa363fd4717e'], + }), + ('PIMS', '0.6.1', { + 'checksums': ['e2b704461d4ea9bce8b6a22ca35836fe67d6d34537736b405341ae5547194f3b'], + }), + ('xarray-spatial', '0.3.7', { + 'modulename': 'xrspatial', + 'preinstallopts': "sed -i 's/numpy <= 1.23.4/numpy/g' setup.cfg &&", + 'checksums': ['21bef5f0f5a3cfe18d7a33f40d7c9eee459ed33f7e5674cfe1d156de56d47b2f'], + }), + ('xarray-schema', '0.0.3', { + 'checksums': ['9c6c760489c0690a70394b2ad1368b32f8fa1333911c361b4adf249384212920'], + }), + ('spatial_image', '0.3.0', { + 'checksums': ['508ed434d1cdba5147c1dd358aea0ea41a0f913b02a73e0fd36fcbdbee14b40d'], + }), + ('ome-zarr', '0.8.3', { + 'checksums': ['e98762e6a3cc82e8f6ef50c938e23fc579498d94d1991f3476ccf9726209997b'], + }), + ('multiscale_spatial_image', '0.11.2', { + 'checksums': ['07db47c3358bdfad9688a5ee8064a219ec72a43deb65e30bd4e591adfe35d10f'], + }), + ('spatialdata', '0.0.15', { + 'checksums': ['7372b13b9fa84c0eadcbfca2f2cd354a9ae8dd370401745d55d572864eb4dc75'], + }), + ('validators', '0.22.0', { + 'checksums': ['77b2689b172eeeb600d9605ab86194641670cdb73b60afd577142a9397873370'], + }), + ('tifffile', '2024.2.12', { + 'checksums': ['4920a3ec8e8e003e673d3c6531863c99eedd570d1b8b7e141c072ed78ff8030d'], + }), + ('omnipath', '1.0.8', { + 'checksums': ['3821b9ba11957412ff9e4932eb6d0c17242939661468064ad1ce28ee3e27394f'], + }), + ('matplotlib-scalebar', '0.8.1', { + 'checksums': ['14887af1093579c5e6afae51a0a1ecc3f715cdbc5c4d7ef59cdeec76ee6bb15d'], + }), + ('fsspec', '2023.6.0', { + 'checksums': ['d0b2f935446169753e7a5c5c55681c54ea91996cc67be93c39a154fb3a2742af'], + }), + ('docrep', '0.3.2', { + 'checksums': ['ed8a17e201abd829ef8da78a0b6f4d51fb99a4cbd0554adbed3309297f964314'], + }), + ('dask-image', '2023.8.1', { + 'checksums': ['5e9a8985b0527a1b5942c6a7e744e0e57d264e222c7058f05baeb81c374d04b6'], + }), + ('cycler', '0.12.1', { + 'checksums': ['88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c'], + }), + ('squidpy', version, { + 'preinstallopts': "sed -i 's/pandas>=2.1.0/pandas/g' pyproject.toml &&", + 'checksums': ['485e48163b235af5b3d1cc06e3971ae848d0787c2958b5795200755a86dadf4f'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/z/zarr/zarr-2.17.1-foss-2023a.eb b/easybuild/easyconfigs/z/zarr/zarr-2.17.1-foss-2023a.eb new file mode 100644 index 00000000000..9074cf08ac3 --- /dev/null +++ b/easybuild/easyconfigs/z/zarr/zarr-2.17.1-foss-2023a.eb @@ -0,0 +1,36 @@ +easyblock = "PythonBundle" + +name = 'zarr' +version = '2.17.1' + +homepage = 'https://zarr.readthedocs.io/en/stable/' +description = """Zarr is a Python package providing an implementation of compressed, +chunked, N-dimensional arrays, designed for use in parallel computing.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('py-cpuinfo', '9.0.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('numcodecs', '0.12.1', { + 'checksums': ['05d91a433733e7eef268d7e80ec226a0232da244289614a8f3826901aec1098e'], + }), + ('fasteners', '0.19', { + 'checksums': ['b4f37c3ac52d8a445af3a66bce57b33b5e90b97c696b7b984f530cf8f0ded09c'], + }), + ('asciitree', '0.3.3', { + 'checksums': ['4aa4b9b649f85e3fcb343363d97564aa1fb62e249677f2e18a96765145cc0f6e'], + }), + (name, version, { + 'checksums': ['564b3aa072122546fe69a0fa21736f466b20fad41754334b62619f088ce46261'], + }), +] + +moduleclass = 'data' From 465bc869b4e413294be2d2b91c39c0f9c0ee9009 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Thu, 14 Mar 2024 14:59:20 +0100 Subject: [PATCH 203/889] adding easyconfigs: CellRank-2.0.2-foss-2023a.eb --- .../c/CellRank/CellRank-2.0.2-foss-2023a.eb | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 easybuild/easyconfigs/c/CellRank/CellRank-2.0.2-foss-2023a.eb diff --git a/easybuild/easyconfigs/c/CellRank/CellRank-2.0.2-foss-2023a.eb b/easybuild/easyconfigs/c/CellRank/CellRank-2.0.2-foss-2023a.eb new file mode 100644 index 00000000000..5b7ab31d93d --- /dev/null +++ b/easybuild/easyconfigs/c/CellRank/CellRank-2.0.2-foss-2023a.eb @@ -0,0 +1,77 @@ +easyblock = 'PythonBundle' + +name = 'CellRank' +version = '2.0.2' + +homepage = 'https://cellrank.readthedocs.io/en/stable/' +description = """CellRank is a toolkit to uncover cellular dynamics based on + Markov state modeling of single-cell data. It contains two main modules: +kernels compute cell-cell transition probabilities and estimators generate +hypothesis based on these. """ + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [('poetry', '1.5.1')] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('anndata', '0.10.5.post1'), + ('matplotlib', '3.7.2'), + ('networkx', '3.1'), + ('numba', '0.58.1'), + ('scanpy', '1.9.8'), + ('scikit-learn', '1.3.1'), + ('scVelo', '0.3.1'), + ('Seaborn', '0.13.2'), + ('wrapt', '1.15.0'), + ('PyTorch', '2.1.2'), + ('wandb', '0.16.1'), + ('PyTorch-Lightning', '2.2.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('loguru', '0.7.2', { + 'checksums': ['e671a53522515f34fd406340ee968cb9ecafbc4b36c679da03c18fd8d0bd51ac'], + }), + ('nam', '0.0.3', { + 'checksums': ['48400d12b5f29fdd1671aebdf78d7f41bcac4f5c8ab7ed48770ee0c4fbc0673b'], + }), + ('python-utils', '3.8.2', { + 'checksums': ['c5d161e4ca58ce3f8c540f035e018850b261a41e7cb98f6ccf8e1deb7174a1f1'], + }), + ('progressbar2', '4.4.1', { + 'modulename': 'progressbar', + 'checksums': ['97d323ba03ad3d017a4d047fd0b2d3e733c5a360c07f87d269f96641c3de729f'], + }), + ('dunamai', '1.19.2', { + 'checksums': ['3be4049890763e19b8df1d52960dbea60b3e263eb0c96144a677ae0633734d2e'], + }), + ('poetry_dynamic_versioning', '1.2.0', { + 'checksums': ['1a7bbdba2530499e73dfc6ac0af19de29020ab4aaa3e507573877114e6b71ed6'], + }), + ('pygpcca', '1.0.4', { + 'preinstallopts': "sed -i 's/jinja2==3.0.3/jinja2>=3.0.3/' requirements.txt && ", + 'checksums': ['5e3b49279abc62d25133811daeee050715f995ff02042c46e2a2034331d090d1'], + }), + ('pygam', '0.9.1', { + 'checksums': ['a321a017bf485ed93fc6233e02621f8e7eab3d4f8971371c9ae9e079c55be01d'], + }), + ('joblib', '1.3.2', { + 'checksums': ['92f865e621e17784e7955080b6d042489e3b8e294949cc44c6eac304f59772b1'], + }), + ('docrep', '0.3.2', { + 'checksums': ['ed8a17e201abd829ef8da78a0b6f4d51fb99a4cbd0554adbed3309297f964314'], + }), + (name, version, { + 'modulename': 'cellrank', + 'preinstallopts': "sed -i 's/matplotlib>=3.5.0,<3.7.2/matplotlib>=3.5.0/' pyproject.toml && ", + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['47c1d2e953ac91f572937d816142b4ac5f0c876174c60f857562de76a9f8aa61'], + }), +] + +moduleclass = 'bio' From 8e4e1842aaf822cd13857c152451a3145270d842 Mon Sep 17 00:00:00 2001 From: thoffman Date: Thu, 14 Mar 2024 16:17:35 +0100 Subject: [PATCH 204/889] {tools}[foss/2023a] jax v0.4.25, ml_dtypes v0.3.2 w/ CUDA 12.1.1 --- .../jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb | 113 ++ .../m/ml_dtypes/ml_dtypes-0.3.2-foss-2023a.eb | 51 + .../ml_dtypes-0.3.2_EigenAvx512.patch | 1219 +++++++++++++++++ 3 files changed, 1383 insertions(+) create mode 100644 easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb create mode 100644 easybuild/easyconfigs/m/ml_dtypes/ml_dtypes-0.3.2-foss-2023a.eb create mode 100644 easybuild/easyconfigs/m/ml_dtypes/ml_dtypes-0.3.2_EigenAvx512.patch diff --git a/easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..6ccd8a9d010 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,113 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Updated by: Alex Domingo (Vrije Universiteit Brussel) +# Updated by: Thomas Hoffmann (EMBL Heidelberg) +easyblock = 'PythonBundle' + +name = 'jax' +version = '0.4.25' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://pypi.python.org/pypi/jax' +description = """Composable transformations of Python+NumPy programs: +differentiate, vectorize, JIT to GPU/TPU, and more""" + +toolchain = {'name': 'foss', 'version': '2023a'} +cuda_compute_capabilities = ["5.0", "6.0", "6.1", "7.0", "7.5", "8.0", "8.6", "9.0"] + +builddependencies = [ + ('Bazel', '6.3.1'), + ('pytest-xdist', '3.3.1'), + # git 2.x required to fetch repository 'io_bazel_rules_docker' + ('git', '2.41.0', '-nodocs'), + ('matplotlib', '3.7.2'), # required for tests/lobpcg_test.py + ('poetry', '1.5.1'), +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('cuDNN', '8.9.2.26', versionsuffix, SYSTEM), + ('NCCL', '2.18.3', versionsuffix), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('flatbuffers-python', '23.5.26'), + ('zlib', '1.2.13'), + ('ml_dtypes', '0.3.2'), +] + +# downloading xla and other tarballs to avoid that Bazel downloads it during the build +# note: this *must* be the exact same commit as used in third_party/{xla,"other"}/workspace.bzl +local_xla_commit = '4ccfe33c71665ddcbca5b127fefe8baa3ed632d4' +local_tfrt_commit = '0aeefb1660d7e37964b2bb71b1f518096bda9a25' +local_repo_opt = '--bazel_options="--override_repository=xla=%%(builddir)s/xla-%s" ' % local_xla_commit +local_repo_opt += '--bazel_options="--override_repository=runtime=%%(builddir)s/tf_runtime-%s" ' % local_xla_commit + +# deliberately not testing in parallel, as that results in (additional) failing tests; +# use XLA_PYTHON_CLIENT_ALLOCATOR=platform to allocate and deallocate GPU memory during testing, +# see https://github.com/google/jax/issues/7323 and +# https://github.com/google/jax/blob/main/docs/gpu_memory_allocation.rst; +# use CUDA_VISIBLE_DEVICES=0 to avoid failing tests on systems with multiple GPUs; +# use NVIDIA_TF32_OVERRIDE=0 to avoid lossing numerical precision by disabling TF32 Tensor Cores; +local_test = "NVIDIA_TF32_OVERRIDE=0 CUDA_VISIBLE_DEVICES=0 " +local_test += "XLA_PYTHON_CLIENT_ALLOCATOR=platform " +local_test += "JAX_ENABLE_X64=true pytest -vv tests " + +use_pip = True + +default_easyblock = 'PythonPackage' +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'source_urls': [PYPI_SOURCE], + 'start_dir': '%(name)s-%(version)s', + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, +} + +components = [ + ('absl-py', '2.1.0', { + 'options': {'modulename': 'absl'}, + 'checksums': ['7820790efbb316739cde8b4e19357243fc3608a152024288513dd968d7d959ff'], + }), + ('jaxlib', version, { + 'sources': [ + '%(name)s-v%(version)s.tar.gz', + { + 'download_filename': '%s.tar.gz' % local_xla_commit, + 'filename': 'xla-%s.tar.gz' % local_xla_commit, + }, + { + 'download_filename': '%s.tar.gz' % local_tfrt_commit, + 'filename': 'tf_runtime-%s.tar.gz' % local_tfrt_commit, + }, + ], + 'source_urls': [ + 'https://github.com/google/jax/archive/', + 'https://github.com/tensorflow/runtime/archive', + 'https://github.com/openxla/xla/archive' + ], + 'checksums': [ + {'jaxlib-v0.4.25.tar.gz': + 'fc1197c401924942eb14185a61688d0c476e3e81ff71f9dc95e620b57c06eec8'}, + {'xla-4ccfe33c71665ddcbca5b127fefe8baa3ed632d4.tar.gz': + '8a59b9af7d0850059d7043f7043c780066d61538f3af536e8a10d3d717f35089'}, + {'tf_runtime-0aeefb1660d7e37964b2bb71b1f518096bda9a25.tar.gz': + 'a3df827d7896774cb1d80bf4e1c79ab05c268f29bd4d3db1fb5a4b9c2079d8e3'}, + ], + 'start_dir': 'jax-jaxlib-v%(version)s', + 'buildopts': local_repo_opt + }), +] + +exts_list = [ + (name, version, { + 'runtest': "NVIDIA_TF32_OVERRIDE=0 CUDA_VISIBLE_DEVICES=0 XLA_PYTHON_CLIENT_ALLOCATOR=platform JAX_ENABLE_X64=true pytest -vv tests ", + 'source_tmpl': '%(name)s-v%(version)s.tar.gz', + 'source_urls': ['https://github.com/google/jax/archive/'], + 'checksums': ['8b30af49688c0c13b82c6f5ce992727c00b5fc6d04a4c6962012f4246fa664eb'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/ml_dtypes/ml_dtypes-0.3.2-foss-2023a.eb b/easybuild/easyconfigs/m/ml_dtypes/ml_dtypes-0.3.2-foss-2023a.eb new file mode 100644 index 00000000000..df6bd3d5134 --- /dev/null +++ b/easybuild/easyconfigs/m/ml_dtypes/ml_dtypes-0.3.2-foss-2023a.eb @@ -0,0 +1,51 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/02 +easyblock = 'PythonBundle' + +name = 'ml_dtypes' +version = '0.3.2' + +homepage = 'https://github.com/jax-ml/ml_dtypes' +description = """ +ml_dtypes is a stand-alone implementation of several NumPy dtype extensions used +in machine learning libraries, including: + +bfloat16: an alternative to the standard float16 format +float8_*: several experimental 8-bit floating point representations including: +float8_e4m3b11fnuz +float8_e4m3fn +float8_e4m3fnuz +float8_e5m2 +float8_e5m2fnuz +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + + +use_pip = True + +default_easyblock = 'PythonPackage' + +exts_list = [ + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('etils', '1.6.0', { + 'checksums': ['c635fbd02a79fed4ad76825d31306b581d22b40671721daa8bc279cf6333e48a'], + }), + (name, version, { + 'patches': [('ml_dtypes-0.3.2_EigenAvx512.patch', 1)], + 'checksums': [ + {'ml_dtypes-0.3.2.tar.gz': '533059bc5f1764fac071ef54598db358c167c51a718f68f5bb55e3dee79d2967'}, + {'ml_dtypes-0.3.2_EigenAvx512.patch': '197b05b0b7f611749824369f026099f6a172f9e8eab6ebb6504a16573746c892'}, + ], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/ml_dtypes/ml_dtypes-0.3.2_EigenAvx512.patch b/easybuild/easyconfigs/m/ml_dtypes/ml_dtypes-0.3.2_EigenAvx512.patch new file mode 100644 index 00000000000..42ea0606391 --- /dev/null +++ b/easybuild/easyconfigs/m/ml_dtypes/ml_dtypes-0.3.2_EigenAvx512.patch @@ -0,0 +1,1219 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/01 +# ml_dtype 0.3.2 ships a copy of Eigen commit 7bf2968 (https://gitlab.com/libeigen/eigen/-/commit/7bf2968). +# This copy is missing the file src/Core/arch/AVX512/TrsmUnrolls.inc, which is added by the present patch. +diff -ru --new-file old/third_party_ori/eigen/Eigen/src/Core/arch/AVX512/TrsmUnrolls.inc new/third_party/eigen/Eigen/src/Core/arch/AVX512/TrsmUnrolls.inc +--- old/third_party/eigen/Eigen/src/Core/arch/AVX512/TrsmUnrolls.inc 1970-01-01 01:00:00.000000000 +0100 ++++ new/third_party/eigen/Eigen/src/Core/arch/AVX512/TrsmUnrolls.inc 2024-02-14 10:32:25.492978066 +0100 +@@ -0,0 +1,1212 @@ ++// This file is part of Eigen, a lightweight C++ template library ++// for linear algebra. ++// ++// Copyright (C) 2022 Intel Corporation ++// ++// This Source Code Form is subject to the terms of the Mozilla ++// Public License v. 2.0. If a copy of the MPL was not distributed ++// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. ++ ++#ifndef EIGEN_CORE_ARCH_AVX512_TRSM_UNROLLS_H ++#define EIGEN_CORE_ARCH_AVX512_TRSM_UNROLLS_H ++ ++template ++EIGEN_ALWAYS_INLINE int64_t idA(int64_t i, int64_t j, int64_t LDA) { ++ EIGEN_IF_CONSTEXPR(isARowMajor) return i * LDA + j; ++ else return i + j * LDA; ++} ++ ++/** ++ * This namespace contains various classes used to generate compile-time unrolls which are ++ * used throughout the trsm/gemm kernels. The unrolls are characterized as for-loops (1-D), nested ++ * for-loops (2-D), or triple nested for-loops (3-D). Unrolls are generated using template recursion ++ * ++ * Example, the 2-D for-loop is unrolled recursively by first flattening to a 1-D loop. ++ * ++ * for(startI = 0; startI < endI; startI++) for(startC = 0; startC < endI*endJ; startC++) ++ * for(startJ = 0; startJ < endJ; startJ++) ----> startI = (startC)/(endJ) ++ * func(startI,startJ) startJ = (startC)%(endJ) ++ * func(...) ++ * ++ * The 1-D loop can be unrolled recursively by using enable_if and defining an auxillary function ++ * with a template parameter used as a counter. ++ * ++ * template ++ * std::enable_if_t<(counter <= 0)> <---- tail case. ++ * aux_func {} ++ * ++ * template ++ * std::enable_if_t<(counter > 0)> <---- actual for-loop ++ * aux_func { ++ * startC = endI*endJ - counter ++ * startI = (startC)/(endJ) ++ * startJ = (startC)%(endJ) ++ * func(startI, startJ) ++ * aux_func() ++ * } ++ * ++ * Note: Additional wrapper functions are provided for aux_func which hides the counter template ++ * parameter since counter usually depends on endI, endJ, etc... ++ * ++ * Conventions: ++ * 1) endX: specifies the terminal value for the for-loop, (ex: for(startX = 0; startX < endX; startX++)) ++ * ++ * 2) rem, remM, remK template parameters are used for deciding whether to use masked operations for ++ * handling remaining tails (when sizes are not multiples of PacketSize or EIGEN_AVX_MAX_NUM_ROW) ++ */ ++namespace unrolls { ++ ++template ++EIGEN_ALWAYS_INLINE auto remMask(int64_t m) { ++ EIGEN_IF_CONSTEXPR(N == 16) { return 0xFFFF >> (16 - m); } ++ else EIGEN_IF_CONSTEXPR(N == 8) { ++ return 0xFF >> (8 - m); ++ } ++ else EIGEN_IF_CONSTEXPR(N == 4) { ++ return 0x0F >> (4 - m); ++ } ++ return 0; ++} ++ ++template ++EIGEN_ALWAYS_INLINE void trans8x8blocks(PacketBlock &kernel); ++ ++template <> ++EIGEN_ALWAYS_INLINE void trans8x8blocks(PacketBlock &kernel) { ++ __m512 T0 = _mm512_unpacklo_ps(kernel.packet[0], kernel.packet[1]); ++ __m512 T1 = _mm512_unpackhi_ps(kernel.packet[0], kernel.packet[1]); ++ __m512 T2 = _mm512_unpacklo_ps(kernel.packet[2], kernel.packet[3]); ++ __m512 T3 = _mm512_unpackhi_ps(kernel.packet[2], kernel.packet[3]); ++ __m512 T4 = _mm512_unpacklo_ps(kernel.packet[4], kernel.packet[5]); ++ __m512 T5 = _mm512_unpackhi_ps(kernel.packet[4], kernel.packet[5]); ++ __m512 T6 = _mm512_unpacklo_ps(kernel.packet[6], kernel.packet[7]); ++ __m512 T7 = _mm512_unpackhi_ps(kernel.packet[6], kernel.packet[7]); ++ ++ kernel.packet[0] = _mm512_castpd_ps(_mm512_unpacklo_pd(_mm512_castps_pd(T0), _mm512_castps_pd(T2))); ++ kernel.packet[1] = _mm512_castpd_ps(_mm512_unpackhi_pd(_mm512_castps_pd(T0), _mm512_castps_pd(T2))); ++ kernel.packet[2] = _mm512_castpd_ps(_mm512_unpacklo_pd(_mm512_castps_pd(T1), _mm512_castps_pd(T3))); ++ kernel.packet[3] = _mm512_castpd_ps(_mm512_unpackhi_pd(_mm512_castps_pd(T1), _mm512_castps_pd(T3))); ++ kernel.packet[4] = _mm512_castpd_ps(_mm512_unpacklo_pd(_mm512_castps_pd(T4), _mm512_castps_pd(T6))); ++ kernel.packet[5] = _mm512_castpd_ps(_mm512_unpackhi_pd(_mm512_castps_pd(T4), _mm512_castps_pd(T6))); ++ kernel.packet[6] = _mm512_castpd_ps(_mm512_unpacklo_pd(_mm512_castps_pd(T5), _mm512_castps_pd(T7))); ++ kernel.packet[7] = _mm512_castpd_ps(_mm512_unpackhi_pd(_mm512_castps_pd(T5), _mm512_castps_pd(T7))); ++ ++ T0 = _mm512_castpd_ps(_mm512_permutex_pd(_mm512_castps_pd(kernel.packet[4]), 0x4E)); ++ T0 = _mm512_mask_blend_ps(0xF0F0, kernel.packet[0], T0); ++ T4 = _mm512_castpd_ps(_mm512_permutex_pd(_mm512_castps_pd(kernel.packet[0]), 0x4E)); ++ T4 = _mm512_mask_blend_ps(0xF0F0, T4, kernel.packet[4]); ++ T1 = _mm512_castpd_ps(_mm512_permutex_pd(_mm512_castps_pd(kernel.packet[5]), 0x4E)); ++ T1 = _mm512_mask_blend_ps(0xF0F0, kernel.packet[1], T1); ++ T5 = _mm512_castpd_ps(_mm512_permutex_pd(_mm512_castps_pd(kernel.packet[1]), 0x4E)); ++ T5 = _mm512_mask_blend_ps(0xF0F0, T5, kernel.packet[5]); ++ T2 = _mm512_castpd_ps(_mm512_permutex_pd(_mm512_castps_pd(kernel.packet[6]), 0x4E)); ++ T2 = _mm512_mask_blend_ps(0xF0F0, kernel.packet[2], T2); ++ T6 = _mm512_castpd_ps(_mm512_permutex_pd(_mm512_castps_pd(kernel.packet[2]), 0x4E)); ++ T6 = _mm512_mask_blend_ps(0xF0F0, T6, kernel.packet[6]); ++ T3 = _mm512_castpd_ps(_mm512_permutex_pd(_mm512_castps_pd(kernel.packet[7]), 0x4E)); ++ T3 = _mm512_mask_blend_ps(0xF0F0, kernel.packet[3], T3); ++ T7 = _mm512_castpd_ps(_mm512_permutex_pd(_mm512_castps_pd(kernel.packet[3]), 0x4E)); ++ T7 = _mm512_mask_blend_ps(0xF0F0, T7, kernel.packet[7]); ++ ++ kernel.packet[0] = T0; ++ kernel.packet[1] = T1; ++ kernel.packet[2] = T2; ++ kernel.packet[3] = T3; ++ kernel.packet[4] = T4; ++ kernel.packet[5] = T5; ++ kernel.packet[6] = T6; ++ kernel.packet[7] = T7; ++} ++ ++template <> ++EIGEN_ALWAYS_INLINE void trans8x8blocks(PacketBlock &kernel) { ++ ptranspose(kernel); ++} ++ ++/*** ++ * Unrolls for tranposed C stores ++ */ ++template ++class trans { ++ public: ++ using vec = typename std::conditional::value, vecFullFloat, vecFullDouble>::type; ++ using vecHalf = typename std::conditional::value, vecHalfFloat, vecFullDouble>::type; ++ static constexpr int64_t PacketSize = packet_traits::size; ++ ++ /*********************************** ++ * Auxillary Functions for: ++ * - storeC ++ *********************************** ++ */ ++ ++ /** ++ * aux_storeC ++ * ++ * 1-D unroll ++ * for(startN = 0; startN < endN; startN++) ++ * ++ * (endN <= PacketSize) is required to handle the fp32 case, see comments in transStoreC ++ * ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0 && endN <= PacketSize)> aux_storeC( ++ Scalar *C_arr, int64_t LDC, PacketBlock &zmm, int64_t remM_ = 0) { ++ constexpr int64_t counterReverse = endN - counter; ++ constexpr int64_t startN = counterReverse; ++ ++ EIGEN_IF_CONSTEXPR(startN < EIGEN_AVX_MAX_NUM_ROW) { ++ EIGEN_IF_CONSTEXPR(remM) { ++ pstoreu( ++ C_arr + LDC * startN, ++ padd(ploadu((const Scalar *)C_arr + LDC * startN, remMask(remM_)), ++ preinterpret(zmm.packet[packetIndexOffset + (unrollN / PacketSize) * startN]), ++ remMask(remM_)), ++ remMask(remM_)); ++ } ++ else { ++ pstoreu(C_arr + LDC * startN, ++ padd(ploadu((const Scalar *)C_arr + LDC * startN), ++ preinterpret(zmm.packet[packetIndexOffset + (unrollN / PacketSize) * startN]))); ++ } ++ } ++ else { // This block is only needed for fp32 case ++ // Reinterpret as __m512 for _mm512_shuffle_f32x4 ++ vecFullFloat zmm2vecFullFloat = preinterpret( ++ zmm.packet[packetIndexOffset + (unrollN / PacketSize) * (startN - EIGEN_AVX_MAX_NUM_ROW)]); ++ // Swap lower and upper half of avx register. ++ zmm.packet[packetIndexOffset + (unrollN / PacketSize) * (startN - EIGEN_AVX_MAX_NUM_ROW)] = ++ preinterpret(_mm512_shuffle_f32x4(zmm2vecFullFloat, zmm2vecFullFloat, 0b01001110)); ++ ++ EIGEN_IF_CONSTEXPR(remM) { ++ pstoreu( ++ C_arr + LDC * startN, ++ padd(ploadu((const Scalar *)C_arr + LDC * startN, remMask(remM_)), ++ preinterpret( ++ zmm.packet[packetIndexOffset + (unrollN / PacketSize) * (startN - EIGEN_AVX_MAX_NUM_ROW)])), ++ remMask(remM_)); ++ } ++ else { ++ pstoreu( ++ C_arr + LDC * startN, ++ padd(ploadu((const Scalar *)C_arr + LDC * startN), ++ preinterpret( ++ zmm.packet[packetIndexOffset + (unrollN / PacketSize) * (startN - EIGEN_AVX_MAX_NUM_ROW)]))); ++ } ++ } ++ aux_storeC(C_arr, LDC, zmm, remM_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t 0 && endN <= PacketSize)> aux_storeC( ++ Scalar *C_arr, int64_t LDC, PacketBlock &zmm, int64_t remM_ = 0) { ++ EIGEN_UNUSED_VARIABLE(C_arr); ++ EIGEN_UNUSED_VARIABLE(LDC); ++ EIGEN_UNUSED_VARIABLE(zmm); ++ EIGEN_UNUSED_VARIABLE(remM_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE void storeC(Scalar *C_arr, int64_t LDC, ++ PacketBlock &zmm, ++ int64_t remM_ = 0) { ++ aux_storeC(C_arr, LDC, zmm, remM_); ++ } ++ ++ /** ++ * Transposes LxunrollN row major block of matrices stored EIGEN_AVX_MAX_NUM_ACC zmm registers to ++ * "unrollN"xL ymm registers to be stored col-major into C. ++ * ++ * For 8x48, the 8x48 block (row-major) is stored in zmm as follows: ++ * ++ * row0: zmm0 zmm1 zmm2 ++ * row1: zmm3 zmm4 zmm5 ++ * . ++ * . ++ * row7: zmm21 zmm22 zmm23 ++ * ++ * For 8x32, the 8x32 block (row-major) is stored in zmm as follows: ++ * ++ * row0: zmm0 zmm1 ++ * row1: zmm2 zmm3 ++ * . ++ * . ++ * row7: zmm14 zmm15 ++ * ++ * ++ * In general we will have {1,2,3} groups of avx registers each of size ++ * EIGEN_AVX_MAX_NUM_ROW. packetIndexOffset is used to select which "block" of ++ * avx registers are being transposed. ++ */ ++ template ++ static EIGEN_ALWAYS_INLINE void transpose(PacketBlock &zmm) { ++ // Note: this assumes EIGEN_AVX_MAX_NUM_ROW = 8. Unrolls should be adjusted ++ // accordingly if EIGEN_AVX_MAX_NUM_ROW is smaller. ++ constexpr int64_t zmmStride = unrollN / PacketSize; ++ PacketBlock r; ++ r.packet[0] = zmm.packet[packetIndexOffset + zmmStride * 0]; ++ r.packet[1] = zmm.packet[packetIndexOffset + zmmStride * 1]; ++ r.packet[2] = zmm.packet[packetIndexOffset + zmmStride * 2]; ++ r.packet[3] = zmm.packet[packetIndexOffset + zmmStride * 3]; ++ r.packet[4] = zmm.packet[packetIndexOffset + zmmStride * 4]; ++ r.packet[5] = zmm.packet[packetIndexOffset + zmmStride * 5]; ++ r.packet[6] = zmm.packet[packetIndexOffset + zmmStride * 6]; ++ r.packet[7] = zmm.packet[packetIndexOffset + zmmStride * 7]; ++ trans8x8blocks(r); ++ zmm.packet[packetIndexOffset + zmmStride * 0] = r.packet[0]; ++ zmm.packet[packetIndexOffset + zmmStride * 1] = r.packet[1]; ++ zmm.packet[packetIndexOffset + zmmStride * 2] = r.packet[2]; ++ zmm.packet[packetIndexOffset + zmmStride * 3] = r.packet[3]; ++ zmm.packet[packetIndexOffset + zmmStride * 4] = r.packet[4]; ++ zmm.packet[packetIndexOffset + zmmStride * 5] = r.packet[5]; ++ zmm.packet[packetIndexOffset + zmmStride * 6] = r.packet[6]; ++ zmm.packet[packetIndexOffset + zmmStride * 7] = r.packet[7]; ++ } ++}; ++ ++/** ++ * Unrolls for copyBToRowMajor ++ * ++ * Idea: ++ * 1) Load a block of right-hand sides to registers (using loadB). ++ * 2) Convert the block from column-major to row-major (transposeLxL) ++ * 3) Store the blocks from register either to a temp array (toTemp == true), or back to B (toTemp == false). ++ * ++ * We use at most EIGEN_AVX_MAX_NUM_ACC avx registers to store the blocks of B. The remaining registers are ++ * used as temps for transposing. ++ * ++ * Blocks will be of size Lx{U1,U2,U3}. packetIndexOffset is used to index between these subblocks ++ * For fp32, PacketSize = 2*EIGEN_AVX_MAX_NUM_ROW, so we reinterpret packets as packets half the size (zmm -> ymm). ++ */ ++template ++class transB { ++ public: ++ using vec = typename std::conditional::value, vecFullFloat, vecFullDouble>::type; ++ using vecHalf = typename std::conditional::value, vecHalfFloat, vecFullDouble>::type; ++ static constexpr int64_t PacketSize = packet_traits::size; ++ ++ /*********************************** ++ * Auxillary Functions for: ++ * - loadB ++ * - storeB ++ * - loadBBlock ++ * - storeBBlock ++ *********************************** ++ */ ++ ++ /** ++ * aux_loadB ++ * ++ * 1-D unroll ++ * for(startN = 0; startN < endN; startN++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_loadB( ++ Scalar *B_arr, int64_t LDB, PacketBlock &ymm, ++ int64_t remM_ = 0) { ++ constexpr int64_t counterReverse = endN - counter; ++ constexpr int64_t startN = counterReverse; ++ ++ EIGEN_IF_CONSTEXPR(remM) { ++ ymm.packet[packetIndexOffset + startN] = ++ ploadu((const Scalar *)&B_arr[startN * LDB], remMask(remM_)); ++ } ++ else ymm.packet[packetIndexOffset + startN] = ploadu((const Scalar *)&B_arr[startN * LDB]); ++ ++ aux_loadB(B_arr, LDB, ymm, remM_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_loadB( ++ Scalar *B_arr, int64_t LDB, PacketBlock &ymm, ++ int64_t remM_ = 0) { ++ EIGEN_UNUSED_VARIABLE(B_arr); ++ EIGEN_UNUSED_VARIABLE(LDB); ++ EIGEN_UNUSED_VARIABLE(ymm); ++ EIGEN_UNUSED_VARIABLE(remM_); ++ } ++ ++ /** ++ * aux_storeB ++ * ++ * 1-D unroll ++ * for(startN = 0; startN < endN; startN++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_storeB( ++ Scalar *B_arr, int64_t LDB, PacketBlock &ymm, int64_t rem_ = 0) { ++ constexpr int64_t counterReverse = endN - counter; ++ constexpr int64_t startN = counterReverse; ++ ++ EIGEN_IF_CONSTEXPR(remK || remM) { ++ pstoreu(&B_arr[startN * LDB], ymm.packet[packetIndexOffset + startN], ++ remMask(rem_)); ++ } ++ else { ++ pstoreu(&B_arr[startN * LDB], ymm.packet[packetIndexOffset + startN]); ++ } ++ ++ aux_storeB(B_arr, LDB, ymm, rem_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_storeB( ++ Scalar *B_arr, int64_t LDB, PacketBlock &ymm, int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(B_arr); ++ EIGEN_UNUSED_VARIABLE(LDB); ++ EIGEN_UNUSED_VARIABLE(ymm); ++ EIGEN_UNUSED_VARIABLE(rem_); ++ } ++ ++ /** ++ * aux_loadBBlock ++ * ++ * 1-D unroll ++ * for(startN = 0; startN < endN; startN += EIGEN_AVX_MAX_NUM_ROW) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_loadBBlock( ++ Scalar *B_arr, int64_t LDB, Scalar *B_temp, int64_t LDB_, ++ PacketBlock &ymm, int64_t remM_ = 0) { ++ constexpr int64_t counterReverse = endN - counter; ++ constexpr int64_t startN = counterReverse; ++ transB::template loadB(&B_temp[startN], LDB_, ymm); ++ aux_loadBBlock(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_loadBBlock( ++ Scalar *B_arr, int64_t LDB, Scalar *B_temp, int64_t LDB_, ++ PacketBlock &ymm, int64_t remM_ = 0) { ++ EIGEN_UNUSED_VARIABLE(B_arr); ++ EIGEN_UNUSED_VARIABLE(LDB); ++ EIGEN_UNUSED_VARIABLE(B_temp); ++ EIGEN_UNUSED_VARIABLE(LDB_); ++ EIGEN_UNUSED_VARIABLE(ymm); ++ EIGEN_UNUSED_VARIABLE(remM_); ++ } ++ ++ /** ++ * aux_storeBBlock ++ * ++ * 1-D unroll ++ * for(startN = 0; startN < endN; startN += EIGEN_AVX_MAX_NUM_ROW) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_storeBBlock( ++ Scalar *B_arr, int64_t LDB, Scalar *B_temp, int64_t LDB_, ++ PacketBlock &ymm, int64_t remM_ = 0) { ++ constexpr int64_t counterReverse = endN - counter; ++ constexpr int64_t startN = counterReverse; ++ ++ EIGEN_IF_CONSTEXPR(toTemp) { ++ transB::template storeB(&B_temp[startN], LDB_, ymm, remK_); ++ } ++ else { ++ transB::template storeB(&B_arr[0 + startN * LDB], LDB, ++ ymm, remM_); ++ } ++ aux_storeBBlock(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_storeBBlock( ++ Scalar *B_arr, int64_t LDB, Scalar *B_temp, int64_t LDB_, ++ PacketBlock &ymm, int64_t remM_ = 0) { ++ EIGEN_UNUSED_VARIABLE(B_arr); ++ EIGEN_UNUSED_VARIABLE(LDB); ++ EIGEN_UNUSED_VARIABLE(B_temp); ++ EIGEN_UNUSED_VARIABLE(LDB_); ++ EIGEN_UNUSED_VARIABLE(ymm); ++ EIGEN_UNUSED_VARIABLE(remM_); ++ } ++ ++ /******************************************************** ++ * Wrappers for aux_XXXX to hide counter parameter ++ ********************************************************/ ++ ++ template ++ static EIGEN_ALWAYS_INLINE void loadB(Scalar *B_arr, int64_t LDB, ++ PacketBlock &ymm, ++ int64_t remM_ = 0) { ++ aux_loadB(B_arr, LDB, ymm, remM_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE void storeB(Scalar *B_arr, int64_t LDB, ++ PacketBlock &ymm, ++ int64_t rem_ = 0) { ++ aux_storeB(B_arr, LDB, ymm, rem_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE void loadBBlock(Scalar *B_arr, int64_t LDB, Scalar *B_temp, int64_t LDB_, ++ PacketBlock &ymm, ++ int64_t remM_ = 0) { ++ EIGEN_IF_CONSTEXPR(toTemp) { transB::template loadB(&B_arr[0], LDB, ymm, remM_); } ++ else { ++ aux_loadBBlock(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ } ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE void storeBBlock(Scalar *B_arr, int64_t LDB, Scalar *B_temp, int64_t LDB_, ++ PacketBlock &ymm, ++ int64_t remM_ = 0) { ++ aux_storeBBlock(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE void transposeLxL(PacketBlock &ymm) { ++ // Note: this assumes EIGEN_AVX_MAX_NUM_ROW = 8. Unrolls should be adjusted ++ // accordingly if EIGEN_AVX_MAX_NUM_ROW is smaller. ++ PacketBlock r; ++ r.packet[0] = ymm.packet[packetIndexOffset + 0]; ++ r.packet[1] = ymm.packet[packetIndexOffset + 1]; ++ r.packet[2] = ymm.packet[packetIndexOffset + 2]; ++ r.packet[3] = ymm.packet[packetIndexOffset + 3]; ++ r.packet[4] = ymm.packet[packetIndexOffset + 4]; ++ r.packet[5] = ymm.packet[packetIndexOffset + 5]; ++ r.packet[6] = ymm.packet[packetIndexOffset + 6]; ++ r.packet[7] = ymm.packet[packetIndexOffset + 7]; ++ ptranspose(r); ++ ymm.packet[packetIndexOffset + 0] = r.packet[0]; ++ ymm.packet[packetIndexOffset + 1] = r.packet[1]; ++ ymm.packet[packetIndexOffset + 2] = r.packet[2]; ++ ymm.packet[packetIndexOffset + 3] = r.packet[3]; ++ ymm.packet[packetIndexOffset + 4] = r.packet[4]; ++ ymm.packet[packetIndexOffset + 5] = r.packet[5]; ++ ymm.packet[packetIndexOffset + 6] = r.packet[6]; ++ ymm.packet[packetIndexOffset + 7] = r.packet[7]; ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE void transB_kernel(Scalar *B_arr, int64_t LDB, Scalar *B_temp, int64_t LDB_, ++ PacketBlock &ymm, ++ int64_t remM_ = 0) { ++ constexpr int64_t U3 = PacketSize * 3; ++ constexpr int64_t U2 = PacketSize * 2; ++ constexpr int64_t U1 = PacketSize * 1; ++ /** ++ * Unrolls needed for each case: ++ * - AVX512 fp32 48 32 16 8 4 2 1 ++ * - AVX512 fp64 24 16 8 4 2 1 ++ * ++ * For fp32 L and U1 are 1:2 so for U3/U2 cases the loads/stores need to be split up. ++ */ ++ EIGEN_IF_CONSTEXPR(unrollN == U3) { ++ // load LxU3 B col major, transpose LxU3 row major ++ constexpr int64_t maxUBlock = std::min(3 * EIGEN_AVX_MAX_NUM_ROW, U3); ++ transB::template loadBBlock(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ transB::template transposeLxL<0 * EIGEN_AVX_MAX_NUM_ROW>(ymm); ++ transB::template transposeLxL<1 * EIGEN_AVX_MAX_NUM_ROW>(ymm); ++ transB::template transposeLxL<2 * EIGEN_AVX_MAX_NUM_ROW>(ymm); ++ transB::template storeBBlock(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ ++ EIGEN_IF_CONSTEXPR(maxUBlock < U3) { ++ transB::template loadBBlock(&B_arr[maxUBlock * LDB], LDB, &B_temp[maxUBlock], LDB_, ++ ymm, remM_); ++ transB::template transposeLxL<0 * EIGEN_AVX_MAX_NUM_ROW>(ymm); ++ transB::template transposeLxL<1 * EIGEN_AVX_MAX_NUM_ROW>(ymm); ++ transB::template transposeLxL<2 * EIGEN_AVX_MAX_NUM_ROW>(ymm); ++ transB::template storeBBlock(&B_arr[maxUBlock * LDB], LDB, &B_temp[maxUBlock], LDB_, ++ ymm, remM_); ++ } ++ } ++ else EIGEN_IF_CONSTEXPR(unrollN == U2) { ++ // load LxU2 B col major, transpose LxU2 row major ++ constexpr int64_t maxUBlock = std::min(3 * EIGEN_AVX_MAX_NUM_ROW, U2); ++ transB::template loadBBlock(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ transB::template transposeLxL<0 * EIGEN_AVX_MAX_NUM_ROW>(ymm); ++ transB::template transposeLxL<1 * EIGEN_AVX_MAX_NUM_ROW>(ymm); ++ EIGEN_IF_CONSTEXPR(maxUBlock < U2) transB::template transposeLxL<2 * EIGEN_AVX_MAX_NUM_ROW>(ymm); ++ transB::template storeBBlock(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ ++ EIGEN_IF_CONSTEXPR(maxUBlock < U2) { ++ transB::template loadBBlock(&B_arr[maxUBlock * LDB], LDB, ++ &B_temp[maxUBlock], LDB_, ymm, remM_); ++ transB::template transposeLxL<0>(ymm); ++ transB::template storeBBlock(&B_arr[maxUBlock * LDB], LDB, ++ &B_temp[maxUBlock], LDB_, ymm, remM_); ++ } ++ } ++ else EIGEN_IF_CONSTEXPR(unrollN == U1) { ++ // load LxU1 B col major, transpose LxU1 row major ++ transB::template loadBBlock(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ transB::template transposeLxL<0>(ymm); ++ EIGEN_IF_CONSTEXPR(EIGEN_AVX_MAX_NUM_ROW < U1) { transB::template transposeLxL<1 * EIGEN_AVX_MAX_NUM_ROW>(ymm); } ++ transB::template storeBBlock(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ } ++ else EIGEN_IF_CONSTEXPR(unrollN == 8 && U1 > 8) { ++ // load Lx4 B col major, transpose Lx4 row major ++ transB::template loadBBlock<8, toTemp, remM>(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ transB::template transposeLxL<0>(ymm); ++ transB::template storeBBlock<8, toTemp, remM, 8>(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ } ++ else EIGEN_IF_CONSTEXPR(unrollN == 4 && U1 > 4) { ++ // load Lx4 B col major, transpose Lx4 row major ++ transB::template loadBBlock<4, toTemp, remM>(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ transB::template transposeLxL<0>(ymm); ++ transB::template storeBBlock<4, toTemp, remM, 4>(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ } ++ else EIGEN_IF_CONSTEXPR(unrollN == 2) { ++ // load Lx2 B col major, transpose Lx2 row major ++ transB::template loadBBlock<2, toTemp, remM>(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ transB::template transposeLxL<0>(ymm); ++ transB::template storeBBlock<2, toTemp, remM, 2>(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ } ++ else EIGEN_IF_CONSTEXPR(unrollN == 1) { ++ // load Lx1 B col major, transpose Lx1 row major ++ transB::template loadBBlock<1, toTemp, remM>(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ transB::template transposeLxL<0>(ymm); ++ transB::template storeBBlock<1, toTemp, remM, 1>(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ } ++ } ++}; ++ ++/** ++ * Unrolls for triSolveKernel ++ * ++ * Idea: ++ * 1) Load a block of right-hand sides to registers in RHSInPacket (using loadRHS). ++ * 2) Do triangular solve with RHSInPacket and a small block of A (triangular matrix) ++ * stored in AInPacket (using triSolveMicroKernel). ++ * 3) Store final results (in avx registers) back into memory (using storeRHS). ++ * ++ * RHSInPacket uses at most EIGEN_AVX_MAX_NUM_ACC avx registers and AInPacket uses at most ++ * EIGEN_AVX_MAX_NUM_ROW registers. ++ */ ++template ++class trsm { ++ public: ++ using vec = typename std::conditional::value, vecFullFloat, vecFullDouble>::type; ++ static constexpr int64_t PacketSize = packet_traits::size; ++ ++ /*********************************** ++ * Auxillary Functions for: ++ * - loadRHS ++ * - storeRHS ++ * - divRHSByDiag ++ * - updateRHS ++ * - triSolveMicroKernel ++ ************************************/ ++ /** ++ * aux_loadRHS ++ * ++ * 2-D unroll ++ * for(startM = 0; startM < endM; startM++) ++ * for(startK = 0; startK < endK; startK++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_loadRHS( ++ Scalar *B_arr, int64_t LDB, PacketBlock &RHSInPacket, int64_t rem = 0) { ++ constexpr int64_t counterReverse = endM * endK - counter; ++ constexpr int64_t startM = counterReverse / (endK); ++ constexpr int64_t startK = counterReverse % endK; ++ ++ constexpr int64_t packetIndex = startM * endK + startK; ++ constexpr int64_t startM_ = isFWDSolve ? startM : -startM; ++ const int64_t rhsIndex = (startK * PacketSize) + startM_ * LDB; ++ EIGEN_IF_CONSTEXPR(krem) { ++ RHSInPacket.packet[packetIndex] = ploadu(&B_arr[rhsIndex], remMask(rem)); ++ } ++ else { ++ RHSInPacket.packet[packetIndex] = ploadu(&B_arr[rhsIndex]); ++ } ++ aux_loadRHS(B_arr, LDB, RHSInPacket, rem); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_loadRHS( ++ Scalar *B_arr, int64_t LDB, PacketBlock &RHSInPacket, int64_t rem = 0) { ++ EIGEN_UNUSED_VARIABLE(B_arr); ++ EIGEN_UNUSED_VARIABLE(LDB); ++ EIGEN_UNUSED_VARIABLE(RHSInPacket); ++ EIGEN_UNUSED_VARIABLE(rem); ++ } ++ ++ /** ++ * aux_storeRHS ++ * ++ * 2-D unroll ++ * for(startM = 0; startM < endM; startM++) ++ * for(startK = 0; startK < endK; startK++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_storeRHS( ++ Scalar *B_arr, int64_t LDB, PacketBlock &RHSInPacket, int64_t rem = 0) { ++ constexpr int64_t counterReverse = endM * endK - counter; ++ constexpr int64_t startM = counterReverse / (endK); ++ constexpr int64_t startK = counterReverse % endK; ++ ++ constexpr int64_t packetIndex = startM * endK + startK; ++ constexpr int64_t startM_ = isFWDSolve ? startM : -startM; ++ const int64_t rhsIndex = (startK * PacketSize) + startM_ * LDB; ++ EIGEN_IF_CONSTEXPR(krem) { ++ pstoreu(&B_arr[rhsIndex], RHSInPacket.packet[packetIndex], remMask(rem)); ++ } ++ else { ++ pstoreu(&B_arr[rhsIndex], RHSInPacket.packet[packetIndex]); ++ } ++ aux_storeRHS(B_arr, LDB, RHSInPacket, rem); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_storeRHS( ++ Scalar *B_arr, int64_t LDB, PacketBlock &RHSInPacket, int64_t rem = 0) { ++ EIGEN_UNUSED_VARIABLE(B_arr); ++ EIGEN_UNUSED_VARIABLE(LDB); ++ EIGEN_UNUSED_VARIABLE(RHSInPacket); ++ EIGEN_UNUSED_VARIABLE(rem); ++ } ++ ++ /** ++ * aux_divRHSByDiag ++ * ++ * currM may be -1, (currM >=0) in enable_if checks for this ++ * ++ * 1-D unroll ++ * for(startK = 0; startK < endK; startK++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0 && currM >= 0)> aux_divRHSByDiag( ++ PacketBlock &RHSInPacket, PacketBlock &AInPacket) { ++ constexpr int64_t counterReverse = endK - counter; ++ constexpr int64_t startK = counterReverse; ++ ++ constexpr int64_t packetIndex = currM * endK + startK; ++ RHSInPacket.packet[packetIndex] = pmul(AInPacket.packet[currM], RHSInPacket.packet[packetIndex]); ++ aux_divRHSByDiag(RHSInPacket, AInPacket); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t 0 && currM >= 0)> aux_divRHSByDiag( ++ PacketBlock &RHSInPacket, PacketBlock &AInPacket) { ++ EIGEN_UNUSED_VARIABLE(RHSInPacket); ++ EIGEN_UNUSED_VARIABLE(AInPacket); ++ } ++ ++ /** ++ * aux_updateRHS ++ * ++ * 2-D unroll ++ * for(startM = initM; startM < endM; startM++) ++ * for(startK = 0; startK < endK; startK++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_updateRHS( ++ Scalar *A_arr, int64_t LDA, PacketBlock &RHSInPacket, ++ PacketBlock &AInPacket) { ++ constexpr int64_t counterReverse = (endM - initM) * endK - counter; ++ constexpr int64_t startM = initM + counterReverse / (endK); ++ constexpr int64_t startK = counterReverse % endK; ++ ++ // For each row of A, first update all corresponding RHS ++ constexpr int64_t packetIndex = startM * endK + startK; ++ EIGEN_IF_CONSTEXPR(currentM > 0) { ++ RHSInPacket.packet[packetIndex] = ++ pnmadd(AInPacket.packet[startM], RHSInPacket.packet[(currentM - 1) * endK + startK], ++ RHSInPacket.packet[packetIndex]); ++ } ++ ++ EIGEN_IF_CONSTEXPR(startK == endK - 1) { ++ // Once all RHS for previous row of A is updated, we broadcast the next element in the column A_{i, currentM}. ++ EIGEN_IF_CONSTEXPR(startM == currentM && !isUnitDiag) { ++ // If diagonal is not unit, we broadcast reciprocals of diagonals AinPacket.packet[currentM]. ++ // This will be used in divRHSByDiag ++ EIGEN_IF_CONSTEXPR(isFWDSolve) ++ AInPacket.packet[currentM] = pset1(Scalar(1) / A_arr[idA(currentM, currentM, LDA)]); ++ else AInPacket.packet[currentM] = pset1(Scalar(1) / A_arr[idA(-currentM, -currentM, LDA)]); ++ } ++ else { ++ // Broadcast next off diagonal element of A ++ EIGEN_IF_CONSTEXPR(isFWDSolve) ++ AInPacket.packet[startM] = pset1(A_arr[idA(startM, currentM, LDA)]); ++ else AInPacket.packet[startM] = pset1(A_arr[idA(-startM, -currentM, LDA)]); ++ } ++ } ++ ++ aux_updateRHS( ++ A_arr, LDA, RHSInPacket, AInPacket); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_updateRHS( ++ Scalar *A_arr, int64_t LDA, PacketBlock &RHSInPacket, ++ PacketBlock &AInPacket) { ++ EIGEN_UNUSED_VARIABLE(A_arr); ++ EIGEN_UNUSED_VARIABLE(LDA); ++ EIGEN_UNUSED_VARIABLE(RHSInPacket); ++ EIGEN_UNUSED_VARIABLE(AInPacket); ++ } ++ ++ /** ++ * aux_triSolverMicroKernel ++ * ++ * 1-D unroll ++ * for(startM = 0; startM < endM; startM++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_triSolveMicroKernel( ++ Scalar *A_arr, int64_t LDA, PacketBlock &RHSInPacket, ++ PacketBlock &AInPacket) { ++ constexpr int64_t counterReverse = endM - counter; ++ constexpr int64_t startM = counterReverse; ++ ++ constexpr int64_t currentM = startM; ++ // Divides the right-hand side in row startM, by digonal value of A ++ // broadcasted to AInPacket.packet[startM-1] in the previous iteration. ++ // ++ // Without "if constexpr" the compiler instantiates the case <-1, numK> ++ // this is handled with enable_if to prevent out-of-bound warnings ++ // from the compiler ++ EIGEN_IF_CONSTEXPR(!isUnitDiag && startM > 0) ++ trsm::template divRHSByDiag(RHSInPacket, AInPacket); ++ ++ // After division, the rhs corresponding to subsequent rows of A can be partially updated ++ // We also broadcast the reciprocal of the next diagonal to AInPacket.packet[currentM] (if needed) ++ // to be used in the next iteration. ++ trsm::template updateRHS(A_arr, LDA, RHSInPacket, ++ AInPacket); ++ ++ // Handle division for the RHS corresponding to the final row of A. ++ EIGEN_IF_CONSTEXPR(!isUnitDiag && startM == endM - 1) ++ trsm::template divRHSByDiag(RHSInPacket, AInPacket); ++ ++ aux_triSolveMicroKernel(A_arr, LDA, RHSInPacket, ++ AInPacket); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_triSolveMicroKernel( ++ Scalar *A_arr, int64_t LDA, PacketBlock &RHSInPacket, ++ PacketBlock &AInPacket) { ++ EIGEN_UNUSED_VARIABLE(A_arr); ++ EIGEN_UNUSED_VARIABLE(LDA); ++ EIGEN_UNUSED_VARIABLE(RHSInPacket); ++ EIGEN_UNUSED_VARIABLE(AInPacket); ++ } ++ ++ /******************************************************** ++ * Wrappers for aux_XXXX to hide counter parameter ++ ********************************************************/ ++ ++ /** ++ * Load endMxendK block of B to RHSInPacket ++ * Masked loads are used for cases where endK is not a multiple of PacketSize ++ */ ++ template ++ static EIGEN_ALWAYS_INLINE void loadRHS(Scalar *B_arr, int64_t LDB, ++ PacketBlock &RHSInPacket, int64_t rem = 0) { ++ aux_loadRHS(B_arr, LDB, RHSInPacket, rem); ++ } ++ ++ /** ++ * Load endMxendK block of B to RHSInPacket ++ * Masked loads are used for cases where endK is not a multiple of PacketSize ++ */ ++ template ++ static EIGEN_ALWAYS_INLINE void storeRHS(Scalar *B_arr, int64_t LDB, ++ PacketBlock &RHSInPacket, int64_t rem = 0) { ++ aux_storeRHS(B_arr, LDB, RHSInPacket, rem); ++ } ++ ++ /** ++ * Only used if Triangular matrix has non-unit diagonal values ++ */ ++ template ++ static EIGEN_ALWAYS_INLINE void divRHSByDiag(PacketBlock &RHSInPacket, ++ PacketBlock &AInPacket) { ++ aux_divRHSByDiag(RHSInPacket, AInPacket); ++ } ++ ++ /** ++ * Update right-hand sides (stored in avx registers) ++ * Traversing along the column A_{i,currentM}, where currentM <= i <= endM, and broadcasting each value to AInPacket. ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE void updateRHS(Scalar *A_arr, int64_t LDA, ++ PacketBlock &RHSInPacket, ++ PacketBlock &AInPacket) { ++ aux_updateRHS( ++ A_arr, LDA, RHSInPacket, AInPacket); ++ } ++ ++ /** ++ * endM: dimension of A. 1 <= endM <= EIGEN_AVX_MAX_NUM_ROW ++ * numK: number of avx registers to use for each row of B (ex fp32: 48 rhs => 3 avx reg used). 1 <= endK <= 3. ++ * isFWDSolve: true => forward substitution, false => backwards substitution ++ * isUnitDiag: true => triangular matrix has unit diagonal. ++ */ ++ template ++ static EIGEN_ALWAYS_INLINE void triSolveMicroKernel(Scalar *A_arr, int64_t LDA, ++ PacketBlock &RHSInPacket, ++ PacketBlock &AInPacket) { ++ static_assert(numK >= 1 && numK <= 3, "numK out of range"); ++ aux_triSolveMicroKernel(A_arr, LDA, RHSInPacket, AInPacket); ++ } ++}; ++ ++/** ++ * Unrolls for gemm kernel ++ * ++ * isAdd: true => C += A*B, false => C -= A*B ++ */ ++template ++class gemm { ++ public: ++ using vec = typename std::conditional::value, vecFullFloat, vecFullDouble>::type; ++ static constexpr int64_t PacketSize = packet_traits::size; ++ ++ /*********************************** ++ * Auxillary Functions for: ++ * - setzero ++ * - updateC ++ * - storeC ++ * - startLoadB ++ * - triSolveMicroKernel ++ ************************************/ ++ ++ /** ++ * aux_setzero ++ * ++ * 2-D unroll ++ * for(startM = 0; startM < endM; startM++) ++ * for(startN = 0; startN < endN; startN++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_setzero( ++ PacketBlock &zmm) { ++ constexpr int64_t counterReverse = endM * endN - counter; ++ constexpr int64_t startM = counterReverse / (endN); ++ constexpr int64_t startN = counterReverse % endN; ++ ++ zmm.packet[startN * endM + startM] = pzero(zmm.packet[startN * endM + startM]); ++ aux_setzero(zmm); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_setzero( ++ PacketBlock &zmm) { ++ EIGEN_UNUSED_VARIABLE(zmm); ++ } ++ ++ /** ++ * aux_updateC ++ * ++ * 2-D unroll ++ * for(startM = 0; startM < endM; startM++) ++ * for(startN = 0; startN < endN; startN++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_updateC( ++ Scalar *C_arr, int64_t LDC, PacketBlock &zmm, int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(rem_); ++ constexpr int64_t counterReverse = endM * endN - counter; ++ constexpr int64_t startM = counterReverse / (endN); ++ constexpr int64_t startN = counterReverse % endN; ++ ++ EIGEN_IF_CONSTEXPR(rem) ++ zmm.packet[startN * endM + startM] = ++ padd(ploadu(&C_arr[(startN)*LDC + startM * PacketSize], remMask(rem_)), ++ zmm.packet[startN * endM + startM], remMask(rem_)); ++ else zmm.packet[startN * endM + startM] = ++ padd(ploadu(&C_arr[(startN)*LDC + startM * PacketSize]), zmm.packet[startN * endM + startM]); ++ aux_updateC(C_arr, LDC, zmm, rem_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_updateC( ++ Scalar *C_arr, int64_t LDC, PacketBlock &zmm, int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(C_arr); ++ EIGEN_UNUSED_VARIABLE(LDC); ++ EIGEN_UNUSED_VARIABLE(zmm); ++ EIGEN_UNUSED_VARIABLE(rem_); ++ } ++ ++ /** ++ * aux_storeC ++ * ++ * 2-D unroll ++ * for(startM = 0; startM < endM; startM++) ++ * for(startN = 0; startN < endN; startN++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_storeC( ++ Scalar *C_arr, int64_t LDC, PacketBlock &zmm, int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(rem_); ++ constexpr int64_t counterReverse = endM * endN - counter; ++ constexpr int64_t startM = counterReverse / (endN); ++ constexpr int64_t startN = counterReverse % endN; ++ ++ EIGEN_IF_CONSTEXPR(rem) ++ pstoreu(&C_arr[(startN)*LDC + startM * PacketSize], zmm.packet[startN * endM + startM], ++ remMask(rem_)); ++ else pstoreu(&C_arr[(startN)*LDC + startM * PacketSize], zmm.packet[startN * endM + startM]); ++ aux_storeC(C_arr, LDC, zmm, rem_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_storeC( ++ Scalar *C_arr, int64_t LDC, PacketBlock &zmm, int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(C_arr); ++ EIGEN_UNUSED_VARIABLE(LDC); ++ EIGEN_UNUSED_VARIABLE(zmm); ++ EIGEN_UNUSED_VARIABLE(rem_); ++ } ++ ++ /** ++ * aux_startLoadB ++ * ++ * 1-D unroll ++ * for(startL = 0; startL < endL; startL++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_startLoadB( ++ Scalar *B_t, int64_t LDB, PacketBlock &zmm, int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(rem_); ++ constexpr int64_t counterReverse = endL - counter; ++ constexpr int64_t startL = counterReverse; ++ ++ EIGEN_IF_CONSTEXPR(rem) ++ zmm.packet[unrollM * unrollN + startL] = ++ ploadu(&B_t[(startL / unrollM) * LDB + (startL % unrollM) * PacketSize], remMask(rem_)); ++ else zmm.packet[unrollM * unrollN + startL] = ++ ploadu(&B_t[(startL / unrollM) * LDB + (startL % unrollM) * PacketSize]); ++ ++ aux_startLoadB(B_t, LDB, zmm, rem_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_startLoadB( ++ Scalar *B_t, int64_t LDB, PacketBlock &zmm, int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(B_t); ++ EIGEN_UNUSED_VARIABLE(LDB); ++ EIGEN_UNUSED_VARIABLE(zmm); ++ EIGEN_UNUSED_VARIABLE(rem_); ++ } ++ ++ /** ++ * aux_startBCastA ++ * ++ * 1-D unroll ++ * for(startB = 0; startB < endB; startB++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_startBCastA( ++ Scalar *A_t, int64_t LDA, PacketBlock &zmm) { ++ constexpr int64_t counterReverse = endB - counter; ++ constexpr int64_t startB = counterReverse; ++ ++ zmm.packet[unrollM * unrollN + numLoad + startB] = pload1(&A_t[idA(startB, 0, LDA)]); ++ ++ aux_startBCastA(A_t, LDA, zmm); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_startBCastA( ++ Scalar *A_t, int64_t LDA, PacketBlock &zmm) { ++ EIGEN_UNUSED_VARIABLE(A_t); ++ EIGEN_UNUSED_VARIABLE(LDA); ++ EIGEN_UNUSED_VARIABLE(zmm); ++ } ++ ++ /** ++ * aux_loadB ++ * currK: current K ++ * ++ * 1-D unroll ++ * for(startM = 0; startM < endM; startM++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_loadB( ++ Scalar *B_t, int64_t LDB, PacketBlock &zmm, int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(rem_); ++ if ((numLoad / endM + currK < unrollK)) { ++ constexpr int64_t counterReverse = endM - counter; ++ constexpr int64_t startM = counterReverse; ++ ++ EIGEN_IF_CONSTEXPR(rem) { ++ zmm.packet[endM * unrollN + (startM + currK * endM) % numLoad] = ++ ploadu(&B_t[(numLoad / endM + currK) * LDB + startM * PacketSize], remMask(rem_)); ++ } ++ else { ++ zmm.packet[endM * unrollN + (startM + currK * endM) % numLoad] = ++ ploadu(&B_t[(numLoad / endM + currK) * LDB + startM * PacketSize]); ++ } ++ ++ aux_loadB(B_t, LDB, zmm, rem_); ++ } ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_loadB( ++ Scalar *B_t, int64_t LDB, PacketBlock &zmm, int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(B_t); ++ EIGEN_UNUSED_VARIABLE(LDB); ++ EIGEN_UNUSED_VARIABLE(zmm); ++ EIGEN_UNUSED_VARIABLE(rem_); ++ } ++ ++ /** ++ * aux_microKernel ++ * ++ * 3-D unroll ++ * for(startM = 0; startM < endM; startM++) ++ * for(startN = 0; startN < endN; startN++) ++ * for(startK = 0; startK < endK; startK++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_microKernel( ++ Scalar *B_t, Scalar *A_t, int64_t LDB, int64_t LDA, PacketBlock &zmm, ++ int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(rem_); ++ constexpr int64_t counterReverse = endM * endN * endK - counter; ++ constexpr int startK = counterReverse / (endM * endN); ++ constexpr int startN = (counterReverse / (endM)) % endN; ++ constexpr int startM = counterReverse % endM; ++ ++ EIGEN_IF_CONSTEXPR(startK == 0 && startM == 0 && startN == 0) { ++ gemm::template startLoadB(B_t, LDB, zmm, rem_); ++ gemm::template startBCastA(A_t, LDA, zmm); ++ } ++ ++ { ++ // Interleave FMA and Bcast ++ EIGEN_IF_CONSTEXPR(isAdd) { ++ zmm.packet[startN * endM + startM] = ++ pmadd(zmm.packet[endM * endN + numLoad + (startN + startK * endN) % numBCast], ++ zmm.packet[endM * endN + (startM + startK * endM) % numLoad], zmm.packet[startN * endM + startM]); ++ } ++ else { ++ zmm.packet[startN * endM + startM] = ++ pnmadd(zmm.packet[endM * endN + numLoad + (startN + startK * endN) % numBCast], ++ zmm.packet[endM * endN + (startM + startK * endM) % numLoad], zmm.packet[startN * endM + startM]); ++ } ++ // Bcast ++ EIGEN_IF_CONSTEXPR(startM == endM - 1 && (numBCast + startN + startK * endN < endK * endN)) { ++ zmm.packet[endM * endN + numLoad + (startN + startK * endN) % numBCast] = pload1(&A_t[idA( ++ (numBCast + startN + startK * endN) % endN, (numBCast + startN + startK * endN) / endN, LDA)]); ++ } ++ } ++ ++ // We have updated all accumlators, time to load next set of B's ++ EIGEN_IF_CONSTEXPR((startN == endN - 1) && (startM == endM - 1)) { ++ gemm::template loadB(B_t, LDB, zmm, rem_); ++ } ++ aux_microKernel(B_t, A_t, LDB, LDA, zmm, rem_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_microKernel( ++ Scalar *B_t, Scalar *A_t, int64_t LDB, int64_t LDA, PacketBlock &zmm, ++ int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(B_t); ++ EIGEN_UNUSED_VARIABLE(A_t); ++ EIGEN_UNUSED_VARIABLE(LDB); ++ EIGEN_UNUSED_VARIABLE(LDA); ++ EIGEN_UNUSED_VARIABLE(zmm); ++ EIGEN_UNUSED_VARIABLE(rem_); ++ } ++ ++ /******************************************************** ++ * Wrappers for aux_XXXX to hide counter parameter ++ ********************************************************/ ++ ++ template ++ static EIGEN_ALWAYS_INLINE void setzero(PacketBlock &zmm) { ++ aux_setzero(zmm); ++ } ++ ++ /** ++ * Ideally the compiler folds these into vaddp{s,d} with an embedded memory load. ++ */ ++ template ++ static EIGEN_ALWAYS_INLINE void updateC(Scalar *C_arr, int64_t LDC, ++ PacketBlock &zmm, ++ int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(rem_); ++ aux_updateC(C_arr, LDC, zmm, rem_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE void storeC(Scalar *C_arr, int64_t LDC, ++ PacketBlock &zmm, ++ int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(rem_); ++ aux_storeC(C_arr, LDC, zmm, rem_); ++ } ++ ++ /** ++ * Use numLoad registers for loading B at start of microKernel ++ */ ++ template ++ static EIGEN_ALWAYS_INLINE void startLoadB(Scalar *B_t, int64_t LDB, ++ PacketBlock &zmm, ++ int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(rem_); ++ aux_startLoadB(B_t, LDB, zmm, rem_); ++ } ++ ++ /** ++ * Use numBCast registers for broadcasting A at start of microKernel ++ */ ++ template ++ static EIGEN_ALWAYS_INLINE void startBCastA(Scalar *A_t, int64_t LDA, ++ PacketBlock &zmm) { ++ aux_startBCastA(A_t, LDA, zmm); ++ } ++ ++ /** ++ * Loads next set of B into vector registers between each K unroll. ++ */ ++ template ++ static EIGEN_ALWAYS_INLINE void loadB(Scalar *B_t, int64_t LDB, ++ PacketBlock &zmm, ++ int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(rem_); ++ aux_loadB(B_t, LDB, zmm, rem_); ++ } ++ ++ /** ++ * Generates a microkernel for gemm (row-major) with unrolls {1,2,4,8}x{U1,U2,U3} to compute C -= A*B. ++ * A matrix can be row/col-major. B matrix is assumed row-major. ++ * ++ * isARowMajor: is A row major ++ * endM: Number registers per row ++ * endN: Number of rows ++ * endK: Loop unroll for K. ++ * numLoad: Number of registers for loading B. ++ * numBCast: Number of registers for broadcasting A. ++ * ++ * Ex: microkernel: 8x48 unroll (24 accumulators), k unrolled 4 times, ++ * 6 register for loading B, 2 for broadcasting A. ++ * ++ * Note: Ideally the microkernel should not have any register spilling. ++ * The avx instruction counts should be: ++ * - endK*endN vbroadcasts{s,d} ++ * - endK*endM vmovup{s,d} ++ * - endK*endN*endM FMAs ++ * ++ * From testing, there are no register spills with clang. There are register spills with GNU, which ++ * causes a performance hit. ++ */ ++ template ++ static EIGEN_ALWAYS_INLINE void microKernel(Scalar *B_t, Scalar *A_t, int64_t LDB, int64_t LDA, ++ PacketBlock &zmm, ++ int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(rem_); ++ aux_microKernel(B_t, A_t, LDB, LDA, zmm, ++ rem_); ++ } ++}; ++} // namespace unrolls ++ ++#endif // EIGEN_CORE_ARCH_AVX512_TRSM_UNROLLS_H From 94e95676fbd53ec3bc86ad475b10c372bf827e34 Mon Sep 17 00:00:00 2001 From: thoffman Date: Thu, 14 Mar 2024 16:35:24 +0100 Subject: [PATCH 205/889] fix style --- .../easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb index 6ccd8a9d010..e221fab5480 100644 --- a/easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb @@ -37,7 +37,7 @@ dependencies = [ # downloading xla and other tarballs to avoid that Bazel downloads it during the build # note: this *must* be the exact same commit as used in third_party/{xla,"other"}/workspace.bzl -local_xla_commit = '4ccfe33c71665ddcbca5b127fefe8baa3ed632d4' +local_xla_commit = '4ccfe33c71665ddcbca5b127fefe8baa3ed632d4' local_tfrt_commit = '0aeefb1660d7e37964b2bb71b1f518096bda9a25' local_repo_opt = '--bazel_options="--override_repository=xla=%%(builddir)s/xla-%s" ' % local_xla_commit local_repo_opt += '--bazel_options="--override_repository=runtime=%%(builddir)s/tf_runtime-%s" ' % local_xla_commit @@ -101,7 +101,7 @@ components = [ exts_list = [ (name, version, { - 'runtest': "NVIDIA_TF32_OVERRIDE=0 CUDA_VISIBLE_DEVICES=0 XLA_PYTHON_CLIENT_ALLOCATOR=platform JAX_ENABLE_X64=true pytest -vv tests ", + 'runtest': local_test, 'source_tmpl': '%(name)s-v%(version)s.tar.gz', 'source_urls': ['https://github.com/google/jax/archive/'], 'checksums': ['8b30af49688c0c13b82c6f5ce992727c00b5fc6d04a4c6962012f4246fa664eb'], From a0515b82162d01bc78a0202c349bf288df83d1d9 Mon Sep 17 00:00:00 2001 From: WilleBell Date: Thu, 14 Mar 2024 16:44:01 +0100 Subject: [PATCH 206/889] upgrade to latest version --- ...yPhy-2.5.25-gompi-2022a.eb => HyPhy-2.5.60-gompi-2022a.eb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename easybuild/easyconfigs/h/HyPhy/{HyPhy-2.5.25-gompi-2022a.eb => HyPhy-2.5.60-gompi-2022a.eb} (88%) diff --git a/easybuild/easyconfigs/h/HyPhy/HyPhy-2.5.25-gompi-2022a.eb b/easybuild/easyconfigs/h/HyPhy/HyPhy-2.5.60-gompi-2022a.eb similarity index 88% rename from easybuild/easyconfigs/h/HyPhy/HyPhy-2.5.25-gompi-2022a.eb rename to easybuild/easyconfigs/h/HyPhy/HyPhy-2.5.60-gompi-2022a.eb index f18f68e0db8..9960f8c8f57 100644 --- a/easybuild/easyconfigs/h/HyPhy/HyPhy-2.5.25-gompi-2022a.eb +++ b/easybuild/easyconfigs/h/HyPhy/HyPhy-2.5.60-gompi-2022a.eb @@ -1,7 +1,7 @@ easyblock = "CMakeMake" name = 'HyPhy' -version = '2.5.25' +version = '2.5.60' homepage = 'https://veg.github.io/hyphy-site/' description = """HyPhy (Hypothesis Testing using Phylogenies) is an open-source software package @@ -13,7 +13,7 @@ toolchainopts = {'openmp': True, 'usempi': True} source_urls = ['https://github.com/veg/hyphy/archive/'] sources = ['%(version)s.tar.gz'] -checksums = ['70f75ccc9cee8141e2956a2db6d2e5e54a82d5c96ec13b5fad68281245f2dfd3'] +checksums = ['bc3a5062ee3cee47de16c394189fb8a5feed48f9a8c12302432d6faa7f2ac301'] builddependencies = [('CMake', '3.24.3')] From ebf12e8e49ba562529638eebe6467659b5609030 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Thu, 14 Mar 2024 16:46:06 +0100 Subject: [PATCH 207/889] Update easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb Co-authored-by: Viktor Rehnberg <35767167+VRehnberg@users.noreply.github.com> --- .../PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index 1016b41e793..a828ea71b9b 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -88,7 +88,8 @@ exts_list = [ 'source_urls': ['https://github.com/pytorch/ignite/archive'], 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], 'checksums': ['bfe4b6f1cd96e78c021a65a0c51350cdb89d6ef5a8b9609638666ca95bae51d7'], - 'runtest': 'pytest', + 'runtest': 'pytest --ignore=tests/ignite/contrib', + 'testinstall': True, }), ('torch-tb-profiler', '0.4.3', { 'modulename': 'torch.profiler', From d7bf83acc3ed4f9dabcb4442f2a2e01b8b551a6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Thu, 14 Mar 2024 16:46:20 +0100 Subject: [PATCH 208/889] Update easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb Co-authored-by: Viktor Rehnberg <35767167+VRehnberg@users.noreply.github.com> --- ...PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index a828ea71b9b..9667235eee0 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -80,7 +80,20 @@ exts_list = [ {'torchaudio-2.2.1_use-external-sox.patch': 'fc97b2bdf0ab16b9c4706bf2a31dd72d0ecb09e4af2f9c4a34e18fca8e0d165d'}, ], - 'runtest': 'pytest', + 'runtest': ( + 'pytest' # ignored tests require librosa + ' --ignore=test/torchaudio_unittest/functional/librosa_compatibility_cpu_test.py' + ' --ignore=test/torchaudio_unittest/functional/librosa_compatibility_cuda_test.py' + ' --ignore=test/torchaudio_unittest/prototype/functional/librosa_compatibility_cpu_test.py' + ' --ignore=test/torchaudio_unittest/prototype/functional/librosa_compatibility_cuda_test.py' + ' --ignore=test/torchaudio_unittest/prototype/transforms/librosa_compatibility_cpu_test.py' + ' --ignore=test/torchaudio_unittest/prototype/transforms/librosa_compatibility_cuda_test.py' + ' --ignore=test/torchaudio_unittest/prototype/transforms/librosa_compatibility_cpu_test.py' + ' --ignore=test/torchaudio_unittest/prototype/transforms/librosa_compatibility_cuda_test.py' + ' --ignore=test/torchaudio_unittest/prototype/hifi_gan/hifi_gan_cpu_test.py' + ' --ignore=test/torchaudio_unittest/prototype/hifi_gan/hifi_gan_gpu_test.py' + ' test/torchaudio_unittest/' + ), 'testinstall': True, }), ('pytorch-ignite', '0.4.13', { From c72f7bdf47dd773de3ca655513c39c734d4d5b57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Thu, 14 Mar 2024 16:46:41 +0100 Subject: [PATCH 209/889] Update easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb Co-authored-by: Viktor Rehnberg <35767167+VRehnberg@users.noreply.github.com> --- .../PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index 9667235eee0..d331202b3c6 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -51,7 +51,7 @@ exts_list = [ {'torchtext-0.14.1_use-system-libs.patch': '1366d10c4755b6003194f7313ca11d165a80a13d325bee9d669ea2b333d82536'}, ], - 'runtest': 'pytest', + 'runtest': 'pytest test/torchtext_unittest', 'testinstall': True, }), ('torchvision', '0.16.2', { From aa392e8ee9ae825ee227773d7b8df8d5ec4924e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Thu, 14 Mar 2024 16:47:04 +0100 Subject: [PATCH 210/889] Update easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb Co-authored-by: Viktor Rehnberg <35767167+VRehnberg@users.noreply.github.com> --- .../PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index d331202b3c6..effa84fe1aa 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -13,6 +13,8 @@ builddependencies = [ ('CMake', '3.26.3'), ('RE2', '2023-08-01'), # for torchtext ('parameterized', '0.9.0'), + ('scikit-learn', '1.3.1'), + ('matplotlib', '3.7.2'), ] dependencies = [ From 3034cad578c7c9c5046e41705983b0f6b8318360 Mon Sep 17 00:00:00 2001 From: Jasper Grimm <65227842+jfgrimm@users.noreply.github.com> Date: Fri, 15 Mar 2024 09:44:53 +0000 Subject: [PATCH 211/889] add comment to revisit OpenEXR python bindings --- easybuild/easyconfigs/p/PyEXR/PyEXR-0.3.10-gfbf-2023a.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/p/PyEXR/PyEXR-0.3.10-gfbf-2023a.eb b/easybuild/easyconfigs/p/PyEXR/PyEXR-0.3.10-gfbf-2023a.eb index a5830ad2506..7a70497b4df 100644 --- a/easybuild/easyconfigs/p/PyEXR/PyEXR-0.3.10-gfbf-2023a.eb +++ b/easybuild/easyconfigs/p/PyEXR/PyEXR-0.3.10-gfbf-2023a.eb @@ -18,6 +18,8 @@ dependencies = [ use_pip = True +# note: for future versions, look at building the python bindings in the `OpenEXR` module directly instead: +# see https://github.com/AcademySoftwareFoundation/openexr/pull/1629 exts_list = [ ('OpenEXR', '1.3.9', { 'patches': ['OpenEXR-1.3.9_fix-openexr-inc-lib-searching.patch'], From 1827967b80ac7ae4de9b84085e7f3aeca32197ee Mon Sep 17 00:00:00 2001 From: thoffman Date: Fri, 15 Mar 2024 12:09:47 +0100 Subject: [PATCH 212/889] fix test_no_log_spam --- .../j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb | 7 ++++++- .../jax-0.4.25_fix_env_test_no_log_spam.patch | 18 ++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 easybuild/easyconfigs/j/jax/jax-0.4.25_fix_env_test_no_log_spam.patch diff --git a/easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb index e221fab5480..b91854890a8 100644 --- a/easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb @@ -101,10 +101,15 @@ components = [ exts_list = [ (name, version, { + 'patches': ['jax-0.4.25_fix_env_test_no_log_spam.patch'], 'runtest': local_test, 'source_tmpl': '%(name)s-v%(version)s.tar.gz', 'source_urls': ['https://github.com/google/jax/archive/'], - 'checksums': ['8b30af49688c0c13b82c6f5ce992727c00b5fc6d04a4c6962012f4246fa664eb'], + 'checksums': [ + {'jax-v0.4.25.tar.gz': '8b30af49688c0c13b82c6f5ce992727c00b5fc6d04a4c6962012f4246fa664eb'}, + {'jax-0.4.25_fix_env_test_no_log_spam.patch': + 'a5d4493c69814833615a2914f8481738fa438bacba9a1852601f7d19506371b9'}, + ], }), ] diff --git a/easybuild/easyconfigs/j/jax/jax-0.4.25_fix_env_test_no_log_spam.patch b/easybuild/easyconfigs/j/jax/jax-0.4.25_fix_env_test_no_log_spam.patch new file mode 100644 index 00000000000..e679bb8e274 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.4.25_fix_env_test_no_log_spam.patch @@ -0,0 +1,18 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/03 +# avoid overriding LD_LIBRARY_PATH, which would lead to test error: error while loading shared libraries: libpython3.11.so.1.0: cannot open shared object file: No such file or directory' +diff -ru jax-jax-v0.4.25/tests/logging_test.py jax-jax-v0.4.25_fix_env_test_no_log_spam/tests/logging_test.py +--- jax-jax-v0.4.25/tests/logging_test.py 2024-02-24 19:25:17.000000000 +0100 ++++ jax-jax-v0.4.25_fix_env_test_no_log_spam/tests/logging_test.py 2024-03-15 12:00:34.133022613 +0100 +@@ -72,8 +72,11 @@ + python = sys.executable + assert "python" in python + # Make sure C++ logging is at default level for the test process. ++ import os ++ tmp_env=os.environ.copy() ++ tmp_env['TF_CPP_MIN_LOG_LEVEL']=1 + proc = subprocess.run([python, "-c", program], capture_output=True, +- env={"TF_CPP_MIN_LOG_LEVEL": "1"}) ++ env=tmp_env) + + lines = proc.stdout.split(b"\n") + lines.extend(proc.stderr.split(b"\n")) From 021b248b6970c4c259dd06d1214f0315d5e7ace6 Mon Sep 17 00:00:00 2001 From: thoffman Date: Fri, 15 Mar 2024 16:26:04 +0100 Subject: [PATCH 213/889] update patch --- .../easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb | 2 +- .../easyconfigs/j/jax/jax-0.4.25_fix_env_test_no_log_spam.patch | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb index b91854890a8..6a2cd618907 100644 --- a/easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb @@ -108,7 +108,7 @@ exts_list = [ 'checksums': [ {'jax-v0.4.25.tar.gz': '8b30af49688c0c13b82c6f5ce992727c00b5fc6d04a4c6962012f4246fa664eb'}, {'jax-0.4.25_fix_env_test_no_log_spam.patch': - 'a5d4493c69814833615a2914f8481738fa438bacba9a1852601f7d19506371b9'}, + 'a18b5f147569d9ad41025124333a0f04fd0d0e0f9e4309658d7f6b9b838e2e2a'}, ], }), ] diff --git a/easybuild/easyconfigs/j/jax/jax-0.4.25_fix_env_test_no_log_spam.patch b/easybuild/easyconfigs/j/jax/jax-0.4.25_fix_env_test_no_log_spam.patch index e679bb8e274..ad919608437 100644 --- a/easybuild/easyconfigs/j/jax/jax-0.4.25_fix_env_test_no_log_spam.patch +++ b/easybuild/easyconfigs/j/jax/jax-0.4.25_fix_env_test_no_log_spam.patch @@ -9,7 +9,7 @@ diff -ru jax-jax-v0.4.25/tests/logging_test.py jax-jax-v0.4.25_fix_env_test_no_l # Make sure C++ logging is at default level for the test process. + import os + tmp_env=os.environ.copy() -+ tmp_env['TF_CPP_MIN_LOG_LEVEL']=1 ++ tmp_env['TF_CPP_MIN_LOG_LEVEL']='1' proc = subprocess.run([python, "-c", program], capture_output=True, - env={"TF_CPP_MIN_LOG_LEVEL": "1"}) + env=tmp_env) From 4ceb0fac9792ce9700301516a48796a16e8bf16c Mon Sep 17 00:00:00 2001 From: Justus Kuhlmann Date: Sun, 17 Mar 2024 11:50:03 +0100 Subject: [PATCH 214/889] add JAGS-4.3.2 on foss 2023a toolchain --- .../j/JAGS/JAGS-4.3.2-foss-2023a.eb | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 easybuild/easyconfigs/j/JAGS/JAGS-4.3.2-foss-2023a.eb diff --git a/easybuild/easyconfigs/j/JAGS/JAGS-4.3.2-foss-2023a.eb b/easybuild/easyconfigs/j/JAGS/JAGS-4.3.2-foss-2023a.eb new file mode 100644 index 00000000000..28fd5fd2d08 --- /dev/null +++ b/easybuild/easyconfigs/j/JAGS/JAGS-4.3.2-foss-2023a.eb @@ -0,0 +1,38 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel + +easyblock = 'ConfigureMake' + +name = 'JAGS' +version = '4.3.2' + +homepage = 'http://mcmc-jags.sourceforge.net/' +description = """JAGS is Just Another Gibbs Sampler. It is a program for analysis + of Bayesian hierarchical models using Markov Chain Monte Carlo (MCMC) simulation """ + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = [ + ('https://sourceforge.net/projects/mcmc-%(namelower)s/files/%(name)s/%(version_major)s.x/Source/', 'download'), +] +sources = [SOURCE_TAR_GZ] +checksums = ['871f556af403a7c2ce6a0f02f15cf85a572763e093d26658ebac55c4ab472fc8'] + +configopts = ' --with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK"' + + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'libexec/%(namelower)s-terminal', 'lib/libjags.so'], + 'dirs': [], +} + +sanity_check_commands = ["echo 'list modules' | %(namelower)s"] + +modextrapaths = { + 'JAGS_INCLUDE': 'include/%(name)s', + 'JAGS_LIB': 'lib', +} + +moduleclass = 'math' From b4868ff77df1c2f50ffb2bff88a11777424d51b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Sun, 17 Mar 2024 23:28:07 +0000 Subject: [PATCH 215/889] Fix tests --- ....5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb index 5ee275969da..fc064f5ce77 100644 --- a/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb @@ -49,7 +49,10 @@ exts_list = [ ('torch_sparse', '0.6.18', { 'source_urls': ['https://github.com/rusty1s/pytorch_sparse/archive/refs/tags/'], 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], - 'runtest': 'pytest', + 'runtest': ( + 'pytest' + ' --ignore=test/test_matmul.py::test_spmm[dtype10-device10-sum]' # flaky + ), 'testinstall': True, }), ('torch_cluster', '1.6.3', { @@ -70,7 +73,17 @@ exts_list = [ ('torch_geometric', version, { 'source_urls': ['https://github.com/pyg-team/pytorch_geometric/archive/refs/tags/'], 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], - 'runtest': 'pytest', + 'runtest': ( + 'pytest' + ' --ignore=test/nn/test_edge_index.py' # many tests require PyTorch with MKL + ' --ignore=test/nn/models/test_graph_unet.py' # requires PyTorch with MKL + ' --ignore=test/nn/pool/test_asap.py::test_asap' # requires PyTorch with MKL + ' --ignore=test/transforms/test_add_metapaths.py' # requires PyTorch with MKL + ' --ignore=test/transforms/test_two_hop.py' # requires PyTorch with MKL + ' --ignore=test/test_inspector.py' # test failing due to typing change + ' --ignore=test/nn/conv/test_hetero_conv.py' # unknown jit compilation issue + ' --ignore=test/nn/conv/test_sage_conv.py' # unknown jit compilation issue + ), 'testinstall': True, }), ] From 14776b10f39b86ad74e241b2df70147f7411a42e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Mon, 18 Mar 2024 00:53:30 +0000 Subject: [PATCH 216/889] Fix typo in skipped tests --- ...ch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb index fc064f5ce77..667eb2f97e1 100644 --- a/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb @@ -75,9 +75,9 @@ exts_list = [ 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], 'runtest': ( 'pytest' - ' --ignore=test/nn/test_edge_index.py' # many tests require PyTorch with MKL + ' --ignore=test/test_edge_index.py' # many tests require PyTorch with MKL ' --ignore=test/nn/models/test_graph_unet.py' # requires PyTorch with MKL - ' --ignore=test/nn/pool/test_asap.py::test_asap' # requires PyTorch with MKL + ' --ignore=test/nn/pool/test_asap.py' # requires PyTorch with MKL ' --ignore=test/transforms/test_add_metapaths.py' # requires PyTorch with MKL ' --ignore=test/transforms/test_two_hop.py' # requires PyTorch with MKL ' --ignore=test/test_inspector.py' # test failing due to typing change From 50a32fbdba384722b710fa5b1e8adcccb54fe88b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Mon, 18 Mar 2024 00:58:05 +0000 Subject: [PATCH 217/889] Checksums --- ...-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb index 667eb2f97e1..4d0c1e8bfae 100644 --- a/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb @@ -39,40 +39,47 @@ exts_list = [ }), ('plyfile', '1.0.3', { 'patches': ['plyfile-1.0.3_use_pdm_backend.patch'], + 'checksums': [ + {'plyfile-1.0.3.tar.gz': '0ecbe8e7ce55a7bbc6c9dea24242fffa0ab7d9bed33fbd5ad567ca013bcc5222'}, + {'plyfile-1.0.3_use_pdm_backend.patch': '815611863f16e785ef03a7992a0b99e433150212ff03559c7f6fce4e86d9e0a7'}, + ], }), ('torch_scatter', '2.1.2', { 'source_urls': ['https://github.com/rusty1s/pytorch_scatter/archive/refs/tags/'], 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['6f375dbc9cfe03f330aa29ea553e9c7432e9b040d039b041f08bf05df1a8bf37'], 'runtest': 'pytest', 'testinstall': True, }), ('torch_sparse', '0.6.18', { 'source_urls': ['https://github.com/rusty1s/pytorch_sparse/archive/refs/tags/'], 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], - 'runtest': ( - 'pytest' - ' --ignore=test/test_matmul.py::test_spmm[dtype10-device10-sum]' # flaky - ), + 'checksums': ['a9e194cddc17481001ac4592a058450493ce13780e8ce3eb54d4f79706e69c91'], + 'runtest': 'pytest -k "not test_spmm[dtype10-device10-sum]', # flaky 'testinstall': True, }), ('torch_cluster', '1.6.3', { 'source_urls': ['https://github.com/rusty1s/pytorch_cluster/archive/refs/tags/'], 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['0e2b08095e03cf87ce9b23b7a7352236a25d3ed92d92351dc020fd927ea8dbfe'], 'runtest': 'pytest', 'testinstall': True, }), ('torch_spline_conv', '1.2.2', { 'source_urls': ['https://github.com/rusty1s/pytorch_spline_conv/archive/refs/tags/'], 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['258947394514ba487b2617268ae7102e9a06fd15d79f5d8239a96211a85adc3d'], 'runtest': 'pytest', 'testinstall': True, }), ('python-louvain', '0.16', { 'modulename': 'community.community_louvain', + 'checksums': ['b7ba2df5002fd28d3ee789a49532baad11fe648e4f2117cf0798e7520a1da56b'], }), ('torch_geometric', version, { 'source_urls': ['https://github.com/pyg-team/pytorch_geometric/archive/refs/tags/'], 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['f9abf00dc7fd1039ef1d9734a0fbd8c52196e39ca9fc4816afd98a8f311265be'], 'runtest': ( 'pytest' ' --ignore=test/test_edge_index.py' # many tests require PyTorch with MKL From 702255c1d1efb0fa53472b62ef2d3c213fc905ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Mon, 18 Mar 2024 10:13:54 +0000 Subject: [PATCH 218/889] Fix typo --- ...orch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb index 4d0c1e8bfae..6c4fce39a57 100644 --- a/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb @@ -55,7 +55,7 @@ exts_list = [ 'source_urls': ['https://github.com/rusty1s/pytorch_sparse/archive/refs/tags/'], 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], 'checksums': ['a9e194cddc17481001ac4592a058450493ce13780e8ce3eb54d4f79706e69c91'], - 'runtest': 'pytest -k "not test_spmm[dtype10-device10-sum]', # flaky + 'runtest': 'pytest -k "not test_spmm[dtype10-device10-sum]"', # flaky 'testinstall': True, }), ('torch_cluster', '1.6.3', { From b752092ab21c14c4efd38f3f5967f09763b2050a Mon Sep 17 00:00:00 2001 From: Justus Kuhlmann <82444481+jkuhl-uni@users.noreply.github.com> Date: Mon, 18 Mar 2024 12:12:24 +0100 Subject: [PATCH 219/889] Update JAGS-4.3.2-foss-2023a.eb add SHLIB_EXT back in --- easybuild/easyconfigs/j/JAGS/JAGS-4.3.2-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/j/JAGS/JAGS-4.3.2-foss-2023a.eb b/easybuild/easyconfigs/j/JAGS/JAGS-4.3.2-foss-2023a.eb index 28fd5fd2d08..991b8839d36 100644 --- a/easybuild/easyconfigs/j/JAGS/JAGS-4.3.2-foss-2023a.eb +++ b/easybuild/easyconfigs/j/JAGS/JAGS-4.3.2-foss-2023a.eb @@ -24,7 +24,7 @@ configopts = ' --with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK"' sanity_check_paths = { - 'files': ['bin/%(namelower)s', 'libexec/%(namelower)s-terminal', 'lib/libjags.so'], + 'files': ['bin/%(namelower)s', 'libexec/%(namelower)s-terminal', 'lib/libjags.so' % SHLIB_EXT], 'dirs': [], } From 1844be2bccfafc85a75aaed6af68b6c28b01ea8f Mon Sep 17 00:00:00 2001 From: Justus Kuhlmann <82444481+jkuhl-uni@users.noreply.github.com> Date: Tue, 19 Mar 2024 09:30:45 +0100 Subject: [PATCH 220/889] use SHLIB_EXT replacements Co-authored-by: Adam Huffman --- easybuild/easyconfigs/j/JAGS/JAGS-4.3.2-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/j/JAGS/JAGS-4.3.2-foss-2023a.eb b/easybuild/easyconfigs/j/JAGS/JAGS-4.3.2-foss-2023a.eb index 991b8839d36..8c83d04b731 100644 --- a/easybuild/easyconfigs/j/JAGS/JAGS-4.3.2-foss-2023a.eb +++ b/easybuild/easyconfigs/j/JAGS/JAGS-4.3.2-foss-2023a.eb @@ -24,7 +24,7 @@ configopts = ' --with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK"' sanity_check_paths = { - 'files': ['bin/%(namelower)s', 'libexec/%(namelower)s-terminal', 'lib/libjags.so' % SHLIB_EXT], + 'files': ['bin/%(namelower)s', 'libexec/%(namelower)s-terminal', 'lib/libjags.%s' % SHLIB_EXT], 'dirs': [], } From a90bc884cb81ec2c2840119323735cfee6875578 Mon Sep 17 00:00:00 2001 From: thoffman Date: Tue, 19 Mar 2024 12:41:56 +0100 Subject: [PATCH 221/889] isolate some tests --- .../jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb index 6a2cd618907..8d78d89a36d 100644 --- a/easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb @@ -42,15 +42,31 @@ local_tfrt_commit = '0aeefb1660d7e37964b2bb71b1f518096bda9a25' local_repo_opt = '--bazel_options="--override_repository=xla=%%(builddir)s/xla-%s" ' % local_xla_commit local_repo_opt += '--bazel_options="--override_repository=runtime=%%(builddir)s/tf_runtime-%s" ' % local_xla_commit + +# Some tests require an isolated run: +local_isolated_tests = [ + 'tests/host_callback_test.py::HostCallbackTapTest::test_tap_scan_custom_jvp', + 'tests/host_callback_test.py::HostCallbackTapTest::test_tap_transforms_doc', + 'tests/lax_scipy_special_functions_test.py::LaxScipySpcialFunctionsTest' + + '::testScipySpecialFun_gammainc_s_2x1x4_float32_float32', +] # deliberately not testing in parallel, as that results in (additional) failing tests; # use XLA_PYTHON_CLIENT_ALLOCATOR=platform to allocate and deallocate GPU memory during testing, # see https://github.com/google/jax/issues/7323 and # https://github.com/google/jax/blob/main/docs/gpu_memory_allocation.rst; # use CUDA_VISIBLE_DEVICES=0 to avoid failing tests on systems with multiple GPUs; # use NVIDIA_TF32_OVERRIDE=0 to avoid lossing numerical precision by disabling TF32 Tensor Cores; -local_test = "NVIDIA_TF32_OVERRIDE=0 CUDA_VISIBLE_DEVICES=0 " -local_test += "XLA_PYTHON_CLIENT_ALLOCATOR=platform " -local_test += "JAX_ENABLE_X64=true pytest -vv tests " +local_test_exports = [ + "NVIDIA_TF32_OVERRIDE=0", + "CUDA_VISIBLE_DEVICES=0", + "XLA_PYTHON_CLIENT_ALLOCATOR=platform", + "JAX_ENABLE_X64=true", +] +local_test = ''.join(['export %s;' % x for x in local_test_exports]) +# run all tests at once except for local_isolated_tests: +local_test += "pytest -vv tests %s &&" % ' '.join(['--deselect %s' % x for x in local_isolated_tests]) +# run remaining local_isolated_tests separately: +local_test += '&&'.join(['pytest -vv %s' % x for x in local_isolated_tests]) use_pip = True From b24b8d3e68f55c707dc3c00394c98c54d0e71dc2 Mon Sep 17 00:00:00 2001 From: Viktor Rehnberg Date: Wed, 20 Mar 2024 08:35:13 +0000 Subject: [PATCH 222/889] Get build and tests to complete (ignoring failures) Changes: - Adds librosa, NLTK easyconfigs and adds these and more builddependencies for packages used in tests - Adds libjpeg-turbo as dependency and set TORCHVISION_INCLUDE envioronment variable to build torchvision with this - Adds patch for two tests to download pretrained models in a fixed location (not assuming that tests be run from test/ dir) - Adds pytest-mock as extension for torchvision test dependency - Make removing third_party dirs in preinstallcommand not needed to succeed for install to run (because testinstall makes this command be issued twice) - Ignore xfail tests in torchvision as well as tests that require extra builddependencies (kaldi_io, spacy, clearml, pytorch_fid) - Filter tests that are hinder completetion of tests: - torchtext: test_vocab_from_raw_text_file seg-faults - torchaudio: test_frame_reading_mem_vs_file hangs - torchvision: TestProcessPoolExecutor hangs - ignite: three tests that hang - test__native_dist_model_create_no_dist_nccl - test__native_dist_model_create_dist_gloo_2 - test__native_dist_model_create_dist_nccl_2 The filtered tests that hang or seg-fault should probably be investigated and there are some remaining tests that still fail as well. --- .../l/librosa/librosa-0.10.1-foss-2023a.eb | 52 +++++++++++++++ .../n/NLTK/NLTK-3.8.1-foss-2023a.eb | 55 ++++++++++++++++ ...rch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 63 +++++++++++++------ ...text-0.16.2_download-to-project-root.patch | 35 +++++++++++ 4 files changed, 185 insertions(+), 20 deletions(-) create mode 100644 easybuild/easyconfigs/l/librosa/librosa-0.10.1-foss-2023a.eb create mode 100644 easybuild/easyconfigs/n/NLTK/NLTK-3.8.1-foss-2023a.eb create mode 100644 easybuild/easyconfigs/p/PyTorch-bundle/torchtext-0.16.2_download-to-project-root.patch diff --git a/easybuild/easyconfigs/l/librosa/librosa-0.10.1-foss-2023a.eb b/easybuild/easyconfigs/l/librosa/librosa-0.10.1-foss-2023a.eb new file mode 100644 index 00000000000..444e2ba800d --- /dev/null +++ b/easybuild/easyconfigs/l/librosa/librosa-0.10.1-foss-2023a.eb @@ -0,0 +1,52 @@ +easyblock = 'PythonBundle' + +name = 'librosa' +version = '0.10.1' + +homepage = 'https://librosa.org/' +description = """Audio and music processing in Python""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('matplotlib', '3.7.2'), + ('poetry', '1.5.1'), # build for soxr +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), # to get joblib + ('SciPy-bundle', '2023.07'), + ('scikit-learn', '1.3.1'), + ('FFmpeg', '6.0'), + ('numba', '0.58.1'), + ('libsndfile', '1.2.2'), +] + +use_pip = True + +exts_list = [ + ('soxr', '0.3.7', { + 'preinstallopts': 'python -m build && ', + 'checksums': ['436ddff00c6eb2c75b79c19cfdca7527b1e31b5fad738652f044045ba6258593'], + }), + ('audioread', '3.0.1', { + 'checksums': ['ac5460a5498c48bdf2e8e767402583a4dcd13f4414d286f42ce4379e8b35066d'], + }), + ('soundfile', '0.12.1', { + 'checksums': ['e8e1017b2cf1dda767aef19d2fd9ee5ebe07e050d430f77a0a7c66ba08b8cdae'], + }), + ('lazy_loader', '0.3', { + 'checksums': ['3b68898e34f5b2a29daaaac172c6555512d0f32074f147e2254e4a6d9d838f37'], + }), + ('resampy', '0.4.3', { # for tests + 'checksums': ['a0d1c28398f0e55994b739650afef4e3974115edbe96cd4bb81968425e916e47'], + }), + (name, version, { + 'checksums': ['832f7d150d6dd08ed2aa08c0567a4be58330635c32ddd2208de9bc91300802c7'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NLTK/NLTK-3.8.1-foss-2023a.eb b/easybuild/easyconfigs/n/NLTK/NLTK-3.8.1-foss-2023a.eb new file mode 100644 index 00000000000..0f969e833f7 --- /dev/null +++ b/easybuild/easyconfigs/n/NLTK/NLTK-3.8.1-foss-2023a.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'NLTK' +version = '3.8.1' + +homepage = 'https://www.nltk.org/' +description = "NLTK is a leading platform for building Python programs to work with human language data." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('scikit-learn', '1.3.1'), + ('matplotlib', '3.7.2'), + ('tqdm', '4.66.1'), +] + +local_nltk_data_install = [] +# Install NLTK data sets (7.4 GB) +# local_nltk_data = '/path/to/database/nltk_data' +# local_nltk_data_install = [ +# "mkdir -p %s && NLTK_DATA=%s python -m nltk.downloader all" % (local_nltk_data, local_nltk_data) +# ] +# modextravars = {'NLTK_DATA': local_nltk_data} +local_nltk_data = '/mimer/NOBACKUP/Datasets/NLTK' +modextravars = {'NLTK_DATA': local_nltk_data} + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('regex', '2023.12.25', { + 'checksums': ['29171aa128da69afdf4bde412d5bedc335f2ca8fcfe4489038577d05f16181e5'], + }), + ('python-crfsuite', '0.9.10', { + 'modulename': 'pycrfsuite', + 'checksums': ['f38524631e2b533341f10f2c77689270dc6ecd5985495dccf7aa37b1045bc2e5'], + }), + (name, version, { + 'postinstallcmds': [], + 'source_tmpl': '%(namelower)s-%(version)s.zip', + 'use_pip_extras': 'corenlp,machine_learning,plot,tgrep', + 'checksums': ['1834da3d0682cba4f2cede2f9aad6b0fafb6461ba451db0efb6f9c39798d64d3'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_check_commands = [('%(namelower)s', '--version')] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index effa84fe1aa..16eedd63cc6 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -12,9 +12,13 @@ toolchain = {'name': 'foss', 'version': '2023a'} builddependencies = [ ('CMake', '3.26.3'), ('RE2', '2023-08-01'), # for torchtext - ('parameterized', '0.9.0'), - ('scikit-learn', '1.3.1'), - ('matplotlib', '3.7.2'), + ('parameterized', '0.9.0'), # for torchtext and torchaudio tests + ('scikit-learn', '1.3.1'), # for torchaudio and pytorch-ignite tests + ('scikit-image', '0.22.0'), # for pytorch-ignite tests + ('dill', '0.3.7'), # for pytorch-ignite tests + ('matplotlib', '3.7.2'), # for pytorch-ignite tests + ('librosa', '0.10.1'), # for torchaudio tests + ('NLTK', '3.8.1'), # for torchtext tests ] dependencies = [ @@ -22,6 +26,7 @@ dependencies = [ ('Python', '3.11.3'), ('PyTorch', version, versionsuffix), ('Pillow-SIMD', '9.5.0'), # for torchvision + ('libjpeg-turbo', '2.1.5.1'), # for torchvision ('SentencePiece', '0.2.0'), # for torchtext ('tqdm', '4.66.1'), # for torchtext ('double-conversion', '3.3.0'), # for torchtext @@ -45,19 +50,32 @@ exts_list = [ 'runtest': False, # circular test requirements }), ('torchtext', '0.16.2', { - 'patches': ['torchtext-0.14.1_use-system-libs.patch'], + 'patches': [ + 'torchtext-0.14.1_use-system-libs.patch', + 'torchtext-0.16.2_download-to-project-root.patch', + ], 'source_urls': ['https://github.com/pytorch/text/archive'], 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], 'checksums': [ {'torchtext-0.16.2.tar.gz': '6574b012804f65220329a2ad34a95c18e4df0d4cff2f862fb7862d57b374b013'}, {'torchtext-0.14.1_use-system-libs.patch': '1366d10c4755b6003194f7313ca11d165a80a13d325bee9d669ea2b333d82536'}, + {'torchtext-0.16.2_download-to-project-root.patch': + '9d5599a9983729cf1fc7ab2a2f65d1887f223f528e15662ba1b4a5e359c9686d'}, ], - 'runtest': 'pytest test/torchtext_unittest', + 'runtest': ( + 'pytest test/torchtext_unittest' + ' -k "not test_vocab_from_raw_text_file"' # segfaults + '" and not test_get_tokenizer_moses"' # requires sacremoses + '" and not test_get_tokenizer_spacy"' # requires spaCy + ), 'testinstall': True, }), + ('pytest-mock', '3.11.1', { # for torchvision tests + 'checksums': ['7f6b125602ac6d743e523ae0bfa71e1a697a2f5534064528c6ff84c2f7c2fc7f'], + }), ('torchvision', '0.16.2', { - 'preinstallopts': 'WITH_CUDA=1', + 'preinstallopts': 'WITH_CUDA=1 TORCHVISION_INCLUDE="$EBROOTLIBJPEGMINTURBO/include:$TORCHVISION_INCLUDE"', 'installopts': '-v', 'patches': ['torchvision-0.16.2_ffmpeg-6.0-fix.patch'], 'source_urls': ['https://github.com/pytorch/vision/archive'], @@ -67,13 +85,17 @@ exts_list = [ {'torchvision-0.16.2_ffmpeg-6.0-fix.patch': 'a49336e7bfa1c950e886852bff37a3ea2146ac7bda87241e3ffb31c5cb869cce'}, ], - 'runtest': 'pytest', + 'runtest': ( + 'pytest' + ' -m "not xfail"' # don't run tests that are expected that they might fail + ' -k "not test_frame_reading_mem_vs_file"' # TODO this one hangs + ), 'testinstall': True, }), ('torchaudio', '2.2.1', { 'installopts': '--no-use-pep517 -v', 'patches': ['torchaudio-2.2.1_use-external-sox.patch'], - 'preinstallopts': ('rm -r third_party/{sox,ffmpeg/multi} &&' + 'preinstallopts': ('rm -r third_party/{sox,ffmpeg/multi};' # runs twice when testinstall ' USE_CUDA=1 USE_OPENMP=1 USE_FFMPEG=1 FFMPEG_ROOT="$EBROOTFFMPEG"'), 'source_urls': ['https://github.com/pytorch/audio/archive'], 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], @@ -83,17 +105,9 @@ exts_list = [ 'fc97b2bdf0ab16b9c4706bf2a31dd72d0ecb09e4af2f9c4a34e18fca8e0d165d'}, ], 'runtest': ( - 'pytest' # ignored tests require librosa - ' --ignore=test/torchaudio_unittest/functional/librosa_compatibility_cpu_test.py' - ' --ignore=test/torchaudio_unittest/functional/librosa_compatibility_cuda_test.py' - ' --ignore=test/torchaudio_unittest/prototype/functional/librosa_compatibility_cpu_test.py' - ' --ignore=test/torchaudio_unittest/prototype/functional/librosa_compatibility_cuda_test.py' - ' --ignore=test/torchaudio_unittest/prototype/transforms/librosa_compatibility_cpu_test.py' - ' --ignore=test/torchaudio_unittest/prototype/transforms/librosa_compatibility_cuda_test.py' - ' --ignore=test/torchaudio_unittest/prototype/transforms/librosa_compatibility_cpu_test.py' - ' --ignore=test/torchaudio_unittest/prototype/transforms/librosa_compatibility_cuda_test.py' - ' --ignore=test/torchaudio_unittest/prototype/hifi_gan/hifi_gan_cpu_test.py' - ' --ignore=test/torchaudio_unittest/prototype/hifi_gan/hifi_gan_gpu_test.py' + 'pytest' + ' -k "not TestProcessPoolExecutor"' # TODO suspected to hang perhaps related to https://github.com/pytorch/audio/issues/1021 + '" and not kaldi_io_test"' # requires kaldi_io ' test/torchaudio_unittest/' ), 'testinstall': True, @@ -103,7 +117,16 @@ exts_list = [ 'source_urls': ['https://github.com/pytorch/ignite/archive'], 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], 'checksums': ['bfe4b6f1cd96e78c021a65a0c51350cdb89d6ef5a8b9609638666ca95bae51d7'], - 'runtest': 'pytest --ignore=tests/ignite/contrib', + 'runtest': ( + 'pytest' + ' --ignore=tests/ignite/contrib/handlers/test_clearml_logger.py' # requires clearml + ' --ignore=tests/ignite/metrics/gan/test_fid.py' # requires pytorch_fid + '-k ' ' and '.join([ # TODO these tests hang + "not test__native_dist_model_create_no_dist_nccl" + "not test__native_dist_model_create_dist_gloo_2" + "not test__native_dist_model_create_dist_nccl_2" + ]) + ), 'testinstall': True, }), ('torch-tb-profiler', '0.4.3', { diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/torchtext-0.16.2_download-to-project-root.patch b/easybuild/easyconfigs/p/PyTorch-bundle/torchtext-0.16.2_download-to-project-root.patch new file mode 100644 index 00000000000..93652c3235c --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-bundle/torchtext-0.16.2_download-to-project-root.patch @@ -0,0 +1,35 @@ +TorchtextTestCase sets project root to test dir instead of project root. This +patch makes sure the download ends up in the right place. + +Author: Viktor Rehnberg, vikren@chalmers.se (Chalmers University of Technology) + + +--- text-0.16.2.old/test/torchtext_unittest/prototype/test_with_asset.py 2024-03-19 13:26:46.094164142 +0000 ++++ text-0.16.2/test/torchtext_unittest/prototype/test_with_asset.py 2024-03-19 13:22:25.481657690 +0000 +@@ -201,7 +201,7 @@ + self.assertEqual(dict(v2.get_stoi()), expected_stoi) + + def test_builtin_pretrained_sentencepiece_processor(self) -> None: +- sp_model_path = download_from_url(PRETRAINED_SP_MODEL["text_unigram_25000"]) ++ sp_model_path = download_from_url(PRETRAINED_SP_MODEL["text_unigram_25000"], root=os.path.join(self.project_root, ".data")) + spm_tokenizer = sentencepiece_tokenizer(sp_model_path) + _path = os.path.join(self.project_root, ".data", "text_unigram_25000.model") + os.remove(_path) +@@ -209,7 +209,7 @@ + ref_results = ["\u2581the", "\u2581pre", "trained", "\u2581sp", "m", "\u2581model", "\u2581names"] + self.assertEqual(spm_tokenizer(test_sample), ref_results) + +- sp_model_path = download_from_url(PRETRAINED_SP_MODEL["text_bpe_25000"]) ++ sp_model_path = download_from_url(PRETRAINED_SP_MODEL["text_bpe_25000"], root=os.path.join(self.project_root, ".data")) + spm_transform = sentencepiece_processor(sp_model_path) + _path = os.path.join(self.project_root, ".data", "text_bpe_25000.model") + os.remove(_path) +@@ -223,7 +223,7 @@ + example_strings = ["the pretrained spm model names"] * 64 + ref_results = torch.tensor([[13, 1465, 12824, 304, 24935, 5771, 3776]] * 16, dtype=torch.long) + +- sp_model_path = download_from_url(PRETRAINED_SP_MODEL["text_bpe_25000"]) ++ sp_model_path = download_from_url(PRETRAINED_SP_MODEL["text_bpe_25000"], root=os.path.join(self.project_root, ".data")) + spm_processor = sentencepiece_processor(sp_model_path) + batch_fn = partial(_batch_func, spm_processor) + From e11c70656082244321e51795015fc425428228cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Wed, 20 Mar 2024 14:42:03 +0000 Subject: [PATCH 223/889] Drop duplicate NLTK --- .../n/NLTK/NLTK-3.8.1-foss-2023a.eb | 55 ------------------- 1 file changed, 55 deletions(-) delete mode 100644 easybuild/easyconfigs/n/NLTK/NLTK-3.8.1-foss-2023a.eb diff --git a/easybuild/easyconfigs/n/NLTK/NLTK-3.8.1-foss-2023a.eb b/easybuild/easyconfigs/n/NLTK/NLTK-3.8.1-foss-2023a.eb deleted file mode 100644 index 0f969e833f7..00000000000 --- a/easybuild/easyconfigs/n/NLTK/NLTK-3.8.1-foss-2023a.eb +++ /dev/null @@ -1,55 +0,0 @@ -easyblock = 'PythonBundle' - -name = 'NLTK' -version = '3.8.1' - -homepage = 'https://www.nltk.org/' -description = "NLTK is a leading platform for building Python programs to work with human language data." - -toolchain = {'name': 'foss', 'version': '2023a'} - -dependencies = [ - ('Python', '3.11.3'), - ('SciPy-bundle', '2023.07'), - ('scikit-learn', '1.3.1'), - ('matplotlib', '3.7.2'), - ('tqdm', '4.66.1'), -] - -local_nltk_data_install = [] -# Install NLTK data sets (7.4 GB) -# local_nltk_data = '/path/to/database/nltk_data' -# local_nltk_data_install = [ -# "mkdir -p %s && NLTK_DATA=%s python -m nltk.downloader all" % (local_nltk_data, local_nltk_data) -# ] -# modextravars = {'NLTK_DATA': local_nltk_data} -local_nltk_data = '/mimer/NOBACKUP/Datasets/NLTK' -modextravars = {'NLTK_DATA': local_nltk_data} - -use_pip = True -sanity_pip_check = True - -exts_list = [ - ('regex', '2023.12.25', { - 'checksums': ['29171aa128da69afdf4bde412d5bedc335f2ca8fcfe4489038577d05f16181e5'], - }), - ('python-crfsuite', '0.9.10', { - 'modulename': 'pycrfsuite', - 'checksums': ['f38524631e2b533341f10f2c77689270dc6ecd5985495dccf7aa37b1045bc2e5'], - }), - (name, version, { - 'postinstallcmds': [], - 'source_tmpl': '%(namelower)s-%(version)s.zip', - 'use_pip_extras': 'corenlp,machine_learning,plot,tgrep', - 'checksums': ['1834da3d0682cba4f2cede2f9aad6b0fafb6461ba451db0efb6f9c39798d64d3'], - }), -] - -sanity_check_paths = { - 'files': ['bin/%(namelower)s'], - 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], -} - -sanity_check_commands = [('%(namelower)s', '--version')] - -moduleclass = 'devel' From 71131fe6c2562d226c38c736a11e0c5aadda8c80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Thu, 21 Mar 2024 10:13:31 +0000 Subject: [PATCH 224/889] Fix style --- .../PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index 16eedd63cc6..66119d983de 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -88,7 +88,7 @@ exts_list = [ 'runtest': ( 'pytest' ' -m "not xfail"' # don't run tests that are expected that they might fail - ' -k "not test_frame_reading_mem_vs_file"' # TODO this one hangs + ' -k "not test_frame_reading_mem_vs_file"' # this one hangs ), 'testinstall': True, }), @@ -106,7 +106,7 @@ exts_list = [ ], 'runtest': ( 'pytest' - ' -k "not TestProcessPoolExecutor"' # TODO suspected to hang perhaps related to https://github.com/pytorch/audio/issues/1021 + ' -k "not TestProcessPoolExecutor"' # hang maybe related https://github.com/pytorch/audio/issues/1021 '" and not kaldi_io_test"' # requires kaldi_io ' test/torchaudio_unittest/' ), @@ -121,11 +121,11 @@ exts_list = [ 'pytest' ' --ignore=tests/ignite/contrib/handlers/test_clearml_logger.py' # requires clearml ' --ignore=tests/ignite/metrics/gan/test_fid.py' # requires pytorch_fid - '-k ' ' and '.join([ # TODO these tests hang - "not test__native_dist_model_create_no_dist_nccl" - "not test__native_dist_model_create_dist_gloo_2" - "not test__native_dist_model_create_dist_nccl_2" - ]) + '-k ' + ' and '.join([ # these tests hang + "not test__native_dist_model_create_no_dist_nccl", + "not test__native_dist_model_create_dist_gloo_2", + "not test__native_dist_model_create_dist_nccl_2", + ]), ), 'testinstall': True, }), From 7016977e5d917f9f0fb593e2992c787a4f60a87e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Thu, 21 Mar 2024 11:00:46 +0000 Subject: [PATCH 225/889] Patch some failing tests --- .../PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index 66119d983de..61e7360721c 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -77,13 +77,18 @@ exts_list = [ ('torchvision', '0.16.2', { 'preinstallopts': 'WITH_CUDA=1 TORCHVISION_INCLUDE="$EBROOTLIBJPEGMINTURBO/include:$TORCHVISION_INCLUDE"', 'installopts': '-v', - 'patches': ['torchvision-0.16.2_ffmpeg-6.0-fix.patch'], + 'patches': [ + 'torchvision-0.16.2_ffmpeg-6.0-fix.patch', + 'torchvision-0.16.2_quantized_tol.patch', + ], 'source_urls': ['https://github.com/pytorch/vision/archive'], 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], 'checksums': [ {'torchvision-0.16.2.tar.gz': '8c1f2951e98d8ada6e5a468f179af4be9f56d2ebc3ab057af873da61669806d7'}, {'torchvision-0.16.2_ffmpeg-6.0-fix.patch': 'a49336e7bfa1c950e886852bff37a3ea2146ac7bda87241e3ffb31c5cb869cce'}, + {'torchvision-0.16.2_quantized_tol.patch': + '457cdf8ad6653838c552890bce95dbe30b7573b1643334284f5f4a58f74f6e40'}, ], 'runtest': ( 'pytest' @@ -94,7 +99,10 @@ exts_list = [ }), ('torchaudio', '2.2.1', { 'installopts': '--no-use-pep517 -v', - 'patches': ['torchaudio-2.2.1_use-external-sox.patch'], + 'patches': [ + 'torchaudio-2.2.1_use-external-sox.patch', + 'torchaudio-2.2.1_transform_test_tol.patch', + ], 'preinstallopts': ('rm -r third_party/{sox,ffmpeg/multi};' # runs twice when testinstall ' USE_CUDA=1 USE_OPENMP=1 USE_FFMPEG=1 FFMPEG_ROOT="$EBROOTFFMPEG"'), 'source_urls': ['https://github.com/pytorch/audio/archive'], @@ -103,6 +111,8 @@ exts_list = [ {'torchaudio-2.2.1.tar.gz': '5f2a9cda9369ff348d1d7ca2c0a1f01afc9ebff1a13df9775c22aa5c43f5b0f1'}, {'torchaudio-2.2.1_use-external-sox.patch': 'fc97b2bdf0ab16b9c4706bf2a31dd72d0ecb09e4af2f9c4a34e18fca8e0d165d'}, + {'torchaudio-2.2.1_transform_test_tol.patch': + '381be068dc1c7dda3ea19220e423356ac93621aa48133a0fe54464069c8799c7'}, ], 'runtest': ( 'pytest' From be7f48896f9461a0931d6aecef2bbbaed32ea5c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Thu, 21 Mar 2024 15:44:29 +0000 Subject: [PATCH 226/889] Missing patches --- .../torchaudio-2.2.1_transform_test_tol.patch | 32 +++++++++++++++++++ .../torchvision-0.16.2_quantized_tol.patch | 15 +++++++++ 2 files changed, 47 insertions(+) create mode 100644 easybuild/easyconfigs/p/PyTorch-bundle/torchaudio-2.2.1_transform_test_tol.patch create mode 100644 easybuild/easyconfigs/p/PyTorch-bundle/torchvision-0.16.2_quantized_tol.patch diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/torchaudio-2.2.1_transform_test_tol.patch b/easybuild/easyconfigs/p/PyTorch-bundle/torchaudio-2.2.1_transform_test_tol.patch new file mode 100644 index 00000000000..0bf87766619 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-bundle/torchaudio-2.2.1_transform_test_tol.patch @@ -0,0 +1,32 @@ +Increase the atol and rtol for tests that fail with some elements exceeding +the default tolerances. +author: micketeer@gmail.com +--- test/torchaudio_unittest/transforms/batch_consistency_test.py.orig 2024-03-21 10:41:20.581691670 +0000 ++++ test/torchaudio_unittest/transforms/batch_consistency_test.py 2024-03-21 10:46:46.337740457 +0000 +@@ -89,7 +89,7 @@ + waveform = waveform.reshape(3, 2, -1) + transform = T.Spectrogram() + +- self.assert_batch_consistency(transform, waveform) ++ self.assert_batch_consistency(transform, waveform, atol=1e-7, rtol=1e-4) + + def test_batch_inverse_spectrogram(self): + waveform = common_utils.get_whitenoise(sample_rate=8000, duration=1, n_channels=6) +@@ -97,7 +97,7 @@ + specgram = specgram.reshape(3, 2, specgram.shape[-2], specgram.shape[-1]) + transform = T.InverseSpectrogram(n_fft=400) + +- self.assert_batch_consistency(transform, specgram) ++ self.assert_batch_consistency(transform, specgram, atol=1e-7, rtol=1e-3) + + def test_batch_melspectrogram(self): + waveform = common_utils.get_whitenoise(sample_rate=8000, duration=1, n_channels=6) +@@ -162,7 +162,7 @@ + waveform = waveform.reshape(3, 2, -1) + transform = T.PitchShift(sample_rate, n_steps, n_fft=400) + +- self.assert_batch_consistency(transform, waveform) ++ self.assert_batch_consistency(transform, waveform, atol=1e-5, rtol=1e-3) + + def test_batch_PSD(self): + waveform = common_utils.get_whitenoise(sample_rate=8000, duration=1, n_channels=6) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/torchvision-0.16.2_quantized_tol.patch b/easybuild/easyconfigs/p/PyTorch-bundle/torchvision-0.16.2_quantized_tol.patch new file mode 100644 index 00000000000..844a0b29da8 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-bundle/torchvision-0.16.2_quantized_tol.patch @@ -0,0 +1,15 @@ +Increase the toleances for quantized model that failed tests +The absolute error just barely exceed the default 0.02, but given the small numbers +the relative tolerance is high, thus the relative high tolerance of 0.5 +author: micketeer@gmail.com +--- test/test_models.py.orig 2024-03-21 10:54:03.467723691 +0000 ++++ test/test_models.py 2024-03-21 10:53:49.857749169 +0000 +@@ -987,7 +987,7 @@ + out = model(x) + + if model_name not in quantized_flaky_models: +- _assert_expected(out.cpu(), model_name + "_quantized", prec=2e-2) ++ _assert_expected(out.cpu(), model_name + "_quantized", prec=5e-1) + assert out.shape[-1] == 5 + _check_jit_scriptable(model, (x,), unwrapper=script_model_unwrapper.get(model_name, None), eager_out=out) + _check_fx_compatible(model, x, eager_out=out) From f3ed41037e76e0d94753d38f9fdfad3fc6e826d4 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Thu, 21 Mar 2024 19:23:46 +0100 Subject: [PATCH 227/889] adding easyconfigs: MICOM-0.33.2-foss-2023b.eb, coverage-7.4.4-GCCcore-13.2.0.eb, HiGHS-1.7.0-GCC-13.2.0.eb, SymEngine-0.11.2-gfbf-2023b.eb, SymEngine-python-0.11.0-gfbf-2023b.eb --- .../coverage/coverage-7.4.4-GCCcore-13.2.0.eb | 30 ++++++++++++ .../h/HiGHS/HiGHS-1.7.0-GCC-13.2.0.eb | 20 ++++++++ .../m/MICOM/MICOM-0.33.2-foss-2023b.eb | 49 +++++++++++++++++++ .../SymEngine-python-0.11.0-gfbf-2023b.eb | 30 ++++++++++++ .../SymEngine/SymEngine-0.11.2-gfbf-2023b.eb | 37 ++++++++++++++ 5 files changed, 166 insertions(+) create mode 100644 easybuild/easyconfigs/c/coverage/coverage-7.4.4-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/h/HiGHS/HiGHS-1.7.0-GCC-13.2.0.eb create mode 100644 easybuild/easyconfigs/m/MICOM/MICOM-0.33.2-foss-2023b.eb create mode 100644 easybuild/easyconfigs/s/SymEngine-python/SymEngine-python-0.11.0-gfbf-2023b.eb create mode 100644 easybuild/easyconfigs/s/SymEngine/SymEngine-0.11.2-gfbf-2023b.eb diff --git a/easybuild/easyconfigs/c/coverage/coverage-7.4.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/coverage/coverage-7.4.4-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..b35ff457d61 --- /dev/null +++ b/easybuild/easyconfigs/c/coverage/coverage-7.4.4-GCCcore-13.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'coverage' +version = '7.4.4' + +homepage = 'https://coverage.readthedocs.io' +description = """ Coverage.py is a tool for measuring code coverage of Python programs. + It monitors your program, noting which parts of the code have been executed, + then analyzes the source to identify code that could have been executed but was not. """ + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [('binutils', '2.40')] +dependencies = [('Python', '3.11.5')] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['c901df83d097649e257e803be22592aedfd5182f07b3cc87d640bbb9afd50f49'], + }), +] + +sanity_check_paths = { + 'files': ['bin/coverage%s' % x for x in ['', '3', '-%(pyshortver)s']], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HiGHS/HiGHS-1.7.0-GCC-13.2.0.eb b/easybuild/easyconfigs/h/HiGHS/HiGHS-1.7.0-GCC-13.2.0.eb new file mode 100644 index 00000000000..5ba18c393e1 --- /dev/null +++ b/easybuild/easyconfigs/h/HiGHS/HiGHS-1.7.0-GCC-13.2.0.eb @@ -0,0 +1,20 @@ +easyblock = 'CMakeMake' + +name = 'HiGHS' +version = '1.7.0' + +homepage = 'https://ergo-code.github.io/HiGHS' +description = """Open source serial and parallel solvers for large-scale sparse linear programming (LP), +mixed-integer programming (MIP), and quadratic programming (QP) models.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = ['https://github.com/ERGO-Code/HiGHS/archive/'] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}] +checksums = ['d10175ad66e7f113ac5dc00c9d6650a620663a6884fbf2942d6eb7a3d854604f'] + +builddependencies = [ + ('CMake', '3.27.6'), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/MICOM/MICOM-0.33.2-foss-2023b.eb b/easybuild/easyconfigs/m/MICOM/MICOM-0.33.2-foss-2023b.eb new file mode 100644 index 00000000000..25656e862bb --- /dev/null +++ b/easybuild/easyconfigs/m/MICOM/MICOM-0.33.2-foss-2023b.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonBundle' + +name = 'MICOM' +version = '0.33.2' + +homepage = 'https://github.com/micom-dev/micom' +description = "Python package to study microbial communities using metabolic modeling." + +toolchain = {'name': 'foss', 'version': '2023b'} + +builddependencies = [ + ('CMake', '3.27.6'), + ('hatchling', '1.18.0'), + ('SWIG', '4.1.1'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('SciPy-bundle', '2023.11'), + ('COBRApy', '0.29.0'), + ('scikit-learn', '1.4.0'), + ('SymEngine-python', '0.11.0'), + ('PyYAML', '6.0.1'), + ('coverage', '7.4.4'), + ('HiGHS', '1.7.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('qdldl', '0.1.7.post0', { + 'checksums': ['f346a114c8342ee6d4dbd6471eef314199fb268d3bf7b95885ca351fde2b023f'], + }), + ('osqp', '0.6.5', { + 'checksums': ['b2810aee7be2373add8b6c0be5ad99b810288774abca421751cb032d6a5aedef'], + }), + ('highspy', '1.7.0', { + 'source_urls': ['https://github.com/ERGO-Code/HiGHS/archive/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['d10175ad66e7f113ac5dc00c9d6650a620663a6884fbf2942d6eb7a3d854604f'], + }), + ('micom', version, { + 'checksums': ['0fd335b178badcd9a1d96d1b6f2568b15da922be2fa57e8a6004971510f3708b'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SymEngine-python/SymEngine-python-0.11.0-gfbf-2023b.eb b/easybuild/easyconfigs/s/SymEngine-python/SymEngine-python-0.11.0-gfbf-2023b.eb new file mode 100644 index 00000000000..5d98269ab47 --- /dev/null +++ b/easybuild/easyconfigs/s/SymEngine-python/SymEngine-python-0.11.0-gfbf-2023b.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'SymEngine-python' +version = '0.11.0' + +homepage = 'https://github.com/symengine/symengine.py' +description = "Python wrappers to the C++ library SymEngine, a fast C++ symbolic manipulation library." + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +builddependencies = [ + ('CMake', '3.27.6'), +] + +dependencies = [ + ('SymEngine', '0.11.2'), + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('symengine', version, { + 'checksums': ['0dd30d29b804ebb7251bddec29c38c3b1fc15ea6953a2c57ee758d5f6fcba458'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SymEngine/SymEngine-0.11.2-gfbf-2023b.eb b/easybuild/easyconfigs/s/SymEngine/SymEngine-0.11.2-gfbf-2023b.eb new file mode 100644 index 00000000000..91469615410 --- /dev/null +++ b/easybuild/easyconfigs/s/SymEngine/SymEngine-0.11.2-gfbf-2023b.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'SymEngine' +version = '0.11.2' + +homepage = 'https://github.com/symengine/symengine' +description = "SymEngine is a standalone fast C++ symbolic manipulation library" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +source_urls = ['https://github.com/symengine/symengine/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['f6972acd6a65354f6414e69460d2e175729470632bdac05919bc2f7f32e48cbd'] + +builddependencies = [ + ('CMake', '3.27.6'), +] + +dependencies = [ + ('GMP', '6.3.0'), + ('FLINT', '3.1.1'), + ('MPC', '1.3.1'), + ('LLVM', '16.0.6'), +] + +local_opts = '-DWITH_OPENMP=ON -DWITH_SYMENGINE_RCP=ON -DWITH_COTIRE=OFF ' +local_opts += '-DWITH_MPFR=ON -DWITH_MPC=ON -DWITH_LLVM=ON -DWITH_BFD=ON -DWITH_FLINT=ON ' +configopts = [local_opts + '-DBUILD_SHARED_LIBS=OFF', local_opts + '-DBUILD_SHARED_LIBS=ON'] + +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib64/libsymengine.a', 'lib64/libsymengine.%s' % SHLIB_EXT], + 'dirs': ['include/symengine/'] +} + +moduleclass = 'lib' From 6d1564a9842c6059d2c54ddc2a7ccc412b0c18e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Thu, 21 Mar 2024 19:07:19 +0000 Subject: [PATCH 228/889] Exclude broken tests --- ...rch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index 61e7360721c..1b8306a4cab 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -115,10 +115,10 @@ exts_list = [ '381be068dc1c7dda3ea19220e423356ac93621aa48133a0fe54464069c8799c7'}, ], 'runtest': ( - 'pytest' - ' -k "not TestProcessPoolExecutor"' # hang maybe related https://github.com/pytorch/audio/issues/1021 + 'pytest test/torchaudio_unittest/' + '-k "not TestProcessPoolExecutor"' # hang maybe related https://github.com/pytorch/audio/issues/1021 + '" and not FilterGraphWithCudaAccel"' # requires FFmpeg with CUDA support '" and not kaldi_io_test"' # requires kaldi_io - ' test/torchaudio_unittest/' ), 'testinstall': True, }), @@ -131,11 +131,9 @@ exts_list = [ 'pytest' ' --ignore=tests/ignite/contrib/handlers/test_clearml_logger.py' # requires clearml ' --ignore=tests/ignite/metrics/gan/test_fid.py' # requires pytorch_fid - '-k ' + ' and '.join([ # these tests hang - "not test__native_dist_model_create_no_dist_nccl", - "not test__native_dist_model_create_dist_gloo_2", - "not test__native_dist_model_create_dist_nccl_2", - ]), + '-k "not test__native_dist_model_create_no_dist_nccl"' # hangs + '" and not test__native_dist_model_create_dist_gloo_2"' # hangs + '" and not test__native_dist_model_create_dist_nccl_2"' # hangs ), 'testinstall': True, }), @@ -143,7 +141,15 @@ exts_list = [ 'modulename': 'torch.profiler', 'sources': ['torch_tb_profiler-%(version)s.tar.gz'], 'checksums': ['8b8d29b2de960b3c4423087b23cec29beaf9ac3a8c7b046c18fd25b218f726b1'], - 'runtest': 'pytest', + 'runtest': ( + 'pytest' + ' --ignore=test/test_tensorboard_end2end.py' # timeouts + '-k "not test_dump_gpu_metrics"' # missing file + '" and not test_profiler_api_with_record_shapes_memory_stack"' # fails + '" and not test_profiler_api_without_record_shapes_memory_stack"' # fails + '" and not test_profiler_api_without_step"' # fails + '" and test_autograd_api"' # fails + ), 'testinstall': True, }), ] From cd5b136e06e3ddf18149f93a17b985c9d4b27a32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Fri, 22 Mar 2024 11:16:32 +0100 Subject: [PATCH 229/889] Update easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb Fix typo Co-authored-by: Viktor Rehnberg <35767167+VRehnberg@users.noreply.github.com> --- .../PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index 1b8306a4cab..7bfd082adaf 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -116,7 +116,7 @@ exts_list = [ ], 'runtest': ( 'pytest test/torchaudio_unittest/' - '-k "not TestProcessPoolExecutor"' # hang maybe related https://github.com/pytorch/audio/issues/1021 + ' -k "not TestProcessPoolExecutor"' # hang maybe related https://github.com/pytorch/audio/issues/1021 '" and not FilterGraphWithCudaAccel"' # requires FFmpeg with CUDA support '" and not kaldi_io_test"' # requires kaldi_io ), From b30801e10ff12848206612e89a7ae05dce1fb817 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Fri, 22 Mar 2024 11:16:40 +0100 Subject: [PATCH 230/889] Update easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb Fix typo Co-authored-by: Viktor Rehnberg <35767167+VRehnberg@users.noreply.github.com> --- .../PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index 7bfd082adaf..ba396475ed7 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -131,7 +131,7 @@ exts_list = [ 'pytest' ' --ignore=tests/ignite/contrib/handlers/test_clearml_logger.py' # requires clearml ' --ignore=tests/ignite/metrics/gan/test_fid.py' # requires pytorch_fid - '-k "not test__native_dist_model_create_no_dist_nccl"' # hangs + ' -k "not test__native_dist_model_create_no_dist_nccl"' # hangs '" and not test__native_dist_model_create_dist_gloo_2"' # hangs '" and not test__native_dist_model_create_dist_nccl_2"' # hangs ), From 9709e777c0906dce79fd4dedc6b30a8025e21756 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Fri, 22 Mar 2024 11:16:50 +0100 Subject: [PATCH 231/889] Update easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb Fix typo Co-authored-by: Viktor Rehnberg <35767167+VRehnberg@users.noreply.github.com> --- .../PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index ba396475ed7..b1c19dee840 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -144,7 +144,7 @@ exts_list = [ 'runtest': ( 'pytest' ' --ignore=test/test_tensorboard_end2end.py' # timeouts - '-k "not test_dump_gpu_metrics"' # missing file + ' -k "not test_dump_gpu_metrics"' # missing file '" and not test_profiler_api_with_record_shapes_memory_stack"' # fails '" and not test_profiler_api_without_record_shapes_memory_stack"' # fails '" and not test_profiler_api_without_step"' # fails From 808d8b05dcf9de554e8aaf08adc7e347ad18c9fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Fri, 22 Mar 2024 13:57:08 +0100 Subject: [PATCH 232/889] Update easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb Drop tests requiring old external dependency Co-authored-by: Viktor Rehnberg <35767167+VRehnberg@users.noreply.github.com> --- .../PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index b1c19dee840..004beb11dd4 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -131,6 +131,7 @@ exts_list = [ 'pytest' ' --ignore=tests/ignite/contrib/handlers/test_clearml_logger.py' # requires clearml ' --ignore=tests/ignite/metrics/gan/test_fid.py' # requires pytorch_fid + ' --ignore=tests/ignite/metrics/nlp/test_rouge.py' # requires rouge ' -k "not test__native_dist_model_create_no_dist_nccl"' # hangs '" and not test__native_dist_model_create_dist_gloo_2"' # hangs '" and not test__native_dist_model_create_dist_nccl_2"' # hangs From 8c5d1f3195b536e5bd262fa0cdb7cb510cc0d050 Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Sat, 23 Mar 2024 09:39:04 +0100 Subject: [PATCH 233/889] Update easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb Co-authored-by: Alexander Grund --- .../easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb index 8d78d89a36d..9b36e57d663 100644 --- a/easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb @@ -111,7 +111,8 @@ components = [ 'a3df827d7896774cb1d80bf4e1c79ab05c268f29bd4d3db1fb5a4b9c2079d8e3'}, ], 'start_dir': 'jax-jaxlib-v%(version)s', - 'buildopts': local_repo_opt + # Avoid warning (treated as error) in upb/table.c + 'buildopts': local_repo_opt + ' --bazel_options="--copt=-Wno-maybe-uninitialized"' }), ] From 7aa0ef2b0a3fe220d957971c925ab2067fed332f Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Tue, 26 Mar 2024 17:42:30 +0100 Subject: [PATCH 234/889] Update napari-0.4.19.post1-foss-2023a.eb fix python shebang --- .../easyconfigs/n/napari/napari-0.4.19.post1-foss-2023a.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/n/napari/napari-0.4.19.post1-foss-2023a.eb b/easybuild/easyconfigs/n/napari/napari-0.4.19.post1-foss-2023a.eb index 9ca433e4617..4bb7d5abab3 100644 --- a/easybuild/easyconfigs/n/napari/napari-0.4.19.post1-foss-2023a.eb +++ b/easybuild/easyconfigs/n/napari/napari-0.4.19.post1-foss-2023a.eb @@ -106,6 +106,8 @@ exts_list = [ }), ] +fix_python_shebang_for = ['bin/napari'] + sanity_check_paths = { 'files': ['bin/%(name)s'], 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'], From 47c4a5b8f1eaf980f0f1abbf85d88cd9fbbf9487 Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Tue, 26 Mar 2024 18:01:21 +0100 Subject: [PATCH 235/889] Update napari-0.4.19.post1-foss-2023a.eb revert VisPy to 0.14.1 (required) --- .../easyconfigs/n/napari/napari-0.4.19.post1-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/n/napari/napari-0.4.19.post1-foss-2023a.eb b/easybuild/easyconfigs/n/napari/napari-0.4.19.post1-foss-2023a.eb index 4bb7d5abab3..dd8ff3a3059 100644 --- a/easybuild/easyconfigs/n/napari/napari-0.4.19.post1-foss-2023a.eb +++ b/easybuild/easyconfigs/n/napari/napari-0.4.19.post1-foss-2023a.eb @@ -27,7 +27,7 @@ dependencies = [ ('imageio', '2.33.1'), ('tqdm', '4.66.1'), ('IPython', '8.14.0'), - ('VisPy', '0.12.2'), + ('VisPy', '0.14.1'), ('scikit-image', '0.22.0'), ('matplotlib', '3.7.2'), ('Qtconsole', '5.5.1'), From 17e819ffcc782992418f5661a900313bd7c4805d Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Wed, 27 Mar 2024 10:02:57 +0100 Subject: [PATCH 236/889] Update easyconfigs.py test exception: use VisPy 0.14.1 for napari 0.4.19post1 --- test/easyconfigs/easyconfigs.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/easyconfigs/easyconfigs.py b/test/easyconfigs/easyconfigs.py index 41a322acdb4..b44a152cbe6 100644 --- a/test/easyconfigs/easyconfigs.py +++ b/test/easyconfigs/easyconfigs.py @@ -631,6 +631,9 @@ def check_dep_vars(self, gen, dep, dep_vars): # for the sake of backwards compatibility, keep UCX-CUDA v1.11.0 which depends on UCX v1.11.0 # (for 2021b, UCX was updated to v1.11.2) 'UCX': [('1.11.0;', ['UCX-CUDA-1.11.0-'])], + # Napari 0.4.19post1 requires VisPy >=0.14.1 <0.15 + 'VisPy': [('0.14.1;',['napari-0.4.19post1-'])], + # WPS 3.9.1 requires WRF 3.9.1.1 'WRF': [(r'3\.9\.1\.1', [r'WPS-3\.9\.1'])], # wxPython 4.2.0 depends on wxWidgets 3.2.0 From 012648ad291b21bd7a423d9b359d432ed1bb0de5 Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Wed, 27 Mar 2024 10:10:45 +0100 Subject: [PATCH 237/889] Update easyconfigs.py fix style --- test/easyconfigs/easyconfigs.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test/easyconfigs/easyconfigs.py b/test/easyconfigs/easyconfigs.py index b44a152cbe6..cb63bacb2aa 100644 --- a/test/easyconfigs/easyconfigs.py +++ b/test/easyconfigs/easyconfigs.py @@ -632,8 +632,7 @@ def check_dep_vars(self, gen, dep, dep_vars): # (for 2021b, UCX was updated to v1.11.2) 'UCX': [('1.11.0;', ['UCX-CUDA-1.11.0-'])], # Napari 0.4.19post1 requires VisPy >=0.14.1 <0.15 - 'VisPy': [('0.14.1;',['napari-0.4.19post1-'])], - + 'VisPy': [('0.14.1;', ['napari-0.4.19post1-'])], # WPS 3.9.1 requires WRF 3.9.1.1 'WRF': [(r'3\.9\.1\.1', [r'WPS-3\.9\.1'])], # wxPython 4.2.0 depends on wxWidgets 3.2.0 From 990c4c9fe2c4af70bd3f42b1813ce41635eea75b Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Wed, 27 Mar 2024 10:59:13 +0100 Subject: [PATCH 238/889] Update easyconfigs.py --- test/easyconfigs/easyconfigs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/easyconfigs/easyconfigs.py b/test/easyconfigs/easyconfigs.py index c4bcb036cb8..dd7136251e9 100644 --- a/test/easyconfigs/easyconfigs.py +++ b/test/easyconfigs/easyconfigs.py @@ -648,7 +648,7 @@ def check_dep_vars(self, gen, dep, dep_vars): # (for 2021b, UCX was updated to v1.11.2) 'UCX': [('1.11.0;', ['UCX-CUDA-1.11.0-'])], # Napari 0.4.19post1 requires VisPy >=0.14.1 <0.15 - 'VisPy': [('0.14.1;', ['napari-0.4.19post1-'])], + 'VisPy': [('0.14.1;', ['napari-0.4.19.post1-'])], # WPS 3.9.1 requires WRF 3.9.1.1 'WRF': [(r'3\.9\.1\.1', [r'WPS-3\.9\.1'])], # wxPython 4.2.0 depends on wxWidgets 3.2.0 From 1839f6d53b4c351b982397f7f18f15eaf0d7ec36 Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Wed, 27 Mar 2024 14:25:50 +0100 Subject: [PATCH 239/889] Update easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb Co-authored-by: Alexander Grund --- .../easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb index 9b36e57d663..75762ea7d12 100644 --- a/easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb @@ -64,9 +64,9 @@ local_test_exports = [ ] local_test = ''.join(['export %s;' % x for x in local_test_exports]) # run all tests at once except for local_isolated_tests: -local_test += "pytest -vv tests %s &&" % ' '.join(['--deselect %s' % x for x in local_isolated_tests]) +local_test += "pytest -vv tests %s && " % ' '.join(['--deselect %s' % x for x in local_isolated_tests]) # run remaining local_isolated_tests separately: -local_test += '&&'.join(['pytest -vv %s' % x for x in local_isolated_tests]) +local_test += ' && '.join(['pytest -vv %s' % x for x in local_isolated_tests]) use_pip = True From d80e8fed9c77ab63727f9357cdb135f474402b98 Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Wed, 27 Mar 2024 14:32:45 +0100 Subject: [PATCH 240/889] Update and rename jax-0.4.25-foss-2023a-CUDA-12.1.1.eb to jax-0.4.25-gfbf-2023a-CUDA-12.1.1.eb typo, zlib dependency order, foss->gfbf --- ...-CUDA-12.1.1.eb => jax-0.4.25-gfbf-2023a-CUDA-12.1.1.eb} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename easybuild/easyconfigs/j/jax/{jax-0.4.25-foss-2023a-CUDA-12.1.1.eb => jax-0.4.25-gfbf-2023a-CUDA-12.1.1.eb} (97%) diff --git a/easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/j/jax/jax-0.4.25-gfbf-2023a-CUDA-12.1.1.eb similarity index 97% rename from easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb rename to easybuild/easyconfigs/j/jax/jax-0.4.25-gfbf-2023a-CUDA-12.1.1.eb index 75762ea7d12..551ff2a73a3 100644 --- a/easybuild/easyconfigs/j/jax/jax-0.4.25-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/j/jax/jax-0.4.25-gfbf-2023a-CUDA-12.1.1.eb @@ -12,7 +12,7 @@ homepage = 'https://pypi.python.org/pypi/jax' description = """Composable transformations of Python+NumPy programs: differentiate, vectorize, JIT to GPU/TPU, and more""" -toolchain = {'name': 'foss', 'version': '2023a'} +toolchain = {'name': 'gfbf', 'version': '2023a'} cuda_compute_capabilities = ["5.0", "6.0", "6.1", "7.0", "7.5", "8.0", "8.6", "9.0"] builddependencies = [ @@ -28,10 +28,10 @@ dependencies = [ ('CUDA', '12.1.1', '', SYSTEM), ('cuDNN', '8.9.2.26', versionsuffix, SYSTEM), ('NCCL', '2.18.3', versionsuffix), + ('zlib', '1.2.13'), ('Python', '3.11.3'), ('SciPy-bundle', '2023.07'), ('flatbuffers-python', '23.5.26'), - ('zlib', '1.2.13'), ('ml_dtypes', '0.3.2'), ] @@ -55,7 +55,7 @@ local_isolated_tests = [ # see https://github.com/google/jax/issues/7323 and # https://github.com/google/jax/blob/main/docs/gpu_memory_allocation.rst; # use CUDA_VISIBLE_DEVICES=0 to avoid failing tests on systems with multiple GPUs; -# use NVIDIA_TF32_OVERRIDE=0 to avoid lossing numerical precision by disabling TF32 Tensor Cores; +# use NVIDIA_TF32_OVERRIDE=0 to avoid loosing numerical precision by disabling TF32 Tensor Cores; local_test_exports = [ "NVIDIA_TF32_OVERRIDE=0", "CUDA_VISIBLE_DEVICES=0", From a025bfbf67a4be17a38b51a7287e337df5d58482 Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Wed, 27 Mar 2024 14:34:01 +0100 Subject: [PATCH 241/889] Update and rename ml_dtypes-0.3.2-foss-2023a.eb to ml_dtypes-0.3.2-gfbf-2023a.eb foss->gfbf --- ...dtypes-0.3.2-foss-2023a.eb => ml_dtypes-0.3.2-gfbf-2023a.eb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename easybuild/easyconfigs/m/ml_dtypes/{ml_dtypes-0.3.2-foss-2023a.eb => ml_dtypes-0.3.2-gfbf-2023a.eb} (96%) diff --git a/easybuild/easyconfigs/m/ml_dtypes/ml_dtypes-0.3.2-foss-2023a.eb b/easybuild/easyconfigs/m/ml_dtypes/ml_dtypes-0.3.2-gfbf-2023a.eb similarity index 96% rename from easybuild/easyconfigs/m/ml_dtypes/ml_dtypes-0.3.2-foss-2023a.eb rename to easybuild/easyconfigs/m/ml_dtypes/ml_dtypes-0.3.2-gfbf-2023a.eb index df6bd3d5134..9c3a18bfdb5 100644 --- a/easybuild/easyconfigs/m/ml_dtypes/ml_dtypes-0.3.2-foss-2023a.eb +++ b/easybuild/easyconfigs/m/ml_dtypes/ml_dtypes-0.3.2-gfbf-2023a.eb @@ -18,7 +18,7 @@ float8_e5m2 float8_e5m2fnuz """ -toolchain = {'name': 'foss', 'version': '2023a'} +toolchain = {'name': 'gfbf', 'version': '2023a'} dependencies = [ ('Python', '3.11.3'), From 196da612a4ec591724398f6a3dc073d1252c3343 Mon Sep 17 00:00:00 2001 From: c3-builder Date: Wed, 27 Mar 2024 16:04:50 +0000 Subject: [PATCH 242/889] adding easyconfigs: CVX-2.2-MATLAB-2023a.eb --- .../easyconfigs/c/CVX/CVX-2.2-MATLAB-2023a.eb | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 easybuild/easyconfigs/c/CVX/CVX-2.2-MATLAB-2023a.eb diff --git a/easybuild/easyconfigs/c/CVX/CVX-2.2-MATLAB-2023a.eb b/easybuild/easyconfigs/c/CVX/CVX-2.2-MATLAB-2023a.eb new file mode 100644 index 00000000000..9f3eb9a3764 --- /dev/null +++ b/easybuild/easyconfigs/c/CVX/CVX-2.2-MATLAB-2023a.eb @@ -0,0 +1,36 @@ +easyblock = 'Tarball' + +name = 'CVX' +version = '2.2' +_matlab_ver = '2023a' +versionsuffix = '-MATLAB-%s' % _matlab_ver + +homepage = 'https://cvxr.com/cvx/' +description = """CVX is a Matlab-based modeling system for convex optimization. + CVX turns Matlab into a modeling language, allowing constraints and objectives + to be specified using standard Matlab expression syntax. +""" + +toolchain = SYSTEM + +source_urls = ['https://web.cvxr.com/cvx/'] +sources = ['%(namelower)s-a64.tar.gz'] +checksums = ['16e4622c80f2bf63152aaee59db4fe42afa4d2282179e5d216358953c7f9ea4d'] + +dependencies = [ + ('MATLAB', _matlab_ver), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib', 'commands', 'sedumi', 'sdpt3'], +} + +modloadmsg = "IMPORTANT: You need executing `cvx_setup` in the first time." + +modextrapaths = { + 'MATLABPATH': ['', 'functions/vec_', 'structures', 'lib', 'functions', + 'commands', 'builtins'], +} + +moduleclass = 'tools' From 4b2aab4227bcb4e2bc5fa33dac9c5d519ac8dde3 Mon Sep 17 00:00:00 2001 From: c3-builder Date: Wed, 27 Mar 2024 17:26:25 +0000 Subject: [PATCH 243/889] Fix suitesparse path --- .../easyconfigs/c/CVXOPT/CVXOPT-1.3.1-foss-2022a.eb | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/c/CVXOPT/CVXOPT-1.3.1-foss-2022a.eb b/easybuild/easyconfigs/c/CVXOPT/CVXOPT-1.3.1-foss-2022a.eb index 9bac0454227..b101da5867a 100644 --- a/easybuild/easyconfigs/c/CVXOPT/CVXOPT-1.3.1-foss-2022a.eb +++ b/easybuild/easyconfigs/c/CVXOPT/CVXOPT-1.3.1-foss-2022a.eb @@ -32,8 +32,14 @@ use_pip = True sanity_pip_check = True download_dep_fail = True -preinstallopts = 'CVXOPT_BUILD_FFTW=1 CVXOPT_BUILD_GSL=1 CVXOPT_BLAS_EXTRA_LINK_ARGS="$LIBLAPACK" ' -preinstallopts += 'CVXOPT_FFTW_EXTRA_LINK_ARGS="$LIBFFT" CVXOPT_SUITESPARSE_SRC_DIR=$EBROOTSUITESPARSE' +preinstallopts = " ".join([ + 'CVXOPT_BUILD_FFTW=1', + 'CVXOPT_BUILD_GSL=1', + 'CVXOPT_BLAS_EXTRA_LINK_ARGS="$LIBLAPACK"', + 'CVXOPT_FFTW_EXTRA_LINK_ARGS="$LIBFFT"', + 'CVXOPT_SUITESPARSE_LIB_DIR=$EBROOTSUITESPARSE/lib', + 'CVXOPT_SUITESPARSE_INC_DIR=$EBROOTSUITESPARSE/include', +]) installopts = ' --no-binary cvxopt' From 2e8300840b3953c95fe03f88ef4ce68c9175d0ff Mon Sep 17 00:00:00 2001 From: c3-builder Date: Thu, 28 Mar 2024 10:47:38 +0000 Subject: [PATCH 244/889] Fix BLAS and LAPACK linking --- easybuild/easyconfigs/c/CVXOPT/CVXOPT-1.3.1-foss-2022a.eb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/c/CVXOPT/CVXOPT-1.3.1-foss-2022a.eb b/easybuild/easyconfigs/c/CVXOPT/CVXOPT-1.3.1-foss-2022a.eb index b101da5867a..2c32ff36414 100644 --- a/easybuild/easyconfigs/c/CVXOPT/CVXOPT-1.3.1-foss-2022a.eb +++ b/easybuild/easyconfigs/c/CVXOPT/CVXOPT-1.3.1-foss-2022a.eb @@ -35,7 +35,8 @@ download_dep_fail = True preinstallopts = " ".join([ 'CVXOPT_BUILD_FFTW=1', 'CVXOPT_BUILD_GSL=1', - 'CVXOPT_BLAS_EXTRA_LINK_ARGS="$LIBLAPACK"', + 'CVXOPT_BLAS_EXTRA_LINK_ARGS="$LIBBLAS"', + 'CVXOPT_LAPACK_EXTRA_LINK_ARGS="$LIBLAPACK"', 'CVXOPT_FFTW_EXTRA_LINK_ARGS="$LIBFFT"', 'CVXOPT_SUITESPARSE_LIB_DIR=$EBROOTSUITESPARSE/lib', 'CVXOPT_SUITESPARSE_INC_DIR=$EBROOTSUITESPARSE/include', From 8d433362afab75535c6e5b5fb9ee616a55e7e9ab Mon Sep 17 00:00:00 2001 From: c3-builder Date: Thu, 28 Mar 2024 11:46:42 +0000 Subject: [PATCH 245/889] Make module load message clear --- easybuild/easyconfigs/c/CVX/CVX-2.2-MATLAB-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/c/CVX/CVX-2.2-MATLAB-2023a.eb b/easybuild/easyconfigs/c/CVX/CVX-2.2-MATLAB-2023a.eb index 9f3eb9a3764..b3c3ec1b113 100644 --- a/easybuild/easyconfigs/c/CVX/CVX-2.2-MATLAB-2023a.eb +++ b/easybuild/easyconfigs/c/CVX/CVX-2.2-MATLAB-2023a.eb @@ -26,7 +26,7 @@ sanity_check_paths = { 'dirs': ['lib', 'commands', 'sedumi', 'sdpt3'], } -modloadmsg = "IMPORTANT: You need executing `cvx_setup` in the first time." +modloadmsg = "IMPORTANT: You need to run `cvx_setup` once inside MATLAB before using CVX." modextrapaths = { 'MATLABPATH': ['', 'functions/vec_', 'structures', 'lib', 'functions', From a5e0f0eb507fc306d8b3d7ba47212eb54327745c Mon Sep 17 00:00:00 2001 From: WilleBell Date: Fri, 29 Mar 2024 15:16:23 +0100 Subject: [PATCH 246/889] adding easyconfigs: deepfold-20240308-foss-2022a-CUDA-11.7.0.eb, dm-haiku-0.0.9-foss-2022a-CUDA-11.7.0.eb, ml-collections-0.1.1-foss-2022a.eb and patches: deepfold-20240308_fix-simtk-deprecation.patch --- ...eepfold-20240308-foss-2022a-CUDA-11.7.0.eb | 95 +++++++++++++++++++ ...pfold-20240308_fix-simtk-deprecation.patch | 44 +++++++++ .../dm-haiku-0.0.9-foss-2022a-CUDA-11.7.0.eb | 34 +++++++ .../ml-collections-0.1.1-foss-2022a.eb | 39 ++++++++ 4 files changed, 212 insertions(+) create mode 100644 easybuild/easyconfigs/d/deepfold/deepfold-20240308-foss-2022a-CUDA-11.7.0.eb create mode 100644 easybuild/easyconfigs/d/deepfold/deepfold-20240308_fix-simtk-deprecation.patch create mode 100644 easybuild/easyconfigs/d/dm-haiku/dm-haiku-0.0.9-foss-2022a-CUDA-11.7.0.eb create mode 100644 easybuild/easyconfigs/m/ml-collections/ml-collections-0.1.1-foss-2022a.eb diff --git a/easybuild/easyconfigs/d/deepfold/deepfold-20240308-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/d/deepfold/deepfold-20240308-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..a997ea3c39f --- /dev/null +++ b/easybuild/easyconfigs/d/deepfold/deepfold-20240308-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,95 @@ +easyblock = 'PythonBundle' + +name = 'deepfold' +version = '20240308' +_commit = 'c91701d1d92db341e85fba687644046d416b1f19' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/newtonjoo/deepfold' +description = """ +This package provides an implementation of DeepFold, a trainable, Transformer-based deep +protein folding model. We modified the open-source code of DeepMind AlphaFold v2.0 and +Uni-Fold-jax. +Pretrained models can be found in environment variable $DEEPFOLD_PARAMETERS +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Biopython', '1.79'), + ('dm-haiku', '0.0.9', versionsuffix), + ('dm-tree', '0.1.8'), + ('TensorFlow', '2.11.0', versionsuffix), + ('tensorboardX', '2.5.1'), + ('HMMER', '3.3.2'), + ('Kalign', '3.3.5'), + ('ml-collections', '0.1.1'), + ('OpenMM', '8.0.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('toolz', '0.12.1', { + 'checksums': ['ecca342664893f177a13dac0e6b41cbd8ac25a358e5f215316d43e2100224f4d'], + }), + ('chex', '0.1.6', { + 'checksums': ['adb5d2352b5f0d248ccf594be1b1bf9ee7a2bee2a57f0eac78547538d479b0e7'], + }), + ('immutabledict', '2.0.0', { + 'checksums': ['1b3ab650dc9db0df80fc198b9d31bee45062c4774b3dfbf3d2f3e1f6d4929258'], + }), + ('tzdata', '2024.1', { + 'checksums': ['2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd'], + }), + ('PDBFixer', '1.8.1', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['d50551abfe9dbaefc066f4d9d400cdebe57f1fefd9de9d01e12beb87efd99595'], + }), +] + +local_install_cmd = "mkdir -p %(installdir)s/bin && " +local_install_cmd += "cp %(name)s-*/*.py %(installdir)s/bin/ && " +local_install_cmd += "cp -r %(name)s-*/example_data %(installdir)s/ && " +local_install_cmd += "mkdir -p %(installdir)s/lib/python%(pyshortver)s/site-packages/ && " +local_install_cmd += "cp -r %(name)s-*/%(name)s %(installdir)s/lib/python%(pyshortver)s/site-packages/ && " +local_install_cmd += "chmod a+x %(installdir)s/bin/*.py" + +components = [ + (name, version, { + 'easyblock': 'PackedBinary', + 'sources': [{ + 'source_urls': ['https://github.com/newtonjoo/deepfold/archive'], + 'download_filename': '%s.tar.gz' % _commit, + 'filename': '%(name)s-%(version)s.tar.gz', + }], + 'patches': ['%(name)s-%(version)s_fix-simtk-deprecation.patch'], + 'install_cmd': local_install_cmd, + 'checksums': [ + # deepfold-20240308.tar.gz + 'f75140ed5e5b3e64591d73593b8cefdee5b63a8adedc93da6fa62a564ae77803', + # deepfold-20240308_fix-simtk-deprecation.patch + '8a551dd8dc1d141aad391f287a65477bed6d204fbedbd5bd45c74bc6d5efcdf4', + ], + }), +] + +modextravars = { + 'DEEPFOLD_PARAMETERS': '/databases/bio/deepfold/params', +} + +fix_python_shebang_for = ['bin/*.py'] + +sanity_check_paths = { + 'files': ['bin/run_from_pkl.py', 'bin/generate_pkl_features.py', 'bin/train.py'], + 'dirs': [], +} + +sanity_check_commands = ['train.py --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/deepfold/deepfold-20240308_fix-simtk-deprecation.patch b/easybuild/easyconfigs/d/deepfold/deepfold-20240308_fix-simtk-deprecation.patch new file mode 100644 index 00000000000..d08f7d7a2b1 --- /dev/null +++ b/easybuild/easyconfigs/d/deepfold/deepfold-20240308_fix-simtk-deprecation.patch @@ -0,0 +1,44 @@ +Fix ModuleNotFoundError for simtk.openmm. +Author: Cintia Willemyns (Vrije Universiteit Brussel) +diff -Naru deepfold-c91701d1d92db341e85fba687644046d416b1f19.orig/deepfold/relax/amber_minimize.py deepfold-c91701d1d92db341e85fba687644046d416b1f19/deepfold/relax/amber_minimize.py +--- deepfold-c91701d1d92db341e85fba687644046d416b1f19.orig/deepfold/relax/amber_minimize.py 2024-03-22 16:58:35.884771000 +0100 ++++ deepfold-c91701d1d92db341e85fba687644046d416b1f19/deepfold/relax/amber_minimize.py 2024-03-22 16:38:55.688749393 +0100 +@@ -28,8 +28,8 @@ + import numpy as np + from simtk import openmm + from simtk import unit +-from simtk.openmm import app as openmm_app +-from simtk.openmm.app.internal.pdbstructure import PdbStructure ++from openmm import app as openmm_app ++from openmm.app.internal.pdbstructure import PdbStructure + + + ENERGY = unit.kilocalories_per_mole +diff -Naru deepfold-c91701d1d92db341e85fba687644046d416b1f19.orig/deepfold/relax/cleanup.py deepfold-c91701d1d92db341e85fba687644046d416b1f19/deepfold/relax/cleanup.py +--- deepfold-c91701d1d92db341e85fba687644046d416b1f19.orig/deepfold/relax/cleanup.py 2024-03-22 16:58:35.884999000 +0100 ++++ deepfold-c91701d1d92db341e85fba687644046d416b1f19/deepfold/relax/cleanup.py 2024-03-29 14:23:44.288779000 +0100 +@@ -19,8 +19,8 @@ + import io + + import pdbfixer +-from simtk.openmm import app +-from simtk.openmm.app import element ++from openmm import app ++from openmm.app import element + + + def fix_pdb(pdbfile, alterations_info): +diff -Naru deepfold-c91701d1d92db341e85fba687644046d416b1f19.orig/deepfold/relax/utils.py deepfold-c91701d1d92db341e85fba687644046d416b1f19/deepfold/relax/utils.py +--- deepfold-c91701d1d92db341e85fba687644046d416b1f19.orig/deepfold/relax/utils.py 2024-03-22 16:58:35.887221923 +0100 ++++ deepfold-c91701d1d92db341e85fba687644046d416b1f19/deepfold/relax/utils.py 2024-03-22 17:00:41.078566002 +0100 +@@ -17,8 +17,8 @@ + from deepfold.common import residue_constants + from Bio import PDB + import numpy as np +-from simtk.openmm import app as openmm_app +-from simtk.openmm.app.internal.pdbstructure import PdbStructure ++from openmm import app as openmm_app ++from openmm.app.internal.pdbstructure import PdbStructure + + + def overwrite_pdb_coordinates(pdb_str: str, pos) -> str: diff --git a/easybuild/easyconfigs/d/dm-haiku/dm-haiku-0.0.9-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/d/dm-haiku/dm-haiku-0.0.9-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..0f20b2a9a61 --- /dev/null +++ b/easybuild/easyconfigs/d/dm-haiku/dm-haiku-0.0.9-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'dm-haiku' +version = '0.0.9' +versionsuffix = '-CUDA-11.7.0' + +homepage = 'https://github.com/deepmind/dm-haiku' +description = """Haiku is a simple neural network library for JAX developed by some of the authors of Sonnet, a neural +network library for TensorFlow.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('jax', '0.3.25', versionsuffix), +] + +use_pip = True + +exts_list = [ + ('jmp', '0.0.4', { + 'checksums': ['5dfeb0fd7c7a9f72a70fff0aab9d0cbfae32a809c02f4037ff3485ceb33e1730'], + }), + (name, version, { + 'modulename': 'haiku', + 'checksums': ['97752b32cdbe5a3e2d1c60ea884d33eb4b36e7d410000f0d61b571417c925435'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/ml-collections/ml-collections-0.1.1-foss-2022a.eb b/easybuild/easyconfigs/m/ml-collections/ml-collections-0.1.1-foss-2022a.eb new file mode 100644 index 00000000000..45607863471 --- /dev/null +++ b/easybuild/easyconfigs/m/ml-collections/ml-collections-0.1.1-foss-2022a.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'ml-collections' +version = '0.1.1' + +homepage = 'https://github.com/google/ml_collections' +description = """ +ML Collections is a library of Python Collections designed for ML use cases. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), +] + + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('absl-py', '1.4.0', { + 'modulename': 'absl', + 'checksums': ['d2c244d01048ba476e7c080bd2c6df5e141d211de80223460d5b3b8a2a58433d'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', version, { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' From ba4b8887c2fb67eb76f6bcb75672a3b879d5df76 Mon Sep 17 00:00:00 2001 From: Cintia Willemyns <115622907+WilleBell@users.noreply.github.com> Date: Fri, 29 Mar 2024 15:39:48 +0100 Subject: [PATCH 247/889] Update ml-collections-0.1.1-foss-2022a.eb remove duplicated line (sanity_pip_check = True) --- .../m/ml-collections/ml-collections-0.1.1-foss-2022a.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/m/ml-collections/ml-collections-0.1.1-foss-2022a.eb b/easybuild/easyconfigs/m/ml-collections/ml-collections-0.1.1-foss-2022a.eb index 45607863471..d29a795341f 100644 --- a/easybuild/easyconfigs/m/ml-collections/ml-collections-0.1.1-foss-2022a.eb +++ b/easybuild/easyconfigs/m/ml-collections/ml-collections-0.1.1-foss-2022a.eb @@ -18,7 +18,6 @@ dependencies = [ use_pip = True -sanity_pip_check = True exts_list = [ ('absl-py', '1.4.0', { From 41f2e88e78f7251a0cb5cf5ce6b850c7fbae2dc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Sat, 30 Mar 2024 18:27:58 +0000 Subject: [PATCH 248/889] adding easyconfigs: AMGX-2.4.0-foss-2023a-CUDA-12.1.1.eb, CCCL-2.3.0-GCCcore-12.3.0-CUDA-12.1.1.eb --- .../AMGX/AMGX-2.4.0-foss-2023a-CUDA-12.1.1.eb | 109 ++++++++++++++++++ .../CCCL-2.3.0-GCCcore-12.3.0-CUDA-12.1.1.eb | 37 ++++++ 2 files changed, 146 insertions(+) create mode 100644 easybuild/easyconfigs/a/AMGX/AMGX-2.4.0-foss-2023a-CUDA-12.1.1.eb create mode 100644 easybuild/easyconfigs/c/CCCL/CCCL-2.3.0-GCCcore-12.3.0-CUDA-12.1.1.eb diff --git a/easybuild/easyconfigs/a/AMGX/AMGX-2.4.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/a/AMGX/AMGX-2.4.0-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..f145e8edd9c --- /dev/null +++ b/easybuild/easyconfigs/a/AMGX/AMGX-2.4.0-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,109 @@ +easyblock = 'CMakeMake' + +name = 'AMGX' +version = '2.4.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/NVIDIA/AMGX' + +description = """Distributed multigrid linear solver library on GPU""" +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'openmp': True} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'AMGX-%(version)s_external-thrust.patch', + 'AMGX-%(version)s_fix-openmp-linking.patch', +] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('UCX-CUDA', '1.14.1', versionsuffix), + ('magma', '2.7.2', versionsuffix), + ('CCCL', '2.3.0', versionsuffix), +] + +cuda_compute_capabilities = ['7.0', '8.0', '9.0'] # AMGX defaults for CUDA 12 + +configopts = '-DCUDA_ARCH="%(cuda_cc_cmake)s" ' + +# Can't run all tests (55 failing); many fail due to mixed precision not being supported +# some fail due to missing external data files, many unknown issues +# All tests can be attempted with "amgx_tests_launcher --all" +local_tests = [ + 'AggregatesCoarseGeneratorTest', + 'AggregatesCoarseningFactor', + 'AggregatesDeterminism', + 'AggregatesDiagonalOutside', + 'AmgLevelsReuse', + 'CAPIFailure', + 'CAPIVersionCheck', + 'ClassicalStrengthAffinityTest', + 'ClassicalStrengthTest', + 'ConfigStringParsing', + 'CsrMultiplyTests_Poisson27_100_100', + 'CsrMultiplyTests_Poisson27_10_10', + 'CsrMultiplyTests_Poisson5_100_100', + 'CsrMultiplyTests_Poisson5_10_1', + 'CsrMultiplyTests_Poisson7_100_100', + 'CsrMultiplyTests_Poisson7_10_10', + 'CsrMultiplyTests_Poisson9_100_100', + 'CsrMultiplyTests_Poisson9_10_10', + 'CsrSparsityILU1Tests_Poisson27_100_100', + 'CsrSparsityILU1Tests_Poisson27_10_10', + 'CsrSparsityILU1Tests_Poisson5_100_100', + 'CsrSparsityILU1Tests_Poisson5_10_10', + 'CsrSparsityILU1Tests_Poisson7_100_100', + 'CsrSparsityILU1Tests_Poisson7_10_10', + 'CsrSparsityILU1Tests_Poisson9_100_100', + 'CsrSparsityILU1Tests_Poisson9_10_10', + 'CsrSparsityTests_Poisson27_100_100', + 'CsrSparsityTests_Poisson27_10_10', + 'CsrSparsityTests_Poisson5_100_100', + 'CsrSparsityTests_Poisson5_10_10', + 'CsrSparsityTests_Poisson7_100_100', + 'CsrSparsityTests_Poisson7_10_10', + 'CsrSparsityTests_Poisson9_100_100', + 'CsrSparsityTests_Poisson9_10_10', + 'DenseLUSolverTest_Factorization_Id_256', + 'DenseLUSolverTest_Factorization_Id_32', + 'DenseLUSolverTest_Solve_Id_256', + 'DenseLUSolverTest_Solve_Id_32', + 'DenseLUSolverTest_Solve_Poisson3D', + 'FactoriesTest', + 'FGMRESConvergencePoisson', + 'GenericSpMVTest', + 'IDRConvergencePoisson', + 'IDRmsyncConvergencePoisson', + 'LargeMatricesSupport', + 'LowDegDeterminism', + 'MatrixTests', + 'MatrixVectorMultiplyTests', + 'MinMaxColoringTest', + 'Nested_AMG_equivalence', + 'NestedSolvers', + 'NormTests', + 'ObjectDestructionSequence', + 'PermuteTests', + 'RandomMatrix', + 'SmootherBlockPoissonTest', + 'TemplateConfigTest', + 'TemplateTest', + 'truncateCountTest', + 'VectorTests', +] + +runtest = "amgx_tests_launcher && src/amgx_tests_launcher " + ' '.join(local_tests) + +sanity_check_paths = { + 'files': ['include/amgx_c.h', 'lib/libamgx.a', 'lib/libamgxsh.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/CCCL/CCCL-2.3.0-GCCcore-12.3.0-CUDA-12.1.1.eb b/easybuild/easyconfigs/c/CCCL/CCCL-2.3.0-GCCcore-12.3.0-CUDA-12.1.1.eb new file mode 100644 index 00000000000..21ea1108009 --- /dev/null +++ b/easybuild/easyconfigs/c/CCCL/CCCL-2.3.0-GCCcore-12.3.0-CUDA-12.1.1.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'CCCL' +version = '2.3.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/NVIDIA/cccl' + +description = """CUDA C++ Core Libraries (header only)""" +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['922c9e72a7d6d91ef6a1421f2545a947529a179d307853be1b1615c02241c271'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), +] + +configopts = '-DCMAKE_CUDA_ARCHITECTURES="%(cuda_cc_cmake)s" ' +# Testing disabled due to it trying to use the wrong compiler (needs nvcc) due to the toolchain +configopts += '-DCCCL_ENABLE_EXAMPLES=OFF -DCCCL_ENABLE_TESTING=OFF ' +configopts += '-DLIBCUDACXX_ENABLE_CMAKE_TESTS=OFF -DLIBCUDACXX_ENABLE_LIBCUDACXX_TESTS=OFF ' +configopts += '-DCUB_ENABLE_HEADER_TESTING=OFF -DCUB_ENABLE_TESTING=OFF ' +configopts += '-DTHRUST_ENABLE_HEADER_TESTING=OFF -DTHRUST_ENABLE_TESTING=OFF ' + +sanity_check_paths = { + 'files': ['include/cuda/version'], + 'dirs': ['include/cub', 'include/thrust', 'include/cuda'], +} + +moduleclass = 'lib' From 51f5ff9807412641fd5d1db063f3caac1ee741c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Sat, 30 Mar 2024 18:32:24 +0000 Subject: [PATCH 249/889] Patches --- .../a/AMGX/AMGX-2.4.0_external-thrust.patch | 10 ++++++++++ .../a/AMGX/AMGX-2.4.0_fix-openmp-linking.patch | 11 +++++++++++ 2 files changed, 21 insertions(+) create mode 100644 easybuild/easyconfigs/a/AMGX/AMGX-2.4.0_external-thrust.patch create mode 100644 easybuild/easyconfigs/a/AMGX/AMGX-2.4.0_fix-openmp-linking.patch diff --git a/easybuild/easyconfigs/a/AMGX/AMGX-2.4.0_external-thrust.patch b/easybuild/easyconfigs/a/AMGX/AMGX-2.4.0_external-thrust.patch new file mode 100644 index 00000000000..d2d9abdc658 --- /dev/null +++ b/easybuild/easyconfigs/a/AMGX/AMGX-2.4.0_external-thrust.patch @@ -0,0 +1,10 @@ +--- CMakeLists.txt.orig 2024-03-30 01:54:34.469780980 +0100 ++++ CMakeLists.txt 2024-03-30 01:54:46.491884432 +0100 +@@ -251,7 +251,6 @@ + ENDIF() + + # We depend on a specific version of thrust now so include the submodule +-add_subdirectory("thrust") + find_package(Thrust REQUIRED CONFIG) + thrust_create_target(Thrust) + diff --git a/easybuild/easyconfigs/a/AMGX/AMGX-2.4.0_fix-openmp-linking.patch b/easybuild/easyconfigs/a/AMGX/AMGX-2.4.0_fix-openmp-linking.patch new file mode 100644 index 00000000000..af3530489a3 --- /dev/null +++ b/easybuild/easyconfigs/a/AMGX/AMGX-2.4.0_fix-openmp-linking.patch @@ -0,0 +1,11 @@ +--- CMakeLists.txt.orig 2024-03-30 03:27:22.354168764 +0100 ++++ CMakeLists.txt 2024-03-30 03:28:00.397486779 +0100 +@@ -291,6 +291,8 @@ + ELSE (WIN32) + target_link_libraries(amgx CUDA::cublas CUDA::cusparse CUDA::cusolver CUDA::nvToolsExt m pthread) + target_link_libraries(amgxsh CUDA::cublas CUDA::cusparse CUDA::cusolver CUDA::nvToolsExt m pthread) ++ target_link_options(amgx INTERFACE "-fopenmp") ++ target_link_options(amgxsh INTERFACE "-fopenmp") + ENDIF(WIN32) + + if(MPI_FOUND) From d0c24bab77226f4de2da9293c25d640251522912 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Sat, 30 Mar 2024 22:02:42 +0000 Subject: [PATCH 250/889] binutils builddep --- .../easyconfigs/c/CCCL/CCCL-2.3.0-GCCcore-12.3.0-CUDA-12.1.1.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/c/CCCL/CCCL-2.3.0-GCCcore-12.3.0-CUDA-12.1.1.eb b/easybuild/easyconfigs/c/CCCL/CCCL-2.3.0-GCCcore-12.3.0-CUDA-12.1.1.eb index 21ea1108009..062f686dccd 100644 --- a/easybuild/easyconfigs/c/CCCL/CCCL-2.3.0-GCCcore-12.3.0-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/c/CCCL/CCCL-2.3.0-GCCcore-12.3.0-CUDA-12.1.1.eb @@ -15,6 +15,7 @@ sources = ['v%(version)s.tar.gz'] checksums = ['922c9e72a7d6d91ef6a1421f2545a947529a179d307853be1b1615c02241c271'] builddependencies = [ + ('binutils', '2.40'), ('CMake', '3.26.3'), ] From 7febf356425ea767f225bd2e4476ac0f8bdd4a49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Sat, 30 Mar 2024 22:25:04 +0000 Subject: [PATCH 251/889] Skip tests --- ...rch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index 004beb11dd4..337c96675fe 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -19,6 +19,7 @@ builddependencies = [ ('matplotlib', '3.7.2'), # for pytorch-ignite tests ('librosa', '0.10.1'), # for torchaudio tests ('NLTK', '3.8.1'), # for torchtext tests + ('Scalene', '1.5.26'), # for pynvml in ignite tests ] dependencies = [ @@ -129,12 +130,25 @@ exts_list = [ 'checksums': ['bfe4b6f1cd96e78c021a65a0c51350cdb89d6ef5a8b9609638666ca95bae51d7'], 'runtest': ( 'pytest' + ' -m "not multinode_distributed"' ' --ignore=tests/ignite/contrib/handlers/test_clearml_logger.py' # requires clearml + ' --ignore=tests/ignite/contrib/handlers/test_mlflow_logger.py' # requires mlflow + ' --ignore=tests/ignite/contrib/handlers/test_neptune_logger.py' # requires neptune + ' --ignore=tests/ignite/contrib/handlers/test_polyaxon_logger.py' # requires polyaxon + ' --ignore=tests/ignite/contrib/handlers/test_tensorboard_logger.py' # requires tensorboardX + ' --ignore=tests/ignite/contrib/handlers/test_visdom_logger.py' # requires visdom + ' --ignore=tests/ignite/contrib/handlers/test_wandb_logger.py' # requires wandb ' --ignore=tests/ignite/metrics/gan/test_fid.py' # requires pytorch_fid ' --ignore=tests/ignite/metrics/nlp/test_rouge.py' # requires rouge - ' -k "not test__native_dist_model_create_no_dist_nccl"' # hangs - '" and not test__native_dist_model_create_dist_gloo_2"' # hangs - '" and not test__native_dist_model_create_dist_nccl_2"' # hangs + ' --ignore=tests/ignite/distributed/test_launcher.py' # no module named torch in torchrun subprocess + ' --ignore=tests/ignite/handlers/test_checkpoint.py' # fails by comparing tensors on different devices + ' -k "not test_setup_visdom_logging"' # requires visdom + '" and not test_setup_plx_logging"' # requires polyaxon + '" and not test_setup_mlflow_logging"' # requires mlflow + '" and not test_setup_clearml_logging"' # requires clearml + '" and not test_setup_neptune_logging"' # requires neptune + '" and not test__setup_ddp_vars_from_slurm_env_bad_configs"' # fails sometimes + '" and not test__native_dist_model_create_from_backend_bad_config"' # fails sometimes ), 'testinstall': True, }), @@ -149,7 +163,7 @@ exts_list = [ '" and not test_profiler_api_with_record_shapes_memory_stack"' # fails '" and not test_profiler_api_without_record_shapes_memory_stack"' # fails '" and not test_profiler_api_without_step"' # fails - '" and test_autograd_api"' # fails + '" and not test_autograd_api"' # fails ), 'testinstall': True, }), From 2217ae1d46968badc5378b912bc01ca5a8ccd095 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Sun, 31 Mar 2024 00:45:04 +0000 Subject: [PATCH 252/889] Fix checksums --- .../easyconfigs/a/AMGX/AMGX-2.4.0-foss-2023a-CUDA-12.1.1.eb | 5 +++++ .../easyconfigs/a/AMGX/AMGX-2.4.0_external-thrust.patch | 3 +++ .../easyconfigs/a/AMGX/AMGX-2.4.0_fix-openmp-linking.patch | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/easybuild/easyconfigs/a/AMGX/AMGX-2.4.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/a/AMGX/AMGX-2.4.0-foss-2023a-CUDA-12.1.1.eb index f145e8edd9c..e4549fab545 100644 --- a/easybuild/easyconfigs/a/AMGX/AMGX-2.4.0-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/a/AMGX/AMGX-2.4.0-foss-2023a-CUDA-12.1.1.eb @@ -17,6 +17,11 @@ patches = [ 'AMGX-%(version)s_external-thrust.patch', 'AMGX-%(version)s_fix-openmp-linking.patch', ] +checksums = [ + {'v2.4.0.tar.gz': 'b030b8c2e58c4c9987444e5d28fd61e1c5dcd65d484a290d6a18ae0bc5c0e9db'}, + {'AMGX-2.4.0_external-thrust.patch': '90e4be09615a26bd7ebce68ced63d9d3b52141f7b480e8cedb17b05003656e16'}, + {'AMGX-2.4.0_fix-openmp-linking.patch': '10046d5d9fff48cb4902797525d43963855c4834f262bdc3c341bbc2cb1f6f76'}, +] builddependencies = [ ('CMake', '3.26.3'), diff --git a/easybuild/easyconfigs/a/AMGX/AMGX-2.4.0_external-thrust.patch b/easybuild/easyconfigs/a/AMGX/AMGX-2.4.0_external-thrust.patch index d2d9abdc658..6d734ab63d0 100644 --- a/easybuild/easyconfigs/a/AMGX/AMGX-2.4.0_external-thrust.patch +++ b/easybuild/easyconfigs/a/AMGX/AMGX-2.4.0_external-thrust.patch @@ -1,3 +1,6 @@ +Forces AMGX to use external dependencies, avoiding needing the git submodule +the entire (deprecated) thrust library and all its dependencies. +author: micketeer@gmail.com --- CMakeLists.txt.orig 2024-03-30 01:54:34.469780980 +0100 +++ CMakeLists.txt 2024-03-30 01:54:46.491884432 +0100 @@ -251,7 +251,6 @@ diff --git a/easybuild/easyconfigs/a/AMGX/AMGX-2.4.0_fix-openmp-linking.patch b/easybuild/easyconfigs/a/AMGX/AMGX-2.4.0_fix-openmp-linking.patch index af3530489a3..eab0e44e2b1 100644 --- a/easybuild/easyconfigs/a/AMGX/AMGX-2.4.0_fix-openmp-linking.patch +++ b/easybuild/easyconfigs/a/AMGX/AMGX-2.4.0_fix-openmp-linking.patch @@ -1,3 +1,7 @@ +Adds missing link option necessary for openmp linking. +The target_link_libraries used for amgx are not sufficient as CMake haven't +sorted this out yet, thus manually adding the flag for GCC. +author: micketeer@gmail.com --- CMakeLists.txt.orig 2024-03-30 03:27:22.354168764 +0100 +++ CMakeLists.txt 2024-03-30 03:28:00.397486779 +0100 @@ -291,6 +291,8 @@ From 00aa9532d64b1ff4b51c6407e8cdf744580bb9aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Sun, 31 Mar 2024 15:45:34 +0000 Subject: [PATCH 253/889] adding easyconfigs: dotNET-Core-6.0.420.eb, dotNET-Core-8.0.eb, dotNET-Core-8.0.203.eb, dotNET-Core-8.0.eb --- .../d/dotNET-Core/dotNET-Core-6.0.420.eb | 49 ++++++++++++++++++ .../d/dotNET-Core/dotNET-Core-8.0.203.eb | 50 +++++++++++++++++++ .../d/dotNET-Core/dotNET-Core-8.0.eb | 18 +++++++ 3 files changed, 117 insertions(+) create mode 100644 easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.420.eb create mode 100644 easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.203.eb create mode 100644 easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.eb diff --git a/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.420.eb b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.420.eb new file mode 100644 index 00000000000..21edbfd64f0 --- /dev/null +++ b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.420.eb @@ -0,0 +1,49 @@ +easyblock = "Tarball" + +name = "dotNET-Core" +version = "6.0.420" # uses the SDK version string, runtime is 6.0.28 + +homepage = "https://www.microsoft.com/net/" +description = """.NET is a free, cross-platform, open source developer platform for building many different types of applications. + +With .NET, you can use multiple languages, editors, and libraries to build for web, mobile, desktop, gaming, and IoT. + +Contains the SDK and the Runtime. +""" + +toolchain = SYSTEM + +local_variant = {'aarch64': 'linux-x64', 'x86_64': 'linux-x64', 'arm64': 'osx-x86'}.get(ARCH, ARCH) +source_urls = [ + "https://download.visualstudio.microsoft.com/download/pr/b521d7d2-108b-43d9-861a-58b2505a125a/0023553690a68328b33bc30a38f151db", # x86_64 + "https://download.visualstudio.microsoft.com/download/pr/d4704678-77d5-433e-97d3-a72b5a1f3316/b73d2c0c05f3df0c119b68418404a618", # arm64 + "https://download.visualstudio.microsoft.com/download/pr/4a4728b7-96e6-48f1-a072-6906205e6a58/de54331936784caded5ecd5d10b0ee81", # osx arm64 +] +sources = ["dotnet-sdk-%%(version)s-%s.tar.gz" % local_variant] +checksums = [ + {'dotnet-sdk-8.0.203-linux-x64.tar.gz': 'ce96088bec5b3a19397a4269b3c6041ca1da6147723c24603bbe0e6b36e0dd72'}, + {'dotnet-sdk-8.0.203-linux-arm64.tar.gz': '245834a0218a3ecd85f5adbef14e57a9970f2e56c498ad8fbfd3efcdad5c0b98'}, + {'dotnet-sdk-8.0.203-osx-arm64.tar.gz': '57221d5f2f558d368c7c9d1619f1450672443cd578d2db1f967dfc46b6e41447'}, +] + +sanity_check_paths = { + "files": ["dotnet", "LICENSE.txt"], + "dirs": [ + "shared/Microsoft.NETCore.App/", + "shared/Microsoft.AspNetCore.App/", + "sdk", + ], +} + +sanity_check_commands = ['dotnet --help'] + +modextrapaths = {"PATH": ""} + +# We are not sending usage stats to Microsoft...hopefully. +# The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous. It is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +# Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry +modextravars = { + "DOTNET_ROOT": "%(installdir)s", + "DOTNET_CLI_TELEMETRY_OPTOUT": "1", +} + diff --git a/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.203.eb b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.203.eb new file mode 100644 index 00000000000..eca900f7c06 --- /dev/null +++ b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.203.eb @@ -0,0 +1,50 @@ +easyblock = "Tarball" + +name = "dotNET-Core" +version = "8.0.203" # uses the SDK version string, runtime is 8.0.3 + +homepage = "https://www.microsoft.com/net/" +description = """.NET is a free, cross-platform, open source developer platform for building many different types of applications. + +With .NET, you can use multiple languages, editors, and libraries to build for web, mobile, desktop, gaming, and IoT. + +Contains the SDK and the Runtime. +""" + +toolchain = SYSTEM + +local_variant = {'aarch64': 'linux-x64', 'x86_64': 'linux-x64', 'arm64': 'osx-x86'}.get(ARCH, ARCH) +source_urls = [ + "https://download.visualstudio.microsoft.com/download/pr/656a3402-6889-400f-927f-7f956856e58b/93750973d6eedd17c6d963658e7ec214", # x86_64 + "https://download.visualstudio.microsoft.com/download/pr/aed2eece-af6d-42e6-8683-21e7835b7479/786b4f225591440a741c1702407fb7b3", # arm64 + "https://download.visualstudio.microsoft.com/download/pr/9019f736-bf0c-45c6-8ea1-c2370f7c59f1/e88a79c0abd77fd38de8271b7c06b293", # osx arm64 +] +sources = ["dotnet-sdk-%%(version)s-%s.tar.gz" % local_variant] +checksums = [ + {'dotnet-sdk-8.0.203-linux-x64.tar.gz': 'ce96088bec5b3a19397a4269b3c6041ca1da6147723c24603bbe0e6b36e0dd72'}, + {'dotnet-sdk-8.0.203-linux-arm64.tar.gz': '245834a0218a3ecd85f5adbef14e57a9970f2e56c498ad8fbfd3efcdad5c0b98'}, + {'dotnet-sdk-8.0.203-osx-arm64.tar.gz': '57221d5f2f558d368c7c9d1619f1450672443cd578d2db1f967dfc46b6e41447'}, +] + +sanity_check_paths = { + "files": ["dotnet", "LICENSE.txt"], + "dirs": [ + "shared/Microsoft.NETCore.App/", + "shared/Microsoft.AspNetCore.App/", + "sdk", + ], +} + +sanity_check_commands = ['dotnet --help'] + +modextrapaths = {"PATH": ""} + +# We are not sending usage stats to Microsoft...hopefully. +# The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous. It is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +# Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry +modextravars = { + "DOTNET_ROOT": "%(installdir)s", + "DOTNET_CLI_TELEMETRY_OPTOUT": "1", +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.eb b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.eb new file mode 100644 index 00000000000..edcddc4244d --- /dev/null +++ b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.eb @@ -0,0 +1,18 @@ +easyblock = 'ModuleRC' + +name = 'dotNET-Core' +version = '8.0' + +homepage = "https://www.microsoft.com/net/" +description = """.NET is a free, cross-platform, open source developer platform for building many different types of applications. + +With .NET, you can use multiple languages, editors, and libraries to build for web, mobile, desktop, gaming, and IoT. + +Contains the SDK and the Runtime. +""" + +toolchain = SYSTEM + +dependencies = [('dotNET-Core', '%(version)s.203')] + +moduleclass = 'lang' From 3ec94f7806758eb3fc99fa765e9709cff7b3b2e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Sun, 31 Mar 2024 15:51:19 +0000 Subject: [PATCH 254/889] fix style --- .../d/dotNET-Core/dotNET-Core-6.0.420.eb | 20 ++++++++++++------- .../d/dotNET-Core/dotNET-Core-8.0.203.eb | 20 ++++++++++++------- .../d/dotNET-Core/dotNET-Core-8.0.eb | 6 +++--- 3 files changed, 29 insertions(+), 17 deletions(-) diff --git a/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.420.eb b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.420.eb index 21edbfd64f0..2dd1aa8527f 100644 --- a/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.420.eb +++ b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.420.eb @@ -4,9 +4,9 @@ name = "dotNET-Core" version = "6.0.420" # uses the SDK version string, runtime is 6.0.28 homepage = "https://www.microsoft.com/net/" -description = """.NET is a free, cross-platform, open source developer platform for building many different types of applications. - -With .NET, you can use multiple languages, editors, and libraries to build for web, mobile, desktop, gaming, and IoT. +description = """.NET is a free, cross-platform, open source developer platform for building many different types of +applications. With .NET, you can use multiple languages, editors, and libraries to build for web, mobile, desktop, +gaming, and IoT. Contains the SDK and the Runtime. """ @@ -15,9 +15,12 @@ toolchain = SYSTEM local_variant = {'aarch64': 'linux-x64', 'x86_64': 'linux-x64', 'arm64': 'osx-x86'}.get(ARCH, ARCH) source_urls = [ - "https://download.visualstudio.microsoft.com/download/pr/b521d7d2-108b-43d9-861a-58b2505a125a/0023553690a68328b33bc30a38f151db", # x86_64 - "https://download.visualstudio.microsoft.com/download/pr/d4704678-77d5-433e-97d3-a72b5a1f3316/b73d2c0c05f3df0c119b68418404a618", # arm64 - "https://download.visualstudio.microsoft.com/download/pr/4a4728b7-96e6-48f1-a072-6906205e6a58/de54331936784caded5ecd5d10b0ee81", # osx arm64 + 'https://download.visualstudio.microsoft.com/download/pr/' + 'b521d7d2-108b-43d9-861a-58b2505a125a/0023553690a68328b33bc30a38f151db', # x86_64 + 'https://download.visualstudio.microsoft.com/download/pr/' + 'd4704678-77d5-433e-97d3-a72b5a1f3316/b73d2c0c05f3df0c119b68418404a618', # arm64 + 'https://download.visualstudio.microsoft.com/download/pr/' + '4a4728b7-96e6-48f1-a072-6906205e6a58/de54331936784caded5ecd5d10b0ee81', # osx arm64 ] sources = ["dotnet-sdk-%%(version)s-%s.tar.gz" % local_variant] checksums = [ @@ -40,7 +43,10 @@ sanity_check_commands = ['dotnet --help'] modextrapaths = {"PATH": ""} # We are not sending usage stats to Microsoft...hopefully. -# The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous. It is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +# The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous. +# It is collected by Microsoft and shared with the community. +# You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using +# your favorite shell. # Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry modextravars = { "DOTNET_ROOT": "%(installdir)s", diff --git a/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.203.eb b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.203.eb index eca900f7c06..50d84a92172 100644 --- a/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.203.eb +++ b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.203.eb @@ -4,9 +4,9 @@ name = "dotNET-Core" version = "8.0.203" # uses the SDK version string, runtime is 8.0.3 homepage = "https://www.microsoft.com/net/" -description = """.NET is a free, cross-platform, open source developer platform for building many different types of applications. - -With .NET, you can use multiple languages, editors, and libraries to build for web, mobile, desktop, gaming, and IoT. +description = """.NET is a free, cross-platform, open source developer platform for building many different types of +applications. With .NET, you can use multiple languages, editors, and libraries to build for web, mobile, desktop, +gaming, and IoT. Contains the SDK and the Runtime. """ @@ -15,9 +15,12 @@ toolchain = SYSTEM local_variant = {'aarch64': 'linux-x64', 'x86_64': 'linux-x64', 'arm64': 'osx-x86'}.get(ARCH, ARCH) source_urls = [ - "https://download.visualstudio.microsoft.com/download/pr/656a3402-6889-400f-927f-7f956856e58b/93750973d6eedd17c6d963658e7ec214", # x86_64 - "https://download.visualstudio.microsoft.com/download/pr/aed2eece-af6d-42e6-8683-21e7835b7479/786b4f225591440a741c1702407fb7b3", # arm64 - "https://download.visualstudio.microsoft.com/download/pr/9019f736-bf0c-45c6-8ea1-c2370f7c59f1/e88a79c0abd77fd38de8271b7c06b293", # osx arm64 + 'https://download.visualstudio.microsoft.com/download/pr/' + '656a3402-6889-400f-927f-7f956856e58b/93750973d6eedd17c6d963658e7ec214', # x86_64 + 'https://download.visualstudio.microsoft.com/download/pr/' + 'aed2eece-af6d-42e6-8683-21e7835b7479/786b4f225591440a741c1702407fb7b3', # arm64 + 'https://download.visualstudio.microsoft.com/download/pr/' + '9019f736-bf0c-45c6-8ea1-c2370f7c59f1/e88a79c0abd77fd38de8271b7c06b293', # osx arm64 ] sources = ["dotnet-sdk-%%(version)s-%s.tar.gz" % local_variant] checksums = [ @@ -40,7 +43,10 @@ sanity_check_commands = ['dotnet --help'] modextrapaths = {"PATH": ""} # We are not sending usage stats to Microsoft...hopefully. -# The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous. It is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +# The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous. +# It is collected by Microsoft and shared with the community. +# You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using +# your favorite shell. # Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry modextravars = { "DOTNET_ROOT": "%(installdir)s", diff --git a/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.eb b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.eb index edcddc4244d..e96d2cda876 100644 --- a/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.eb +++ b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.eb @@ -4,9 +4,9 @@ name = 'dotNET-Core' version = '8.0' homepage = "https://www.microsoft.com/net/" -description = """.NET is a free, cross-platform, open source developer platform for building many different types of applications. - -With .NET, you can use multiple languages, editors, and libraries to build for web, mobile, desktop, gaming, and IoT. +description = """.NET is a free, cross-platform, open source developer platform for building many different types of +applications. With .NET, you can use multiple languages, editors, and libraries to build for web, mobile, desktop, +gaming, and IoT. Contains the SDK and the Runtime. """ From cda1231025a1269e9737811009b39df267c4a858 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Sun, 31 Mar 2024 16:05:03 +0000 Subject: [PATCH 255/889] Fix checksums --- easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.420.eb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.420.eb b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.420.eb index 2dd1aa8527f..444ec1c07af 100644 --- a/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.420.eb +++ b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.420.eb @@ -24,9 +24,9 @@ source_urls = [ ] sources = ["dotnet-sdk-%%(version)s-%s.tar.gz" % local_variant] checksums = [ - {'dotnet-sdk-8.0.203-linux-x64.tar.gz': 'ce96088bec5b3a19397a4269b3c6041ca1da6147723c24603bbe0e6b36e0dd72'}, - {'dotnet-sdk-8.0.203-linux-arm64.tar.gz': '245834a0218a3ecd85f5adbef14e57a9970f2e56c498ad8fbfd3efcdad5c0b98'}, - {'dotnet-sdk-8.0.203-osx-arm64.tar.gz': '57221d5f2f558d368c7c9d1619f1450672443cd578d2db1f967dfc46b6e41447'}, + {'dotnet-sdk-6.0.420-linux-x64.tar.gz': 'd6ed3530d0d01a5b2210c5ee7eb9ffb8510b6cdb94fe41704eb72e2543a5bbc7'}, + {'dotnet-sdk-6.0.420-linux-arm64.tar.gz': 'bdb39576bde027736200a636fecd116ddbef02b3249b96c6e129dda040198654'}, + {'dotnet-sdk-6.0.420-osx-arm64.tar.gz': 'f2e57cb199a00d9d4cabd04dde23445dda78bca30cc6fa758a0ef1fb7a9d1a21'}, ] sanity_check_paths = { From 1aa939555ee196c633acb33ab1fc454885322598 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Sun, 31 Mar 2024 16:18:37 +0000 Subject: [PATCH 256/889] Fix missing wrapper --- .../d/dotNET-Core/dotNET-Core-6.0.eb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.eb diff --git a/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.eb b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.eb new file mode 100644 index 00000000000..a1332732b4f --- /dev/null +++ b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.eb @@ -0,0 +1,18 @@ +easyblock = 'ModuleRC' + +name = 'dotNET-Core' +version = '6.0' + +homepage = "https://www.microsoft.com/net/" +description = """.NET is a free, cross-platform, open source developer platform for building many different types of +applications. With .NET, you can use multiple languages, editors, and libraries to build for web, mobile, desktop, +gaming, and IoT. + +Contains the SDK and the Runtime. +""" + +toolchain = SYSTEM + +dependencies = [('dotNET-Core', '%(version)s.203')] + +moduleclass = 'lang' From 649a992143a05f207d6b7bec8ae041b975eee8ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Sun, 31 Mar 2024 16:20:40 +0000 Subject: [PATCH 257/889] Fix wrapped version --- easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.eb b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.eb index a1332732b4f..ee025cdf51d 100644 --- a/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.eb +++ b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.eb @@ -13,6 +13,6 @@ Contains the SDK and the Runtime. toolchain = SYSTEM -dependencies = [('dotNET-Core', '%(version)s.203')] +dependencies = [('dotNET-Core', '%(version)s.420')] moduleclass = 'lang' From 3dbb474cbe3c26129d7ee409c35281f1f23e271e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Sun, 31 Mar 2024 16:23:27 +0000 Subject: [PATCH 258/889] Fix module class --- easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.420.eb | 3 ++- easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.203.eb | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.420.eb b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.420.eb index 444ec1c07af..94a71067b83 100644 --- a/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.420.eb +++ b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.420.eb @@ -13,7 +13,7 @@ Contains the SDK and the Runtime. toolchain = SYSTEM -local_variant = {'aarch64': 'linux-x64', 'x86_64': 'linux-x64', 'arm64': 'osx-x86'}.get(ARCH, ARCH) +local_variant = {'aarch64': 'linux-x64', 'x86_64': 'linux-x64', 'arm64': 'osx-x86'}.get(ARCH) source_urls = [ 'https://download.visualstudio.microsoft.com/download/pr/' 'b521d7d2-108b-43d9-861a-58b2505a125a/0023553690a68328b33bc30a38f151db', # x86_64 @@ -53,3 +53,4 @@ modextravars = { "DOTNET_CLI_TELEMETRY_OPTOUT": "1", } +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.203.eb b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.203.eb index 50d84a92172..f541dbc92cf 100644 --- a/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.203.eb +++ b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.203.eb @@ -13,7 +13,7 @@ Contains the SDK and the Runtime. toolchain = SYSTEM -local_variant = {'aarch64': 'linux-x64', 'x86_64': 'linux-x64', 'arm64': 'osx-x86'}.get(ARCH, ARCH) +local_variant = {'aarch64': 'linux-x64', 'x86_64': 'linux-x64', 'arm64': 'osx-x86'}.get(ARCH) source_urls = [ 'https://download.visualstudio.microsoft.com/download/pr/' '656a3402-6889-400f-927f-7f956856e58b/93750973d6eedd17c6d963658e7ec214', # x86_64 From 2ef242663934de078513b53736729d3adfc67078 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Sun, 31 Mar 2024 16:39:47 +0000 Subject: [PATCH 259/889] adding easyconfigs: MetaMorpheus-1.0.5.eb --- .../m/MetaMorpheus/MetaMorpheus-1.0.5.eb | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 easybuild/easyconfigs/m/MetaMorpheus/MetaMorpheus-1.0.5.eb diff --git a/easybuild/easyconfigs/m/MetaMorpheus/MetaMorpheus-1.0.5.eb b/easybuild/easyconfigs/m/MetaMorpheus/MetaMorpheus-1.0.5.eb new file mode 100644 index 00000000000..9570e0d7ede --- /dev/null +++ b/easybuild/easyconfigs/m/MetaMorpheus/MetaMorpheus-1.0.5.eb @@ -0,0 +1,35 @@ +easyblock = 'Tarball' + +name = 'MetaMorpheus' +version = '1.0.5' + +homepage = 'https://github.com/smith-chem-wisc/MetaMorpheus' +description = """MetaMorpheus is a bottom-up proteomics database search software + with integrated post-translational modification (PTM) discovery capability. + This program combines features of Morpheus and G-PTM-D in a single tool. +""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/smith-chem-wisc/%(name)s/releases/download/%(version)s'] +sources = [{ + 'download_filename': '%(name)s_CommandLine.zip', + 'filename': SOURCE_ZIP, +}] +checksums = ['cad92b262ca5508c4d8a04e0d342f1260b85d354cd53152db9d7f6cc1e5a0490'] + +dependencies = [ + ('dotNET-Core', '6.0'), +] + +sanity_check_paths = { + 'files': ['CMD.dll'], + 'dirs': [], +} + +_cmd = "dotnet %(installdir)s/CMD.dll" +sanity_check_commands = ["%s %s" % (_cmd, x) for x in ['--help', '--test -o %(builddir)s/test']] + +modaliases = {'metamorpheus': _cmd} + +moduleclass = 'bio' From 0a51b2b72c21bf70aa447ddd56062c42d3e40b4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Sun, 31 Mar 2024 18:44:28 +0000 Subject: [PATCH 260/889] Fix checksum dict --- .../easyconfigs/d/dotNET-Core/dotNET-Core-6.0.420.eb | 10 +++++----- .../easyconfigs/d/dotNET-Core/dotNET-Core-8.0.203.eb | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.420.eb b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.420.eb index 94a71067b83..46eb6c127d7 100644 --- a/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.420.eb +++ b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.420.eb @@ -23,11 +23,11 @@ source_urls = [ '4a4728b7-96e6-48f1-a072-6906205e6a58/de54331936784caded5ecd5d10b0ee81', # osx arm64 ] sources = ["dotnet-sdk-%%(version)s-%s.tar.gz" % local_variant] -checksums = [ - {'dotnet-sdk-6.0.420-linux-x64.tar.gz': 'd6ed3530d0d01a5b2210c5ee7eb9ffb8510b6cdb94fe41704eb72e2543a5bbc7'}, - {'dotnet-sdk-6.0.420-linux-arm64.tar.gz': 'bdb39576bde027736200a636fecd116ddbef02b3249b96c6e129dda040198654'}, - {'dotnet-sdk-6.0.420-osx-arm64.tar.gz': 'f2e57cb199a00d9d4cabd04dde23445dda78bca30cc6fa758a0ef1fb7a9d1a21'}, -] +checksums = [{ + 'dotnet-sdk-6.0.420-linux-x64.tar.gz': 'd6ed3530d0d01a5b2210c5ee7eb9ffb8510b6cdb94fe41704eb72e2543a5bbc7', + 'dotnet-sdk-6.0.420-linux-arm64.tar.gz': 'bdb39576bde027736200a636fecd116ddbef02b3249b96c6e129dda040198654', + 'dotnet-sdk-6.0.420-osx-arm64.tar.gz': 'f2e57cb199a00d9d4cabd04dde23445dda78bca30cc6fa758a0ef1fb7a9d1a21', +}] sanity_check_paths = { "files": ["dotnet", "LICENSE.txt"], diff --git a/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.203.eb b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.203.eb index f541dbc92cf..af56fd166a2 100644 --- a/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.203.eb +++ b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.203.eb @@ -23,11 +23,11 @@ source_urls = [ '9019f736-bf0c-45c6-8ea1-c2370f7c59f1/e88a79c0abd77fd38de8271b7c06b293', # osx arm64 ] sources = ["dotnet-sdk-%%(version)s-%s.tar.gz" % local_variant] -checksums = [ - {'dotnet-sdk-8.0.203-linux-x64.tar.gz': 'ce96088bec5b3a19397a4269b3c6041ca1da6147723c24603bbe0e6b36e0dd72'}, - {'dotnet-sdk-8.0.203-linux-arm64.tar.gz': '245834a0218a3ecd85f5adbef14e57a9970f2e56c498ad8fbfd3efcdad5c0b98'}, - {'dotnet-sdk-8.0.203-osx-arm64.tar.gz': '57221d5f2f558d368c7c9d1619f1450672443cd578d2db1f967dfc46b6e41447'}, -] +checksums = [{ + 'dotnet-sdk-8.0.203-linux-x64.tar.gz': 'ce96088bec5b3a19397a4269b3c6041ca1da6147723c24603bbe0e6b36e0dd72', + 'dotnet-sdk-8.0.203-linux-arm64.tar.gz': '245834a0218a3ecd85f5adbef14e57a9970f2e56c498ad8fbfd3efcdad5c0b98', + 'dotnet-sdk-8.0.203-osx-arm64.tar.gz': '57221d5f2f558d368c7c9d1619f1450672443cd578d2db1f967dfc46b6e41447', +}] sanity_check_paths = { "files": ["dotnet", "LICENSE.txt"], From 51292cb2610928a017683c5bc2a57f764d037fdc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Mon, 1 Apr 2024 23:41:10 +0200 Subject: [PATCH 261/889] Update easybuild/easyconfigs/a/AFNI/AFNI-24.0.02-foss-2023a.eb --- easybuild/easyconfigs/a/AFNI/AFNI-24.0.02-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/a/AFNI/AFNI-24.0.02-foss-2023a.eb b/easybuild/easyconfigs/a/AFNI/AFNI-24.0.02-foss-2023a.eb index 265f24fc704..a1b2860e3fa 100644 --- a/easybuild/easyconfigs/a/AFNI/AFNI-24.0.02-foss-2023a.eb +++ b/easybuild/easyconfigs/a/AFNI/AFNI-24.0.02-foss-2023a.eb @@ -32,7 +32,7 @@ dependencies = [ ('libpng', '1.6.39'), ('libjpeg-turbo', '2.1.5.1'), ('GSL', '2.7'), - ('GLib', '2.77.1'), # must match version used in Qt5 (via PyQt5) + ('GLib', '2.77.1'), ('zlib', '1.2.13'), ('freeglut', '3.4.0'), ('Pillow', '10.0.0'), From ed8bfb3d6be1df4c7ac25c72b0c324650c82e0f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Tue, 2 Apr 2024 13:11:06 +0000 Subject: [PATCH 262/889] Exclude yet more problematic tests --- .../PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index 337c96675fe..9621e822e22 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -130,7 +130,7 @@ exts_list = [ 'checksums': ['bfe4b6f1cd96e78c021a65a0c51350cdb89d6ef5a8b9609638666ca95bae51d7'], 'runtest': ( 'pytest' - ' -m "not multinode_distributed"' + ' -m "not distributed"' ' --ignore=tests/ignite/contrib/handlers/test_clearml_logger.py' # requires clearml ' --ignore=tests/ignite/contrib/handlers/test_mlflow_logger.py' # requires mlflow ' --ignore=tests/ignite/contrib/handlers/test_neptune_logger.py' # requires neptune @@ -140,15 +140,12 @@ exts_list = [ ' --ignore=tests/ignite/contrib/handlers/test_wandb_logger.py' # requires wandb ' --ignore=tests/ignite/metrics/gan/test_fid.py' # requires pytorch_fid ' --ignore=tests/ignite/metrics/nlp/test_rouge.py' # requires rouge - ' --ignore=tests/ignite/distributed/test_launcher.py' # no module named torch in torchrun subprocess ' --ignore=tests/ignite/handlers/test_checkpoint.py' # fails by comparing tensors on different devices ' -k "not test_setup_visdom_logging"' # requires visdom '" and not test_setup_plx_logging"' # requires polyaxon '" and not test_setup_mlflow_logging"' # requires mlflow '" and not test_setup_clearml_logging"' # requires clearml '" and not test_setup_neptune_logging"' # requires neptune - '" and not test__setup_ddp_vars_from_slurm_env_bad_configs"' # fails sometimes - '" and not test__native_dist_model_create_from_backend_bad_config"' # fails sometimes ), 'testinstall': True, }), From c7d4ec8b20dd1ec4b5e01ae3c5ffa2611cc867e4 Mon Sep 17 00:00:00 2001 From: Ake Sandgren Date: Wed, 3 Apr 2024 07:39:10 +0200 Subject: [PATCH 263/889] adding easyconfigs: polars-0.20.2-gfbf-2023a.eb --- .../p/polars/polars-0.20.2-gfbf-2023a.eb | 908 ++++++++++++++++++ 1 file changed, 908 insertions(+) create mode 100644 easybuild/easyconfigs/p/polars/polars-0.20.2-gfbf-2023a.eb diff --git a/easybuild/easyconfigs/p/polars/polars-0.20.2-gfbf-2023a.eb b/easybuild/easyconfigs/p/polars/polars-0.20.2-gfbf-2023a.eb new file mode 100644 index 00000000000..0253798f8d6 --- /dev/null +++ b/easybuild/easyconfigs/p/polars/polars-0.20.2-gfbf-2023a.eb @@ -0,0 +1,908 @@ +easyblock = 'CargoPythonPackage' + +name = 'polars' +version = '0.20.2' + +homepage = 'https://pola.rs/' +description = """Polars is a blazingly fast DataFrame library for manipulating +structured data. The core is written in Rust and this module provides its +interface for Python.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = [ + {'polars-0.20.2.tar.gz': '483562f157e6aef6cb4343bf13d11295c8bff55ee62fef8010975a5fc22ff4e0'}, + {'addr2line-0.21.0.tar.gz': '8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb'}, + {'adler-1.0.2.tar.gz': 'f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe'}, + {'adler32-1.2.0.tar.gz': 'aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234'}, + {'ahash-0.8.6.tar.gz': '91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a'}, + {'aho-corasick-1.1.2.tar.gz': 'b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0'}, + {'alloc-no-stdlib-2.0.4.tar.gz': 'cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3'}, + {'alloc-stdlib-0.2.2.tar.gz': '94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece'}, + {'allocator-api2-0.2.16.tar.gz': '0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5'}, + {'android-tzdata-0.1.1.tar.gz': 'e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0'}, + {'android_system_properties-0.1.5.tar.gz': '819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311'}, + {'anes-0.1.6.tar.gz': '4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299'}, + {'anstyle-1.0.4.tar.gz': '7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87'}, + {'anyhow-1.0.75.tar.gz': 'a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6'}, + {'apache-avro-0.16.0.tar.gz': 'ceb7c683b2f8f40970b70e39ff8be514c95b96fcb9c4af87e1ed2cb2e10801a0'}, + {'argminmax-0.6.1.tar.gz': '202108b46429b765ef483f8a24d5c46f48c14acfdacc086dd4ab6dddf6bcdbd2'}, + {'array-init-cursor-0.2.0.tar.gz': 'bf7d0a018de4f6aa429b9d33d69edf69072b1c5b1cb8d3e4a5f7ef898fc3eb76'}, + {'arrow-array-49.0.0.tar.gz': '6bda9acea48b25123c08340f3a8ac361aa0f74469bb36f5ee9acf923fce23e9d'}, + {'arrow-buffer-49.0.0.tar.gz': '01a0fc21915b00fc6c2667b069c1b64bdd920982f426079bc4a7cab86822886c'}, + {'arrow-data-49.0.0.tar.gz': '907fafe280a3874474678c1858b9ca4cb7fd83fb8034ff5b6d6376205a08c634'}, + {'arrow-format-0.8.1.tar.gz': '07884ea216994cdc32a2d5f8274a8bee979cfe90274b83f86f440866ee3132c7'}, + {'arrow-schema-49.0.0.tar.gz': '09e28a5e781bf1b0f981333684ad13f5901f4cd2f20589eab7cf1797da8fc167'}, + {'arrow2-0.17.4.tar.gz': '59c468daea140b747d781a1da9f7db5f0a8e6636d4af20cc539e43d05b0604fa'}, + {'async-stream-0.3.5.tar.gz': 'cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51'}, + {'async-stream-impl-0.3.5.tar.gz': '16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193'}, + {'async-trait-0.1.74.tar.gz': 'a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9'}, + {'atoi-2.0.0.tar.gz': 'f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528'}, + {'atoi_simd-0.15.5.tar.gz': 'ccfc14f5c3e34de57539a7ba9c18ecde3d9bbde48d232ea1da3e468adb307fd0'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'avro-schema-0.3.0.tar.gz': 'b5281855b39aba9684d2f47bf96983fbfd8f1725f12fabb0513a8ab879647bbd'}, + {'aws-config-1.0.3.tar.gz': '004dc45f6b869e6a70725df448004a720b7f52f6607d55d8815cbd5448f86def'}, + {'aws-credential-types-1.0.3.tar.gz': 'cfa51c87f10211f37cd78e6d01d6f18b3f96a086906ed361d11e04ac53e29508'}, + {'aws-http-0.60.0.tar.gz': '361c4310fdce94328cc2d1ca0c8a48c13f43009c61d3367585685a50ca8c66b6'}, + {'aws-runtime-1.0.3.tar.gz': 'ce0953f7fc1c4428511345e28ea3e98c8b59c9e91eafae30bf76d71d70642693'}, + {'aws-sdk-s3-1.7.0.tar.gz': 'c1c12ff4dee4cbcfb0f7b7c19b1f72d5603ff8cd1183db7678a10ecf378ba534'}, + {'aws-sdk-sso-1.6.0.tar.gz': '86575c7604dcdb583aba3390200e5333d8e4fe597bad54f57b190aaf4fac9771'}, + {'aws-sdk-ssooidc-1.6.0.tar.gz': 'bef0d7c1d0730adb5e85407174483a579e39576e0f4350ecd0fac69ec1217b1b'}, + {'aws-sdk-sts-1.6.0.tar.gz': 'f45778089751d5aa8645a02dd60865fa0eea39f00be5db2c7779bc50b83db19a'}, + {'aws-sigv4-1.0.3.tar.gz': 'b6bcbad6e0f130232b22e4b4e28834348ce5b79c23b5059b387c08fd0dc8f876'}, + {'aws-smithy-async-1.1.1.tar.gz': '1e9f65000917e3aa94c259d67fe01fa9e4cd456187d026067d642436e6311a81'}, + {'aws-smithy-checksums-0.60.1.tar.gz': '4c2a63681f82fb85ca58d566534b7dc619c782fee0c61c1aa51e2b560c21cb4f'}, + {'aws-smithy-eventstream-0.60.1.tar.gz': 'a85e16fa903c70c49ab3785e5f4ac2ad2171b36e0616f321011fa57962404bb6'}, + {'aws-smithy-http-0.60.1.tar.gz': 'e4e816425a6b9caea4929ac97d0cb33674849bd5f0086418abc0d02c63f7a1bf'}, + {'aws-smithy-json-0.60.1.tar.gz': '8ab3f6d49e08df2f8d05e1bb5b68998e1e67b76054d3c43e7b954becb9a5e9ac'}, + {'aws-smithy-query-0.60.1.tar.gz': '0f94a7a3aa509ff9e8b8d80749851d04e5eee0954c43f2e7d6396c4740028737'}, + {'aws-smithy-runtime-1.1.1.tar.gz': '8da5b0a3617390e769576321816112f711c13d7e1114685e022505cf51fe5e48'}, + {'aws-smithy-runtime-api-1.1.1.tar.gz': '2404c9eb08bfe9af255945254d9afc69a367b7ee008b8db75c05e3bca485fc65'}, + {'aws-smithy-types-1.1.1.tar.gz': '2aba8136605d14ac88f57dc3a693a9f8a4eab4a3f52bc03ff13746f0cd704e97'}, + {'aws-smithy-xml-0.60.1.tar.gz': '2e8f03926587fc881b12b102048bb04305bf7fb8c83e776f0ccc51eaa2378263'}, + {'aws-types-1.0.3.tar.gz': 'faa59f6f26a3472ca2ce7e7802d037a0a9a7ac23de5761eadd9b68f31ac4fd21'}, + {'backtrace-0.3.69.tar.gz': '2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837'}, + {'base16ct-0.1.1.tar.gz': '349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce'}, + {'base64-0.21.5.tar.gz': '35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9'}, + {'base64-simd-0.8.0.tar.gz': '339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195'}, + {'base64ct-1.6.0.tar.gz': '8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b'}, + {'bincode-1.3.3.tar.gz': 'b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'bitflags-2.4.1.tar.gz': '327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07'}, + {'block-buffer-0.10.4.tar.gz': '3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71'}, + {'brotli-3.4.0.tar.gz': '516074a47ef4bce09577a3b379392300159ce5b1ba2e501ff1c819950066100f'}, + {'brotli-decompressor-2.5.1.tar.gz': '4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f'}, + {'built-0.7.1.tar.gz': '38d17f4d6e4dc36d1a02fbedc2753a096848e7c1b0772f7654eab8e2c927dd53'}, + {'bumpalo-3.14.0.tar.gz': '7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec'}, + {'bytemuck-1.14.0.tar.gz': '374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6'}, + {'bytemuck_derive-1.5.0.tar.gz': '965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1'}, + {'bytes-1.5.0.tar.gz': 'a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223'}, + {'bytes-utils-0.1.4.tar.gz': '7dafe3a8757b027e2be6e4e5601ed563c55989fcf1546e933c66c8eb3a058d35'}, + {'cargo-lock-9.0.0.tar.gz': 'e11c675378efb449ed3ce8de78d75d0d80542fc98487c26aba28eb3b82feac72'}, + {'casey-0.4.0.tar.gz': '614586263949597dcc18675da12ef9b429135e13628d92eb8b8c6fa50ca5656b'}, + {'cast-0.3.0.tar.gz': '37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5'}, + {'cc-1.0.83.tar.gz': 'f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'chrono-0.4.31.tar.gz': '7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38'}, + {'chrono-tz-0.8.4.tar.gz': 'e23185c0e21df6ed832a12e2bda87c7d1def6842881fb634a8511ced741b0d76'}, + {'chrono-tz-build-0.2.1.tar.gz': '433e39f13c9a060046954e0592a8d0a4bcb1040125cbf91cb8ee58964cfb350f'}, + {'ciborium-0.2.1.tar.gz': 'effd91f6c78e5a4ace8a5d3c0b6bfaec9e2baaef55f3efc00e45fb2e477ee926'}, + {'ciborium-io-0.2.1.tar.gz': 'cdf919175532b369853f5d5e20b26b43112613fd6fe7aee757e35f7a44642656'}, + {'ciborium-ll-0.2.1.tar.gz': 'defaa24ecc093c77630e6c15e17c51f5e187bf35ee514f4e2d67baaa96dae22b'}, + {'clap-4.4.11.tar.gz': 'bfaff671f6b22ca62406885ece523383b9b64022e341e53e009a62ebc47a45f2'}, + {'clap_builder-4.4.11.tar.gz': 'a216b506622bb1d316cd51328dce24e07bdff4a6128a47c7e7fad11878d5adbb'}, + {'clap_lex-0.6.0.tar.gz': '702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1'}, + {'cmake-0.1.50.tar.gz': 'a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130'}, + {'comfy-table-7.1.0.tar.gz': '7c64043d6c7b7a4c58e39e7efccfdea7b93d885a795d0c054a69dbbf4dd52686'}, + {'const-oid-0.9.5.tar.gz': '28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f'}, + {'const-random-0.1.17.tar.gz': '5aaf16c9c2c612020bcfd042e170f6e32de9b9d75adb5277cdbbd2e2c8c8299a'}, + {'const-random-macro-0.1.16.tar.gz': 'f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e'}, + {'core-foundation-0.9.4.tar.gz': '91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f'}, + {'core-foundation-sys-0.8.6.tar.gz': '06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f'}, + {'core2-0.4.0.tar.gz': 'b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505'}, + {'cpufeatures-0.2.11.tar.gz': 'ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0'}, + {'crc-2.1.0.tar.gz': '49fc9a695bca7f35f5f4c15cddc84415f66a74ea78eef08e90c5024f2b540e23'}, + {'crc-catalog-1.1.1.tar.gz': 'ccaeedb56da03b09f598226e25e80088cb4cd25f316e6e4df7d695f0feeb1403'}, + {'crc32c-0.6.4.tar.gz': 'd8f48d60e5b4d2c53d5c2b1d8a58c849a70ae5e5509b08a48d047e3b65714a74'}, + {'crc32fast-1.3.2.tar.gz': 'b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d'}, + {'criterion-0.5.1.tar.gz': 'f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f'}, + {'criterion-plot-0.5.0.tar.gz': '6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1'}, + {'crossbeam-channel-0.5.9.tar.gz': '14c3242926edf34aec4ac3a77108ad4854bffaa2e4ddc1824124ce59231302d5'}, + {'crossbeam-deque-0.8.4.tar.gz': 'fca89a0e215bab21874660c67903c5f143333cab1da83d041c7ded6053774751'}, + {'crossbeam-epoch-0.9.16.tar.gz': '2d2fe95351b870527a5d09bf563ed3c97c0cffb87cf1c78a591bf48bb218d9aa'}, + {'crossbeam-queue-0.3.9.tar.gz': 'b9bcf5bdbfdd6030fb4a1c497b5d5fc5921aa2f60d359a17e249c0e6df3de153'}, + {'crossbeam-utils-0.8.17.tar.gz': 'c06d96137f14f244c37f989d9fff8f95e6c18b918e71f36638f8c49112e4c78f'}, + {'crossterm-0.27.0.tar.gz': 'f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df'}, + {'crossterm_winapi-0.9.1.tar.gz': 'acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b'}, + {'crunchy-0.2.2.tar.gz': '7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7'}, + {'crypto-bigint-0.4.9.tar.gz': 'ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef'}, + {'crypto-bigint-0.5.5.tar.gz': '0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76'}, + {'crypto-common-0.1.6.tar.gz': '1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3'}, + {'dary_heap-0.3.6.tar.gz': '7762d17f1241643615821a8455a0b2c3e803784b058693d990b11f2dce25a0ca'}, + {'der-0.6.1.tar.gz': 'f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de'}, + {'deranged-0.3.10.tar.gz': '8eb30d70a07a3b04884d2677f06bec33509dc67ca60d92949e5535352d3191dc'}, + {'digest-0.10.7.tar.gz': '9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292'}, + {'doc-comment-0.3.3.tar.gz': 'fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10'}, + {'dyn-clone-1.0.16.tar.gz': '545b22097d44f8a9581187cdf93de7a71e4722bf51200cfaba810865b49a495d'}, + {'ecdsa-0.14.8.tar.gz': '413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c'}, + {'either-1.9.0.tar.gz': 'a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07'}, + {'elliptic-curve-0.12.3.tar.gz': 'e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3'}, + {'encoding_rs-0.8.33.tar.gz': '7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1'}, + {'enum_dispatch-0.3.12.tar.gz': '8f33313078bb8d4d05a2733a94ac4c2d8a0df9a2b84424ebf4f33bfc224a890e'}, + {'env_logger-0.8.4.tar.gz': 'a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3'}, + {'equivalent-1.0.1.tar.gz': '5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5'}, + {'errno-0.3.8.tar.gz': 'a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245'}, + {'ethnum-1.5.0.tar.gz': 'b90ca2580b73ab6a1f724b76ca11ab632df820fd6040c336200d2c1df7b3c82c'}, + {'fallible-streaming-iterator-0.1.9.tar.gz': '7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a'}, + {'fast-float-0.2.0.tar.gz': '95765f67b4b18863968b4a1bd5bb576f732b29a4a28c7cd84c09fa3e2875f33c'}, + {'fastrand-2.0.1.tar.gz': '25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5'}, + {'ff-0.12.1.tar.gz': 'd013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160'}, + {'flate2-1.0.28.tar.gz': '46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e'}, + {'float-cmp-0.9.0.tar.gz': '98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4'}, + {'fnv-1.0.7.tar.gz': '3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1'}, + {'foreign_vec-0.1.0.tar.gz': 'ee1b05cbd864bcaecbd3455d6d967862d446e4ebfc3c2e5e5b9841e53cba6673'}, + {'form_urlencoded-1.2.1.tar.gz': 'e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456'}, + {'futures-0.3.29.tar.gz': 'da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335'}, + {'futures-channel-0.3.29.tar.gz': 'ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb'}, + {'futures-core-0.3.29.tar.gz': 'eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c'}, + {'futures-executor-0.3.29.tar.gz': '0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc'}, + {'futures-io-0.3.29.tar.gz': '8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa'}, + {'futures-macro-0.3.29.tar.gz': '53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb'}, + {'futures-sink-0.3.29.tar.gz': 'e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817'}, + {'futures-task-0.3.29.tar.gz': 'efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2'}, + {'futures-util-0.3.29.tar.gz': 'a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104'}, + {'generic-array-0.14.7.tar.gz': '85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a'}, + {'getrandom-0.2.11.tar.gz': 'fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f'}, + {'gimli-0.28.1.tar.gz': '4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253'}, + {'git2-0.18.1.tar.gz': 'fbf97ba92db08df386e10c8ede66a2a0369bd277090afd8710e19e38de9ec0cd'}, + {'glob-0.3.1.tar.gz': 'd2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b'}, + {'group-0.12.1.tar.gz': '5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7'}, + {'h2-0.3.22.tar.gz': '4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178'}, + {'half-1.8.2.tar.gz': 'eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7'}, + {'half-2.3.1.tar.gz': 'bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872'}, + {'halfbrown-0.2.4.tar.gz': '5681137554ddff44396e5f149892c769d45301dd9aa19c51602a89ee214cb0ec'}, + {'hash_hasher-2.0.3.tar.gz': '74721d007512d0cb3338cd20f0654ac913920061a4c4d0d8708edb3f2a698c0c'}, + {'hashbrown-0.13.2.tar.gz': '43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e'}, + {'hashbrown-0.14.3.tar.gz': '290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'hermit-abi-0.3.3.tar.gz': 'd77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7'}, + {'hex-0.4.3.tar.gz': '7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70'}, + {'hmac-0.12.1.tar.gz': '6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e'}, + {'home-0.5.5.tar.gz': '5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb'}, + {'http-0.2.11.tar.gz': '8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb'}, + {'http-body-0.4.6.tar.gz': '7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2'}, + {'httparse-1.8.0.tar.gz': 'd897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904'}, + {'httpdate-1.0.3.tar.gz': 'df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9'}, + {'humantime-2.1.0.tar.gz': '9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4'}, + {'hyper-0.14.27.tar.gz': 'ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468'}, + {'hyper-rustls-0.24.2.tar.gz': 'ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590'}, + {'iana-time-zone-0.1.58.tar.gz': '8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20'}, + {'iana-time-zone-haiku-0.1.2.tar.gz': 'f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f'}, + {'idna-0.5.0.tar.gz': '634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6'}, + {'indexmap-2.1.0.tar.gz': 'd530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f'}, + {'indoc-2.0.4.tar.gz': '1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8'}, + {'inventory-0.3.13.tar.gz': '0508c56cfe9bfd5dfeb0c22ab9a6abfda2f27bdca422132e494266351ed8d83c'}, + {'ipnet-2.9.0.tar.gz': '8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3'}, + {'is-terminal-0.4.9.tar.gz': 'cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b'}, + {'itertools-0.10.5.tar.gz': 'b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473'}, + {'itertools-0.11.0.tar.gz': 'b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57'}, + {'itoa-1.0.10.tar.gz': 'b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c'}, + {'itoap-1.0.1.tar.gz': '9028f49264629065d057f340a86acb84867925865f73bbf8d47b4d149a7e88b8'}, + {'jemalloc-sys-0.5.4+5.3.0-patched.tar.gz': 'ac6c1946e1cea1788cbfde01c993b52a10e2da07f4bac608228d1bed20bfebf2'}, + {'jemallocator-0.5.4.tar.gz': 'a0de374a9f8e63150e6f5e8a60cc14c668226d7a347d8aee1a45766e3c4dd3bc'}, + {'jobserver-0.1.27.tar.gz': '8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d'}, + {'js-sys-0.3.66.tar.gz': 'cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca'}, + {'jsonpath_lib-0.3.0.tar.gz': 'ae7f51d58613783097caa5281dc7f45b541975ab6067be49945119dae27cf5b3'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'lexical-core-0.8.5.tar.gz': '2cde5de06e8d4c2faabc400238f9ae1c74d5412d03a7bd067645ccbc47070e46'}, + {'lexical-parse-float-0.8.5.tar.gz': '683b3a5ebd0130b8fb52ba0bdc718cc56815b6a097e28ae5a6997d0ad17dc05f'}, + {'lexical-parse-integer-0.8.6.tar.gz': '6d0994485ed0c312f6d965766754ea177d07f9c00c9b82a5ee62ed5b47945ee9'}, + {'lexical-util-0.8.5.tar.gz': '5255b9ff16ff898710eb9eb63cb39248ea8a5bb036bea8085b1a767ff6c4e3fc'}, + {'lexical-write-float-0.8.5.tar.gz': 'accabaa1c4581f05a3923d1b4cfd124c329352288b7b9da09e766b0668116862'}, + {'lexical-write-integer-0.8.5.tar.gz': 'e1b6f3d1f4422866b68192d62f77bc5c700bee84f3069f2469d7bc8c77852446'}, + {'libc-0.2.151.tar.gz': '302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4'}, + {'libflate-1.4.0.tar.gz': '5ff4ae71b685bbad2f2f391fe74f6b7659a34871c08b210fdc039e43bee07d18'}, + {'libflate-2.0.0.tar.gz': '9f7d5654ae1795afc7ff76f4365c2c8791b0feb18e8996a96adad8ffd7c3b2bf'}, + {'libflate_lz77-1.2.0.tar.gz': 'a52d3a8bfc85f250440e4424db7d857e241a3aebbbe301f3eb606ab15c39acbf'}, + {'libflate_lz77-2.0.0.tar.gz': 'be5f52fb8c451576ec6b79d3f4deb327398bc05bbdbd99021a6e77a4c855d524'}, + {'libgit2-sys-0.16.1+1.7.1.tar.gz': 'f2a2bb3680b094add03bb3732ec520ece34da31a8cd2d633d1389d0f0fb60d0c'}, + {'libloading-0.8.1.tar.gz': 'c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161'}, + {'libm-0.2.8.tar.gz': '4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058'}, + {'libmimalloc-sys-0.1.35.tar.gz': '3979b5c37ece694f1f5e51e7ecc871fdb0f517ed04ee45f88d15d6d553cb9664'}, + {'libz-ng-sys-1.1.12.tar.gz': '3dd9f43e75536a46ee0f92b758f6b63846e594e86638c61a9251338a65baea63'}, + {'libz-sys-1.1.12.tar.gz': 'd97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b'}, + {'linux-raw-sys-0.4.12.tar.gz': 'c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456'}, + {'lock_api-0.4.11.tar.gz': '3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45'}, + {'log-0.4.20.tar.gz': 'b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f'}, + {'lz4-1.24.0.tar.gz': '7e9e2dd86df36ce760a60f6ff6ad526f7ba1f14ba0356f8254fb6905e6494df1'}, + {'lz4-sys-1.9.4.tar.gz': '57d27b317e207b10f69f5e75494119e391a96f48861ae870d1da6edac98ca900'}, + {'matrixmultiply-0.3.8.tar.gz': '7574c1cf36da4798ab73da5b215bbf444f50718207754cb522201d78d1cd0ff2'}, + {'md-5-0.10.6.tar.gz': 'd89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf'}, + {'memchr-2.6.4.tar.gz': 'f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167'}, + {'memmap2-0.7.1.tar.gz': 'f49388d20533534cd19360ad3d6a7dadc885944aa802ba3995040c5ec11288c6'}, + {'memoffset-0.9.0.tar.gz': '5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c'}, + {'mimalloc-0.1.39.tar.gz': 'fa01922b5ea280a911e323e4d2fd24b7fe5cc4042e0d2cda3c40775cdc4bdc9c'}, + {'mime-0.3.17.tar.gz': '6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a'}, + {'miniz_oxide-0.7.1.tar.gz': 'e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7'}, + {'mio-0.8.10.tar.gz': '8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09'}, + {'multiversion-0.7.3.tar.gz': 'b2c7b9d7fe61760ce5ea19532ead98541f6b4c495d87247aff9826445cf6872a'}, + {'multiversion-macros-0.7.3.tar.gz': '26a83d8500ed06d68877e9de1dde76c1dbb83885dcdbda4ef44ccbc3fbda2ac8'}, + {'ndarray-0.15.6.tar.gz': 'adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32'}, + {'now-0.1.3.tar.gz': '6d89e9874397a1f0a52fc1f197a8effd9735223cb2390e9dcc83ac6cd02923d0'}, + {'ntapi-0.4.1.tar.gz': 'e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4'}, + {'num-0.4.1.tar.gz': 'b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af'}, + {'num-bigint-0.4.4.tar.gz': '608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0'}, + {'num-complex-0.4.4.tar.gz': '1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214'}, + {'num-integer-0.1.45.tar.gz': '225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9'}, + {'num-iter-0.1.43.tar.gz': '7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252'}, + {'num-rational-0.4.1.tar.gz': '0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0'}, + {'num-traits-0.2.17.tar.gz': '39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c'}, + {'num_cpus-1.16.0.tar.gz': '4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43'}, + {'numpy-0.20.0.tar.gz': 'bef41cbb417ea83b30525259e30ccef6af39b31c240bda578889494c5392d331'}, + {'object-0.32.1.tar.gz': '9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0'}, + {'object_store-0.8.0.tar.gz': '2524735495ea1268be33d200e1ee97455096a0846295a21548cd2f3541de7050'}, + {'once_cell-1.19.0.tar.gz': '3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92'}, + {'oorandom-11.1.3.tar.gz': '0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575'}, + {'openssl-probe-0.1.5.tar.gz': 'ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf'}, + {'outref-0.5.1.tar.gz': '4030760ffd992bef45b0ae3f10ce1aba99e33464c90d14dd7c039884963ddc7a'}, + {'p256-0.11.1.tar.gz': '51f44edd08f51e2ade572f141051021c5af22677e42b7dd28a88155151c33594'}, + {'parking_lot-0.12.1.tar.gz': '3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f'}, + {'parking_lot_core-0.9.9.tar.gz': '4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e'}, + {'parquet-format-safe-0.2.4.tar.gz': '1131c54b167dd4e4799ce762e1ab01549ebb94d5bdd13e6ec1b467491c378e1f'}, + {'parse-zoneinfo-0.3.0.tar.gz': 'c705f256449c60da65e11ff6626e0c16a0a0b96aaa348de61376b249bc340f41'}, + {'percent-encoding-2.3.1.tar.gz': 'e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e'}, + {'phf-0.11.2.tar.gz': 'ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc'}, + {'phf_codegen-0.11.2.tar.gz': 'e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a'}, + {'phf_generator-0.11.2.tar.gz': '48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0'}, + {'phf_shared-0.11.2.tar.gz': '90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b'}, + {'pin-project-lite-0.2.13.tar.gz': '8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58'}, + {'pin-utils-0.1.0.tar.gz': '8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184'}, + {'pkcs8-0.9.0.tar.gz': '9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba'}, + {'pkg-config-0.3.27.tar.gz': '26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964'}, + {'planus-0.3.1.tar.gz': 'fc1691dd09e82f428ce8d6310bd6d5da2557c82ff17694d2a32cad7242aea89f'}, + {'plotters-0.3.5.tar.gz': 'd2c224ba00d7cadd4d5c660deaf2098e5e80e07846537c51f9cfa4be50c1fd45'}, + {'plotters-backend-0.3.5.tar.gz': '9e76628b4d3a7581389a35d5b6e2139607ad7c75b17aed325f210aa91f4a9609'}, + {'plotters-svg-0.3.5.tar.gz': '38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab'}, + {'powerfmt-0.2.0.tar.gz': '439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391'}, + {'ppv-lite86-0.2.17.tar.gz': '5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de'}, + {'proc-macro2-1.0.70.tar.gz': '39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b'}, + {'proptest-1.4.0.tar.gz': '31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf'}, + {'prost-0.11.9.tar.gz': '0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd'}, + {'prost-derive-0.11.9.tar.gz': 'e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4'}, + {'pyo3-0.20.0.tar.gz': '04e8453b658fe480c3e70c8ed4e3d3ec33eb74988bd186561b0cc66b85c3bc4b'}, + {'pyo3-build-config-0.20.0.tar.gz': 'a96fe70b176a89cff78f2fa7b3c930081e163d5379b4dcdf993e3ae29ca662e5'}, + {'pyo3-built-0.4.7.tar.gz': 'be6d574e0f8cab2cdd1eeeb640cbf845c974519fa9e9b62fa9c08ecece0ca5de'}, + {'pyo3-ffi-0.20.0.tar.gz': '214929900fd25e6604661ed9cf349727c8920d47deff196c4e28165a6ef2a96b'}, + {'pyo3-macros-0.20.0.tar.gz': 'dac53072f717aa1bfa4db832b39de8c875b7c7af4f4a6fe93cdbf9264cf8383b'}, + {'pyo3-macros-backend-0.20.0.tar.gz': '7774b5a8282bd4f25f803b1f0d945120be959a36c72e08e7cd031c792fdfd424'}, + {'quad-rand-0.2.1.tar.gz': '658fa1faf7a4cc5f057c9ee5ef560f717ad9d8dc66d975267f709624d6e1ab88'}, + {'quick-xml-0.31.0.tar.gz': '1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33'}, + {'quickcheck-1.0.3.tar.gz': '588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6'}, + {'quote-1.0.33.tar.gz': '5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae'}, + {'rand-0.8.5.tar.gz': '34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404'}, + {'rand_chacha-0.3.1.tar.gz': 'e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88'}, + {'rand_core-0.6.4.tar.gz': 'ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c'}, + {'rand_distr-0.4.3.tar.gz': '32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31'}, + {'rand_regex-0.15.1.tar.gz': '8b2a9fe2d7d9eeaf3279d1780452a5bbd26b31b27938787ef1c3e930d1e9cfbd'}, + {'rand_xorshift-0.3.0.tar.gz': 'd25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f'}, + {'rawpointer-0.2.1.tar.gz': '60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3'}, + {'rayon-1.8.0.tar.gz': '9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1'}, + {'rayon-core-1.12.0.tar.gz': '5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed'}, + {'redox_syscall-0.4.1.tar.gz': '4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa'}, + {'ref-cast-1.0.21.tar.gz': '53313ec9f12686aeeffb43462c3ac77aa25f590a5f630eb2cde0de59417b29c7'}, + {'ref-cast-impl-1.0.21.tar.gz': '2566c4bf6845f2c2e83b27043c3f5dfcd5ba8f2937d6c00dc009bfb51a079dc4'}, + {'regex-1.10.2.tar.gz': '380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343'}, + {'regex-automata-0.4.3.tar.gz': '5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f'}, + {'regex-lite-0.1.5.tar.gz': '30b661b2f27137bdbc16f00eda72866a92bb28af1753ffbd56744fb6e2e9cd8e'}, + {'regex-syntax-0.6.29.tar.gz': 'f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1'}, + {'regex-syntax-0.8.2.tar.gz': 'c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f'}, + {'reqwest-0.11.22.tar.gz': '046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b'}, + {'rfc6979-0.3.1.tar.gz': '7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb'}, + {'ring-0.17.7.tar.gz': '688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74'}, + {'rle-decode-fast-1.0.3.tar.gz': '3582f63211428f83597b51b2ddb88e2a91a9d52d12831f9d08f5e624e8977422'}, + {'rustc-demangle-0.1.23.tar.gz': 'd626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76'}, + {'rustc-hash-1.1.0.tar.gz': '08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2'}, + {'rustc_version-0.4.0.tar.gz': 'bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366'}, + {'rustix-0.38.28.tar.gz': '72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316'}, + {'rustls-0.21.10.tar.gz': 'f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba'}, + {'rustls-native-certs-0.6.3.tar.gz': 'a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00'}, + {'rustls-pemfile-1.0.4.tar.gz': '1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c'}, + {'rustls-webpki-0.101.7.tar.gz': '8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765'}, + {'rustversion-1.0.14.tar.gz': '7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4'}, + {'ryu-1.0.16.tar.gz': 'f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c'}, + {'same-file-1.0.6.tar.gz': '93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502'}, + {'sample-arrow2-0.17.1.tar.gz': '722050f91586506195398fd22d834eb8768716084f6ebf9f32b917ed422b6afb'}, + {'sample-std-0.1.1.tar.gz': '567a153dc3302ce838920fb095c025a6d0529fff0290d25deeec2136e41a57c8'}, + {'sample-test-0.1.1.tar.gz': '713e500947ff19fc1ae2805afa33ef45f3bb2ec656c77d92252d24cf9e3091b2'}, + {'sample-test-macros-0.1.1.tar.gz': 'df1a2c832a259aae95b6ed1da3aa377111ffde38d4282fa734faa3fff356534e'}, + {'schannel-0.1.22.tar.gz': '0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88'}, + {'scopeguard-1.2.0.tar.gz': '94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49'}, + {'sct-0.7.1.tar.gz': 'da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414'}, + {'sec1-0.3.0.tar.gz': '3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928'}, + {'security-framework-2.9.2.tar.gz': '05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de'}, + {'security-framework-sys-2.9.1.tar.gz': 'e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a'}, + {'semver-1.0.20.tar.gz': '836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090'}, + {'seq-macro-0.3.5.tar.gz': 'a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4'}, + {'serde-1.0.193.tar.gz': '25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89'}, + {'serde_derive-1.0.193.tar.gz': '43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3'}, + {'serde_json-1.0.108.tar.gz': '3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b'}, + {'serde_spanned-0.6.4.tar.gz': '12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80'}, + {'serde_urlencoded-0.7.1.tar.gz': 'd3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd'}, + {'sha1-0.10.6.tar.gz': 'e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba'}, + {'sha2-0.10.8.tar.gz': '793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8'}, + {'signal-hook-registry-1.4.1.tar.gz': 'd8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1'}, + {'signature-1.6.4.tar.gz': '74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c'}, + {'simd-json-0.13.4.tar.gz': 'e5a3720326b20bf5b95b72dbbd133caae7e0dcf71eae8f6e6656e71a7e5c9aaa'}, + {'simdutf8-0.1.4.tar.gz': 'f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a'}, + {'siphasher-0.3.11.tar.gz': '38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d'}, + {'slab-0.4.9.tar.gz': '8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67'}, + {'smallvec-1.11.2.tar.gz': '4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970'}, + {'smartstring-1.0.1.tar.gz': '3fb72c633efbaa2dd666986505016c32c3044395ceaf881518399d2f4127ee29'}, + {'snafu-0.7.5.tar.gz': 'e4de37ad025c587a29e8f3f5605c00f70b98715ef90b9061a815b9e59e9042d6'}, + {'snafu-derive-0.7.5.tar.gz': '990079665f075b699031e9c08fd3ab99be5029b96f3b78dc0709e8f77e4efebf'}, + {'snap-1.1.1.tar.gz': '1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b'}, + {'socket2-0.4.10.tar.gz': '9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d'}, + {'socket2-0.5.5.tar.gz': '7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9'}, + {'spin-0.9.8.tar.gz': '6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67'}, + {'spki-0.6.0.tar.gz': '67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b'}, + {'sqlparser-0.39.0.tar.gz': '743b4dc2cbde11890ccb254a8fc9d537fa41b36da00de2a1c5e9848c9bc42bd7'}, + {'static_assertions-1.1.0.tar.gz': 'a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f'}, + {'streaming-decompression-0.1.2.tar.gz': 'bf6cc3b19bfb128a8ad11026086e31d3ce9ad23f8ea37354b31383a187c44cf3'}, + {'streaming-iterator-0.1.9.tar.gz': '2b2231b7c3057d5e4ad0156fb3dc807d900806020c5ffa3ee6ff2c8c76fb8520'}, + {'strength_reduce-0.2.4.tar.gz': 'fe895eb47f22e2ddd4dabc02bce419d2e643c8e3b585c78158b349195bc24d82'}, + {'strum-0.25.0.tar.gz': '290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125'}, + {'strum_macros-0.25.3.tar.gz': '23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0'}, + {'subtle-2.5.0.tar.gz': '81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc'}, + {'syn-1.0.109.tar.gz': '72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237'}, + {'syn-2.0.41.tar.gz': '44c8b28c477cc3bf0e7966561e3460130e1255f7a1cf71931075f1c5e7a7e269'}, + {'sysinfo-0.29.11.tar.gz': 'cd727fc423c2060f6c92d9534cef765c65a6ed3f428a03d7def74a8c4348e666'}, + {'system-configuration-0.5.1.tar.gz': 'ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7'}, + {'system-configuration-sys-0.5.0.tar.gz': 'a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9'}, + {'target-features-0.1.5.tar.gz': 'cfb5fa503293557c5158bd215fdc225695e567a77e453f5d4452a50a193969bd'}, + {'target-lexicon-0.12.12.tar.gz': '14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a'}, + {'tempfile-3.8.1.tar.gz': '7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5'}, + {'thiserror-1.0.50.tar.gz': 'f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2'}, + {'thiserror-impl-1.0.50.tar.gz': '266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8'}, + {'time-0.3.30.tar.gz': 'c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5'}, + {'time-core-0.1.2.tar.gz': 'ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3'}, + {'time-macros-0.2.15.tar.gz': '4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20'}, + {'tiny-keccak-2.0.2.tar.gz': '2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237'}, + {'tinytemplate-1.2.1.tar.gz': 'be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc'}, + {'tinyvec-1.6.0.tar.gz': '87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50'}, + {'tinyvec_macros-0.1.1.tar.gz': '1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20'}, + {'tokio-1.35.0.tar.gz': '841d45b238a16291a4e1584e61820b8ae57d696cc5015c459c229ccc6990cc1c'}, + {'tokio-macros-2.2.0.tar.gz': '5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b'}, + {'tokio-rustls-0.24.1.tar.gz': 'c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081'}, + {'tokio-util-0.7.10.tar.gz': '5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15'}, + {'toml-0.7.8.tar.gz': 'dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257'}, + {'toml_datetime-0.6.5.tar.gz': '3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1'}, + {'toml_edit-0.19.15.tar.gz': '1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421'}, + {'tower-service-0.3.2.tar.gz': 'b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52'}, + {'tracing-0.1.40.tar.gz': 'c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef'}, + {'tracing-attributes-0.1.27.tar.gz': '34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7'}, + {'tracing-core-0.1.32.tar.gz': 'c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54'}, + {'try-lock-0.2.5.tar.gz': 'e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b'}, + {'typed-builder-0.16.2.tar.gz': '34085c17941e36627a879208083e25d357243812c30e7d7387c3b954f30ade16'}, + {'typed-builder-macro-0.16.2.tar.gz': 'f03ca4cb38206e2bef0700092660bb74d696f808514dae47fa1467cbfe26e96e'}, + {'typenum-1.17.0.tar.gz': '42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825'}, + {'unarray-0.1.4.tar.gz': 'eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94'}, + {'unicode-bidi-0.3.14.tar.gz': '6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416'}, + {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'}, + {'unicode-normalization-0.1.22.tar.gz': '5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921'}, + {'unicode-reverse-1.0.8.tar.gz': '0bea5dacebb0d2d0a69a6700a05b59b3908bf801bf563a49bd27a1b60122962c'}, + {'unicode-segmentation-1.10.1.tar.gz': '1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36'}, + {'unicode-width-0.1.11.tar.gz': 'e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85'}, + {'unindent-0.2.3.tar.gz': 'c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce'}, + {'untrusted-0.9.0.tar.gz': '8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1'}, + {'url-2.5.0.tar.gz': '31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633'}, + {'urlencoding-2.1.3.tar.gz': 'daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da'}, + {'uuid-1.6.1.tar.gz': '5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560'}, + {'value-trait-0.8.0.tar.gz': 'ea87257cfcbedcb9444eda79c59fdfea71217e6305afee8ee33f500375c2ac97'}, + {'vcpkg-0.2.15.tar.gz': 'accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426'}, + {'version_check-0.9.4.tar.gz': '49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f'}, + {'vsimd-0.8.0.tar.gz': '5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64'}, + {'walkdir-2.4.0.tar.gz': 'd71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee'}, + {'want-0.3.1.tar.gz': 'bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e'}, + {'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}, + {'wasm-bindgen-0.2.89.tar.gz': '0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e'}, + {'wasm-bindgen-backend-0.2.89.tar.gz': '1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826'}, + {'wasm-bindgen-futures-0.4.39.tar.gz': 'ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12'}, + {'wasm-bindgen-macro-0.2.89.tar.gz': '0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2'}, + {'wasm-bindgen-macro-support-0.2.89.tar.gz': 'f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283'}, + {'wasm-bindgen-shared-0.2.89.tar.gz': '7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f'}, + {'wasm-streams-0.3.0.tar.gz': 'b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7'}, + {'web-sys-0.3.66.tar.gz': '50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f'}, + {'webpki-roots-0.25.3.tar.gz': '1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10'}, + {'winapi-0.3.9.tar.gz': '5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419'}, + {'winapi-i686-pc-windows-gnu-0.4.0.tar.gz': 'ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6'}, + {'winapi-util-0.1.6.tar.gz': 'f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596'}, + {'winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz': '712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f'}, + {'windows-core-0.51.1.tar.gz': 'f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64'}, + {'windows-sys-0.48.0.tar.gz': '677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9'}, + {'windows-sys-0.52.0.tar.gz': '282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d'}, + {'windows-targets-0.48.5.tar.gz': '9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c'}, + {'windows-targets-0.52.0.tar.gz': '8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd'}, + {'windows_aarch64_gnullvm-0.48.5.tar.gz': '2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8'}, + {'windows_aarch64_gnullvm-0.52.0.tar.gz': 'cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea'}, + {'windows_aarch64_msvc-0.48.5.tar.gz': 'dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc'}, + {'windows_aarch64_msvc-0.52.0.tar.gz': 'bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef'}, + {'windows_i686_gnu-0.48.5.tar.gz': 'a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e'}, + {'windows_i686_gnu-0.52.0.tar.gz': 'a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313'}, + {'windows_i686_msvc-0.48.5.tar.gz': '8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406'}, + {'windows_i686_msvc-0.52.0.tar.gz': 'ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a'}, + {'windows_x86_64_gnu-0.48.5.tar.gz': '53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e'}, + {'windows_x86_64_gnu-0.52.0.tar.gz': '3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd'}, + {'windows_x86_64_gnullvm-0.48.5.tar.gz': '0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc'}, + {'windows_x86_64_gnullvm-0.52.0.tar.gz': '1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e'}, + {'windows_x86_64_msvc-0.48.5.tar.gz': 'ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538'}, + {'windows_x86_64_msvc-0.52.0.tar.gz': 'dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04'}, + {'winnow-0.5.28.tar.gz': '6c830786f7720c2fd27a1a0e27a709dbd3c4d009b56d098fc742d4f4eab91fe2'}, + {'winreg-0.50.0.tar.gz': '524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1'}, + {'xmlparser-0.13.6.tar.gz': '66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4'}, + {'xxhash-rust-0.8.7.tar.gz': '9828b178da53440fa9c766a3d2f73f7cf5d0ac1fe3980c1e5018d899fd19e07b'}, + {'zerocopy-0.7.31.tar.gz': '1c4061bedbb353041c12f413700357bec76df2c7e2ca8e4df8bac24c6bf68e3d'}, + {'zerocopy-derive-0.7.31.tar.gz': 'b3c129550b3e6de3fd0ba67ba5c81818f9805e58b8d7fee80a3a59d2c9fc601a'}, + {'zeroize-1.7.0.tar.gz': '525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d'}, + {'zstd-0.13.0.tar.gz': 'bffb3309596d527cfcba7dfc6ed6052f1d39dfbd7c867aa2e865e4a449c10110'}, + {'zstd-safe-7.0.0.tar.gz': '43747c7422e2924c11144d5229878b98180ef8b06cca4ab5af37afc8a8d8ea3e'}, + {'zstd-sys-2.0.9+zstd.1.5.5.tar.gz': '9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656'}, +] + +crates = [ + ('addr2line', '0.21.0'), + ('adler', '1.0.2'), + ('adler32', '1.2.0'), + ('ahash', '0.8.6'), + ('aho-corasick', '1.1.2'), + ('alloc-no-stdlib', '2.0.4'), + ('alloc-stdlib', '0.2.2'), + ('allocator-api2', '0.2.16'), + ('android-tzdata', '0.1.1'), + ('android_system_properties', '0.1.5'), + ('anes', '0.1.6'), + ('anstyle', '1.0.4'), + ('anyhow', '1.0.75'), + ('apache-avro', '0.16.0'), + ('argminmax', '0.6.1'), + ('array-init-cursor', '0.2.0'), + ('arrow-array', '49.0.0'), + ('arrow-buffer', '49.0.0'), + ('arrow-data', '49.0.0'), + ('arrow-format', '0.8.1'), + ('arrow-schema', '49.0.0'), + ('arrow2', '0.17.4'), + ('async-stream', '0.3.5'), + ('async-stream-impl', '0.3.5'), + ('async-trait', '0.1.74'), + ('atoi', '2.0.0'), + ('atoi_simd', '0.15.5'), + ('autocfg', '1.1.0'), + ('avro-schema', '0.3.0'), + ('aws-config', '1.0.3'), + ('aws-credential-types', '1.0.3'), + ('aws-http', '0.60.0'), + ('aws-runtime', '1.0.3'), + ('aws-sdk-s3', '1.7.0'), + ('aws-sdk-sso', '1.6.0'), + ('aws-sdk-ssooidc', '1.6.0'), + ('aws-sdk-sts', '1.6.0'), + ('aws-sigv4', '1.0.3'), + ('aws-smithy-async', '1.1.1'), + ('aws-smithy-checksums', '0.60.1'), + ('aws-smithy-eventstream', '0.60.1'), + ('aws-smithy-http', '0.60.1'), + ('aws-smithy-json', '0.60.1'), + ('aws-smithy-query', '0.60.1'), + ('aws-smithy-runtime', '1.1.1'), + ('aws-smithy-runtime-api', '1.1.1'), + ('aws-smithy-types', '1.1.1'), + ('aws-smithy-xml', '0.60.1'), + ('aws-types', '1.0.3'), + ('backtrace', '0.3.69'), + ('base16ct', '0.1.1'), + ('base64', '0.21.5'), + ('base64-simd', '0.8.0'), + ('base64ct', '1.6.0'), + ('bincode', '1.3.3'), + ('bitflags', '1.3.2'), + ('bitflags', '2.4.1'), + ('block-buffer', '0.10.4'), + ('brotli', '3.4.0'), + ('brotli-decompressor', '2.5.1'), + ('built', '0.7.1'), + ('bumpalo', '3.14.0'), + ('bytemuck', '1.14.0'), + ('bytemuck_derive', '1.5.0'), + ('bytes', '1.5.0'), + ('bytes-utils', '0.1.4'), + ('cargo-lock', '9.0.0'), + ('casey', '0.4.0'), + ('cast', '0.3.0'), + ('cc', '1.0.83'), + ('cfg-if', '1.0.0'), + ('chrono', '0.4.31'), + ('chrono-tz', '0.8.4'), + ('chrono-tz-build', '0.2.1'), + ('ciborium', '0.2.1'), + ('ciborium-io', '0.2.1'), + ('ciborium-ll', '0.2.1'), + ('clap', '4.4.11'), + ('clap_builder', '4.4.11'), + ('clap_lex', '0.6.0'), + ('cmake', '0.1.50'), + ('comfy-table', '7.1.0'), + ('const-oid', '0.9.5'), + ('const-random', '0.1.17'), + ('const-random-macro', '0.1.16'), + ('core-foundation', '0.9.4'), + ('core-foundation-sys', '0.8.6'), + ('core2', '0.4.0'), + ('cpufeatures', '0.2.11'), + ('crc', '2.1.0'), + ('crc-catalog', '1.1.1'), + ('crc32c', '0.6.4'), + ('crc32fast', '1.3.2'), + ('criterion', '0.5.1'), + ('criterion-plot', '0.5.0'), + ('crossbeam-channel', '0.5.9'), + ('crossbeam-deque', '0.8.4'), + ('crossbeam-epoch', '0.9.16'), + ('crossbeam-queue', '0.3.9'), + ('crossbeam-utils', '0.8.17'), + ('crossterm', '0.27.0'), + ('crossterm_winapi', '0.9.1'), + ('crunchy', '0.2.2'), + ('crypto-bigint', '0.4.9'), + ('crypto-bigint', '0.5.5'), + ('crypto-common', '0.1.6'), + ('dary_heap', '0.3.6'), + ('der', '0.6.1'), + ('deranged', '0.3.10'), + ('digest', '0.10.7'), + ('doc-comment', '0.3.3'), + ('dyn-clone', '1.0.16'), + ('ecdsa', '0.14.8'), + ('either', '1.9.0'), + ('elliptic-curve', '0.12.3'), + ('encoding_rs', '0.8.33'), + ('enum_dispatch', '0.3.12'), + ('env_logger', '0.8.4'), + ('equivalent', '1.0.1'), + ('errno', '0.3.8'), + ('ethnum', '1.5.0'), + ('fallible-streaming-iterator', '0.1.9'), + ('fast-float', '0.2.0'), + ('fastrand', '2.0.1'), + ('ff', '0.12.1'), + ('flate2', '1.0.28'), + ('float-cmp', '0.9.0'), + ('fnv', '1.0.7'), + ('foreign_vec', '0.1.0'), + ('form_urlencoded', '1.2.1'), + ('futures', '0.3.29'), + ('futures-channel', '0.3.29'), + ('futures-core', '0.3.29'), + ('futures-executor', '0.3.29'), + ('futures-io', '0.3.29'), + ('futures-macro', '0.3.29'), + ('futures-sink', '0.3.29'), + ('futures-task', '0.3.29'), + ('futures-util', '0.3.29'), + ('generic-array', '0.14.7'), + ('getrandom', '0.2.11'), + ('gimli', '0.28.1'), + ('git2', '0.18.1'), + ('glob', '0.3.1'), + ('group', '0.12.1'), + ('h2', '0.3.22'), + ('half', '1.8.2'), + ('half', '2.3.1'), + ('halfbrown', '0.2.4'), + ('hash_hasher', '2.0.3'), + ('hashbrown', '0.13.2'), + ('hashbrown', '0.14.3'), + ('heck', '0.4.1'), + ('hermit-abi', '0.3.3'), + ('hex', '0.4.3'), + ('hmac', '0.12.1'), + ('home', '0.5.5'), + ('http', '0.2.11'), + ('http-body', '0.4.6'), + ('httparse', '1.8.0'), + ('httpdate', '1.0.3'), + ('humantime', '2.1.0'), + ('hyper', '0.14.27'), + ('hyper-rustls', '0.24.2'), + ('iana-time-zone', '0.1.58'), + ('iana-time-zone-haiku', '0.1.2'), + ('idna', '0.5.0'), + ('indexmap', '2.1.0'), + ('indoc', '2.0.4'), + ('inventory', '0.3.13'), + ('ipnet', '2.9.0'), + ('is-terminal', '0.4.9'), + ('itertools', '0.10.5'), + ('itertools', '0.11.0'), + ('itoa', '1.0.10'), + ('itoap', '1.0.1'), + ('jemalloc-sys', '0.5.4+5.3.0-patched'), + ('jemallocator', '0.5.4'), + ('jobserver', '0.1.27'), + ('js-sys', '0.3.66'), + ('jsonpath_lib', '0.3.0', 'https://github.com/ritchie46/jsonpath', '24eaf0b4416edff38a4d1b6b17bc4b9f3f047b4b'), + ('lazy_static', '1.4.0'), + ('lexical-core', '0.8.5'), + ('lexical-parse-float', '0.8.5'), + ('lexical-parse-integer', '0.8.6'), + ('lexical-util', '0.8.5'), + ('lexical-write-float', '0.8.5'), + ('lexical-write-integer', '0.8.5'), + ('libc', '0.2.151'), + ('libflate', '1.4.0'), + ('libflate', '2.0.0'), + ('libflate_lz77', '1.2.0'), + ('libflate_lz77', '2.0.0'), + ('libgit2-sys', '0.16.1+1.7.1'), + ('libloading', '0.8.1'), + ('libm', '0.2.8'), + ('libmimalloc-sys', '0.1.35'), + ('libz-ng-sys', '1.1.12'), + ('libz-sys', '1.1.12'), + ('linux-raw-sys', '0.4.12'), + ('lock_api', '0.4.11'), + ('log', '0.4.20'), + ('lz4', '1.24.0'), + ('lz4-sys', '1.9.4'), + ('matrixmultiply', '0.3.8'), + ('md-5', '0.10.6'), + ('memchr', '2.6.4'), + ('memmap2', '0.7.1'), + ('memoffset', '0.9.0'), + ('mimalloc', '0.1.39'), + ('mime', '0.3.17'), + ('miniz_oxide', '0.7.1'), + ('mio', '0.8.10'), + ('multiversion', '0.7.3'), + ('multiversion-macros', '0.7.3'), + ('ndarray', '0.15.6'), + ('now', '0.1.3'), + ('ntapi', '0.4.1'), + ('num', '0.4.1'), + ('num-bigint', '0.4.4'), + ('num-complex', '0.4.4'), + ('num-integer', '0.1.45'), + ('num-iter', '0.1.43'), + ('num-rational', '0.4.1'), + ('num-traits', '0.2.17'), + ('num_cpus', '1.16.0'), + ('numpy', '0.20.0'), + ('object', '0.32.1'), + ('object_store', '0.8.0'), + ('once_cell', '1.19.0'), + ('oorandom', '11.1.3'), + ('openssl-probe', '0.1.5'), + ('outref', '0.5.1'), + ('p256', '0.11.1'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.9'), + ('parquet-format-safe', '0.2.4'), + ('parse-zoneinfo', '0.3.0'), + ('percent-encoding', '2.3.1'), + ('phf', '0.11.2'), + ('phf_codegen', '0.11.2'), + ('phf_generator', '0.11.2'), + ('phf_shared', '0.11.2'), + ('pin-project-lite', '0.2.13'), + ('pin-utils', '0.1.0'), + ('pkcs8', '0.9.0'), + ('pkg-config', '0.3.27'), + ('planus', '0.3.1'), + ('plotters', '0.3.5'), + ('plotters-backend', '0.3.5'), + ('plotters-svg', '0.3.5'), + ('powerfmt', '0.2.0'), + ('ppv-lite86', '0.2.17'), + ('proc-macro2', '1.0.70'), + ('proptest', '1.4.0'), + ('prost', '0.11.9'), + ('prost-derive', '0.11.9'), + ('pyo3', '0.20.0'), + ('pyo3-build-config', '0.20.0'), + ('pyo3-built', '0.4.7'), + ('pyo3-ffi', '0.20.0'), + ('pyo3-macros', '0.20.0'), + ('pyo3-macros-backend', '0.20.0'), + ('quad-rand', '0.2.1'), + ('quick-xml', '0.31.0'), + ('quickcheck', '1.0.3'), + ('quote', '1.0.33'), + ('rand', '0.8.5'), + ('rand_chacha', '0.3.1'), + ('rand_core', '0.6.4'), + ('rand_distr', '0.4.3'), + ('rand_regex', '0.15.1'), + ('rand_xorshift', '0.3.0'), + ('rawpointer', '0.2.1'), + ('rayon', '1.8.0'), + ('rayon-core', '1.12.0'), + ('redox_syscall', '0.4.1'), + ('ref-cast', '1.0.21'), + ('ref-cast-impl', '1.0.21'), + ('regex', '1.10.2'), + ('regex-automata', '0.4.3'), + ('regex-lite', '0.1.5'), + ('regex-syntax', '0.6.29'), + ('regex-syntax', '0.8.2'), + ('reqwest', '0.11.22'), + ('rfc6979', '0.3.1'), + ('ring', '0.17.7'), + ('rle-decode-fast', '1.0.3'), + ('rustc-demangle', '0.1.23'), + ('rustc-hash', '1.1.0'), + ('rustc_version', '0.4.0'), + ('rustix', '0.38.28'), + ('rustls', '0.21.10'), + ('rustls-native-certs', '0.6.3'), + ('rustls-pemfile', '1.0.4'), + ('rustls-webpki', '0.101.7'), + ('rustversion', '1.0.14'), + ('ryu', '1.0.16'), + ('same-file', '1.0.6'), + ('sample-arrow2', '0.17.1'), + ('sample-std', '0.1.1'), + ('sample-test', '0.1.1'), + ('sample-test-macros', '0.1.1'), + ('schannel', '0.1.22'), + ('scopeguard', '1.2.0'), + ('sct', '0.7.1'), + ('sec1', '0.3.0'), + ('security-framework', '2.9.2'), + ('security-framework-sys', '2.9.1'), + ('semver', '1.0.20'), + ('seq-macro', '0.3.5'), + ('serde', '1.0.193'), + ('serde_derive', '1.0.193'), + ('serde_json', '1.0.108'), + ('serde_spanned', '0.6.4'), + ('serde_urlencoded', '0.7.1'), + ('sha1', '0.10.6'), + ('sha2', '0.10.8'), + ('signal-hook-registry', '1.4.1'), + ('signature', '1.6.4'), + ('simd-json', '0.13.4'), + ('simdutf8', '0.1.4'), + ('siphasher', '0.3.11'), + ('slab', '0.4.9'), + ('smallvec', '1.11.2'), + ('smartstring', '1.0.1'), + ('snafu', '0.7.5'), + ('snafu-derive', '0.7.5'), + ('snap', '1.1.1'), + ('socket2', '0.4.10'), + ('socket2', '0.5.5'), + ('spin', '0.9.8'), + ('spki', '0.6.0'), + ('sqlparser', '0.39.0'), + ('static_assertions', '1.1.0'), + ('streaming-decompression', '0.1.2'), + ('streaming-iterator', '0.1.9'), + ('strength_reduce', '0.2.4'), + ('strum', '0.25.0'), + ('strum_macros', '0.25.3'), + ('subtle', '2.5.0'), + ('syn', '1.0.109'), + ('syn', '2.0.41'), + ('sysinfo', '0.29.11'), + ('system-configuration', '0.5.1'), + ('system-configuration-sys', '0.5.0'), + ('target-features', '0.1.5'), + ('target-lexicon', '0.12.12'), + ('tempfile', '3.8.1'), + ('thiserror', '1.0.50'), + ('thiserror-impl', '1.0.50'), + ('time', '0.3.30'), + ('time-core', '0.1.2'), + ('time-macros', '0.2.15'), + ('tiny-keccak', '2.0.2'), + ('tinytemplate', '1.2.1'), + ('tinyvec', '1.6.0'), + ('tinyvec_macros', '0.1.1'), + ('tokio', '1.35.0'), + ('tokio-macros', '2.2.0'), + ('tokio-rustls', '0.24.1'), + ('tokio-util', '0.7.10'), + ('toml', '0.7.8'), + ('toml_datetime', '0.6.5'), + ('toml_edit', '0.19.15'), + ('tower-service', '0.3.2'), + ('tracing', '0.1.40'), + ('tracing-attributes', '0.1.27'), + ('tracing-core', '0.1.32'), + ('try-lock', '0.2.5'), + ('typed-builder', '0.16.2'), + ('typed-builder-macro', '0.16.2'), + ('typenum', '1.17.0'), + ('unarray', '0.1.4'), + ('unicode-bidi', '0.3.14'), + ('unicode-ident', '1.0.12'), + ('unicode-normalization', '0.1.22'), + ('unicode-reverse', '1.0.8'), + ('unicode-segmentation', '1.10.1'), + ('unicode-width', '0.1.11'), + ('unindent', '0.2.3'), + ('untrusted', '0.9.0'), + ('url', '2.5.0'), + ('urlencoding', '2.1.3'), + ('uuid', '1.6.1'), + ('value-trait', '0.8.0'), + ('vcpkg', '0.2.15'), + ('version_check', '0.9.4'), + ('vsimd', '0.8.0'), + ('walkdir', '2.4.0'), + ('want', '0.3.1'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('wasm-bindgen', '0.2.89'), + ('wasm-bindgen-backend', '0.2.89'), + ('wasm-bindgen-futures', '0.4.39'), + ('wasm-bindgen-macro', '0.2.89'), + ('wasm-bindgen-macro-support', '0.2.89'), + ('wasm-bindgen-shared', '0.2.89'), + ('wasm-streams', '0.3.0'), + ('web-sys', '0.3.66'), + ('webpki-roots', '0.25.3'), + ('winapi', '0.3.9'), + ('winapi-i686-pc-windows-gnu', '0.4.0'), + ('winapi-util', '0.1.6'), + ('winapi-x86_64-pc-windows-gnu', '0.4.0'), + ('windows-core', '0.51.1'), + ('windows-sys', '0.48.0'), + ('windows-sys', '0.52.0'), + ('windows-targets', '0.48.5'), + ('windows-targets', '0.52.0'), + ('windows_aarch64_gnullvm', '0.48.5'), + ('windows_aarch64_gnullvm', '0.52.0'), + ('windows_aarch64_msvc', '0.48.5'), + ('windows_aarch64_msvc', '0.52.0'), + ('windows_i686_gnu', '0.48.5'), + ('windows_i686_gnu', '0.52.0'), + ('windows_i686_msvc', '0.48.5'), + ('windows_i686_msvc', '0.52.0'), + ('windows_x86_64_gnu', '0.48.5'), + ('windows_x86_64_gnu', '0.52.0'), + ('windows_x86_64_gnullvm', '0.48.5'), + ('windows_x86_64_gnullvm', '0.52.0'), + ('windows_x86_64_msvc', '0.48.5'), + ('windows_x86_64_msvc', '0.52.0'), + ('winnow', '0.5.28'), + ('winreg', '0.50.0'), + ('xmlparser', '0.13.6'), + ('xxhash-rust', '0.8.7'), + ('zerocopy', '0.7.31'), + ('zerocopy-derive', '0.7.31'), + ('zeroize', '1.7.0'), + ('zstd', '0.13.0'), + ('zstd-safe', '7.0.0'), + ('zstd-sys', '2.0.9+zstd.1.5.5'), +] + +builddependencies = [ + ('maturin', '1.4.0', '-Rust-1.75.0'), + ('CMake', '3.26.3'), # needed by crate libz-ng-sys +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('Arrow', '14.0.1'), + ('DeltaLake', '0.15.1'), + ('openpyxl', '3.1.2'), +] + +use_pip = True +use_pip_extras = "deltalake,matplotlib,numpy,openpyxl,pandas,pyarrow" +sanity_pip_check = True +download_dep_fail = True + +moduleclass = 'data' From a485746073e25ff40e3cfa121aa0f800b090642b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Wed, 3 Apr 2024 10:33:43 +0000 Subject: [PATCH 264/889] Skip yet more tests --- .../PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index 9621e822e22..67849adf166 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -140,12 +140,15 @@ exts_list = [ ' --ignore=tests/ignite/contrib/handlers/test_wandb_logger.py' # requires wandb ' --ignore=tests/ignite/metrics/gan/test_fid.py' # requires pytorch_fid ' --ignore=tests/ignite/metrics/nlp/test_rouge.py' # requires rouge + ' --ignore=tests/ignite/distributed/test_launcher.py' # no module named torch in torchrun subprocess ' --ignore=tests/ignite/handlers/test_checkpoint.py' # fails by comparing tensors on different devices ' -k "not test_setup_visdom_logging"' # requires visdom '" and not test_setup_plx_logging"' # requires polyaxon '" and not test_setup_mlflow_logging"' # requires mlflow '" and not test_setup_clearml_logging"' # requires clearml '" and not test_setup_neptune_logging"' # requires neptune + '" and not test__setup_ddp_vars_from_slurm_env_bad_configs"' # fails sometimes + '" and not test__native_dist_model_create_from_backend_bad_config"' # fails sometimes ), 'testinstall': True, }), From 51d1c21db8d3a32726674299c0701940cdd2df3b Mon Sep 17 00:00:00 2001 From: WilleBell Date: Wed, 3 Apr 2024 14:28:25 +0200 Subject: [PATCH 265/889] adding easyconfigs: orthagogue-20141105-foss-2023a.eb, cmph-2.0-GCCcore-12.3.0.eb, tbb-2020.3-GCCcore-12.3.0.eb --- .../c/cmph/cmph-2.0-GCCcore-12.3.0.eb | 28 +++++++++++++ .../orthagogue-20141105-foss-2023a.eb | 41 +++++++++++++++++++ .../t/tbb/tbb-2020.3-GCCcore-12.3.0.eb | 19 +++++++++ 3 files changed, 88 insertions(+) create mode 100644 easybuild/easyconfigs/c/cmph/cmph-2.0-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/o/orthagogue/orthagogue-20141105-foss-2023a.eb create mode 100644 easybuild/easyconfigs/t/tbb/tbb-2020.3-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/c/cmph/cmph-2.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/cmph/cmph-2.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..35b2c99a36d --- /dev/null +++ b/easybuild/easyconfigs/c/cmph/cmph-2.0-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'cmph' +version = '2.0' + +homepage = 'https://sourceforge.net/projects/cmph/' +description = """ +Cmph is a free minimal perfect hash C library, providing several algorithms in the literature +in a consistent, ease to use, API. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://sourceforge.net/projects/%(name)s/files/%(name)s'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['ad6c9a75ff3da1fb1222cac0c1d9877f4f2366c5c61c92338c942314230cba76'] + +builddependencies = [('binutils', '2.40')] + +# dependencies = [('libjpeg-turbo', '2.1.3')] + +# sanity_check_paths = { +# 'files': ['bin/jpgicc', 'bin/linkicc', 'bin/psicc', 'bin/transicc', 'include/lcms2.h', 'include/lcms2_plugin.h', +# 'lib/liblcms2.a', 'lib/liblcms2.%s' % SHLIB_EXT, 'lib/pkgconfig/lcms2.pc'], +# 'dirs': ['share/man'], +# } + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/orthagogue/orthagogue-20141105-foss-2023a.eb b/easybuild/easyconfigs/o/orthagogue/orthagogue-20141105-foss-2023a.eb new file mode 100644 index 00000000000..b581563c7ea --- /dev/null +++ b/easybuild/easyconfigs/o/orthagogue/orthagogue-20141105-foss-2023a.eb @@ -0,0 +1,41 @@ +easyblock = 'CMakeMake' + +name = 'orthagogue' +version = '20141105' +_commit = 'ebe3467' + +homepage = 'https://github.com/guyleonard/orthagogue' +description = """ +orthAgogue: a tool for high speed estimation of homology relations within and between species +in massive data sets. orthAgogue is easy to use and offers flexibility through a range of +optional parameters. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['https://github.com/guyleonard/orthagogue/archive'] +sources = ['%s.tar.gz' % _commit] +checksums = ['c83f33c8d9d31faeeefc88fb6a7345c2f4f81b98f2b63cb6fc803c0bfcd71500'] + +separate_build_dir = False # Must use the same directory because this software is old + +dependencies = [ + ('cmph', '2.0'), + ('tbb', '2020.3'), # Needs old tbb as 2021 versions are not backward compatible with any of the previous releases +] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +sanity_check_paths = { + 'files': ['bin/orthAgogue'], + 'dirs': [], +} + +sanity_check_commands = [ + "orthAgogue | grep USAGE", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/tbb/tbb-2020.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/tbb/tbb-2020.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..c07c836411a --- /dev/null +++ b/easybuild/easyconfigs/t/tbb/tbb-2020.3-GCCcore-12.3.0.eb @@ -0,0 +1,19 @@ +name = 'tbb' +version = '2020.3' + +homepage = 'https://github.com/oneapi-src/oneTBB' +description = """Intel(R) Threading Building Blocks (Intel(R) TBB) lets you easily write parallel C++ programs that + take full advantage of multicore performance, that are portable, composable and have future-proof scalability.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/oneapi-src/oneTBB/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['ebc4f6aa47972daed1f7bf71d100ae5bf6931c2e3144cf299c8cc7d041dca2f3'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '2.8.12'), +] + +moduleclass = 'lib' From 059ae7519f8ca5f69bc8081bea5174cddc762ea5 Mon Sep 17 00:00:00 2001 From: WilleBell Date: Wed, 3 Apr 2024 15:21:08 +0200 Subject: [PATCH 266/889] fix CMake dependency, remove comments, add sanity checks --- .../easyconfigs/c/cmph/cmph-2.0-GCCcore-12.3.0.eb | 15 ++++++++------- .../t/tbb/tbb-2020.3-GCCcore-12.3.0.eb | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/easybuild/easyconfigs/c/cmph/cmph-2.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/cmph/cmph-2.0-GCCcore-12.3.0.eb index 35b2c99a36d..93f75f90c53 100644 --- a/easybuild/easyconfigs/c/cmph/cmph-2.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/c/cmph/cmph-2.0-GCCcore-12.3.0.eb @@ -17,12 +17,13 @@ checksums = ['ad6c9a75ff3da1fb1222cac0c1d9877f4f2366c5c61c92338c942314230cba76'] builddependencies = [('binutils', '2.40')] -# dependencies = [('libjpeg-turbo', '2.1.3')] - -# sanity_check_paths = { -# 'files': ['bin/jpgicc', 'bin/linkicc', 'bin/psicc', 'bin/transicc', 'include/lcms2.h', 'include/lcms2_plugin.h', -# 'lib/liblcms2.a', 'lib/liblcms2.%s' % SHLIB_EXT, 'lib/pkgconfig/lcms2.pc'], -# 'dirs': ['share/man'], -# } +sanity_check_paths = { + 'files': ['bin/cmph'], + 'dirs': ['include', 'lib'], +} + +sanity_check_commands = [ + "cmph -h", +] moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tbb/tbb-2020.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/tbb/tbb-2020.3-GCCcore-12.3.0.eb index c07c836411a..01112f9169c 100644 --- a/easybuild/easyconfigs/t/tbb/tbb-2020.3-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/t/tbb/tbb-2020.3-GCCcore-12.3.0.eb @@ -13,7 +13,7 @@ checksums = ['ebc4f6aa47972daed1f7bf71d100ae5bf6931c2e3144cf299c8cc7d041dca2f3'] builddependencies = [ ('binutils', '2.40'), - ('CMake', '2.8.12'), + ('CMake', '3.26.3'), ] moduleclass = 'lib' From 70f2ca59c40055f3958763598287aad47599dbd4 Mon Sep 17 00:00:00 2001 From: Ehsan Moravveji Date: Wed, 3 Apr 2024 16:11:02 +0200 Subject: [PATCH 267/889] First easyconfig and patch files for assembly-stats bioinformatics tool --- .../assembly-stats-1.0.1-GCCcore-11.3.0.eb | 46 +++++++++++++++++++ .../assembly-stats-1.0.1_fix_str_cast.patch | 39 ++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 easybuild/easyconfigs/a/assembly-stats/assembly-stats-1.0.1-GCCcore-11.3.0.eb create mode 100644 easybuild/easyconfigs/a/assembly-stats/assembly-stats-1.0.1_fix_str_cast.patch diff --git a/easybuild/easyconfigs/a/assembly-stats/assembly-stats-1.0.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/assembly-stats/assembly-stats-1.0.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..600abe6e736 --- /dev/null +++ b/easybuild/easyconfigs/a/assembly-stats/assembly-stats-1.0.1-GCCcore-11.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'CMakeMake' + +name = 'assembly-stats' +version = '1.0.1' + +homepage = 'https://github.com/sanger-pathogens/assembly-stats' +description = 'Get assembly statistics from FASTA and FASTQ files.' + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/sanger-pathogens/assembly-stats/releases'] +sources = [{ + 'git_config': { + 'url': 'https://github.com/sanger-pathogens', + 'repo_name': name, + 'tag': 'v%(version)s', + 'recursive': True, + }, + 'filename': SOURCE_TAR_GZ, +}] +patches = ['%(name)s-1.0.1_fix_str_cast.patch'] +checksums = [ + 'ab8fd8a3ab79b9141d09b9f46d86aa8458ec244b568fa1e55c6eccc210f4984e', #assembly-stats-1.0.1.tar.gz + 'e17ab66e72d5355c9f84b06da1133ca8370c15a195b77c515b9a1ee5de888c5a', #assembly-stats-1.0.1_fix_str_cast.patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('zlib', '1.2.12'), +] + +configopts = '-DINSTALL_DIR=%(installdir)s/bin' + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/assembly-stats'], + 'dirs': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/assembly-stats/assembly-stats-1.0.1_fix_str_cast.patch b/easybuild/easyconfigs/a/assembly-stats/assembly-stats-1.0.1_fix_str_cast.patch new file mode 100644 index 00000000000..a7230b393d5 --- /dev/null +++ b/easybuild/easyconfigs/a/assembly-stats/assembly-stats-1.0.1_fix_str_cast.patch @@ -0,0 +1,39 @@ +diff -ruN assembly-stats-original/fasta_unittest.cpp assembly-stats/fasta_unittest.cpp +--- assembly-stats-original/fasta_unittest.cpp 2024-04-03 11:45:32.230992000 +0200 ++++ assembly-stats/fasta_unittest.cpp 2024-04-03 11:50:08.868140000 +0200 +@@ -1,4 +1,5 @@ + #include ++#include + #include "fasta.h" + #include "gtest/gtest.h" + +@@ -94,8 +95,7 @@ + while (fa.fillFromFile(inStream)) + { + counter++; +- string expectedName = static_cast( &(ostringstream() << counter) )->str(); +- EXPECT_EQ(0, fa.name().compare(expectedName)); ++ EXPECT_EQ(0, fa.name().compare(std::to_string(counter))); + EXPECT_EQ(0, fa.seq().compare("ACGT")); + } + +diff -ruN assembly-stats-original/fastq_unittest.cpp assembly-stats/fastq_unittest.cpp +--- assembly-stats-original/fastq_unittest.cpp 2024-04-03 11:45:32.226036000 +0200 ++++ assembly-stats/fastq_unittest.cpp 2024-04-03 12:29:04.830873000 +0200 +@@ -1,5 +1,6 @@ + #include + #include ++#include + #include + #include "fastq.h" + #include "gtest/gtest.h" +@@ -50,8 +51,7 @@ + while (fq.fillFromFile(inStream)) + { + counter++; +- string expectedName = static_cast( &(ostringstream() << counter) )->str(); +- EXPECT_EQ(0, fq.name().compare(expectedName)); ++ EXPECT_EQ(0, fq.name().compare(std::to_string(counter))); + EXPECT_EQ(0, fq.seq().compare("ACGT")); + } + } From 6353ce5d83ae8fd323aeaafcd0635c8ec14821cf Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Wed, 3 Apr 2024 16:24:24 +0200 Subject: [PATCH 268/889] add highspy py bindings to HiGHS, add dep MPFR to symengine --- .../h/HiGHS/HiGHS-1.7.0-gfbf-2023b.eb | 44 +++++++++++++++++++ .../m/MICOM/MICOM-0.33.2-foss-2023b.eb | 5 --- .../SymEngine/SymEngine-0.11.2-gfbf-2023b.eb | 1 + 3 files changed, 45 insertions(+), 5 deletions(-) create mode 100644 easybuild/easyconfigs/h/HiGHS/HiGHS-1.7.0-gfbf-2023b.eb diff --git a/easybuild/easyconfigs/h/HiGHS/HiGHS-1.7.0-gfbf-2023b.eb b/easybuild/easyconfigs/h/HiGHS/HiGHS-1.7.0-gfbf-2023b.eb new file mode 100644 index 00000000000..749a0607682 --- /dev/null +++ b/easybuild/easyconfigs/h/HiGHS/HiGHS-1.7.0-gfbf-2023b.eb @@ -0,0 +1,44 @@ +easyblock = 'CMakeMake' + +name = 'HiGHS' +version = '1.7.0' + +homepage = 'https://ergo-code.github.io/HiGHS' +description = """Open source serial and parallel solvers for large-scale sparse linear programming (LP), +mixed-integer programming (MIP), and quadratic programming (QP) models.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +source_urls = ['https://github.com/ERGO-Code/HiGHS/archive/'] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}] +checksums = ['d10175ad66e7f113ac5dc00c9d6650a620663a6884fbf2942d6eb7a3d854604f'] + +builddependencies = [ + ('CMake', '3.27.6'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, + 'sanity_pip_check': True, + 'installopts': '', +} + +exts_list = [ + ('highspy', version, { + 'source_urls': ['https://github.com/ERGO-Code/HiGHS/archive/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['d10175ad66e7f113ac5dc00c9d6650a620663a6884fbf2942d6eb7a3d854604f'], + }), +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/MICOM/MICOM-0.33.2-foss-2023b.eb b/easybuild/easyconfigs/m/MICOM/MICOM-0.33.2-foss-2023b.eb index 25656e862bb..2f2d4eb9cbc 100644 --- a/easybuild/easyconfigs/m/MICOM/MICOM-0.33.2-foss-2023b.eb +++ b/easybuild/easyconfigs/m/MICOM/MICOM-0.33.2-foss-2023b.eb @@ -36,11 +36,6 @@ exts_list = [ ('osqp', '0.6.5', { 'checksums': ['b2810aee7be2373add8b6c0be5ad99b810288774abca421751cb032d6a5aedef'], }), - ('highspy', '1.7.0', { - 'source_urls': ['https://github.com/ERGO-Code/HiGHS/archive/'], - 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], - 'checksums': ['d10175ad66e7f113ac5dc00c9d6650a620663a6884fbf2942d6eb7a3d854604f'], - }), ('micom', version, { 'checksums': ['0fd335b178badcd9a1d96d1b6f2568b15da922be2fa57e8a6004971510f3708b'], }), diff --git a/easybuild/easyconfigs/s/SymEngine/SymEngine-0.11.2-gfbf-2023b.eb b/easybuild/easyconfigs/s/SymEngine/SymEngine-0.11.2-gfbf-2023b.eb index 91469615410..50c96416354 100644 --- a/easybuild/easyconfigs/s/SymEngine/SymEngine-0.11.2-gfbf-2023b.eb +++ b/easybuild/easyconfigs/s/SymEngine/SymEngine-0.11.2-gfbf-2023b.eb @@ -21,6 +21,7 @@ dependencies = [ ('FLINT', '3.1.1'), ('MPC', '1.3.1'), ('LLVM', '16.0.6'), + ('MPFR', '4.2.1'), ] local_opts = '-DWITH_OPENMP=ON -DWITH_SYMENGINE_RCP=ON -DWITH_COTIRE=OFF ' From 250c05333d2a1ba0758b0ecdeb18d9c4045394e9 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Wed, 3 Apr 2024 16:26:00 +0200 Subject: [PATCH 269/889] remove HiGHS with GCC --- .../h/HiGHS/HiGHS-1.7.0-GCC-13.2.0.eb | 20 ------------------- 1 file changed, 20 deletions(-) delete mode 100644 easybuild/easyconfigs/h/HiGHS/HiGHS-1.7.0-GCC-13.2.0.eb diff --git a/easybuild/easyconfigs/h/HiGHS/HiGHS-1.7.0-GCC-13.2.0.eb b/easybuild/easyconfigs/h/HiGHS/HiGHS-1.7.0-GCC-13.2.0.eb deleted file mode 100644 index 5ba18c393e1..00000000000 --- a/easybuild/easyconfigs/h/HiGHS/HiGHS-1.7.0-GCC-13.2.0.eb +++ /dev/null @@ -1,20 +0,0 @@ -easyblock = 'CMakeMake' - -name = 'HiGHS' -version = '1.7.0' - -homepage = 'https://ergo-code.github.io/HiGHS' -description = """Open source serial and parallel solvers for large-scale sparse linear programming (LP), -mixed-integer programming (MIP), and quadratic programming (QP) models.""" - -toolchain = {'name': 'GCC', 'version': '13.2.0'} - -source_urls = ['https://github.com/ERGO-Code/HiGHS/archive/'] -sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}] -checksums = ['d10175ad66e7f113ac5dc00c9d6650a620663a6884fbf2942d6eb7a3d854604f'] - -builddependencies = [ - ('CMake', '3.27.6'), -] - -moduleclass = 'lib' From 4d79f30c991ef4dc816cfcb2ceaa63f76c42c127 Mon Sep 17 00:00:00 2001 From: Ehsan Moravveji Date: Wed, 3 Apr 2024 16:37:49 +0200 Subject: [PATCH 270/889] perhaps fixing .eb style for inline comments around checksums --- .../a/assembly-stats/assembly-stats-1.0.1-GCCcore-11.3.0.eb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/a/assembly-stats/assembly-stats-1.0.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/assembly-stats/assembly-stats-1.0.1-GCCcore-11.3.0.eb index 600abe6e736..461909d2d0b 100644 --- a/easybuild/easyconfigs/a/assembly-stats/assembly-stats-1.0.1-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/a/assembly-stats/assembly-stats-1.0.1-GCCcore-11.3.0.eb @@ -20,8 +20,10 @@ sources = [{ }] patches = ['%(name)s-1.0.1_fix_str_cast.patch'] checksums = [ - 'ab8fd8a3ab79b9141d09b9f46d86aa8458ec244b568fa1e55c6eccc210f4984e', #assembly-stats-1.0.1.tar.gz - 'e17ab66e72d5355c9f84b06da1133ca8370c15a195b77c515b9a1ee5de888c5a', #assembly-stats-1.0.1_fix_str_cast.patch + # assembly-stats-1.0.1.tar.gz + 'ab8fd8a3ab79b9141d09b9f46d86aa8458ec244b568fa1e55c6eccc210f4984e', + # assembly-stats-1.0.1_fix_str_cast.patch + 'e17ab66e72d5355c9f84b06da1133ca8370c15a195b77c515b9a1ee5de888c5a', ] builddependencies = [ From 42e30643c1c1981e102e10c62a2ceaa1f093bcbd Mon Sep 17 00:00:00 2001 From: Cintia Willemyns <115622907+WilleBell@users.noreply.github.com> Date: Wed, 3 Apr 2024 17:30:46 +0200 Subject: [PATCH 271/889] Update easyconfigs.py add orthagogue to the list of exceptions as it needs old tbb dependency --- test/easyconfigs/easyconfigs.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/easyconfigs/easyconfigs.py b/test/easyconfigs/easyconfigs.py index e3fcacd6bd3..0983de8909d 100644 --- a/test/easyconfigs/easyconfigs.py +++ b/test/easyconfigs/easyconfigs.py @@ -629,6 +629,8 @@ def check_dep_vars(self, gen, dep, dep_vars): 'spoa': [(r'3\.4\.0', [r'Shasta-0\.8\.0-'])], # UShER requires tbb-2020.3 as newer versions will not build 'tbb': [('2020.3', ['UShER-0.5.0-'])], + # orthagogue requires tbb-2020.3 as newer versions will not build + 'tbb': [('2020.3', ['orthagogue-20141105-'])], 'TensorFlow': [ # medaka 0.11.4/0.12.0 requires recent TensorFlow <= 1.14 (and Python 3.6), # artic-ncov2019 requires medaka From d46c0970d21eaea1b3537e2fb4015e53bf053ded Mon Sep 17 00:00:00 2001 From: Cintia Willemyns <115622907+WilleBell@users.noreply.github.com> Date: Wed, 3 Apr 2024 17:39:50 +0200 Subject: [PATCH 272/889] Update easyconfigs.py fix orthagogue exception --- test/easyconfigs/easyconfigs.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/test/easyconfigs/easyconfigs.py b/test/easyconfigs/easyconfigs.py index 0983de8909d..dba6f13c189 100644 --- a/test/easyconfigs/easyconfigs.py +++ b/test/easyconfigs/easyconfigs.py @@ -628,9 +628,8 @@ def check_dep_vars(self, gen, dep, dep_vars): # Shasta requires spoa 3.x 'spoa': [(r'3\.4\.0', [r'Shasta-0\.8\.0-'])], # UShER requires tbb-2020.3 as newer versions will not build - 'tbb': [('2020.3', ['UShER-0.5.0-'])], - # orthagogue requires tbb-2020.3 as newer versions will not build - 'tbb': [('2020.3', ['orthagogue-20141105-'])], + # orthagogue requires tbb-2020.3 as 2021 versions are not backward compatible with any of the previous releases + 'tbb': [('2020.3', ['UShER-0.5.0-', 'orthagogue-20141105-'])], 'TensorFlow': [ # medaka 0.11.4/0.12.0 requires recent TensorFlow <= 1.14 (and Python 3.6), # artic-ncov2019 requires medaka From 1e669612da21c4d7bfe1d8f6babfd37b3ee9fa08 Mon Sep 17 00:00:00 2001 From: Cintia Willemyns <115622907+WilleBell@users.noreply.github.com> Date: Wed, 3 Apr 2024 17:42:20 +0200 Subject: [PATCH 273/889] Update easyconfigs.py fix line too long --- test/easyconfigs/easyconfigs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/easyconfigs/easyconfigs.py b/test/easyconfigs/easyconfigs.py index dba6f13c189..07e42487071 100644 --- a/test/easyconfigs/easyconfigs.py +++ b/test/easyconfigs/easyconfigs.py @@ -628,7 +628,7 @@ def check_dep_vars(self, gen, dep, dep_vars): # Shasta requires spoa 3.x 'spoa': [(r'3\.4\.0', [r'Shasta-0\.8\.0-'])], # UShER requires tbb-2020.3 as newer versions will not build - # orthagogue requires tbb-2020.3 as 2021 versions are not backward compatible with any of the previous releases + # orthagogue requires tbb-2020.3 as 2021 versions are not backward compatible with the previous releases 'tbb': [('2020.3', ['UShER-0.5.0-', 'orthagogue-20141105-'])], 'TensorFlow': [ # medaka 0.11.4/0.12.0 requires recent TensorFlow <= 1.14 (and Python 3.6), From 3e6fd239b1b739b01d61523b0f1669a5e8918d97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Wed, 3 Apr 2024 18:54:09 +0000 Subject: [PATCH 274/889] Fix pkg config parts of sentencepiece python component --- .../s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb b/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb index 8504b4fc6e1..a3482749c33 100644 --- a/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb +++ b/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb @@ -8,9 +8,11 @@ description = "Unsupervised text tokenizer for Neural Network-based text generat github_account = 'google' toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'debug': True} builddependencies = [ ('CMake', '3.26.3'), + ('pkgconf', '1.9.5'), ] dependencies = [ @@ -33,8 +35,8 @@ components = [ ('sentencepiece', version, { 'easyblock': 'PythonPackage', 'start_dir': '%(namelower)s-%(version)s/python', - 'prebuildopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && ', - 'preinstallopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && ', + 'prebuildopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib64/pkgconfig:$PKG_CONFIG_PATH && ', + 'preinstallopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib64/pkgconfig:$PKG_CONFIG_PATH && ', 'use_pip': True, 'download_dep_fail': True, 'sanity_pip_check': True, From 574bdb238d1c4def8862847fbacbfb3aa7e52c64 Mon Sep 17 00:00:00 2001 From: Ehsan Moravveji Date: Thu, 4 Apr 2024 09:00:34 +0200 Subject: [PATCH 275/889] improve sources; add sanity check command; include author and purpose --- .../assembly-stats-1.0.1-GCCcore-11.3.0.eb | 24 ++++++++----------- .../assembly-stats-1.0.1_fix_str_cast.patch | 4 ++++ 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/easybuild/easyconfigs/a/assembly-stats/assembly-stats-1.0.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/assembly-stats/assembly-stats-1.0.1-GCCcore-11.3.0.eb index 461909d2d0b..4b3804bc747 100644 --- a/easybuild/easyconfigs/a/assembly-stats/assembly-stats-1.0.1-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/a/assembly-stats/assembly-stats-1.0.1-GCCcore-11.3.0.eb @@ -1,3 +1,5 @@ +# Author: Ehsan Moravveji (VSCentrum, KU Leuven) + easyblock = 'CMakeMake' name = 'assembly-stats' @@ -8,22 +10,14 @@ description = 'Get assembly statistics from FASTA and FASTQ files.' toolchain = {'name': 'GCCcore', 'version': '11.3.0'} -source_urls = ['https://github.com/sanger-pathogens/assembly-stats/releases'] -sources = [{ - 'git_config': { - 'url': 'https://github.com/sanger-pathogens', - 'repo_name': name, - 'tag': 'v%(version)s', - 'recursive': True, - }, - 'filename': SOURCE_TAR_GZ, -}] +github_account = 'sanger-pathogens' +#source_urls = ['https://github.com/sanger-pathogens/assembly-stats/releases'] +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] patches = ['%(name)s-1.0.1_fix_str_cast.patch'] checksums = [ - # assembly-stats-1.0.1.tar.gz - 'ab8fd8a3ab79b9141d09b9f46d86aa8458ec244b568fa1e55c6eccc210f4984e', - # assembly-stats-1.0.1_fix_str_cast.patch - 'e17ab66e72d5355c9f84b06da1133ca8370c15a195b77c515b9a1ee5de888c5a', + {'v1.0.1.tar.gz': '02be614da4d244673bcd0adc6917749681d52a58cb0a039c092d01cdeabd8575'}, + {'assembly-stats-1.0.1_fix_str_cast.patch': '2c1d63e7b1246b290ddfeea2604076ae892dfe337e5092e83575c2c3cbcfd7fd'}, ] builddependencies = [ @@ -45,4 +39,6 @@ sanity_check_paths = { 'dirs': [] } +sanity_check_commands = ['assembly-stats -v'] + moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/assembly-stats/assembly-stats-1.0.1_fix_str_cast.patch b/easybuild/easyconfigs/a/assembly-stats/assembly-stats-1.0.1_fix_str_cast.patch index a7230b393d5..48fe1b7fef1 100644 --- a/easybuild/easyconfigs/a/assembly-stats/assembly-stats-1.0.1_fix_str_cast.patch +++ b/easybuild/easyconfigs/a/assembly-stats/assembly-stats-1.0.1_fix_str_cast.patch @@ -1,3 +1,7 @@ +# Author: Ehsan Moravveji (VSCentrum, KU Leuven) +# Purpose: This patch prevents the compile-time error "taking address of rvalue [-fpermissive]" +# by redefining a simple casting from integer to string. Consequently, the additional +# "-fpermissive" compiler flag need not be included to supress the error. diff -ruN assembly-stats-original/fasta_unittest.cpp assembly-stats/fasta_unittest.cpp --- assembly-stats-original/fasta_unittest.cpp 2024-04-03 11:45:32.230992000 +0200 +++ assembly-stats/fasta_unittest.cpp 2024-04-03 11:50:08.868140000 +0200 From a4d604a6e737ccded7f08b66838399c6f1c51db1 Mon Sep 17 00:00:00 2001 From: Ehsan Moravveji Date: Thu, 4 Apr 2024 09:14:32 +0200 Subject: [PATCH 276/889] more cleanup --- .../a/assembly-stats/assembly-stats-1.0.1-GCCcore-11.3.0.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/a/assembly-stats/assembly-stats-1.0.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/assembly-stats/assembly-stats-1.0.1-GCCcore-11.3.0.eb index 4b3804bc747..7f13dbce7c6 100644 --- a/easybuild/easyconfigs/a/assembly-stats/assembly-stats-1.0.1-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/a/assembly-stats/assembly-stats-1.0.1-GCCcore-11.3.0.eb @@ -11,7 +11,6 @@ description = 'Get assembly statistics from FASTA and FASTQ files.' toolchain = {'name': 'GCCcore', 'version': '11.3.0'} github_account = 'sanger-pathogens' -#source_urls = ['https://github.com/sanger-pathogens/assembly-stats/releases'] source_urls = [GITHUB_SOURCE] sources = ['v%(version)s.tar.gz'] patches = ['%(name)s-1.0.1_fix_str_cast.patch'] From 3885d660b45c63a256f4f23731fc00ce9a70330c Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Thu, 4 Apr 2024 10:06:34 +0200 Subject: [PATCH 277/889] add sanity_check_paths --- easybuild/easyconfigs/h/HiGHS/HiGHS-1.7.0-gfbf-2023b.eb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/easybuild/easyconfigs/h/HiGHS/HiGHS-1.7.0-gfbf-2023b.eb b/easybuild/easyconfigs/h/HiGHS/HiGHS-1.7.0-gfbf-2023b.eb index 749a0607682..acc366be210 100644 --- a/easybuild/easyconfigs/h/HiGHS/HiGHS-1.7.0-gfbf-2023b.eb +++ b/easybuild/easyconfigs/h/HiGHS/HiGHS-1.7.0-gfbf-2023b.eb @@ -41,4 +41,9 @@ exts_list = [ modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} +sanity_check_paths = { + 'files': ['bin/highs'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + moduleclass = 'lib' From f25248824400031cac2dae8c65c81793bc6abe85 Mon Sep 17 00:00:00 2001 From: Cintia Willemyns <115622907+WilleBell@users.noreply.github.com> Date: Thu, 4 Apr 2024 10:53:17 +0200 Subject: [PATCH 278/889] Update and rename orthagogue-20141105-foss-2023a.eb to orthAgogue-20141105-foss-2023a.eb rename to orthAgogue --- ...20141105-foss-2023a.eb => orthAgogue-20141105-foss-2023a.eb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename easybuild/easyconfigs/o/orthagogue/{orthagogue-20141105-foss-2023a.eb => orthAgogue-20141105-foss-2023a.eb} (98%) diff --git a/easybuild/easyconfigs/o/orthagogue/orthagogue-20141105-foss-2023a.eb b/easybuild/easyconfigs/o/orthagogue/orthAgogue-20141105-foss-2023a.eb similarity index 98% rename from easybuild/easyconfigs/o/orthagogue/orthagogue-20141105-foss-2023a.eb rename to easybuild/easyconfigs/o/orthagogue/orthAgogue-20141105-foss-2023a.eb index b581563c7ea..7194aae2d36 100644 --- a/easybuild/easyconfigs/o/orthagogue/orthagogue-20141105-foss-2023a.eb +++ b/easybuild/easyconfigs/o/orthagogue/orthAgogue-20141105-foss-2023a.eb @@ -1,6 +1,6 @@ easyblock = 'CMakeMake' -name = 'orthagogue' +name = 'orthAgogue' version = '20141105' _commit = 'ebe3467' From 8af932f5edb45e5545fb5ef1b6ed5d3137681a1e Mon Sep 17 00:00:00 2001 From: Cintia Willemyns <115622907+WilleBell@users.noreply.github.com> Date: Thu, 4 Apr 2024 11:08:38 +0200 Subject: [PATCH 279/889] Update easyconfigs.py fix exception for orthAgogue --- test/easyconfigs/easyconfigs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/easyconfigs/easyconfigs.py b/test/easyconfigs/easyconfigs.py index 07e42487071..1e69532aa42 100644 --- a/test/easyconfigs/easyconfigs.py +++ b/test/easyconfigs/easyconfigs.py @@ -629,7 +629,7 @@ def check_dep_vars(self, gen, dep, dep_vars): 'spoa': [(r'3\.4\.0', [r'Shasta-0\.8\.0-'])], # UShER requires tbb-2020.3 as newer versions will not build # orthagogue requires tbb-2020.3 as 2021 versions are not backward compatible with the previous releases - 'tbb': [('2020.3', ['UShER-0.5.0-', 'orthagogue-20141105-'])], + 'tbb': [('2020.3', ['UShER-0.5.0-', 'orthAgogue-20141105-'])], 'TensorFlow': [ # medaka 0.11.4/0.12.0 requires recent TensorFlow <= 1.14 (and Python 3.6), # artic-ncov2019 requires medaka From df052122b012e075d967c603a6ff09a517914b9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Thu, 4 Apr 2024 09:31:33 +0000 Subject: [PATCH 280/889] drop toolchainopts --- .../s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb b/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb index a3482749c33..3345b6e5b62 100644 --- a/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb +++ b/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb @@ -8,7 +8,6 @@ description = "Unsupervised text tokenizer for Neural Network-based text generat github_account = 'google' toolchain = {'name': 'GCC', 'version': '12.3.0'} -toolchainopts = {'debug': True} builddependencies = [ ('CMake', '3.26.3'), From e108fcd26232f5b6337cdff21ec55a2fa6a59e42 Mon Sep 17 00:00:00 2001 From: Cintia Willemyns <115622907+WilleBell@users.noreply.github.com> Date: Thu, 4 Apr 2024 12:39:05 +0200 Subject: [PATCH 281/889] Rename orthAgogue-20141105-foss-2023a.eb to orthAgogue-20141105-foss-2023a.eb change directory name to match new easyconfig name --- .../{orthagogue => orthAgogue}/orthAgogue-20141105-foss-2023a.eb | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/o/{orthagogue => orthAgogue}/orthAgogue-20141105-foss-2023a.eb (100%) diff --git a/easybuild/easyconfigs/o/orthagogue/orthAgogue-20141105-foss-2023a.eb b/easybuild/easyconfigs/o/orthAgogue/orthAgogue-20141105-foss-2023a.eb similarity index 100% rename from easybuild/easyconfigs/o/orthagogue/orthAgogue-20141105-foss-2023a.eb rename to easybuild/easyconfigs/o/orthAgogue/orthAgogue-20141105-foss-2023a.eb From e1056b42b291795756988721d465c186cbed4811 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Thu, 4 Apr 2024 12:37:58 +0000 Subject: [PATCH 282/889] exclude test that fetches things online --- .../PyTorch-bundle-2.1.2-foss-2023a.eb | 158 ++++++++++++++++++ 1 file changed, 158 insertions(+) create mode 100644 easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb new file mode 100644 index 00000000000..a10ff0ab416 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb @@ -0,0 +1,158 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-bundle' +version = '2.1.2' + +homepage = 'https://pytorch.org/' +description = """PyTorch with compatible versions of official Torch extensions.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('CMake', '3.26.3'), + ('RE2', '2023-08-01'), # for torchtext + ('parameterized', '0.9.0'), # for torchtext and torchaudio tests + ('scikit-learn', '1.3.1'), # for torchaudio and pytorch-ignite tests + ('scikit-image', '0.22.0'), # for pytorch-ignite tests + ('dill', '0.3.7'), # for pytorch-ignite tests + ('matplotlib', '3.7.2'), # for pytorch-ignite tests + ('librosa', '0.10.1'), # for torchaudio tests + ('NLTK', '3.8.1'), # for torchtext tests +] + +dependencies = [ + ('Python', '3.11.3'), + ('PyTorch', version), + ('Pillow-SIMD', '9.5.0'), # for torchvision + ('libjpeg-turbo', '2.1.5.1'), # for torchvision + ('SentencePiece', '0.2.0'), # for torchtext + ('tqdm', '4.66.1'), # for torchtext + ('double-conversion', '3.3.0'), # for torchtext + ('utf8proc', '2.8.0'), # for torchtext + ('tensorboard', '2.15.1'), # for torch-tb-profiler + ('FFmpeg', '6.0'), # for torchvision and torchaudio + ('SoX', '14.4.2'), # for torchaudio +] + +use_pip = True + +exts_list = [ + ('portalocker', '2.8.2', { + 'checksums': ['2b035aa7828e46c58e9b31390ee1f169b98e1066ab10b9a6a861fe7e25ee4f33'], + }), + ('torchdata', '0.7.1', { + 'preinstallopts': "USE_SYSTEM_LIBS=1 ", + 'source_urls': ['https://github.com/pytorch/data/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['ef9bbdcee759b53c3c9d99e76eb0a66da33d36bfb7f859a25a9b5e737a51fa23'], + 'runtest': False, # circular test requirements + }), + ('torchtext', '0.16.2', { + 'patches': [ + 'torchtext-0.14.1_use-system-libs.patch', + 'torchtext-0.16.2_download-to-project-root.patch', + ], + 'source_urls': ['https://github.com/pytorch/text/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': [ + {'torchtext-0.16.2.tar.gz': '6574b012804f65220329a2ad34a95c18e4df0d4cff2f862fb7862d57b374b013'}, + {'torchtext-0.14.1_use-system-libs.patch': + '1366d10c4755b6003194f7313ca11d165a80a13d325bee9d669ea2b333d82536'}, + {'torchtext-0.16.2_download-to-project-root.patch': + '9d5599a9983729cf1fc7ab2a2f65d1887f223f528e15662ba1b4a5e359c9686d'}, + ], + 'runtest': ( + 'pytest test/torchtext_unittest' + ' -k "not test_vocab_from_raw_text_file"' # segfaults + '" and not test_get_tokenizer_moses"' # requires sacremoses + '" and not test_get_tokenizer_spacy"' # requires spaCy + '" and not test_download_charngram_vectors"' # requires internet access + ), + 'testinstall': True, + }), + ('pytest-mock', '3.11.1', { # for torchvision tests + 'checksums': ['7f6b125602ac6d743e523ae0bfa71e1a697a2f5534064528c6ff84c2f7c2fc7f'], + }), + ('torchvision', '0.16.2', { + 'preinstallopts': 'WITH_CUDA=1 TORCHVISION_INCLUDE="$EBROOTLIBJPEGMINTURBO/include:$TORCHVISION_INCLUDE"', + 'installopts': '-v', + 'patches': [ + 'torchvision-0.16.2_ffmpeg-6.0-fix.patch', + 'torchvision-0.16.2_quantized_tol.patch', + ], + 'source_urls': ['https://github.com/pytorch/vision/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': [ + {'torchvision-0.16.2.tar.gz': '8c1f2951e98d8ada6e5a468f179af4be9f56d2ebc3ab057af873da61669806d7'}, + {'torchvision-0.16.2_ffmpeg-6.0-fix.patch': + 'a49336e7bfa1c950e886852bff37a3ea2146ac7bda87241e3ffb31c5cb869cce'}, + {'torchvision-0.16.2_quantized_tol.patch': + '457cdf8ad6653838c552890bce95dbe30b7573b1643334284f5f4a58f74f6e40'}, + ], + 'runtest': ( + 'pytest' + ' -m "not xfail"' # don't run tests that are expected that they might fail + ' -k "not test_frame_reading_mem_vs_file"' # this one hangs + ), + 'testinstall': True, + }), + ('torchaudio', '2.2.1', { + 'installopts': '--no-use-pep517 -v', + 'patches': [ + 'torchaudio-2.2.1_use-external-sox.patch', + 'torchaudio-2.2.1_transform_test_tol.patch', + ], + 'preinstallopts': ('rm -r third_party/{sox,ffmpeg/multi};' # runs twice when testinstall + ' USE_CUDA=1 USE_OPENMP=1 USE_FFMPEG=1 FFMPEG_ROOT="$EBROOTFFMPEG"'), + 'source_urls': ['https://github.com/pytorch/audio/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': [ + {'torchaudio-2.2.1.tar.gz': '5f2a9cda9369ff348d1d7ca2c0a1f01afc9ebff1a13df9775c22aa5c43f5b0f1'}, + {'torchaudio-2.2.1_use-external-sox.patch': + 'fc97b2bdf0ab16b9c4706bf2a31dd72d0ecb09e4af2f9c4a34e18fca8e0d165d'}, + {'torchaudio-2.2.1_transform_test_tol.patch': + '381be068dc1c7dda3ea19220e423356ac93621aa48133a0fe54464069c8799c7'}, + ], + 'runtest': ( + 'pytest test/torchaudio_unittest/' + ' -k "not TestProcessPoolExecutor"' # hang maybe related https://github.com/pytorch/audio/issues/1021 + '" and not FilterGraphWithCudaAccel"' # requires FFmpeg with CUDA support + '" and not kaldi_io_test"' # requires kaldi_io + ), + 'testinstall': True, + }), + ('pytorch-ignite', '0.4.13', { + 'modulename': 'ignite', + 'source_urls': ['https://github.com/pytorch/ignite/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['bfe4b6f1cd96e78c021a65a0c51350cdb89d6ef5a8b9609638666ca95bae51d7'], + 'runtest': ( + 'pytest' + ' --ignore=tests/ignite/contrib/handlers/test_clearml_logger.py' # requires clearml + ' --ignore=tests/ignite/metrics/gan/test_fid.py' # requires pytorch_fid + ' -k "not test__native_dist_model_create_no_dist_nccl"' # hangs + '" and not test__native_dist_model_create_dist_gloo_2"' # hangs + '" and not test__native_dist_model_create_dist_nccl_2"' # hangs + ), + 'testinstall': True, + }), + ('torch-tb-profiler', '0.4.3', { + 'modulename': 'torch.profiler', + 'sources': ['torch_tb_profiler-%(version)s.tar.gz'], + 'checksums': ['8b8d29b2de960b3c4423087b23cec29beaf9ac3a8c7b046c18fd25b218f726b1'], + 'runtest': ( + 'pytest' + ' --ignore=test/test_tensorboard_end2end.py' # timeouts + ' -k "not test_dump_gpu_metrics"' # missing file + '" and not test_profiler_api_with_record_shapes_memory_stack"' # fails + '" and not test_profiler_api_without_record_shapes_memory_stack"' # fails + '" and not test_profiler_api_without_step"' # fails + '" and test_autograd_api"' # fails + ), + 'testinstall': True, + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' From 061d4d869ca2aa5ae02334da5c196a5329157be4 Mon Sep 17 00:00:00 2001 From: WilleBell Date: Thu, 4 Apr 2024 14:48:04 +0200 Subject: [PATCH 283/889] adding easyconfigs: CREST-20240319-gfbf-2023a.eb --- .../c/CREST/CREST-20240319-gfbf-2023a.eb | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 easybuild/easyconfigs/c/CREST/CREST-20240319-gfbf-2023a.eb diff --git a/easybuild/easyconfigs/c/CREST/CREST-20240319-gfbf-2023a.eb b/easybuild/easyconfigs/c/CREST/CREST-20240319-gfbf-2023a.eb new file mode 100644 index 00000000000..cea4f08be77 --- /dev/null +++ b/easybuild/easyconfigs/c/CREST/CREST-20240319-gfbf-2023a.eb @@ -0,0 +1,44 @@ +# Author: Jasper Grimm (UoY) +# Update to 2.12: +# Author: J. Sassmannshausen (Imperial College London) + +easyblock = 'CMakeMake' + +name = 'CREST' +version = '20240319' +_commit = '2719412edf8bb606cebdd4cd6bbb4cdbd249e1e5' + +homepage = 'https://xtb-docs.readthedocs.io/en/latest/crest.html' +description = """CREST is an utility/driver program for the xtb program. Originally it was designed + as conformer sampling program, hence the abbreviation Conformer–Rotamer Ensemble Sampling Tool, + but now offers also some utility functions for calculations with the GFNn–xTB methods. Generally + the program functions as an IO based OMP scheduler (i.e., calculations are performed by the xtb + program) and tool for the creation and analysation of structure ensembles. +""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} +toolchainopts = {'opt': True, 'optarch': True, 'extra_fflags': '-ffree-line-length-none'} + +separate_build_dir = False + +github_account = 'grimme-lab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = [{'download_filename': '%s.tar.gz' % _commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['2928a8af03aea02422859dfc7cb0b563a19d428e2383954f05786ec77474aff1'] + +builddependencies = [('CMake', '3.26.3')] + +dependencies = [('xtb', '6.7.0')] # required to run the program + +# Simple test command just to check if the program is working: +test_cmd = 'export PATH=%(builddir)s/%(namelower)s:$PATH && ' +test_cmd += 'cd %(builddir)s/%(namelower)s/examples/expl-0/ && ./run.sh ' + +sanity_check_paths = { + 'files': ['bin/%s' % name.lower()], + 'dirs': [], +} + +sanity_check_commands = ["crest -h", "crest --cite"] + +moduleclass = 'chem' From 67c03cfa5cadbebc222651553d4b8a7accad681f Mon Sep 17 00:00:00 2001 From: Cintia Willemyns <115622907+WilleBell@users.noreply.github.com> Date: Thu, 4 Apr 2024 15:59:05 +0200 Subject: [PATCH 284/889] Update CREST-20240319-gfbf-2023a.eb downgrade xtb to toolchain's version --- easybuild/easyconfigs/c/CREST/CREST-20240319-gfbf-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/c/CREST/CREST-20240319-gfbf-2023a.eb b/easybuild/easyconfigs/c/CREST/CREST-20240319-gfbf-2023a.eb index cea4f08be77..ace97e25c9c 100644 --- a/easybuild/easyconfigs/c/CREST/CREST-20240319-gfbf-2023a.eb +++ b/easybuild/easyconfigs/c/CREST/CREST-20240319-gfbf-2023a.eb @@ -28,7 +28,7 @@ checksums = ['2928a8af03aea02422859dfc7cb0b563a19d428e2383954f05786ec77474aff1'] builddependencies = [('CMake', '3.26.3')] -dependencies = [('xtb', '6.7.0')] # required to run the program +dependencies = [('xtb', '6.6.1')] # required to run the program # Simple test command just to check if the program is working: test_cmd = 'export PATH=%(builddir)s/%(namelower)s:$PATH && ' From 99e8e51473a78fecc74a0def3e046eee03dadb84 Mon Sep 17 00:00:00 2001 From: WilleBell Date: Thu, 4 Apr 2024 16:03:45 +0200 Subject: [PATCH 285/889] adding easyconfigs: xtb-6.7.0-gfbf-2023a.eb --- .../easyconfigs/x/xtb/xtb-6.7.0-gfbf-2023a.eb | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 easybuild/easyconfigs/x/xtb/xtb-6.7.0-gfbf-2023a.eb diff --git a/easybuild/easyconfigs/x/xtb/xtb-6.7.0-gfbf-2023a.eb b/easybuild/easyconfigs/x/xtb/xtb-6.7.0-gfbf-2023a.eb new file mode 100644 index 00000000000..927663a3df2 --- /dev/null +++ b/easybuild/easyconfigs/x/xtb/xtb-6.7.0-gfbf-2023a.eb @@ -0,0 +1,42 @@ +easyblock = 'MesonNinja' + +name = 'xtb' +version = '6.7.0' + +homepage = 'https://xtb-docs.readthedocs.io' +description = """ xtb - An extended tight-binding semi-empirical program package. """ + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +github_account = 'grimme-lab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['9cf1997064d2d5bde7fae4cec6f873469602e6554872ad79de4079f022855ae2'] + +builddependencies = [ + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.5'), +] + +configopts = "-Dlapack='custom' " +configopts += "-Dcustom_libraries='flexiblas' " +configopts += "--buildtype release " + +runtest = 'meson' +# Ensure test don't timeout and only use one process +testopts = 'test -C %(builddir)s/easybuild_obj -t 100 --num-processes=1' + +sanity_check_paths = { + 'files': ['bin/xtb', 'include/xtb.h'] + ['lib/libxtb.%s' % e for e in ('a', SHLIB_EXT)], + 'dirs': ['share'], +} + +sanity_check_commands = ["xtb --help"] + +modextravars = { + 'XTBHOME': '%(installdir)s', + 'XTBPATH': '%(installdir)s', +} + +moduleclass = 'chem' From cee25d10d021ac0dfccaa6c65f67ed74965c00d6 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Thu, 4 Apr 2024 17:28:34 +0200 Subject: [PATCH 286/889] adding easyconfigs: Cassiopeia-2.0.0-foss-2023a.eb --- .../Cassiopeia/Cassiopeia-2.0.0-foss-2023a.eb | 132 ++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 easybuild/easyconfigs/c/Cassiopeia/Cassiopeia-2.0.0-foss-2023a.eb diff --git a/easybuild/easyconfigs/c/Cassiopeia/Cassiopeia-2.0.0-foss-2023a.eb b/easybuild/easyconfigs/c/Cassiopeia/Cassiopeia-2.0.0-foss-2023a.eb new file mode 100644 index 00000000000..69b70834b9b --- /dev/null +++ b/easybuild/easyconfigs/c/Cassiopeia/Cassiopeia-2.0.0-foss-2023a.eb @@ -0,0 +1,132 @@ +easyblock = 'PythonBundle' + +name = 'Cassiopeia' +version = '2.0.0' + +homepage = 'https://github.com/YosefLab/Cassiopeia' +description = """A Package for Cas9-Enabled Single Cell Lineage Tracing Tree Reconstruction.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('CMake', '3.26.3'), + ('poetry', '1.5.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('Biopython', '1.83'), + ('scikit-build', '0.17.6'), + ('bokeh', '3.2.2'), + ('ETE', '3.1.3'), + ('matplotlib', '3.7.2'), + ('networkx', '3.1'), + ('numba', '0.58.1'), + ('Pysam', '0.22.0'), + ('PyYAML', '6.0'), + ('typing-extensions', '4.9.0'), + ('tqdm', '4.66.1'), + ('hatchling', '1.18.0'), + ('BeautifulSoup', '4.12.2'), + ('statsmodels', '0.14.1'), + ('Seaborn', '0.13.2'), + ('IPython', '8.14.0'), + ('PyZMQ', '25.1.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('hatch_jupyter_builder', '0.9.1', { + 'checksums': ['79278198d124c646b799c5e8dca8504aed9dcaaa88d071a09eb0b5c2009a58ad'], + }), + ('hatch_nodejs_version', '0.3.2', { + 'checksums': ['8a7828d817b71e50bbbbb01c9bfc0b329657b7900c56846489b9c958de15b54c'], + }), + ('deprecation', '2.1.0', { + 'checksums': ['72b3bde64e5d778694b0cf68178aed03d15e15477116add3fb773e581f9518ff'], + }), + ('jupyter_packaging', '0.12.3', { + 'checksums': ['9d9b2b63b97ffd67a8bc5391c32a421bc415b264a32c99e4d8d8dd31daae9cf4'], + }), + ('jupyter_client', '8.6.1', { + 'checksums': ['e842515e2bab8e19186d89fdfea7abd15e39dd581f94e399f00e2af5a1652d3f'], + }), + ('widgetsnbextension', '4.0.10', { + 'checksums': ['64196c5ff3b9a9183a8e699a4227fb0b7002f252c814098e66c4d1cd0644688f'], + }), + ('jupyterlab_widgets', '3.0.10', { + 'checksums': ['04f2ac04976727e4f9d0fa91cdc2f1ab860f965e504c29dbd6a65c882c9d04c0'], + }), + ('comm', '0.2.2', { + 'checksums': ['3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e'], + }), + ('fastjsonschema', '2.19.1', { + 'checksums': ['e3126a94bdc4623d3de4485f8d468a12f02a67921315ddc87836d6e456dc789d'], + }), + ('ipywidgets', '8.1.2', { + 'checksums': ['d0b9b41e49bae926a866e613a39b0f0097745d2b9f1f3dd406641b4a57ec42c9'], + }), + ('bleach', '6.1.0', { + 'checksums': ['0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe'], + }), + ('defusedxml', '0.7.1', { + 'checksums': ['1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69'], + }), + ('jupyter_core', '5.7.2', { + 'checksums': ['aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9'], + }), + ('jupyterlab_pygments', '0.3.0', { + 'checksums': ['721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d'], + }), + ('mistune', '3.0.2', { + 'checksums': ['fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8'], + }), + ('nbclient', '0.10.0', { + 'checksums': ['4b3f1b7dba531e498449c4db4f53da339c91d449dc11e9af3a43b4eb5c5abb09'], + }), + ('pandocfilters', '1.5.1', { + 'checksums': ['002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e'], + }), + ('tinycss2', '1.2.1', { + 'checksums': ['8cff3a8f066c2ec677c06dbc7b45619804a6938478d9d73c284b29d14ecb0627'], + }), + ('traitlets', '5.14.2', { + 'checksums': ['8cdd83c040dab7d1dee822678e5f5d100b514f7b72b01615b26fc5718916fdf9'], + }), + ('shortuuid', '1.0.13', { + 'checksums': ['3bb9cf07f606260584b1df46399c0b87dd84773e7b25912b7e391e30797c5e72'], + }), + ('ngs-tools', '1.8.5', { + 'checksums': ['380e236a101c5b1ac3c0fcdbcc908a210179b6ef2a93fbea9f4eb0ec2edc1de0'], + }), + ('nbformat', '5.10.3', { + 'checksums': ['60ed5e910ef7c6264b87d644f276b1b49e24011930deef54605188ddeb211685'], + }), + ('nbconvert', '7.16.3', { + 'checksums': ['a6733b78ce3d47c3f85e504998495b07e6ea9cf9bf6ec1c98dda63ec6ad19142'], + }), + ('itolapi', '4.1.4', { + 'checksums': ['68e87ba51d209da556b0e373b3b0456b644a1a732c193fedbd7785ff37b6a2cb'], + }), + ('hits', '0.4.0', { + 'checksums': ['743bfc1b56ab8fcf9fefacfcad4c1f23e9bafec1b42225709dbe097c8e669383'], + }), + ('Levenshtein', '0.22.0', { + 'modulename': False, + 'checksums': ['86d285d770551cb648d4fcfe5243449a479e694e56b65272dc6cbda879012051'], + }), + ('python-Levenshtein', '0.22.0', { + 'modulename': 'Levenshtein', + 'checksums': ['6f8e2216fbd4610ccfa1bab2e0052fb23de34c2333c192de08150eeb99717702'], + }), + (name, version, { + 'source_urls': ['https://github.com/YosefLab/Cassiopeia/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['28ae7495152683f5733222255056a1e7b2f7a51e1cee2f23f0d9f8ae5f4c3742'], + }), +] + +moduleclass = 'bio' From 664bb8918b673586c0ac295d66ead86ffb5a95be Mon Sep 17 00:00:00 2001 From: WilleBell Date: Thu, 4 Apr 2024 18:12:06 +0200 Subject: [PATCH 287/889] fix new checksum --- easybuild/easyconfigs/c/CREST/CREST-20240319-gfbf-2023a.eb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/c/CREST/CREST-20240319-gfbf-2023a.eb b/easybuild/easyconfigs/c/CREST/CREST-20240319-gfbf-2023a.eb index ace97e25c9c..7649571fc62 100644 --- a/easybuild/easyconfigs/c/CREST/CREST-20240319-gfbf-2023a.eb +++ b/easybuild/easyconfigs/c/CREST/CREST-20240319-gfbf-2023a.eb @@ -24,15 +24,15 @@ separate_build_dir = False github_account = 'grimme-lab' source_urls = [GITHUB_LOWER_SOURCE] sources = [{'download_filename': '%s.tar.gz' % _commit, 'filename': SOURCE_TAR_GZ}] -checksums = ['2928a8af03aea02422859dfc7cb0b563a19d428e2383954f05786ec77474aff1'] +checksums = ['770b7ca72bc47bc4e1ffd8ca56566df7b03f4d3b702b04ec6b83bad9a125884d'] builddependencies = [('CMake', '3.26.3')] dependencies = [('xtb', '6.6.1')] # required to run the program # Simple test command just to check if the program is working: -test_cmd = 'export PATH=%(builddir)s/%(namelower)s:$PATH && ' -test_cmd += 'cd %(builddir)s/%(namelower)s/examples/expl-0/ && ./run.sh ' +test_cmd = 'export PATH=%%(builddir)s/%%(namelower)s-%s:$PATH && ' % _commit +test_cmd += 'cd %%(builddir)s/%%(namelower)s-%s/examples/expl-0/ && ./run.sh ' % _commit sanity_check_paths = { 'files': ['bin/%s' % name.lower()], From 08d42a5b9c3ee95bd47521d0bc5f16bd698af7d0 Mon Sep 17 00:00:00 2001 From: Jiri Furst Date: Thu, 4 Apr 2024 21:08:48 +0200 Subject: [PATCH 288/889] adding easyconfigs: Mesquite-2.3.0-GCCcore-12.3.0.eb --- .../Mesquite/Mesquite-2.3.0-GCCcore-12.3.0.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/m/Mesquite/Mesquite-2.3.0-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/m/Mesquite/Mesquite-2.3.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/Mesquite/Mesquite-2.3.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..ccf2bdaf150 --- /dev/null +++ b/easybuild/easyconfigs/m/Mesquite/Mesquite-2.3.0-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'Mesquite' +version = '2.3.0' + +homepage = 'https://software.sandia.gov/mesquite/' + +description = """Mesh-Quality Improvement Library""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/sandialabs/mesquite/raw/main/mesquite/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4ab4ceadfa596e16c00dbb0e8b830a9112fa1b73291ca07633ec379a39b8bb28'] + +builddependencies = [ + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': ['bin/msqquality', 'bin/msqshape', 'lib/libmesquite.a'], + 'dirs': ['include'], +} + +sanity_check_commands = [ + "msqquality -h", + "msqshape -h", +] + +moduleclass = 'math' From 0a1a62c29800666990d3dbecb1067731cdedcc26 Mon Sep 17 00:00:00 2001 From: mssmzs Date: Thu, 4 Apr 2024 20:14:40 +0100 Subject: [PATCH 289/889] adding easyconfigs: LAPACK-3.12.0-GCC-13.2.0.eb --- .../l/LAPACK/LAPACK-3.12.0-GCC-13.2.0.eb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100755 easybuild/easyconfigs/l/LAPACK/LAPACK-3.12.0-GCC-13.2.0.eb diff --git a/easybuild/easyconfigs/l/LAPACK/LAPACK-3.12.0-GCC-13.2.0.eb b/easybuild/easyconfigs/l/LAPACK/LAPACK-3.12.0-GCC-13.2.0.eb new file mode 100755 index 00000000000..1924c7c0697 --- /dev/null +++ b/easybuild/easyconfigs/l/LAPACK/LAPACK-3.12.0-GCC-13.2.0.eb @@ -0,0 +1,16 @@ +name = 'LAPACK' +version = '3.12.0' + +homepage = 'https://www.netlib.org/lapack/' +description = """LAPACK is written in Fortran90 and provides routines for solving systems of + simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue + problems, and singular value problems.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Reference-LAPACK/lapack/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['eac9570f8e0ad6f30ce4b963f4f033f0f643e7c3912fc9ee6cd99120675ad48b'] + +moduleclass = 'numlib' From 57531bc2720ce4454b5dc84ff21ffd6ce449ab40 Mon Sep 17 00:00:00 2001 From: Richard Top Date: Thu, 4 Apr 2024 19:18:24 +0000 Subject: [PATCH 290/889] adding easyconfigs: CGAL-5.6.1-GCCcore-13.2.0.eb, METIS-5.1.0-GCCcore-13.2.0.eb, SCOTCH-7.0.4-gompi-2023b.eb --- .../c/CGAL/CGAL-5.6.1-GCCcore-13.2.0.eb | 26 ++++++++++++++ .../m/METIS/METIS-5.1.0-GCCcore-13.2.0.eb | 36 +++++++++++++++++++ .../s/SCOTCH/SCOTCH-7.0.4-gompi-2023b.eb | 26 ++++++++++++++ 3 files changed, 88 insertions(+) create mode 100644 easybuild/easyconfigs/c/CGAL/CGAL-5.6.1-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/m/METIS/METIS-5.1.0-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/s/SCOTCH/SCOTCH-7.0.4-gompi-2023b.eb diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-5.6.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/CGAL/CGAL-5.6.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..e0dfb771aa6 --- /dev/null +++ b/easybuild/easyconfigs/c/CGAL/CGAL-5.6.1-GCCcore-13.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' +name = 'CGAL' +version = '5.6.1' + +homepage = 'https://www.cgal.org/' +description = """The goal of the CGAL Open Source Project is to provide easy access to efficient + and reliable geometric algorithms in the form of a C++ library.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'strict': True} + +source_urls = ['https://github.com/CGAL/cgal/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['cdb15e7ee31e0663589d3107a79988a37b7b1719df3d24f2058545d1bcdd5837'] + +builddependencies = [ + ('CMake', '3.27.6'), + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': ['include/CGAL/Simple_cartesian.h'], + 'dirs': ['include/CGAL', 'lib/cmake/CGAL'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/m/METIS/METIS-5.1.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/m/METIS/METIS-5.1.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..20d6766c825 --- /dev/null +++ b/easybuild/easyconfigs/m/METIS/METIS-5.1.0-GCCcore-13.2.0.eb @@ -0,0 +1,36 @@ +name = 'METIS' +version = '5.1.0' + +homepage = 'http://glaros.dtc.umn.edu/gkhome/metis/metis/overview' + +description = """ + METIS is a set of serial programs for partitioning graphs, partitioning + finite element meshes, and producing fill reducing orderings for sparse + matrices. The algorithms implemented in METIS are based on the multilevel + recursive-bisection, multilevel k-way, and multi-constraint partitioning + schemes. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = [ + 'http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis', + 'http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/OLD', +] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s-use-doubles.patch'] +checksums = [ + {'metis-5.1.0.tar.gz': '76faebe03f6c963127dbb73c13eab58c9a3faeae48779f049066a21c087c5db2'}, + {'METIS-5.1.0-use-doubles.patch': '7e38a3ec8f2b8e3d189239bade5b28c0dd1c564485050109164fa71a6a767c67'}, +] + +# We use 32bit for indices and 64bit for content +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +configopts = ['', 'shared=1'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-7.0.4-gompi-2023b.eb b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-7.0.4-gompi-2023b.eb new file mode 100644 index 00000000000..df359f078df --- /dev/null +++ b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-7.0.4-gompi-2023b.eb @@ -0,0 +1,26 @@ +name = 'SCOTCH' +version = '7.0.4' + +homepage = 'https://www.labri.fr/perso/pelegrin/scotch/' +description = """Software package and libraries for sequential and parallel graph partitioning, +static mapping, and sparse matrix block ordering, and sequential mesh and hypergraph partitioning.""" + +toolchain = {'name': 'gompi', 'version': '2023b'} +toolchainopts = {'pic': True} + +source_urls = ['https://gitlab.inria.fr/scotch/scotch/-/archive/v%(version)s/'] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +checksums = ['8ef4719d6a3356e9c4ca7fefd7e2ac40deb69779a5c116f44da75d13b3d2c2c3'] + +threadedmpi = False + +builddependencies = [ + ('Bison', '3.8.2'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('zlib', '1.2.13'), +] + +moduleclass = 'math' From 279595be3b5ae0f014050d00dccab0831228a3e9 Mon Sep 17 00:00:00 2001 From: Jiri Furst Date: Thu, 4 Apr 2024 21:18:35 +0200 Subject: [PATCH 291/889] Restart compilation --- easybuild/easyconfigs/g/gmsh/gmsh-4.12.2-foss-2023a.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/g/gmsh/gmsh-4.12.2-foss-2023a.eb b/easybuild/easyconfigs/g/gmsh/gmsh-4.12.2-foss-2023a.eb index 6b555b2971b..72f3c6cb8eb 100644 --- a/easybuild/easyconfigs/g/gmsh/gmsh-4.12.2-foss-2023a.eb +++ b/easybuild/easyconfigs/g/gmsh/gmsh-4.12.2-foss-2023a.eb @@ -18,6 +18,7 @@ builddependencies = [ ('SWIG', '4.1.1'), ('Eigen', '3.4.0'), ] + dependencies = [ ('Python', '3.11.3'), ('PETSc', '3.20.3'), From df4cf8a11c0c41eaa145de0971c1294f92e108e8 Mon Sep 17 00:00:00 2001 From: fizwit Date: Thu, 4 Apr 2024 17:18:56 -0700 Subject: [PATCH 292/889] update CellRanger --- .../c/CellRanger/CellRanger-8.0.0.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/c/CellRanger/CellRanger-8.0.0.eb diff --git a/easybuild/easyconfigs/c/CellRanger/CellRanger-8.0.0.eb b/easybuild/easyconfigs/c/CellRanger/CellRanger-8.0.0.eb new file mode 100644 index 00000000000..db95a8aae20 --- /dev/null +++ b/easybuild/easyconfigs/c/CellRanger/CellRanger-8.0.0.eb @@ -0,0 +1,31 @@ +# The STAR binary included in this version has been vectorized with AVX +# hence it is not recommended for systems that do not support it. + +easyblock = 'Tarball' + +name = 'CellRanger' +version = '8.0.0' + +homepage = 'https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/what-is-cell-ranger' +description = """Cell Ranger is a set of analysis pipelines that process Chromium + single-cell RNA-seq output to align reads, generate gene-cell matrices and perform + clustering and gene expression analysis.""" + +toolchain = SYSTEM + +download_instructions = """ +Download manually from https://support.10xgenomics.com/single-cell-gene-expression/software/downloads/latest +""" +sources = [SOURCELOWER_TAR_GZ] +checksums = ['58b077b66b2b48966b3712a1f16a61be938237addbdf611a7a924bc99211bca6'] + +keepsymlinks = True + +sanity_check_paths = { + 'files': ['bin/cellranger'], + 'dirs': ['bin/rna', 'bin/tenkit'], +} + +sanity_check_commands = ['cellranger testrun --id=tiny'] + +moduleclass = 'bio' From 5027dbc87c5ee4af1cd39aa3324ab22f14f3c4a1 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Fri, 5 Apr 2024 09:01:56 +0200 Subject: [PATCH 293/889] Fix Highway-1.0.3-GCCcore-12.2.0 on some systems --- .../h/Highway/Highway-1.0.3-GCCcore-12.2.0.eb | 6 +++- .../Highway-1.0.3_disable_AVX3_DL.patch | 31 +++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 easybuild/easyconfigs/h/Highway/Highway-1.0.3_disable_AVX3_DL.patch diff --git a/easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-12.2.0.eb index f1833e66b17..0bb2be673b8 100644 --- a/easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-12.2.0.eb @@ -12,7 +12,11 @@ toolchain = {'name': 'GCCcore', 'version': '12.2.0'} source_urls = ['https://github.com/google/highway/archive/refs/tags/'] sources = ['%(version)s.tar.gz'] -checksums = ['566fc77315878473d9a6bd815f7de78c73734acdcb745c3dde8579560ac5440e'] +patches = ['Highway-1.0.3_disable_AVX3_DL.patch'] +checksums = [ + '566fc77315878473d9a6bd815f7de78c73734acdcb745c3dde8579560ac5440e', + {'Highway-1.0.3_disable_AVX3_DL.patch': 'a25d379958385bf9b9dfbd0a8df5e55e857344baef5809a8422002f2a17030e7'}, +] builddependencies = [ ('binutils', '2.39'), diff --git a/easybuild/easyconfigs/h/Highway/Highway-1.0.3_disable_AVX3_DL.patch b/easybuild/easyconfigs/h/Highway/Highway-1.0.3_disable_AVX3_DL.patch new file mode 100644 index 00000000000..93ec159c015 --- /dev/null +++ b/easybuild/easyconfigs/h/Highway/Highway-1.0.3_disable_AVX3_DL.patch @@ -0,0 +1,31 @@ +Using AVX3_DL in the baseline doesn't work in 1.0.3 causing the build to fail with +> #error "Logic error: best baseline should be included in dynamic targets" + +This is caused by using a wrong defined and fixed by +https://github.com/google/highway/commit/f0f688b6d6d1ec94489cc989ccb9729b0342aa58 +However that the leads to a test failure: +> HwyConvertTestGroup/HwyConvertTest.TestAllTruncate/AVX3_DL +> u8x16 expect [0+ ->]: +> 0x00,0x01,0x02,0x03,0x04,0x05,0x06, +> u8x16 actual [0+ ->]: +> 0x00,0x1A,0x02,0x1A,0x04,0x1A,0x06, +> Abort at .../hwy/tests/convert_test.cc:386: AVX3_DL, u8x16 lane 1 mismatch: expected '0x01', got '0x1A'. + +Hence AVX3_DL in 1.0.3 seems to be broken and must not be used. +This patch disables it by making the condition always false. + +Author: Alexander Grund (TU Dresden) + +diff --git a/hwy/detect_targets.h b/hwy/detect_targets.h +index 2beca95b..379c4525 100644 +--- a/hwy/detect_targets.h ++++ b/hwy/detect_targets.h +@@ -340,7 +340,7 @@ + #if HWY_BASELINE_AVX3 != 0 && defined(__AVXVNNI__) && defined(__VAES__) && \ + defined(__VPCLMULQDQ__) && defined(__AVX512VBMI__) && \ + defined(__AVX512VBMI2__) && defined(__AVX512VPOPCNTDQ__) && \ +- defined(__AVX512BITALG__) ++ defined(__AVX512BITALG__) && 0 + #define HWY_BASELINE_AVX3_DL HWY_AVX3_DL + #else + #define HWY_BASELINE_AVX3_DL 0 From dee965f2dbe830a166b0e119756af455594b0bfe Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Fri, 5 Apr 2024 09:49:25 +0200 Subject: [PATCH 294/889] Also fix GCC 11.3.0 version --- .../easyconfigs/h/Highway/Highway-1.0.3-GCCcore-11.3.0.eb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-11.3.0.eb index 987a76bd0c1..8d097897304 100644 --- a/easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-11.3.0.eb @@ -12,7 +12,11 @@ toolchain = {'name': 'GCCcore', 'version': '11.3.0'} source_urls = ['https://github.com/google/highway/archive/refs/tags/'] sources = ['%(version)s.tar.gz'] -checksums = ['566fc77315878473d9a6bd815f7de78c73734acdcb745c3dde8579560ac5440e'] +patches = ['Highway-1.0.3_disable_AVX3_DL.patch'] +checksums = [ + '566fc77315878473d9a6bd815f7de78c73734acdcb745c3dde8579560ac5440e', + {'Highway-1.0.3_disable_AVX3_DL.patch': 'a25d379958385bf9b9dfbd0a8df5e55e857344baef5809a8422002f2a17030e7'}, +] builddependencies = [ ('binutils', '2.38'), From f8de136f996518c621a7de4c2763b779332b0d72 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 5 Apr 2024 09:51:13 +0200 Subject: [PATCH 295/889] adding easyconfigs: EasyBuild-4.9.1.eb --- .../e/EasyBuild/EasyBuild-4.9.1.eb | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.9.1.eb diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.9.1.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.9.1.eb new file mode 100644 index 00000000000..5b5053253a3 --- /dev/null +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.9.1.eb @@ -0,0 +1,44 @@ +easyblock = 'EB_EasyBuildMeta' + +name = 'EasyBuild' +version = '4.9.1' + +homepage = 'https://easybuilders.github.io/easybuild' +description = """EasyBuild is a software build and installation framework + written in Python that allows you to install software in a structured, + repeatable and robust way.""" + +toolchain = SYSTEM + +source_urls = [ + # easybuild-framework + 'https://files.pythonhosted.org/packages/39/52/e61195776d676e96289b2956f6a1045c0577d836c776c04bc3694c6b4b89/', + # easybuild-easyblocks + 'https://files.pythonhosted.org/packages/ec/bd/c6117c19a49711752e095f425937d3405d90b1a60089d953f688ee89e6a8/', + # easybuild-easyconfigs + 'https://files.pythonhosted.org/packages/2d/78/a9357a9ef22703bb982427a25989dc9f563f21073f08cba5dc914c13a182/', +] +sources = [ + 'easybuild-framework-%(version)s.tar.gz', + 'easybuild-easyblocks-%(version)s.tar.gz', + 'easybuild-easyconfigs-%(version)s.tar.gz', +] +checksums = [ + {'easybuild-framework-4.9.1.tar.gz': '8f0448d32fab13019e06dba80fa3e13681574df302452184e5f8543c13ff2123'}, + {'easybuild-easyblocks-4.9.1.tar.gz': 'da5adfa25356f62d28b170368c0d342bef08e18d843da713e011d7c344ad665e'}, + {'easybuild-easyconfigs-4.9.1.tar.gz': '86b4abe118ea85b82ad981b63ccf03a0539664b8797327f060fe655216da26c8'}, +] + +# order matters a lot, to avoid having dependencies auto-resolved (--no-deps easy_install option doesn't work?) +# EasyBuild is a (set of) Python packages, so it depends on Python +# usually, we want to use the system Python, so no actual Python dependency is listed +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +local_pyshortver = '.'.join(SYS_PYTHON_VERSION.split('.')[:2]) + +sanity_check_paths = { + 'files': ['bin/eb'], + 'dirs': ['lib/python%s/site-packages' % local_pyshortver], +} + +moduleclass = 'tools' From db81d99f7764e7d546ef5debebf0bd58ff9b1d8f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 5 Apr 2024 09:55:47 +0200 Subject: [PATCH 296/889] replace incorrect scikit-bio 0.5.9 with scikit-bio 0.6.0 as dependency for scCODA --- .../biom-format-2.1.15-foss-2023a.eb | 48 +++++++++++++++++++ .../s/scCODA/scCODA-0.1.9-foss-2023a.eb | 2 +- ...023a.eb => scikit-bio-0.6.0-foss-2023a.eb} | 9 ++-- 3 files changed, 52 insertions(+), 7 deletions(-) create mode 100644 easybuild/easyconfigs/b/biom-format/biom-format-2.1.15-foss-2023a.eb rename easybuild/easyconfigs/s/scikit-bio/{scikit-bio-0.5.9-foss-2023a.eb => scikit-bio-0.6.0-foss-2023a.eb} (71%) diff --git a/easybuild/easyconfigs/b/biom-format/biom-format-2.1.15-foss-2023a.eb b/easybuild/easyconfigs/b/biom-format/biom-format-2.1.15-foss-2023a.eb new file mode 100644 index 00000000000..097ccb0a7e7 --- /dev/null +++ b/easybuild/easyconfigs/b/biom-format/biom-format-2.1.15-foss-2023a.eb @@ -0,0 +1,48 @@ +## +# This is a contribution from DeepThought HPC Service, Flinders University, Adelaide, Australia +# Homepage: https://staff.flinders.edu.au/research/deep-thought +# +# Authors:: Robert Qiao +# License:: Revised BSD +# +# Notes:: updated by Kenneth Hoste (HPC-UGent) for foss/2021b +## +# Updated: Petr Král (INUITS) + +easyblock = 'PythonPackage' + +name = 'biom-format' +version = '2.1.15' + +homepage = 'https://biom-format.org' +description = """ +The BIOM file format (canonically pronounced biome) is designed to be + a general-use format for representing biological sample by observation + contingency tables. BIOM is a recognized standard for the Earth Microbiome + Project and is a Genomics Standards Consortium supported project. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True} + +sources = [SOURCE_TAR_GZ] +checksums = ['3bda2096e663dc1cb6f90f51b394da0838b9be5164a44370c134ce5b3b2a4dd3'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('h5py', '3.9.0'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +sanity_check_paths = { + 'files': ['bin/biom'], + 'dirs': ['lib'], +} + +options = {'modulename': 'biom'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scCODA/scCODA-0.1.9-foss-2023a.eb b/easybuild/easyconfigs/s/scCODA/scCODA-0.1.9-foss-2023a.eb index f1c79dc4cbf..6869c22fa57 100644 --- a/easybuild/easyconfigs/s/scCODA/scCODA-0.1.9-foss-2023a.eb +++ b/easybuild/easyconfigs/s/scCODA/scCODA-0.1.9-foss-2023a.eb @@ -16,7 +16,7 @@ dependencies = [ ('TensorFlow', '2.13.0'), ('tensorflow-probability', '0.20.0'), ('scanpy', '1.9.8'), - ('scikit-bio', '0.5.9'), + ('scikit-bio', '0.6.0'), ('rpy2', '3.5.15'), ('ArviZ', '0.16.1'), ] diff --git a/easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.5.9-foss-2023a.eb b/easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.6.0-foss-2023a.eb similarity index 71% rename from easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.5.9-foss-2023a.eb rename to easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.6.0-foss-2023a.eb index 6b0f81efa7e..472df30eee9 100644 --- a/easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.5.9-foss-2023a.eb +++ b/easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.6.0-foss-2023a.eb @@ -1,8 +1,7 @@ easyblock = 'PythonBundle' name = 'scikit-bio' -version = '0.5.9' -local_commit = '7565847' +version = '0.6.0' homepage = 'http://scikit-bio.org' description = """scikit-bio is an open-source, BSD-licensed Python 3 package providing data structures, algorithms @@ -18,6 +17,7 @@ dependencies = [ ('scikit-learn', '1.3.1'), ('IPython', '8.14.0'), ('h5py', '3.9.0'), + ('biom-format', '2.1.15'), ] use_pip = True @@ -32,10 +32,7 @@ exts_list = [ }), (name, version, { 'modulename': 'skbio', - # download from commit to get rid of restriction of scipy version - 'source_urls': ['https://github.com/scikit-bio/scikit-bio/archive/'], - 'sources': [{'download_filename': '7565847.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], - 'checksums': ['b2a1054e1bc89df9775335d31eaa6bfa0cce4487d568cff96e215fba8624d153'], + 'checksums': ['10105a7c3c15ae5910244927f29ba7aa35234b19ebe6513b8484547343b2c10f'], }), ] From 05e4b9f0b21f85721305cd9c0aa168daff4bfce8 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Fri, 5 Apr 2024 10:14:56 +0200 Subject: [PATCH 297/889] Fix typo in patch --- easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-11.3.0.eb | 2 +- easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-12.2.0.eb | 2 +- .../easyconfigs/h/Highway/Highway-1.0.3_disable_AVX3_DL.patch | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-11.3.0.eb index 8d097897304..9202b5b1d43 100644 --- a/easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-11.3.0.eb @@ -15,7 +15,7 @@ sources = ['%(version)s.tar.gz'] patches = ['Highway-1.0.3_disable_AVX3_DL.patch'] checksums = [ '566fc77315878473d9a6bd815f7de78c73734acdcb745c3dde8579560ac5440e', - {'Highway-1.0.3_disable_AVX3_DL.patch': 'a25d379958385bf9b9dfbd0a8df5e55e857344baef5809a8422002f2a17030e7'}, + {'Highway-1.0.3_disable_AVX3_DL.patch': '5729765a75c42551056f95f24fc81031293066253978548c573d06eb33bf9853'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-12.2.0.eb index 0bb2be673b8..198469448b6 100644 --- a/easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-12.2.0.eb @@ -15,7 +15,7 @@ sources = ['%(version)s.tar.gz'] patches = ['Highway-1.0.3_disable_AVX3_DL.patch'] checksums = [ '566fc77315878473d9a6bd815f7de78c73734acdcb745c3dde8579560ac5440e', - {'Highway-1.0.3_disable_AVX3_DL.patch': 'a25d379958385bf9b9dfbd0a8df5e55e857344baef5809a8422002f2a17030e7'}, + {'Highway-1.0.3_disable_AVX3_DL.patch': '5729765a75c42551056f95f24fc81031293066253978548c573d06eb33bf9853'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/h/Highway/Highway-1.0.3_disable_AVX3_DL.patch b/easybuild/easyconfigs/h/Highway/Highway-1.0.3_disable_AVX3_DL.patch index 93ec159c015..cbbdc731467 100644 --- a/easybuild/easyconfigs/h/Highway/Highway-1.0.3_disable_AVX3_DL.patch +++ b/easybuild/easyconfigs/h/Highway/Highway-1.0.3_disable_AVX3_DL.patch @@ -3,7 +3,7 @@ Using AVX3_DL in the baseline doesn't work in 1.0.3 causing the build to fail wi This is caused by using a wrong defined and fixed by https://github.com/google/highway/commit/f0f688b6d6d1ec94489cc989ccb9729b0342aa58 -However that the leads to a test failure: +However that leads to a test failure: > HwyConvertTestGroup/HwyConvertTest.TestAllTruncate/AVX3_DL > u8x16 expect [0+ ->]: > 0x00,0x01,0x02,0x03,0x04,0x05,0x06, From f621a731d8a43f8d2fec2e312304cbfb70dfb8e5 Mon Sep 17 00:00:00 2001 From: jfgrimm Date: Fri, 5 Apr 2024 10:36:41 +0100 Subject: [PATCH 298/889] add alternate checksum to OpenMolcas v23.06 --- .../o/OpenMolcas/OpenMolcas-23.06-intel-2023a.eb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-23.06-intel-2023a.eb b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-23.06-intel-2023a.eb index 907f553c656..fea8d5f3c37 100644 --- a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-23.06-intel-2023a.eb +++ b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-23.06-intel-2023a.eb @@ -13,8 +13,11 @@ source_urls = ['https://gitlab.com/Molcas/OpenMolcas/-/archive/v%(version)s/'] sources = ["%(name)s-v%(version)s.tar.gz"] patches = ['%(name)s-%(version)s_mcpdft_deps.patch'] checksums = [ - {'%(name)s-v%(version)s.tar.gz': 'fe0299ed39af6e84f249f91452c411f9845c9ae4a0ce78641c867dea8056f280'}, - {'%(name)s-%(version)s_mcpdft_deps.patch': 'a798ec6f93a19539aa2211a978da461d4ecd31c5521b9dab6f2a9b1c2fa65f0e'}, + # OpenMolcas-v23.06.tar.gz + ('fe0299ed39af6e84f249f91452c411f9845c9ae4a0ce78641c867dea8056f280', + 'c3c8f31c22e028e1ac3bd8fb405cea83e8a6fcf21f00e71e81a92941cb026415'), + # OpenMolcas-23.06_mcpdft_deps.patch + 'a798ec6f93a19539aa2211a978da461d4ecd31c5521b9dab6f2a9b1c2fa65f0e', ] builddependencies = [('CMake', '3.26.3')] From f7043e79fccb662ff1f8a0b809b63564848070f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Fri, 5 Apr 2024 10:13:17 +0000 Subject: [PATCH 299/889] Add both lib/lib64 to PKGCONFIG paths --- .../s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb b/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb index 3345b6e5b62..6f01b3835be 100644 --- a/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb +++ b/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb @@ -34,8 +34,11 @@ components = [ ('sentencepiece', version, { 'easyblock': 'PythonPackage', 'start_dir': '%(namelower)s-%(version)s/python', - 'prebuildopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib64/pkgconfig:$PKG_CONFIG_PATH && ', - 'preinstallopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib64/pkgconfig:$PKG_CONFIG_PATH && ', + # Unpredicable where pc files end up; including both lib and lib64 + 'prebuildopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib64/pkgconfig:' + '%(installdir)s/lib/pkgconfig:PKG_CONFIG_PATH && ', + 'preinstallopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib64/pkgconfig:' + '%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && ', 'use_pip': True, 'download_dep_fail': True, 'sanity_pip_check': True, From 0b00f01551947a42b44fecc17f67058f3bc12e8f Mon Sep 17 00:00:00 2001 From: Stefan Wolfsheimer Date: Fri, 5 Apr 2024 13:30:42 +0200 Subject: [PATCH 300/889] adding easyconfigs: PnetCDF-1.13.0-iimpi-2023a.eb --- .../p/PnetCDF/PnetCDF-1.13.0-iimpi-2023a.eb | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.13.0-iimpi-2023a.eb diff --git a/easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.13.0-iimpi-2023a.eb b/easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.13.0-iimpi-2023a.eb new file mode 100644 index 00000000000..a2c3ec8e672 --- /dev/null +++ b/easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.13.0-iimpi-2023a.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'PnetCDF' +version = '1.13.0' + +homepage = 'https://parallel-netcdf.github.io/' +description = "Parallel netCDF: A Parallel I/O Library for NetCDF File Access" + +toolchain = {'name': 'iimpi', 'version': '2023a'} + +source_urls = ['https://parallel-netcdf.github.io/Release'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['aba0f1c77a51990ba359d0f6388569ff77e530ee574e40592a1e206ed9b2c491'] + +builddependencies = [ + ('Autotools', '20220317'), + ('Perl', '5.36.1'), +] + +preconfigopts = "autoreconf -f -i && " + +configopts = ['', '--enable-shared'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['ncmpidiff', 'ncmpidump', 'ncmpigen', 'ncoffsets', + 'ncvalidator', 'pnetcdf-config', 'pnetcdf_version']] + + ['lib/lib%(namelower)s.a', 'lib/lib%%(namelower)s.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +modextrapaths = { + 'PNETCDF': '', +} + +moduleclass = 'data' From 7bb987749f6834f7ea559e2b0cc5fc46becb253e Mon Sep 17 00:00:00 2001 From: mssmzs Date: Fri, 5 Apr 2024 13:07:21 +0100 Subject: [PATCH 301/889] adding easyconfigs: line_profiler-4.1.2-GCCcore-13.2.0.eb --- .../line_profiler-4.1.2-GCCcore-13.2.0.eb | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100755 easybuild/easyconfigs/l/line_profiler/line_profiler-4.1.2-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/l/line_profiler/line_profiler-4.1.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/line_profiler/line_profiler-4.1.2-GCCcore-13.2.0.eb new file mode 100755 index 00000000000..b5f689a928f --- /dev/null +++ b/easybuild/easyconfigs/l/line_profiler/line_profiler-4.1.2-GCCcore-13.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonPackage' + +name = 'line_profiler' +version = '4.1.2' + +homepage = 'https://github.com/pyutils/line_profiler' +description = """line_profiler is a module for doing line-by-line profiling +of functions. kernprof is a convenient script for running either +line_profiler or the Python standard library's cProfile or profile modules, +depending on what is available.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +github_account = 'pyutils' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['a1f3458c1dd1bf4b2d1d2657b78225f4e4e9046a1841f18cf528f01ebd3d5f43'] + +builddependencies = [ + ('binutils', '2.40'), + ('scikit-build', '0.17.6'), + ('CMake', '3.27.6'), + ('Ninja', '1.11.1'), +] +dependencies = [ + ('Python', '3.11.5'), + ('IPython', '8.17.2'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/kernprof'], + 'dirs': [], +} + +sanity_check_commands = ['kernprof --help'] + +moduleclass = 'devel' From 7383de24c138fb8028f21ef608266554475100ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Fri, 5 Apr 2024 14:44:33 +0200 Subject: [PATCH 302/889] adding easyconfigs: EasyMocap-0.2-foss-2022a.eb, freetype-py-2.4.0-GCCcore-11.3.0.eb, PortAudio-19.7.0-foss-2022a.eb --- .../e/EasyMocap/EasyMocap-0.2-foss-2022a.eb | 79 +++++++++++++++++++ .../freetype-py-2.4.0-GCCcore-11.3.0.eb | 29 +++++++ .../PortAudio/PortAudio-19.7.0-foss-2022a.eb | 52 ++++++++++++ 3 files changed, 160 insertions(+) create mode 100644 easybuild/easyconfigs/e/EasyMocap/EasyMocap-0.2-foss-2022a.eb create mode 100644 easybuild/easyconfigs/f/freetype-py/freetype-py-2.4.0-GCCcore-11.3.0.eb create mode 100644 easybuild/easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2022a.eb diff --git a/easybuild/easyconfigs/e/EasyMocap/EasyMocap-0.2-foss-2022a.eb b/easybuild/easyconfigs/e/EasyMocap/EasyMocap-0.2-foss-2022a.eb new file mode 100644 index 00000000000..426f73fcd2c --- /dev/null +++ b/easybuild/easyconfigs/e/EasyMocap/EasyMocap-0.2-foss-2022a.eb @@ -0,0 +1,79 @@ +easyblock = 'PythonBundle' + +name = 'EasyMocap' +version = '0.2' + +homepage = 'https://chingswy.github.io/easymocap-public-doc/' +description = """EasyMoCap is an open-source toolbox designed for markerless + human motion capture from RGB videos. This project offers a wide range of motion + capture methods across various settings.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('PyTorch', '1.12.0'), + ('torchvision', '0.13.1'), + ('tqdm', '4.64.0'), + ('OpenCV', '4.6.0', '-contrib'), + ('flatbuffers', '2.0.7'), + ('matplotlib', '3.5.2'), + ('PortAudio', '19.7.0'), + # for pyrender + ('freetype-py', '2.4.0'), + ('imageio', '2.22.2'), + ('networkx', '2.8.4'), + ('PyOpenGL', '3.1.6'), + ('trimesh', '3.17.1'), + # for ipdb + ('IPython', '8.5.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('chumpy', '0.70', { + 'checksums': ['a0275c2018784ca1302875567dc81761f5fd469fab9f3ac0f3e7c39e9180350a'], + }), + ('func_timeout', '4.3.5', { + 'checksums': ['74cd3c428ec94f4edfba81f9b2f14904846d5ffccc27c92433b8b5939b5575dd'], + }), + ('ipdb', '0.13.13', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['45529994741c4ab6d2388bfa5d7b725c2cf7fe9deffabdb8a6113aa5ed449ed4'], + }), + ('termcolor', '2.4.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['9297c0df9c99445c2412e832e882a7884038a25617c60cea2ad69488d4040d63'], + }), + ('yacs', '0.1.8', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['99f893e30497a4b66842821bac316386f7bd5c4f47ad35c9073ef089aa33af32'], + }), + ('pyglet', '2.0.15', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['9e4cc16efc308106fd3a9ff8f04e7a6f4f6a807c6ac8a331375efbbac8be85af'], + }), + ('pyrender', '0.1.45', { + # PyOpenGL requirement is too strict + 'preinstallopts': "sed -i 's/PyOpenGL==3.1.0/PyOpenGL>=3.1.0/g' setup.py && ", + 'checksums': ['284b2432bf6832f05c5216c4b979ceb514ea78163bf53b8ce2bdf0069cb3b92e'], + }), + # Building from source fails. See https://github.com/google/mediapipe/issues/5247 + ('mediapipe', '0.10.11', { + 'sources': ['mediapipe-0.10.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl'], + 'checksums': ['fc5283a50227a93d7755fd0f83d0d6daeb0f1c841df1ac9101e96e32e7e03ba1'], + }), + ('sounddevice', '0.4.6', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['5de768ba6fe56ad2b5aaa2eea794b76b73e427961c95acad2ee2ed7f866a4b20'], + }), + (name, version, { + 'source_urls': ['https://github.com/zju3dv/EasyMocap/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['d4c42b82ea8a53662354ff70b775e505c654ca4fd51524029214acbc16aa9773'], + }), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/freetype-py/freetype-py-2.4.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/freetype-py/freetype-py-2.4.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..88afc9e98b1 --- /dev/null +++ b/easybuild/easyconfigs/f/freetype-py/freetype-py-2.4.0-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'freetype-py' +version = '2.4.0' + +homepage = 'https://github.com/rougier/freetype-py' +description = "Python binding for the freetype library" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_ZIP] +checksums = ['8ad81195d2f8f339aba61700cebfbd77defad149c51f59b75a2a5e37833ae12e'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('freetype', '2.12.1'), + ('Python', '3.10.4'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': 'freetype'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2022a.eb b/easybuild/easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2022a.eb new file mode 100644 index 00000000000..4cbb3089910 --- /dev/null +++ b/easybuild/easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2022a.eb @@ -0,0 +1,52 @@ +easyblock = 'ConfigureMake' + +name = 'PortAudio' +version = "19.7.0" + +homepage = 'http://www.portaudio.com/' +description = """PortAudio is a free, cross-platform, open-source, audio I/O library. + It lets you write simple audio programs in 'C' or C++ that will compile and run on many platforms including Windows, + Macintosh OS X, and Unix (OSS/ALSA). It is intended to promote the exchange of audio software between + developers on different platforms. Many applications use PortAudio for Audio I/O.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ["https://github.com/PortAudio/portaudio/archive"] +sources = ["v%(version)s.tar.gz"] +checksums = ['5af29ba58bbdbb7bbcefaaecc77ec8fc413f0db6f4c4e286c40c3e1b83174fa0'] + +dependencies = [ + ('Python', '3.10.4'), + ('alsa-lib', '1.2.8'), + ('jax', '0.3.23'), +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, + 'sanity_pip_check': True, + 'installopts': '', +} + +exts_list = [ + ('PyAudio', '0.2.14', { + 'checksums': ['78dfff3879b4994d1f4fc6485646a57755c6ee3c19647a491f790a0895bd2f87'], + }), +] + +parallel = 1 + +sanity_check_paths = { + 'files': ["include/portaudio.h", "lib/libportaudio.a", "lib/libportaudio.so"], + 'dirs': ['include', 'lib'], +} + +sanity_check_commands = [ + 'python -c "import pyaudio; pyaudio.get_portaudio_version_text(); pyaudio.__version__"' +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'math' From c111f627ecb8dba0e97cf8f4b3ccef8c36b07bc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Fri, 5 Apr 2024 15:03:22 +0200 Subject: [PATCH 303/889] fix dep version --- .../easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2022a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2022a.eb b/easybuild/easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2022a.eb index 4cbb3089910..3321c624f1f 100644 --- a/easybuild/easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2022a.eb +++ b/easybuild/easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2022a.eb @@ -18,7 +18,7 @@ checksums = ['5af29ba58bbdbb7bbcefaaecc77ec8fc413f0db6f4c4e286c40c3e1b83174fa0'] dependencies = [ ('Python', '3.10.4'), ('alsa-lib', '1.2.8'), - ('jax', '0.3.23'), + ('jax', '0.3.25'), ] exts_defaultclass = 'PythonPackage' From ef886535285d26e7d6b5bfeb4107d9b1e954c3c7 Mon Sep 17 00:00:00 2001 From: WilleBell Date: Fri, 5 Apr 2024 16:19:42 +0200 Subject: [PATCH 304/889] adding easyconfigs: pyGAM-0.9.1-gfbf-2023a.eb --- .../p/pyGAM/pyGAM-0.9.1-gfbf-2023a.eb | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 easybuild/easyconfigs/p/pyGAM/pyGAM-0.9.1-gfbf-2023a.eb diff --git a/easybuild/easyconfigs/p/pyGAM/pyGAM-0.9.1-gfbf-2023a.eb b/easybuild/easyconfigs/p/pyGAM/pyGAM-0.9.1-gfbf-2023a.eb new file mode 100644 index 00000000000..fd2765c622e --- /dev/null +++ b/easybuild/easyconfigs/p/pyGAM/pyGAM-0.9.1-gfbf-2023a.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'pyGAM' +version = '0.9.1' + +homepage = 'https://pygam.readthedocs.io' +description = """ +pyGAM is a package for building Generalized Additive Models in Python, with an emphasis on +modularity and performance. The API will be immediately familiar to anyone with experience of +scikit-learn or scipy. +""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +builddependencies = [('poetry', '1.5.1'), ] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True + +exts_list = [ + ('python-utils', '3.8.2', { + 'checksums': ['c5d161e4ca58ce3f8c540f035e018850b261a41e7cb98f6ccf8e1deb7174a1f1'], + }), + ('progressbar2', '4.4.2', { + 'modulename': 'progressbar', + 'checksums': ['3fda2e0c60693600a6585a784c9d3bc4e1dac57e99e133f8c0f5c8cf3df374a2'], + }), + ('poetry-dynamic-versioning', '1.2.0', { + 'source_tmpl': 'poetry_dynamic_versioning-%(version)s.tar.gz', + 'checksums': ['1a7bbdba2530499e73dfc6ac0af19de29020ab4aaa3e507573877114e6b71ed6'], + }), + ('dunamai', '1.19.2', { + 'checksums': ['3be4049890763e19b8df1d52960dbea60b3e263eb0c96144a677ae0633734d2e'], + }), + ('pygam', version, { + 'checksums': ['a321a017bf485ed93fc6233e02621f8e7eab3d4f8971371c9ae9e079c55be01d'], + }), +] + +sanity_pip_check = True + +moduleclass = 'data' From 29972ae5e04f48554db7f84d4680464d1f984f93 Mon Sep 17 00:00:00 2001 From: c3-builder Date: Fri, 5 Apr 2024 14:31:30 +0000 Subject: [PATCH 305/889] adding easyconfigs: ANSYSEM-2024R1.eb --- .../easyconfigs/a/ANSYSEM/ANSYSEM-2024R1.eb | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 easybuild/easyconfigs/a/ANSYSEM/ANSYSEM-2024R1.eb diff --git a/easybuild/easyconfigs/a/ANSYSEM/ANSYSEM-2024R1.eb b/easybuild/easyconfigs/a/ANSYSEM/ANSYSEM-2024R1.eb new file mode 100644 index 00000000000..3c4dfaa4bdf --- /dev/null +++ b/easybuild/easyconfigs/a/ANSYSEM/ANSYSEM-2024R1.eb @@ -0,0 +1,21 @@ +name = 'ANSYSEM' +version = '2024R1' +local_short_ver = '241' +local_bin_dir = '%(installdir)s/' + 'v%s/Linux64' % local_short_ver + +homepage = 'https://www.ansys.com/products/electronics/ansys-electronics-desktop' +description = """Ansys Electronics Desktop is a comprehensive platform that enables electrical engineers to design and +simulate various electrical, electronic and electromagnetic components, devices and systems.""" + +toolchain = SYSTEM + +sources = ['ELECTRONICS_%(version)s_LINX64.tgz'] +checksums = ['7b131adf981ebca1e2f4fe8e607e50323167b69e77180a0ab61b2759d57abca5'] + +postinstallcmds = [ + "echo '' > %s/VerifyOS.bash" % local_bin_dir, # disable OS check + "sed -i '1i export LC_ALL=C\nexport LANG=C' %s/.setup_runtime" % local_bin_dir, + "sed -i '1i export LC_ALL=C\nexport LANG=C' %s/.setup_runtime_mpi" % local_bin_dir, +] + +moduleclass = 'phys' From ed47c334b630ef57ee8f5d3ab9eb4c0a1a984591 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Fri, 5 Apr 2024 14:38:13 +0000 Subject: [PATCH 306/889] also attempt skipping flaky spspmm test --- ...orch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb index 6c4fce39a57..953b92aa44d 100644 --- a/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb @@ -55,7 +55,7 @@ exts_list = [ 'source_urls': ['https://github.com/rusty1s/pytorch_sparse/archive/refs/tags/'], 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], 'checksums': ['a9e194cddc17481001ac4592a058450493ce13780e8ce3eb54d4f79706e69c91'], - 'runtest': 'pytest -k "not test_spmm[dtype10-device10-sum]"', # flaky + 'runtest': 'pytest -k "not test_spmm[dtype10-device10-sum] and not test_spspmm[dtype2-device2]"', # flaky 'testinstall': True, }), ('torch_cluster', '1.6.3', { From e227a16e0d81dbc9296d4b86e4d118a37e5fbfe6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Fri, 5 Apr 2024 14:41:20 +0000 Subject: [PATCH 307/889] Fix wrong test name to skip --- ...orch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb index 953b92aa44d..3c535a464a8 100644 --- a/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb @@ -55,7 +55,7 @@ exts_list = [ 'source_urls': ['https://github.com/rusty1s/pytorch_sparse/archive/refs/tags/'], 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], 'checksums': ['a9e194cddc17481001ac4592a058450493ce13780e8ce3eb54d4f79706e69c91'], - 'runtest': 'pytest -k "not test_spmm[dtype10-device10-sum] and not test_spspmm[dtype2-device2]"', # flaky + 'runtest': 'pytest -k "not test_spmm[dtype10-device10-sum] and not test_spmm[dtype16-device16-add]"', # flaky 'testinstall': True, }), ('torch_cluster', '1.6.3', { From a4fa15e545f19562c636b7301160253cc95f6b81 Mon Sep 17 00:00:00 2001 From: Simon Branford Date: Fri, 5 Apr 2024 16:56:21 +0100 Subject: [PATCH 308/889] adding easyconfigs: KrakenUniq-1.0.4-GCC-12.2.0.eb, Jellyfish-2.3.0-GCC-12.2.0.eb --- .../j/Jellyfish/Jellyfish-2.3.0-GCC-12.2.0.eb | 40 +++++++++++++++++++ .../KrakenUniq/KrakenUniq-1.0.4-GCC-12.2.0.eb | 36 +++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 easybuild/easyconfigs/j/Jellyfish/Jellyfish-2.3.0-GCC-12.2.0.eb create mode 100644 easybuild/easyconfigs/k/KrakenUniq/KrakenUniq-1.0.4-GCC-12.2.0.eb diff --git a/easybuild/easyconfigs/j/Jellyfish/Jellyfish-2.3.0-GCC-12.2.0.eb b/easybuild/easyconfigs/j/Jellyfish/Jellyfish-2.3.0-GCC-12.2.0.eb new file mode 100644 index 00000000000..eb710390ef2 --- /dev/null +++ b/easybuild/easyconfigs/j/Jellyfish/Jellyfish-2.3.0-GCC-12.2.0.eb @@ -0,0 +1,40 @@ +## +# This is a contribution from DeepThought HPC Service, Flinders University, Adelaide, Australia +# Homepage: https://staff.flinders.edu.au/research/deep-thought +# +# Authors:: Robert Qiao +# License:: GPLv3.0 +# +# Notes:: +## + +easyblock = 'ConfigureMake' + +name = 'Jellyfish' +version = '2.3.0' + +homepage = 'http://www.genome.umd.edu/jellyfish.html' +description = "Jellyfish is a tool for fast, memory-efficient counting of k-mers in DNA." + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://github.com/gmarcais/Jellyfish/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e195b7cf7ba42a90e5e112c0ed27894cd7ac864476dc5fb45ab169f5b930ea5a'] + +parallel = 1 + +# The tests for the Bloom filter are statistical tests and can randomly fail, +# they actually don't make a lot of sense +runtest = "check GTEST_FILTER=-'*Bloom*'" + +postinstallcmds = ["cp config.h %(installdir)s/include/%(namelower)s-%(version)s/%(namelower)s/"] + +sanity_check_paths = { + 'files': ['bin/jellyfish'], + 'dirs': [] +} + +modextrapaths = {'CPATH': 'include/%(namelower)s-%(version)s'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/KrakenUniq/KrakenUniq-1.0.4-GCC-12.2.0.eb b/easybuild/easyconfigs/k/KrakenUniq/KrakenUniq-1.0.4-GCC-12.2.0.eb new file mode 100644 index 00000000000..cf5cd9e7a25 --- /dev/null +++ b/easybuild/easyconfigs/k/KrakenUniq/KrakenUniq-1.0.4-GCC-12.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'Binary' + +name = 'KrakenUniq' +version = '1.0.4' + +homepage = 'https://github.com/fbreitwieser/krakenuniq/' +description = """KrakenUniq: confident and fast metagenomics classification using unique k-mer counts""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +github_account = 'fbreitwieser' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['5e2ef21878c1c4ce92be9925e47b9ccae0ecb59a79d71cc4cbb53d057e0de9ec'] + +dependencies = [ + ('Jellyfish', '2.3.0'), + ('Perl', '5.36.0'), + ('bzip2', '1.0.8'), + ('Compress-Raw-Zlib', '2.202'), +] + +extract_sources = True + +install_cmd = './install_krakenuniq.sh -l %(installdir)s/bin %(installdir)s ' + +sanity_check_commands = [ + 'krakenuniq --version', + 'krakenuniq-download --db %(installdir)s/DBDIR taxonomy && rm -r %(installdir)s/DBDIR' +] +sanity_check_paths = { + 'files': ['bin/krakenuniq', 'bin/krakenuniq-build', 'bin/krakenuniq-report'], + 'dirs': ['bin'], +} + +moduleclass = 'bio' From b6997a78442c346d07f3995b9a96c7dc9491dafb Mon Sep 17 00:00:00 2001 From: swbuild Date: Fri, 5 Apr 2024 18:09:41 +0200 Subject: [PATCH 309/889] adding easyconfigs: astropy-5.1.1-intel-2022a.eb, plc-3.10-intel-2022a.eb --- .../a/astropy/astropy-5.1.1-intel-2022a.eb | 37 +++++++++++ .../easyconfigs/p/plc/plc-3.10-intel-2022a.eb | 64 +++++++++++++++++++ 2 files changed, 101 insertions(+) create mode 100644 easybuild/easyconfigs/a/astropy/astropy-5.1.1-intel-2022a.eb create mode 100644 easybuild/easyconfigs/p/plc/plc-3.10-intel-2022a.eb diff --git a/easybuild/easyconfigs/a/astropy/astropy-5.1.1-intel-2022a.eb b/easybuild/easyconfigs/a/astropy/astropy-5.1.1-intel-2022a.eb new file mode 100644 index 00000000000..187ca13b362 --- /dev/null +++ b/easybuild/easyconfigs/a/astropy/astropy-5.1.1-intel-2022a.eb @@ -0,0 +1,37 @@ +easyblock = "PythonBundle" + +name = 'astropy' +version = '5.1.1' + +homepage = 'https://www.astropy.org/' +description = """The Astropy Project is a community effort to develop a common +core package for Astronomy in Python and foster an ecosystem of interoperable +astronomy packages.""" + +docurls = 'https://docs.astropy.org' + +toolchain = {'name': 'intel', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pyerfa', '2.0.0.1', { + 'modulename': 'erfa', + 'checksums': ['2fd4637ffe2c1e6ede7482c13f583ba7c73119d78bef90175448ce506a0ede30'], + }), + ('extension-helpers', '1.0.0', { + 'checksums': ['ca1bfac67c79cf4a7a0c09286ce2a24eec31bf17715818d0726318dd0e5050e6'], + }), + (name, version, { + 'checksums': ['ba4bd696af7090fd399b464c704bf27b5633121e461785edc70432606a94bd81'], + }), +] + +moduleclass = 'astro' diff --git a/easybuild/easyconfigs/p/plc/plc-3.10-intel-2022a.eb b/easybuild/easyconfigs/p/plc/plc-3.10-intel-2022a.eb new file mode 100644 index 00000000000..feef3c53fc4 --- /dev/null +++ b/easybuild/easyconfigs/p/plc/plc-3.10-intel-2022a.eb @@ -0,0 +1,64 @@ +easyblock = 'Waf' + +name = 'plc' +version = '3.10' + +homepage = 'https://pla.esac.esa.int/pla/#home' + +description = """ + plc is the public Planck Likelihood Code. + It provides C and Fortran libraries that allow + users to compute the log likelihoods of the temperature, + polarization, and lensing maps. Optionally, it also provides a python version of this library, + as well as tools to modify the predetermined options for some likelihoods + (e.g. changing the high-ell and low-ell lmin and lmax values of the temperature). +""" + +toolchain = {'name': 'intel', 'version': '2022a'} + +source_urls = ['https://pla.esac.esa.int/pla/aio'] +sources = ['product-action?COSMOLOGY.FILE_ID=COM_Likelihood_Code-v3.0_R3.10.tar.gz'] +checksums = ['0538eaae1a04528ee355264b77dc6c18c0c1904c28fa18cab8e34baddf581696'] + +dependencies = [ + ('Python', '3.10.4'), + ('CFITSIO', '4.2.0'), + ('cURL', '7.83.0'), + ('astropy', '5.1.1'), +] + +configopts = "--icc " # Do not test for gcc and only use icc +configopts += "--ifort " # Do not test for gfortran and only use ifort +configopts += "--lapack_mkl=${MKLROOT} " # location of the EB mkl install +configopts += "--cfitsio_prefix=${EBROOTCFITSIO} " # location of the EB cfitsio install +configopts += "--extra_lib=curl " # not having curl in extra lib will fail to build the examples +configopts += "--extra_lib=m " # not having -lm will fail the build.. +configopts += "--extra_libpath=${EBROOTCURL}/lib " # -''- + +unpack_options = '--strip 3' +buildininstalldir = 'true' + +modextravars = { + 'CLIK_PATH': '%(installdir)s', + 'CLIK_DATA': 'share/clik', + 'CLIK_PLUGIN': 'rel2015', +} + +modextrapaths = { + 'PYTHONPATH': 'lib/python/site-packages' +} + +sanity_check_paths = { + 'files': [ + 'lib/libclik_f90.%s' % SHLIB_EXT, + 'lib/libclik.%s' % SHLIB_EXT, + 'lib/python/site-packages/clik/__init__.py', + 'include/clik.h', + ], + 'dirs': [ + 'bin', + 'share', + ], +} + +moduleclass = 'astro' From 60560004a485f33b5a80319f289cafec53dd4e4b Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 5 Apr 2024 20:59:31 +0200 Subject: [PATCH 310/889] bump version to 4.9.2dev --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index a5b10c2eb30..58cbb040c4c 100644 --- a/setup.py +++ b/setup.py @@ -44,7 +44,7 @@ # recent setuptools versions will *TRANSFORM* something like 'X.Y.Zdev' into 'X.Y.Z.dev0', with a warning like # UserWarning: Normalizing '2.4.0dev' to '2.4.0.dev0' # This causes problems further up the dependency chain... -VERSION = '4.9.1' +VERSION = '4.9.2.dev0' MAJ_VER = VERSION.split('.')[0] MAJMIN_VER = '.'.join(VERSION.split('.')[0:2]) From 89113fa48d87cc822a486b6994003dfd560a59aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Sun, 7 Apr 2024 01:41:55 +0000 Subject: [PATCH 311/889] Tweak sentencepiece yet more. --- .../SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb b/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb index 6f01b3835be..fcea77582a0 100644 --- a/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb +++ b/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb @@ -17,6 +17,8 @@ builddependencies = [ dependencies = [ ('Python', '3.11.3'), ('gperftools', '2.12'), + ('protobuf', '24.0'), + ('Abseil', '20230125.3'), ] default_component_specs = { @@ -25,20 +27,21 @@ default_component_specs = { 'checksums': ['9970f0a0afee1648890293321665e5b2efa04eaec9f1671fcf8048f456f5bb86'], } +local_external_absl = 'sed -i %(builddir)s/' + components = [ (name, version, { 'easyblock': 'CMakeMake', 'separate_build_dir': True, 'start_dir': '%(namelower)s-%(version)s', + 'configopts': '-DSPM_PROTOBUF_PROVIDER=package -DSPM_ABSL_PROVIDER=package', }), ('sentencepiece', version, { 'easyblock': 'PythonPackage', 'start_dir': '%(namelower)s-%(version)s/python', # Unpredicable where pc files end up; including both lib and lib64 - 'prebuildopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib64/pkgconfig:' - '%(installdir)s/lib/pkgconfig:PKG_CONFIG_PATH && ', - 'preinstallopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib64/pkgconfig:' - '%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && ', + 'prebuildopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib64/pkgconfig:$PKG_CONFIG_PATH && ', + 'preinstallopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib64/pkgconfig:$PKG_CONFIG_PATH && ', 'use_pip': True, 'download_dep_fail': True, 'sanity_pip_check': True, @@ -55,7 +58,7 @@ sanity_check_paths = { } sanity_check_commands = [ - 'spm_train --help', + 'spm_train --help | grep accept_language', # --help has exit code 1, so we check for output text "python -c 'import sentencepiece'", ] From 645b07cd6cf5ad9dc00e044ddf48d88e9e7e12b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Mon, 8 Apr 2024 09:59:21 +0000 Subject: [PATCH 312/889] Revert sentenecepiece back to internal abseil, work around broken pc file --- .../s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb b/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb index fcea77582a0..1ff1c337cf7 100644 --- a/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb +++ b/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb @@ -17,8 +17,6 @@ builddependencies = [ dependencies = [ ('Python', '3.11.3'), ('gperftools', '2.12'), - ('protobuf', '24.0'), - ('Abseil', '20230125.3'), ] default_component_specs = { @@ -34,14 +32,17 @@ components = [ 'easyblock': 'CMakeMake', 'separate_build_dir': True, 'start_dir': '%(namelower)s-%(version)s', - 'configopts': '-DSPM_PROTOBUF_PROVIDER=package -DSPM_ABSL_PROVIDER=package', + # using internal protobuf there is no matching pc file so requirement is removed: + 'preconfigopts': 'sed -i s/Requires.private.*// ../sentencepiece-%(version)s/sentencepiece.pc.in &&', }), ('sentencepiece', version, { 'easyblock': 'PythonPackage', 'start_dir': '%(namelower)s-%(version)s/python', # Unpredicable where pc files end up; including both lib and lib64 - 'prebuildopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib64/pkgconfig:$PKG_CONFIG_PATH && ', - 'preinstallopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib64/pkgconfig:$PKG_CONFIG_PATH && ', + 'prebuildopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib64/pkgconfig:%(installdir)s/lib/pkgconfig/:' + '$PKG_CONFIG_PATH && ', + 'preinstallopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib64/pkgconfig:%(installdir)s/lib/pkgconfig/:' + '$PKG_CONFIG_PATH && ', 'use_pip': True, 'download_dep_fail': True, 'sanity_pip_check': True, From a87945460b48c9a7844267e82cc5160402e0b57f Mon Sep 17 00:00:00 2001 From: maxim-masterov Date: Mon, 8 Apr 2024 12:22:55 +0200 Subject: [PATCH 313/889] Update to p4est v2.8.6 --- easybuild/easyconfigs/d/deal.II/deal.II-9.5.2-foss-2023a.eb | 2 +- ...-2.8.5.5-9ddbb-foss-2023a.eb => p4est-2.8.6-foss-2023a.eb} | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) rename easybuild/easyconfigs/p/p4est/{p4est-2.8.5.5-9ddbb-foss-2023a.eb => p4est-2.8.6-foss-2023a.eb} (89%) diff --git a/easybuild/easyconfigs/d/deal.II/deal.II-9.5.2-foss-2023a.eb b/easybuild/easyconfigs/d/deal.II/deal.II-9.5.2-foss-2023a.eb index 78d55276fe7..025a60136b3 100644 --- a/easybuild/easyconfigs/d/deal.II/deal.II-9.5.2-foss-2023a.eb +++ b/easybuild/easyconfigs/d/deal.II/deal.II-9.5.2-foss-2023a.eb @@ -20,7 +20,7 @@ dependencies = [ ('GSL', '2.7'), ('HDF5', '1.14.0'), ('METIS', '5.1.0'), - ('p4est', '2.8.5.5-9ddbb'), + ('p4est', '2.8.6'), ('PETSc', '3.20.3'), ('zlib', '1.2.13'), ] diff --git a/easybuild/easyconfigs/p/p4est/p4est-2.8.5.5-9ddbb-foss-2023a.eb b/easybuild/easyconfigs/p/p4est/p4est-2.8.6-foss-2023a.eb similarity index 89% rename from easybuild/easyconfigs/p/p4est/p4est-2.8.5.5-9ddbb-foss-2023a.eb rename to easybuild/easyconfigs/p/p4est/p4est-2.8.6-foss-2023a.eb index 2e4b85e161b..afc3d3fb705 100644 --- a/easybuild/easyconfigs/p/p4est/p4est-2.8.5.5-9ddbb-foss-2023a.eb +++ b/easybuild/easyconfigs/p/p4est/p4est-2.8.6-foss-2023a.eb @@ -1,7 +1,7 @@ easyblock = 'ConfigureMake' name = 'p4est' -version = '2.8.5.5-9ddbb' +version = '2.8.6' homepage = 'https://www.p4est.org' description = """p4est is a C library to manage a collection (a forest) of multiple @@ -12,7 +12,7 @@ toolchainopts = {'openmp': True, 'usempi': True, 'pic': True} source_urls = ['https://p4est.github.io/release/'] sources = [SOURCE_TAR_GZ] -checksums = ['1a1fd146c07b8b4de369d2ac63984533e33e576c89d1f7bab9a15b343a6e403a'] +checksums = ['46ee0c6e5a24f45be97fba743f5ef3d9618c075b023e9421ded9fc8cf7811300'] builddependencies = [ ('Autotools', '20220317') From 4f26d28e731774bcd5bafdd656357318fadddb34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Mon, 8 Apr 2024 15:03:18 +0000 Subject: [PATCH 314/889] Fix non cuda version to not use CUDA --- .../p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb index a10ff0ab416..edef7c99321 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb @@ -74,7 +74,7 @@ exts_list = [ 'checksums': ['7f6b125602ac6d743e523ae0bfa71e1a697a2f5534064528c6ff84c2f7c2fc7f'], }), ('torchvision', '0.16.2', { - 'preinstallopts': 'WITH_CUDA=1 TORCHVISION_INCLUDE="$EBROOTLIBJPEGMINTURBO/include:$TORCHVISION_INCLUDE"', + 'preinstallopts': 'TORCHVISION_INCLUDE="$EBROOTLIBJPEGMINTURBO/include:$TORCHVISION_INCLUDE"', 'installopts': '-v', 'patches': [ 'torchvision-0.16.2_ffmpeg-6.0-fix.patch', @@ -103,7 +103,7 @@ exts_list = [ 'torchaudio-2.2.1_transform_test_tol.patch', ], 'preinstallopts': ('rm -r third_party/{sox,ffmpeg/multi};' # runs twice when testinstall - ' USE_CUDA=1 USE_OPENMP=1 USE_FFMPEG=1 FFMPEG_ROOT="$EBROOTFFMPEG"'), + ' USE_OPENMP=1 USE_FFMPEG=1 FFMPEG_ROOT="$EBROOTFFMPEG"'), 'source_urls': ['https://github.com/pytorch/audio/archive'], 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], 'checksums': [ From 9291f70d116b5c287df260941ce0bb39ffe20751 Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Mon, 8 Apr 2024 17:32:19 +0200 Subject: [PATCH 315/889] Update jax-0.4.25-gfbf-2023a-CUDA-12.1.1.eb add tests/lax_numpy_test.py::NumpyUfuncTests::testUfuncInputTypes763 to isolated tests --- easybuild/easyconfigs/j/jax/jax-0.4.25-gfbf-2023a-CUDA-12.1.1.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/j/jax/jax-0.4.25-gfbf-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/j/jax/jax-0.4.25-gfbf-2023a-CUDA-12.1.1.eb index 551ff2a73a3..6b5b930524e 100644 --- a/easybuild/easyconfigs/j/jax/jax-0.4.25-gfbf-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/j/jax/jax-0.4.25-gfbf-2023a-CUDA-12.1.1.eb @@ -49,6 +49,7 @@ local_isolated_tests = [ 'tests/host_callback_test.py::HostCallbackTapTest::test_tap_transforms_doc', 'tests/lax_scipy_special_functions_test.py::LaxScipySpcialFunctionsTest' + '::testScipySpecialFun_gammainc_s_2x1x4_float32_float32', + 'tests/lax_numpy_test.py::NumpyUfuncTests::testUfuncInputTypes763' ] # deliberately not testing in parallel, as that results in (additional) failing tests; # use XLA_PYTHON_CLIENT_ALLOCATOR=platform to allocate and deallocate GPU memory during testing, From 9c5b64ac5c6169dffb80c1070a1620483257e8e6 Mon Sep 17 00:00:00 2001 From: c3-builder Date: Tue, 9 Apr 2024 09:30:30 +0000 Subject: [PATCH 316/889] adding easyconfigs: optiSLang-2024R1.eb --- .../o/optiSLang/optiSLang-2024R1.eb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 easybuild/easyconfigs/o/optiSLang/optiSLang-2024R1.eb diff --git a/easybuild/easyconfigs/o/optiSLang/optiSLang-2024R1.eb b/easybuild/easyconfigs/o/optiSLang/optiSLang-2024R1.eb new file mode 100644 index 00000000000..8c941efc57c --- /dev/null +++ b/easybuild/easyconfigs/o/optiSLang/optiSLang-2024R1.eb @@ -0,0 +1,18 @@ +name = 'optiSLang' +version = '2024R1' + +homepage = 'https://www.ansys.com/products/connect/ansys-optislang' +description = """Ansys optiSLang is a constantly evolving, leading-edge answer +to the challenges posed by CAE-based Robust Design Optimization (RDO). Its +state-of-the-art algorithms efficiently and automatically search for the most +robust design configuration, eliminating the slow, manual process that used to +define RDO.""" + +toolchain = SYSTEM + +download_instructions = 'Manually obtain (OPTISLANG_%(version)s_LINX64.tgz) from your ANSYS vendor' +# Custom extract command is used since iso sources contain duplicate file. +sources = ['OPTISLANG_%(version)s_LINX64.tgz'] +checksums = ['18be4bf600f3d7f30d586811262bc1a544cbb448e85007f5869335da7a173ea4'] + +moduleclass = 'phys' From 1a917a0f86f8609cc1dc70bd3fe01aca94278c95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Tue, 9 Apr 2024 13:46:04 +0200 Subject: [PATCH 317/889] adding easyconfigs: FDMNES-2024-02-29-gomkl-2023a.eb, MUMPS-5.6.2-gomkl-2023a-metis-seq.eb and patches: MUMPS-5.6.2_shared-pord.patch --- .../f/FDMNES/FDMNES-2024-02-29-gomkl-2023a.eb | 60 +++++++++++++++++++ .../MUMPS-5.6.2-gomkl-2023a-metis-seq.eb | 35 +++++++++++ .../m/MUMPS/MUMPS-5.6.2_shared-pord.patch | 46 ++++++++++++++ 3 files changed, 141 insertions(+) create mode 100644 easybuild/easyconfigs/f/FDMNES/FDMNES-2024-02-29-gomkl-2023a.eb create mode 100644 easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.2-gomkl-2023a-metis-seq.eb create mode 100644 easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.2_shared-pord.patch diff --git a/easybuild/easyconfigs/f/FDMNES/FDMNES-2024-02-29-gomkl-2023a.eb b/easybuild/easyconfigs/f/FDMNES/FDMNES-2024-02-29-gomkl-2023a.eb new file mode 100644 index 00000000000..d75cfeb753c --- /dev/null +++ b/easybuild/easyconfigs/f/FDMNES/FDMNES-2024-02-29-gomkl-2023a.eb @@ -0,0 +1,60 @@ +easyblock = 'MakeCp' + +name = 'FDMNES' + +version = '2024-02-29' + +homepage = 'https://fdmnes.neel.cnrs.fr' +description = """X-ray spectroscopies are techniques which probe the electronic and structural +properties of the materials. Most often performed at synchrotron, they are extensively used +to analyse all classes of materials. The advances on the experimental side need the complementary +progress on the theoretical side to extract confidentely all the information the data can furnish. + +In this context, the purpose of our FDMNES project is to supply to the community a user friendly +ab initio code to simulate X-ray absorption and emission spectroscopies as well as resonant x-ray +scattering and x-ray Raman spectroscopies, among other techniques. + +FDMNES, for Finite Difference Method Near Edge Structure, uses the density functional theory (DFT). +It is thus specially devoted to the simulation of the K edges of all the chemical elements and of the L23 edges of the heavy ones. +For the other edges, it includes advances by the use of the time dependent DFT (TD-DFT).""" + +toolchain = {'name': 'gomkl', 'version': '2023a'} +toolchainopts = {'usempi': True} + +sources = [{ + 'source_urls': ['https://cloud.neel.cnrs.fr/index.php/s/tDpQWmec7S4Ei4G'], + 'download_filename': 'download', + 'filename': '%(namelower)s_fortran_prog_%(version)s.zip', +}] +checksums = ['bcf0928dd8f44bb0098aed4b8d45c8cf4cedf7cee1a598342de6115d7066c2fb'] + +dependencies = [ + ('MUMPS', '5.6.2', '-metis-seq'), + ('OpenMPI', '4.1.5'), + ('SCOTCH', '7.0.3'), +] + +parallel = 1 + +prebuildopts = "sed -i 's/-llapack -lblas/$LIBLAPACK/g;" +# to avoid the `/bin/sh: line 1: -lscotch: command not found` error +prebuildopts += '/-lscotch/d;' +prebuildopts += 's/lpord \\\\/lpord -lscotch -lscotcherr -lpthread -Wl,--start-group ' +prebuildopts += '-lmkl_gf_lp64 -lmkl_sequential -lmkl_core -Wl,--end-group -lgfortran/g;' +# to avoid the `undefined reference to 'main_rixs_'` error +prebuildopts += "s/mat_solve_mumps.o/mat_solve_mumps.o RIXS.o/g' makefile && echo Here && cat makefile && " + +buildopts = 'FC="$FC" FFLAGS="-c $FFLAGS -fallow-argument-mismatch -fallow-invalid-boz -I$EBROOTMUMPS/include"' + +files_to_copy = [ + (['%(builddir)s/fdmnes'], 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/fdmnes'], + 'dirs': [] +} + +sanity_check_commands = ['fdmnes --help'] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.2-gomkl-2023a-metis-seq.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.2-gomkl-2023a-metis-seq.eb new file mode 100644 index 00000000000..8c774b899a6 --- /dev/null +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.2-gomkl-2023a-metis-seq.eb @@ -0,0 +1,35 @@ +name = 'MUMPS' +version = '5.6.2' +versionsuffix = '-metis-seq' + +homepage = 'https://graal.ens-lyon.fr/MUMPS/' +description = "A parallel sparse direct solver. This module is for its sequential variant." + +toolchain = {'name': 'gomkl', 'version': '2023a'} +toolchainopts = {'pic': True, 'usempi': False} + +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] +sources = ['%(name)s_%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD + '%(name)s-5.6.1_shared-mumps.patch', # builds shared libs of MUMPS +] +checksums = [ + {'MUMPS_5.6.2.tar.gz': '13a2c1aff2bd1aa92fe84b7b35d88f43434019963ca09ef7e8c90821a8f1d59a'}, + {'MUMPS-5.6.2_shared-pord.patch': '5f1c41a39a83ee4993e88416f0821e437afad9e63d5d1df077b4d7d12c2bc2b8'}, + {'MUMPS-5.6.1_shared-mumps.patch': '27f788a5f85e8c9a6a7ec1651097b87c1de0ede0be943df7a10fa7c1ff5f494f'}, +] + +dependencies = [ + ('SCOTCH', '7.0.3'), + ('METIS', '5.1.0'), +] + +parallel = 1 + +# fix 'Type mismatch between actual argument' errors with GCC 10.x +prebuildopts = 'export FFLAGS="$FFLAGS -fallow-argument-mismatch" && ' + +buildopts = 'all SONAME_VERSION="%(version)s"' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.2_shared-pord.patch b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.2_shared-pord.patch new file mode 100644 index 00000000000..98dc0371d60 --- /dev/null +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.2_shared-pord.patch @@ -0,0 +1,46 @@ +Heavily inspired from https://src.fedoraproject.org/rpms/MUMPS//blob/rawhide/f/MUMPS-shared.patch +Author: micketeer@gmail.com +Updatd to version 5.5.0: J. Sassmannshausen/ICL (UK) +Updatd to version 5.5.1: maxim-masterov (SURF) +Updatd to version 5.6.1: Petr Král (INUITS) +Updatd to version 5.6.2: Petr Král (INUITS) +diff -u MUMPS_5.6.2/Makefile.orig MUMPS_5.6.2/Makefile +--- MUMPS_5.6.2/Makefile.orig 2023-10-11 11:36:26.000000000 +0200 ++++ MUMPS_5.6.2/Makefile 2024-04-09 13:02:40.710623825 +0200 +@@ -65,7 +65,7 @@ + + include Makefile.inc + +-prerequisites: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT)$(LIBEXT) ++prerequisites: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT)$(LIBEXT) $(libdir)/libpord$(PLAT).so + + prerequisitesshared: Makefile.inc $(LIBSEQNEEDED)sharedlibseq $(libdir)/libpord$(PLAT)$(LIBEXT_SHARED) + +@@ -103,8 +103,11 @@ + cp $(LPORDDIR)/libpord$(PLAT)$(LIBEXT_SHARED) $@; \ + fi; + +- +- ++$(libdir)/libpord$(PLAT).so: ++ if [ "$(LPORDDIR)" != "" ] ; then \ ++ cd $(LPORDDIR); make CC="$(CC)" CFLAGS="$(OPTC)" AR="$(AR)" ARFUNCT= RANLIB="$(RANLIB)" libpord$(PLAT).so; fi; ++ if [ "$(LPORDDIR)" != "" ] ; then \ ++ cp -a $(LPORDDIR)/libpord*.so lib/; fi; + + clean: + (cd src; $(MAKE) clean) +diff -u MUMPS_5.6.1/PORD/lib/Makefile.orig MUMPS_5.6.1/PORD/lib/Makefile +--- MUMPS_5.6.1/PORD/lib/Makefile.orig 2023-07-11 09:51:28.000000000 +0200 ++++ MUMPS_5.6.1/PORD/lib/Makefile 2023-07-26 10:47:36.312139519 +0200 +@@ -31,6 +31,10 @@ + libpord$(PLAT)$(LIBEXT_SHARED):$(OBJS) + $(CC) -shared $(OBJS) -o libpord.so + ++libpord$(PLAT).so: $(OBJS) ++ $(CC) -shared $(OBJS) -Wl,-soname,libpord$(PLAT)-$(SONAME_VERSION).so -o libpord$(PLAT)-$(SONAME_VERSION).so $(OPTL) -Wl,-z,defs ++ ln -fs libpord$(PLAT)-$(SONAME_VERSION).so $@ ++ + clean: + rm -f *.o + From 2c90c81dce6661a7a85c2fbe503cc58cc92494e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Tue, 9 Apr 2024 13:50:13 +0200 Subject: [PATCH 318/889] fix line too long --- .../easyconfigs/f/FDMNES/FDMNES-2024-02-29-gomkl-2023a.eb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/f/FDMNES/FDMNES-2024-02-29-gomkl-2023a.eb b/easybuild/easyconfigs/f/FDMNES/FDMNES-2024-02-29-gomkl-2023a.eb index d75cfeb753c..6971ed9a041 100644 --- a/easybuild/easyconfigs/f/FDMNES/FDMNES-2024-02-29-gomkl-2023a.eb +++ b/easybuild/easyconfigs/f/FDMNES/FDMNES-2024-02-29-gomkl-2023a.eb @@ -15,7 +15,8 @@ ab initio code to simulate X-ray absorption and emission spectroscopies as well scattering and x-ray Raman spectroscopies, among other techniques. FDMNES, for Finite Difference Method Near Edge Structure, uses the density functional theory (DFT). -It is thus specially devoted to the simulation of the K edges of all the chemical elements and of the L23 edges of the heavy ones. +It is thus specially devoted to the simulation of the K edges of all the chemical +elements and of the L23 edges of the heavy ones. For the other edges, it includes advances by the use of the time dependent DFT (TD-DFT).""" toolchain = {'name': 'gomkl', 'version': '2023a'} From 4c60f89f4fc85c29f0d8d979e19f539aa6477862 Mon Sep 17 00:00:00 2001 From: Viktor Rehnberg Date: Tue, 9 Apr 2024 14:07:30 +0000 Subject: [PATCH 319/889] adding easyconfigs: Transformers-4.39.3-gfbf-2023a-Rust-1.75.0.eb, tokenizers-0.15.2-GCCcore-12.3.0-Rust-1.75.0.eb --- ...nsformers-4.39.3-gfbf-2023a-Rust-1.75.0.eb | 45 +++ ...izers-0.15.2-GCCcore-12.3.0-Rust-1.75.0.eb | 329 ++++++++++++++++++ 2 files changed, 374 insertions(+) create mode 100644 easybuild/easyconfigs/t/Transformers/Transformers-4.39.3-gfbf-2023a-Rust-1.75.0.eb create mode 100644 easybuild/easyconfigs/t/tokenizers/tokenizers-0.15.2-GCCcore-12.3.0-Rust-1.75.0.eb diff --git a/easybuild/easyconfigs/t/Transformers/Transformers-4.39.3-gfbf-2023a-Rust-1.75.0.eb b/easybuild/easyconfigs/t/Transformers/Transformers-4.39.3-gfbf-2023a-Rust-1.75.0.eb new file mode 100644 index 00000000000..02d7762cbc2 --- /dev/null +++ b/easybuild/easyconfigs/t/Transformers/Transformers-4.39.3-gfbf-2023a-Rust-1.75.0.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'Transformers' +version = '4.39.3' +_rust_ver = '1.75.0' +versionsuffix = '-Rust-%s' % _rust_ver + +homepage = 'https://github.com/huggingface/transformers' +description = """State-of-the-art Natural Language Processing for PyTorch and TensorFlow 2.0""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +builddependencies = [ + ('Rust', _rust_ver), + ('maturin', '1.4.0', versionsuffix), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('PyYAML', '6.0'), + ('tqdm', '4.66.1'), + ('tokenizers', '0.15.2', versionsuffix), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('safetensors', '0.4.2', { + 'checksums': ['acc85dcb09ec5e8aa787f588d7ad4d55c103f31e4ff060e17d92cc0e8b8cac73'], + }), + ('regex', '2023.12.25', { + 'checksums': ['29171aa128da69afdf4bde412d5bedc335f2ca8fcfe4489038577d05f16181e5'], + }), + ('%(namelower)s', version, { + 'checksums': ['2586e5ff4150f122716fc40f5530e92871befc051848fbe82600969c535b762d'], + }), +] + +sanity_check_commands = [ + "python -c 'from transformers import AutoTokenizer'", +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/t/tokenizers/tokenizers-0.15.2-GCCcore-12.3.0-Rust-1.75.0.eb b/easybuild/easyconfigs/t/tokenizers/tokenizers-0.15.2-GCCcore-12.3.0-Rust-1.75.0.eb new file mode 100644 index 00000000000..909f8818cac --- /dev/null +++ b/easybuild/easyconfigs/t/tokenizers/tokenizers-0.15.2-GCCcore-12.3.0-Rust-1.75.0.eb @@ -0,0 +1,329 @@ +easyblock = 'CargoPythonBundle' + +name = 'tokenizers' +version = '0.15.2' +_rust_ver = '1.75.0' +versionsuffix = '-Rust-%s' % _rust_ver + +homepage = 'https://github.com/huggingface/tokenizers' +description = "Fast State-of-the-Art Tokenizers optimized for Research and Production" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +crates = [ + ('aho-corasick', '1.1.2'), + ('anstream', '0.6.11'), + ('anstyle', '1.0.6'), + ('anstyle-parse', '0.2.3'), + ('anstyle-query', '1.0.2'), + ('anstyle-wincon', '3.0.2'), + ('autocfg', '1.1.0'), + ('base64', '0.13.1'), + ('bitflags', '1.3.2'), + ('bitflags', '2.4.2'), + ('cc', '1.0.83'), + ('cfg-if', '1.0.0'), + ('clap', '4.5.0'), + ('clap_builder', '4.5.0'), + ('clap_derive', '4.5.0'), + ('clap_lex', '0.7.0'), + ('colorchoice', '1.0.0'), + ('console', '0.15.8'), + ('crossbeam-deque', '0.8.5'), + ('crossbeam-epoch', '0.9.18'), + ('crossbeam-utils', '0.8.19'), + ('darling', '0.14.4'), + ('darling_core', '0.14.4'), + ('darling_macro', '0.14.4'), + ('derive_builder', '0.12.0'), + ('derive_builder_core', '0.12.0'), + ('derive_builder_macro', '0.12.0'), + ('either', '1.10.0'), + ('encode_unicode', '0.3.6'), + ('env_logger', '0.10.2'), + ('errno', '0.3.8'), + ('esaxx-rs', '0.1.10'), + ('fastrand', '2.0.1'), + ('fnv', '1.0.7'), + ('getrandom', '0.2.12'), + ('heck', '0.4.1'), + ('hermit-abi', '0.3.5'), + ('humantime', '2.1.0'), + ('ident_case', '1.0.1'), + ('indicatif', '0.17.8'), + ('indoc', '2.0.4'), + ('instant', '0.1.12'), + ('is-terminal', '0.4.12'), + ('itertools', '0.11.0'), + ('itertools', '0.12.1'), + ('itoa', '1.0.10'), + ('lazy_static', '1.4.0'), + ('libc', '0.2.153'), + ('linux-raw-sys', '0.4.13'), + ('lock_api', '0.4.11'), + ('log', '0.4.20'), + ('macro_rules_attribute', '0.2.0'), + ('macro_rules_attribute-proc_macro', '0.2.0'), + ('matrixmultiply', '0.3.8'), + ('memchr', '2.7.1'), + ('memoffset', '0.9.0'), + ('minimal-lexical', '0.2.1'), + ('monostate', '0.1.11'), + ('monostate-impl', '0.1.11'), + ('ndarray', '0.15.6'), + ('nom', '7.1.3'), + ('num-complex', '0.4.5'), + ('num-integer', '0.1.46'), + ('num-traits', '0.2.18'), + ('number_prefix', '0.4.0'), + ('numpy', '0.20.0'), + ('once_cell', '1.19.0'), + ('onig', '6.4.0'), + ('onig_sys', '69.8.1'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.9'), + ('paste', '1.0.14'), + ('pkg-config', '0.3.29'), + ('portable-atomic', '1.6.0'), + ('ppv-lite86', '0.2.17'), + ('proc-macro2', '1.0.78'), + ('pyo3', '0.20.2'), + ('pyo3-build-config', '0.20.2'), + ('pyo3-ffi', '0.20.2'), + ('pyo3-macros', '0.20.2'), + ('pyo3-macros-backend', '0.20.2'), + ('quote', '1.0.35'), + ('rand', '0.8.5'), + ('rand_chacha', '0.3.1'), + ('rand_core', '0.6.4'), + ('rawpointer', '0.2.1'), + ('rayon', '1.8.1'), + ('rayon-cond', '0.3.0'), + ('rayon-core', '1.12.1'), + ('redox_syscall', '0.4.1'), + ('regex', '1.10.3'), + ('regex-automata', '0.4.5'), + ('regex-syntax', '0.8.2'), + ('rustc-hash', '1.1.0'), + ('rustix', '0.38.31'), + ('ryu', '1.0.16'), + ('scopeguard', '1.2.0'), + ('serde', '1.0.196'), + ('serde_derive', '1.0.196'), + ('serde_json', '1.0.113'), + ('smallvec', '1.13.1'), + ('spm_precompiled', '0.1.4'), + ('strsim', '0.10.0'), + ('strsim', '0.11.0'), + ('syn', '1.0.109'), + ('syn', '2.0.48'), + ('target-lexicon', '0.12.13'), + ('tempfile', '3.10.0'), + ('termcolor', '1.4.1'), + ('thiserror', '1.0.56'), + ('thiserror-impl', '1.0.56'), + ('unicode-ident', '1.0.12'), + ('unicode-normalization-alignments', '0.1.12'), + ('unicode-segmentation', '1.11.0'), + ('unicode-width', '0.1.11'), + ('unicode_categories', '0.1.1'), + ('unindent', '0.2.3'), + ('utf8parse', '0.2.1'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('winapi', '0.3.9'), + ('winapi-i686-pc-windows-gnu', '0.4.0'), + ('winapi-util', '0.1.6'), + ('winapi-x86_64-pc-windows-gnu', '0.4.0'), + ('windows-sys', '0.52.0'), + ('windows-targets', '0.48.5'), + ('windows-targets', '0.52.0'), + ('windows_aarch64_gnullvm', '0.48.5'), + ('windows_aarch64_gnullvm', '0.52.0'), + ('windows_aarch64_msvc', '0.48.5'), + ('windows_aarch64_msvc', '0.52.0'), + ('windows_i686_gnu', '0.48.5'), + ('windows_i686_gnu', '0.52.0'), + ('windows_i686_msvc', '0.48.5'), + ('windows_i686_msvc', '0.52.0'), + ('windows_x86_64_gnu', '0.48.5'), + ('windows_x86_64_gnu', '0.52.0'), + ('windows_x86_64_gnullvm', '0.48.5'), + ('windows_x86_64_gnullvm', '0.52.0'), + ('windows_x86_64_msvc', '0.48.5'), + ('windows_x86_64_msvc', '0.52.0'), +] +sources = [SOURCE_TAR_GZ] +checksums = [ + {'tokenizers-0.15.2.tar.gz': 'e6e9c6e019dd5484be5beafc775ae6c925f4c69a3487040ed09b45e13df2cb91'}, + {'aho-corasick-1.1.2.tar.gz': 'b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0'}, + {'anstream-0.6.11.tar.gz': '6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5'}, + {'anstyle-1.0.6.tar.gz': '8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc'}, + {'anstyle-parse-0.2.3.tar.gz': 'c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c'}, + {'anstyle-query-1.0.2.tar.gz': 'e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648'}, + {'anstyle-wincon-3.0.2.tar.gz': '1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'base64-0.13.1.tar.gz': '9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'bitflags-2.4.2.tar.gz': 'ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf'}, + {'cc-1.0.83.tar.gz': 'f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'clap-4.5.0.tar.gz': '80c21025abd42669a92efc996ef13cfb2c5c627858421ea58d5c3b331a6c134f'}, + {'clap_builder-4.5.0.tar.gz': '458bf1f341769dfcf849846f65dffdf9146daa56bcd2a47cb4e1de9915567c99'}, + {'clap_derive-4.5.0.tar.gz': '307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47'}, + {'clap_lex-0.7.0.tar.gz': '98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce'}, + {'colorchoice-1.0.0.tar.gz': 'acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7'}, + {'console-0.15.8.tar.gz': '0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb'}, + {'crossbeam-deque-0.8.5.tar.gz': '613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d'}, + {'crossbeam-epoch-0.9.18.tar.gz': '5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e'}, + {'crossbeam-utils-0.8.19.tar.gz': '248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345'}, + {'darling-0.14.4.tar.gz': '7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850'}, + {'darling_core-0.14.4.tar.gz': '109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0'}, + {'darling_macro-0.14.4.tar.gz': 'a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e'}, + {'derive_builder-0.12.0.tar.gz': '8d67778784b508018359cbc8696edb3db78160bab2c2a28ba7f56ef6932997f8'}, + {'derive_builder_core-0.12.0.tar.gz': 'c11bdc11a0c47bc7d37d582b5285da6849c96681023680b906673c5707af7b0f'}, + {'derive_builder_macro-0.12.0.tar.gz': 'ebcda35c7a396850a55ffeac740804b40ffec779b98fffbb1738f4033f0ee79e'}, + {'either-1.10.0.tar.gz': '11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a'}, + {'encode_unicode-0.3.6.tar.gz': 'a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f'}, + {'env_logger-0.10.2.tar.gz': '4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580'}, + {'errno-0.3.8.tar.gz': 'a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245'}, + {'esaxx-rs-0.1.10.tar.gz': 'd817e038c30374a4bcb22f94d0a8a0e216958d4c3dcde369b1439fec4bdda6e6'}, + {'fastrand-2.0.1.tar.gz': '25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5'}, + {'fnv-1.0.7.tar.gz': '3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1'}, + {'getrandom-0.2.12.tar.gz': '190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'hermit-abi-0.3.5.tar.gz': 'd0c62115964e08cb8039170eb33c1d0e2388a256930279edca206fff675f82c3'}, + {'humantime-2.1.0.tar.gz': '9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4'}, + {'ident_case-1.0.1.tar.gz': 'b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39'}, + {'indicatif-0.17.8.tar.gz': '763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3'}, + {'indoc-2.0.4.tar.gz': '1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8'}, + {'instant-0.1.12.tar.gz': '7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c'}, + {'is-terminal-0.4.12.tar.gz': 'f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b'}, + {'itertools-0.11.0.tar.gz': 'b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57'}, + {'itertools-0.12.1.tar.gz': 'ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569'}, + {'itoa-1.0.10.tar.gz': 'b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'libc-0.2.153.tar.gz': '9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd'}, + {'linux-raw-sys-0.4.13.tar.gz': '01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c'}, + {'lock_api-0.4.11.tar.gz': '3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45'}, + {'log-0.4.20.tar.gz': 'b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f'}, + {'macro_rules_attribute-0.2.0.tar.gz': '8a82271f7bc033d84bbca59a3ce3e4159938cb08a9c3aebbe54d215131518a13'}, + {'macro_rules_attribute-proc_macro-0.2.0.tar.gz': + 'b8dd856d451cc0da70e2ef2ce95a18e39a93b7558bedf10201ad28503f918568'}, + {'matrixmultiply-0.3.8.tar.gz': '7574c1cf36da4798ab73da5b215bbf444f50718207754cb522201d78d1cd0ff2'}, + {'memchr-2.7.1.tar.gz': '523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149'}, + {'memoffset-0.9.0.tar.gz': '5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c'}, + {'minimal-lexical-0.2.1.tar.gz': '68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a'}, + {'monostate-0.1.11.tar.gz': '878c2a1f1c70e5724fa28f101ca787b6a7e8ad5c5e4ae4ca3b0fa4a419fa9075'}, + {'monostate-impl-0.1.11.tar.gz': 'f686d68a09079e63b1d2c64aa305095887ce50565f00a922ebfaeeee0d9ba6ce'}, + {'ndarray-0.15.6.tar.gz': 'adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32'}, + {'nom-7.1.3.tar.gz': 'd273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a'}, + {'num-complex-0.4.5.tar.gz': '23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6'}, + {'num-integer-0.1.46.tar.gz': '7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f'}, + {'num-traits-0.2.18.tar.gz': 'da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a'}, + {'number_prefix-0.4.0.tar.gz': '830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3'}, + {'numpy-0.20.0.tar.gz': 'bef41cbb417ea83b30525259e30ccef6af39b31c240bda578889494c5392d331'}, + {'once_cell-1.19.0.tar.gz': '3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92'}, + {'onig-6.4.0.tar.gz': '8c4b31c8722ad9171c6d77d3557db078cab2bd50afcc9d09c8b315c59df8ca4f'}, + {'onig_sys-69.8.1.tar.gz': '7b829e3d7e9cc74c7e315ee8edb185bf4190da5acde74afd7fc59c35b1f086e7'}, + {'parking_lot-0.12.1.tar.gz': '3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f'}, + {'parking_lot_core-0.9.9.tar.gz': '4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e'}, + {'paste-1.0.14.tar.gz': 'de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c'}, + {'pkg-config-0.3.29.tar.gz': '2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb'}, + {'portable-atomic-1.6.0.tar.gz': '7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0'}, + {'ppv-lite86-0.2.17.tar.gz': '5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de'}, + {'proc-macro2-1.0.78.tar.gz': 'e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae'}, + {'pyo3-0.20.2.tar.gz': '9a89dc7a5850d0e983be1ec2a463a171d20990487c3cfcd68b5363f1ee3d6fe0'}, + {'pyo3-build-config-0.20.2.tar.gz': '07426f0d8fe5a601f26293f300afd1a7b1ed5e78b2a705870c5f30893c5163be'}, + {'pyo3-ffi-0.20.2.tar.gz': 'dbb7dec17e17766b46bca4f1a4215a85006b4c2ecde122076c562dd058da6cf1'}, + {'pyo3-macros-0.20.2.tar.gz': '05f738b4e40d50b5711957f142878cfa0f28e054aa0ebdfc3fd137a843f74ed3'}, + {'pyo3-macros-backend-0.20.2.tar.gz': '0fc910d4851847827daf9d6cdd4a823fbdaab5b8818325c5e97a86da79e8881f'}, + {'quote-1.0.35.tar.gz': '291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef'}, + {'rand-0.8.5.tar.gz': '34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404'}, + {'rand_chacha-0.3.1.tar.gz': 'e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88'}, + {'rand_core-0.6.4.tar.gz': 'ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c'}, + {'rawpointer-0.2.1.tar.gz': '60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3'}, + {'rayon-1.8.1.tar.gz': 'fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051'}, + {'rayon-cond-0.3.0.tar.gz': '059f538b55efd2309c9794130bc149c6a553db90e9d99c2030785c82f0bd7df9'}, + {'rayon-core-1.12.1.tar.gz': '1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2'}, + {'redox_syscall-0.4.1.tar.gz': '4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa'}, + {'regex-1.10.3.tar.gz': 'b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15'}, + {'regex-automata-0.4.5.tar.gz': '5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd'}, + {'regex-syntax-0.8.2.tar.gz': 'c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f'}, + {'rustc-hash-1.1.0.tar.gz': '08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2'}, + {'rustix-0.38.31.tar.gz': '6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949'}, + {'ryu-1.0.16.tar.gz': 'f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c'}, + {'scopeguard-1.2.0.tar.gz': '94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49'}, + {'serde-1.0.196.tar.gz': '870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32'}, + {'serde_derive-1.0.196.tar.gz': '33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67'}, + {'serde_json-1.0.113.tar.gz': '69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79'}, + {'smallvec-1.13.1.tar.gz': 'e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7'}, + {'spm_precompiled-0.1.4.tar.gz': '5851699c4033c63636f7ea4cf7b7c1f1bf06d0cc03cfb42e711de5a5c46cf326'}, + {'strsim-0.10.0.tar.gz': '73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623'}, + {'strsim-0.11.0.tar.gz': '5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01'}, + {'syn-1.0.109.tar.gz': '72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237'}, + {'syn-2.0.48.tar.gz': '0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f'}, + {'target-lexicon-0.12.13.tar.gz': '69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae'}, + {'tempfile-3.10.0.tar.gz': 'a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67'}, + {'termcolor-1.4.1.tar.gz': '06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755'}, + {'thiserror-1.0.56.tar.gz': 'd54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad'}, + {'thiserror-impl-1.0.56.tar.gz': 'fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471'}, + {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'}, + {'unicode-normalization-alignments-0.1.12.tar.gz': + '43f613e4fa046e69818dd287fdc4bc78175ff20331479dab6e1b0f98d57062de'}, + {'unicode-segmentation-1.11.0.tar.gz': 'd4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202'}, + {'unicode-width-0.1.11.tar.gz': 'e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85'}, + {'unicode_categories-0.1.1.tar.gz': '39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e'}, + {'unindent-0.2.3.tar.gz': 'c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce'}, + {'utf8parse-0.2.1.tar.gz': '711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a'}, + {'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}, + {'winapi-0.3.9.tar.gz': '5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419'}, + {'winapi-i686-pc-windows-gnu-0.4.0.tar.gz': 'ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6'}, + {'winapi-util-0.1.6.tar.gz': 'f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596'}, + {'winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz': '712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f'}, + {'windows-sys-0.52.0.tar.gz': '282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d'}, + {'windows-targets-0.48.5.tar.gz': '9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c'}, + {'windows-targets-0.52.0.tar.gz': '8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd'}, + {'windows_aarch64_gnullvm-0.48.5.tar.gz': '2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8'}, + {'windows_aarch64_gnullvm-0.52.0.tar.gz': 'cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea'}, + {'windows_aarch64_msvc-0.48.5.tar.gz': 'dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc'}, + {'windows_aarch64_msvc-0.52.0.tar.gz': 'bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef'}, + {'windows_i686_gnu-0.48.5.tar.gz': 'a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e'}, + {'windows_i686_gnu-0.52.0.tar.gz': 'a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313'}, + {'windows_i686_msvc-0.48.5.tar.gz': '8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406'}, + {'windows_i686_msvc-0.52.0.tar.gz': 'ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a'}, + {'windows_x86_64_gnu-0.48.5.tar.gz': '53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e'}, + {'windows_x86_64_gnu-0.52.0.tar.gz': '3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd'}, + {'windows_x86_64_gnullvm-0.48.5.tar.gz': '0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc'}, + {'windows_x86_64_gnullvm-0.52.0.tar.gz': '1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e'}, + {'windows_x86_64_msvc-0.48.5.tar.gz': 'ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538'}, + {'windows_x86_64_msvc-0.52.0.tar.gz': 'dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('Rust', _rust_ver), + ('maturin', '1.4.0', versionsuffix), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), # fsspec, filelock used by hf-hub + ('PyYAML', '6.0'), # used by hf-hub + ('tqdm', '4.66.1'), # used by hf-hub +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +exts_list = [ + ('huggingface-hub', '0.21.4', { + 'source_tmpl': 'huggingface_hub-%(version)s.tar.gz', + 'checksums': ['e1f4968c93726565a80edf6dc309763c7b546d0cfe79aa221206034d50155531'], + }), + (name, version, { + 'checksums': ['e6e9c6e019dd5484be5beafc775ae6c925f4c69a3487040ed09b45e13df2cb91'], + }), +] + +moduleclass = 'lib' From 51e3f7387f0967e420a095b51a5fb0b20826c587 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 9 Apr 2024 16:22:13 +0200 Subject: [PATCH 320/889] use arrow-R 14.0.1, as 14.0.0.2 depends on a wrong Arrow version --- .../R-bundle-Bioconductor-3.18-foss-2023a-R-4.3.2.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.18-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.18-foss-2023a-R-4.3.2.eb index e07ffd64a9e..f53d47dd5b0 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.18-foss-2023a-R-4.3.2.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.18-foss-2023a-R-4.3.2.eb @@ -17,7 +17,7 @@ dependencies = [ ('Boost', '1.82.0'), # for mzR ('GSL', '2.7'), # for flowClust ('HDF5', '1.14.0'), # for rhdf5 - ('arrow-R', '14.0.0.2', versionsuffix), # required by RcisTarget + ('arrow-R', '14.0.1', versionsuffix), # required by RcisTarget ] exts_default_options = { From 38768279b847a1b4b164706aae0fa58a48f56be2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 9 Apr 2024 16:22:51 +0200 Subject: [PATCH 321/889] add arrow-R version 14.0.1, which is compatible with Arrow 14.0.1 (while the existing 14.0.0.2 is not) --- .../arrow-R-14.0.1-foss-2023a-R-4.3.2.eb | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 easybuild/easyconfigs/a/arrow-R/arrow-R-14.0.1-foss-2023a-R-4.3.2.eb diff --git a/easybuild/easyconfigs/a/arrow-R/arrow-R-14.0.1-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/a/arrow-R/arrow-R-14.0.1-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..63b191092e1 --- /dev/null +++ b/easybuild/easyconfigs/a/arrow-R/arrow-R-14.0.1-foss-2023a-R-4.3.2.eb @@ -0,0 +1,37 @@ +easyblock = 'RPackage' + +name = 'arrow-R' +version = '14.0.1' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/arrow' +description = "R interface to the Apache Arrow C++ library" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = [ + 'https://cran.r-project.org/src/contrib/Archive/arrow', # package archive + 'https://cran.r-project.org/src/contrib/', # current version of packages + 'https://cran.freestatistics.org/src/contrib', # mirror alternative for current packages + 'https://archive.apache.org/dist/arrow/arrow-%(version)s', # full Arrow source tarballs +] +sources = ['apache-arrow-%(version)s.tar.gz'] +checksums = ['5c70eafb1011f9d124bafb328afe54f62cc5b9280b7080e1e3d668f78c0e407e'] + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-CRAN', '2023.12'), + ('Arrow', '14.0.1'), # arrow-R x.y.z[.N] only works with Arrow x.y.z +] + +start_dir = 'r' +preinstallopts = "export LIBARROW_BINARY=true && " + +sanity_check_paths = { + 'files': [], + 'dirs': ['arrow'], +} + +options = {'modulename': 'arrow'} + +moduleclass = 'tools' From d07f070dee4cab3d95d8dac6d074363b5be42c01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 9 Apr 2024 16:33:28 +0200 Subject: [PATCH 322/889] add additional space --- .../easyconfigs/a/arrow-R/arrow-R-14.0.1-foss-2023a-R-4.3.2.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/a/arrow-R/arrow-R-14.0.1-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/a/arrow-R/arrow-R-14.0.1-foss-2023a-R-4.3.2.eb index 63b191092e1..1a6720e1a3c 100644 --- a/easybuild/easyconfigs/a/arrow-R/arrow-R-14.0.1-foss-2023a-R-4.3.2.eb +++ b/easybuild/easyconfigs/a/arrow-R/arrow-R-14.0.1-foss-2023a-R-4.3.2.eb @@ -21,7 +21,7 @@ checksums = ['5c70eafb1011f9d124bafb328afe54f62cc5b9280b7080e1e3d668f78c0e407e'] dependencies = [ ('R', '4.3.2'), ('R-bundle-CRAN', '2023.12'), - ('Arrow', '14.0.1'), # arrow-R x.y.z[.N] only works with Arrow x.y.z + ('Arrow', '14.0.1'), # arrow-R x.y.z[.N] only works with Arrow x.y.z ] start_dir = 'r' From c151c3f5d7c268fb0288f1b78071f991a9d11a7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 9 Apr 2024 16:34:14 +0200 Subject: [PATCH 323/889] also add same comment about Arrow to older easyconfigs --- .../a/arrow-R/arrow-R-11.0.0.3-foss-2022b-R-4.2.2.eb | 2 +- .../a/arrow-R/arrow-R-14.0.0.2-foss-2023a-R-4.3.2.eb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/a/arrow-R/arrow-R-11.0.0.3-foss-2022b-R-4.2.2.eb b/easybuild/easyconfigs/a/arrow-R/arrow-R-11.0.0.3-foss-2022b-R-4.2.2.eb index dfe97712e3b..e0cb197688d 100644 --- a/easybuild/easyconfigs/a/arrow-R/arrow-R-11.0.0.3-foss-2022b-R-4.2.2.eb +++ b/easybuild/easyconfigs/a/arrow-R/arrow-R-11.0.0.3-foss-2022b-R-4.2.2.eb @@ -19,7 +19,7 @@ checksums = ['eb939471f5f4218e6cfd62f58ccd2a0a5283d4a19a2902741c7fb25e2f016eaf'] dependencies = [ ('R', '4.2.2'), - ('Arrow', '11.0.0'), + ('Arrow', '11.0.0'), # arrow-R x.y.z[.N] only works with Arrow x.y.z ] preinstallopts = "export LIBARROW_BINARY=true && " diff --git a/easybuild/easyconfigs/a/arrow-R/arrow-R-14.0.0.2-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/a/arrow-R/arrow-R-14.0.0.2-foss-2023a-R-4.3.2.eb index 260e080346c..c7739415f2d 100644 --- a/easybuild/easyconfigs/a/arrow-R/arrow-R-14.0.0.2-foss-2023a-R-4.3.2.eb +++ b/easybuild/easyconfigs/a/arrow-R/arrow-R-14.0.0.2-foss-2023a-R-4.3.2.eb @@ -20,7 +20,7 @@ checksums = ['7138a52d66f1b94ec31c25e8929d6f92b1640df852a10817600a82ab68ba8ab7'] dependencies = [ ('R', '4.3.2'), ('R-bundle-CRAN', '2023.12'), - ('Arrow', '14.0.1'), + ('Arrow', '14.0.1'), # arrow-R x.y.z[.N] only works with Arrow x.y.z ] preinstallopts = "export LIBARROW_BINARY=true && " From 4731803ffaa475a54f8177c9bc7cc9daaf7a9a81 Mon Sep 17 00:00:00 2001 From: c3-builder Date: Tue, 9 Apr 2024 15:58:32 +0000 Subject: [PATCH 324/889] Rename to AEDT --- .../ANSYSEM-2024R1.eb => AEDT/AEDT-2024R1.eb} | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) rename easybuild/easyconfigs/a/{ANSYSEM/ANSYSEM-2024R1.eb => AEDT/AEDT-2024R1.eb} (56%) diff --git a/easybuild/easyconfigs/a/ANSYSEM/ANSYSEM-2024R1.eb b/easybuild/easyconfigs/a/AEDT/AEDT-2024R1.eb similarity index 56% rename from easybuild/easyconfigs/a/ANSYSEM/ANSYSEM-2024R1.eb rename to easybuild/easyconfigs/a/AEDT/AEDT-2024R1.eb index 3c4dfaa4bdf..368b4617622 100644 --- a/easybuild/easyconfigs/a/ANSYSEM/ANSYSEM-2024R1.eb +++ b/easybuild/easyconfigs/a/AEDT/AEDT-2024R1.eb @@ -1,11 +1,14 @@ -name = 'ANSYSEM' +name = 'AEDT' version = '2024R1' local_short_ver = '241' local_bin_dir = '%(installdir)s/' + 'v%s/Linux64' % local_short_ver -homepage = 'https://www.ansys.com/products/electronics/ansys-electronics-desktop' -description = """Ansys Electronics Desktop is a comprehensive platform that enables electrical engineers to design and -simulate various electrical, electronic and electromagnetic components, devices and systems.""" +homepage = 'https://www.ansys.com/products/electronics' +description = """The Ansys Electronics Desktop (AEDT) is a platform that enables +true electronics system design. AEDT provides access to the Ansys gold-standard +electromagnetics simulation solutions such as Ansys HFSS, Ansys Maxwell, Ansys Q3D +Extractor, Ansys SIwave, and Ansys Icepak using electrical CAD (ECAD) and mechanical +CAD (MCAD) workflows.""" toolchain = SYSTEM From 9022547984cecc48a58b6adae32738f9f46a8ef2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Tue, 9 Apr 2024 16:30:52 +0000 Subject: [PATCH 325/889] Drop CPU version from PR --- .../PyTorch-bundle-2.1.2-foss-2023a.eb | 158 ------------------ 1 file changed, 158 deletions(-) delete mode 100644 easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb deleted file mode 100644 index edef7c99321..00000000000 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb +++ /dev/null @@ -1,158 +0,0 @@ -easyblock = 'PythonBundle' - -name = 'PyTorch-bundle' -version = '2.1.2' - -homepage = 'https://pytorch.org/' -description = """PyTorch with compatible versions of official Torch extensions.""" - -toolchain = {'name': 'foss', 'version': '2023a'} - -builddependencies = [ - ('CMake', '3.26.3'), - ('RE2', '2023-08-01'), # for torchtext - ('parameterized', '0.9.0'), # for torchtext and torchaudio tests - ('scikit-learn', '1.3.1'), # for torchaudio and pytorch-ignite tests - ('scikit-image', '0.22.0'), # for pytorch-ignite tests - ('dill', '0.3.7'), # for pytorch-ignite tests - ('matplotlib', '3.7.2'), # for pytorch-ignite tests - ('librosa', '0.10.1'), # for torchaudio tests - ('NLTK', '3.8.1'), # for torchtext tests -] - -dependencies = [ - ('Python', '3.11.3'), - ('PyTorch', version), - ('Pillow-SIMD', '9.5.0'), # for torchvision - ('libjpeg-turbo', '2.1.5.1'), # for torchvision - ('SentencePiece', '0.2.0'), # for torchtext - ('tqdm', '4.66.1'), # for torchtext - ('double-conversion', '3.3.0'), # for torchtext - ('utf8proc', '2.8.0'), # for torchtext - ('tensorboard', '2.15.1'), # for torch-tb-profiler - ('FFmpeg', '6.0'), # for torchvision and torchaudio - ('SoX', '14.4.2'), # for torchaudio -] - -use_pip = True - -exts_list = [ - ('portalocker', '2.8.2', { - 'checksums': ['2b035aa7828e46c58e9b31390ee1f169b98e1066ab10b9a6a861fe7e25ee4f33'], - }), - ('torchdata', '0.7.1', { - 'preinstallopts': "USE_SYSTEM_LIBS=1 ", - 'source_urls': ['https://github.com/pytorch/data/archive'], - 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], - 'checksums': ['ef9bbdcee759b53c3c9d99e76eb0a66da33d36bfb7f859a25a9b5e737a51fa23'], - 'runtest': False, # circular test requirements - }), - ('torchtext', '0.16.2', { - 'patches': [ - 'torchtext-0.14.1_use-system-libs.patch', - 'torchtext-0.16.2_download-to-project-root.patch', - ], - 'source_urls': ['https://github.com/pytorch/text/archive'], - 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], - 'checksums': [ - {'torchtext-0.16.2.tar.gz': '6574b012804f65220329a2ad34a95c18e4df0d4cff2f862fb7862d57b374b013'}, - {'torchtext-0.14.1_use-system-libs.patch': - '1366d10c4755b6003194f7313ca11d165a80a13d325bee9d669ea2b333d82536'}, - {'torchtext-0.16.2_download-to-project-root.patch': - '9d5599a9983729cf1fc7ab2a2f65d1887f223f528e15662ba1b4a5e359c9686d'}, - ], - 'runtest': ( - 'pytest test/torchtext_unittest' - ' -k "not test_vocab_from_raw_text_file"' # segfaults - '" and not test_get_tokenizer_moses"' # requires sacremoses - '" and not test_get_tokenizer_spacy"' # requires spaCy - '" and not test_download_charngram_vectors"' # requires internet access - ), - 'testinstall': True, - }), - ('pytest-mock', '3.11.1', { # for torchvision tests - 'checksums': ['7f6b125602ac6d743e523ae0bfa71e1a697a2f5534064528c6ff84c2f7c2fc7f'], - }), - ('torchvision', '0.16.2', { - 'preinstallopts': 'TORCHVISION_INCLUDE="$EBROOTLIBJPEGMINTURBO/include:$TORCHVISION_INCLUDE"', - 'installopts': '-v', - 'patches': [ - 'torchvision-0.16.2_ffmpeg-6.0-fix.patch', - 'torchvision-0.16.2_quantized_tol.patch', - ], - 'source_urls': ['https://github.com/pytorch/vision/archive'], - 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], - 'checksums': [ - {'torchvision-0.16.2.tar.gz': '8c1f2951e98d8ada6e5a468f179af4be9f56d2ebc3ab057af873da61669806d7'}, - {'torchvision-0.16.2_ffmpeg-6.0-fix.patch': - 'a49336e7bfa1c950e886852bff37a3ea2146ac7bda87241e3ffb31c5cb869cce'}, - {'torchvision-0.16.2_quantized_tol.patch': - '457cdf8ad6653838c552890bce95dbe30b7573b1643334284f5f4a58f74f6e40'}, - ], - 'runtest': ( - 'pytest' - ' -m "not xfail"' # don't run tests that are expected that they might fail - ' -k "not test_frame_reading_mem_vs_file"' # this one hangs - ), - 'testinstall': True, - }), - ('torchaudio', '2.2.1', { - 'installopts': '--no-use-pep517 -v', - 'patches': [ - 'torchaudio-2.2.1_use-external-sox.patch', - 'torchaudio-2.2.1_transform_test_tol.patch', - ], - 'preinstallopts': ('rm -r third_party/{sox,ffmpeg/multi};' # runs twice when testinstall - ' USE_OPENMP=1 USE_FFMPEG=1 FFMPEG_ROOT="$EBROOTFFMPEG"'), - 'source_urls': ['https://github.com/pytorch/audio/archive'], - 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], - 'checksums': [ - {'torchaudio-2.2.1.tar.gz': '5f2a9cda9369ff348d1d7ca2c0a1f01afc9ebff1a13df9775c22aa5c43f5b0f1'}, - {'torchaudio-2.2.1_use-external-sox.patch': - 'fc97b2bdf0ab16b9c4706bf2a31dd72d0ecb09e4af2f9c4a34e18fca8e0d165d'}, - {'torchaudio-2.2.1_transform_test_tol.patch': - '381be068dc1c7dda3ea19220e423356ac93621aa48133a0fe54464069c8799c7'}, - ], - 'runtest': ( - 'pytest test/torchaudio_unittest/' - ' -k "not TestProcessPoolExecutor"' # hang maybe related https://github.com/pytorch/audio/issues/1021 - '" and not FilterGraphWithCudaAccel"' # requires FFmpeg with CUDA support - '" and not kaldi_io_test"' # requires kaldi_io - ), - 'testinstall': True, - }), - ('pytorch-ignite', '0.4.13', { - 'modulename': 'ignite', - 'source_urls': ['https://github.com/pytorch/ignite/archive'], - 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], - 'checksums': ['bfe4b6f1cd96e78c021a65a0c51350cdb89d6ef5a8b9609638666ca95bae51d7'], - 'runtest': ( - 'pytest' - ' --ignore=tests/ignite/contrib/handlers/test_clearml_logger.py' # requires clearml - ' --ignore=tests/ignite/metrics/gan/test_fid.py' # requires pytorch_fid - ' -k "not test__native_dist_model_create_no_dist_nccl"' # hangs - '" and not test__native_dist_model_create_dist_gloo_2"' # hangs - '" and not test__native_dist_model_create_dist_nccl_2"' # hangs - ), - 'testinstall': True, - }), - ('torch-tb-profiler', '0.4.3', { - 'modulename': 'torch.profiler', - 'sources': ['torch_tb_profiler-%(version)s.tar.gz'], - 'checksums': ['8b8d29b2de960b3c4423087b23cec29beaf9ac3a8c7b046c18fd25b218f726b1'], - 'runtest': ( - 'pytest' - ' --ignore=test/test_tensorboard_end2end.py' # timeouts - ' -k "not test_dump_gpu_metrics"' # missing file - '" and not test_profiler_api_with_record_shapes_memory_stack"' # fails - '" and not test_profiler_api_without_record_shapes_memory_stack"' # fails - '" and not test_profiler_api_without_step"' # fails - '" and test_autograd_api"' # fails - ), - 'testinstall': True, - }), -] - -sanity_pip_check = True - -moduleclass = 'ai' From 78656eaf7bb9399fafc88b5c98f856fc2a45e17d Mon Sep 17 00:00:00 2001 From: Viktor Rehnberg Date: Wed, 10 Apr 2024 06:14:43 +0000 Subject: [PATCH 326/889] Remove versionsuffixes --- ...3a-Rust-1.75.0.eb => Transformers-4.39.3-gfbf-2023a.eb} | 7 +++---- ...-Rust-1.75.0.eb => tokenizers-0.15.2-GCCcore-12.3.0.eb} | 5 ++--- 2 files changed, 5 insertions(+), 7 deletions(-) rename easybuild/easyconfigs/t/Transformers/{Transformers-4.39.3-gfbf-2023a-Rust-1.75.0.eb => Transformers-4.39.3-gfbf-2023a.eb} (89%) rename easybuild/easyconfigs/t/tokenizers/{tokenizers-0.15.2-GCCcore-12.3.0-Rust-1.75.0.eb => tokenizers-0.15.2-GCCcore-12.3.0.eb} (99%) diff --git a/easybuild/easyconfigs/t/Transformers/Transformers-4.39.3-gfbf-2023a-Rust-1.75.0.eb b/easybuild/easyconfigs/t/Transformers/Transformers-4.39.3-gfbf-2023a.eb similarity index 89% rename from easybuild/easyconfigs/t/Transformers/Transformers-4.39.3-gfbf-2023a-Rust-1.75.0.eb rename to easybuild/easyconfigs/t/Transformers/Transformers-4.39.3-gfbf-2023a.eb index 02d7762cbc2..cef130c9947 100644 --- a/easybuild/easyconfigs/t/Transformers/Transformers-4.39.3-gfbf-2023a-Rust-1.75.0.eb +++ b/easybuild/easyconfigs/t/Transformers/Transformers-4.39.3-gfbf-2023a.eb @@ -2,17 +2,16 @@ easyblock = 'PythonBundle' name = 'Transformers' version = '4.39.3' -_rust_ver = '1.75.0' -versionsuffix = '-Rust-%s' % _rust_ver homepage = 'https://github.com/huggingface/transformers' description = """State-of-the-art Natural Language Processing for PyTorch and TensorFlow 2.0""" toolchain = {'name': 'gfbf', 'version': '2023a'} +_rust_ver = '1.75.0' builddependencies = [ ('Rust', _rust_ver), - ('maturin', '1.4.0', versionsuffix), + ('maturin', '1.4.0', '-Rust-%s' % _rust_ver), ] dependencies = [ @@ -20,7 +19,7 @@ dependencies = [ ('SciPy-bundle', '2023.07'), ('PyYAML', '6.0'), ('tqdm', '4.66.1'), - ('tokenizers', '0.15.2', versionsuffix), + ('tokenizers', '0.15.2'), ] use_pip = True diff --git a/easybuild/easyconfigs/t/tokenizers/tokenizers-0.15.2-GCCcore-12.3.0-Rust-1.75.0.eb b/easybuild/easyconfigs/t/tokenizers/tokenizers-0.15.2-GCCcore-12.3.0.eb similarity index 99% rename from easybuild/easyconfigs/t/tokenizers/tokenizers-0.15.2-GCCcore-12.3.0-Rust-1.75.0.eb rename to easybuild/easyconfigs/t/tokenizers/tokenizers-0.15.2-GCCcore-12.3.0.eb index 909f8818cac..db8831bc11d 100644 --- a/easybuild/easyconfigs/t/tokenizers/tokenizers-0.15.2-GCCcore-12.3.0-Rust-1.75.0.eb +++ b/easybuild/easyconfigs/t/tokenizers/tokenizers-0.15.2-GCCcore-12.3.0.eb @@ -2,8 +2,6 @@ easyblock = 'CargoPythonBundle' name = 'tokenizers' version = '0.15.2' -_rust_ver = '1.75.0' -versionsuffix = '-Rust-%s' % _rust_ver homepage = 'https://github.com/huggingface/tokenizers' description = "Fast State-of-the-Art Tokenizers optimized for Research and Production" @@ -299,10 +297,11 @@ checksums = [ {'windows_x86_64_msvc-0.52.0.tar.gz': 'dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04'}, ] +_rust_ver = '1.75.0' builddependencies = [ ('binutils', '2.40'), ('Rust', _rust_ver), - ('maturin', '1.4.0', versionsuffix), + ('maturin', '1.4.0', '-Rust-%s' % _rust_ver), ] dependencies = [ From 567954d2cfe4044079fca970306df30f8e99af63 Mon Sep 17 00:00:00 2001 From: Viktor Rehnberg Date: Wed, 10 Apr 2024 06:40:04 +0000 Subject: [PATCH 327/889] Remove download_dep_failed --- .../easyconfigs/t/tokenizers/tokenizers-0.15.2-GCCcore-12.3.0.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/t/tokenizers/tokenizers-0.15.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/tokenizers/tokenizers-0.15.2-GCCcore-12.3.0.eb index db8831bc11d..f5938e32de3 100644 --- a/easybuild/easyconfigs/t/tokenizers/tokenizers-0.15.2-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/t/tokenizers/tokenizers-0.15.2-GCCcore-12.3.0.eb @@ -313,7 +313,6 @@ dependencies = [ use_pip = True sanity_pip_check = True -download_dep_fail = True exts_list = [ ('huggingface-hub', '0.21.4', { From 98b84cfbdc87536cdd50e856e16dccba2a88ed71 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Wed, 10 Apr 2024 12:35:40 +0200 Subject: [PATCH 328/889] adding easyconfigs: SimNIBS-4.0.1-foss-2023a.eb, charm-gems-1.3.3-foss-2023a.eb, FMM3D-1.0.4-foss-2023a.eb, Boost-1.74.0-GCC-12.3.0.eb, CGAL-5.4-GCCcore-12.3.0.eb, tbb-2020.1-GCCcore-12.3.0.eb --- .../b/Boost/Boost-1.74.0-GCC-12.3.0.eb | 35 +++++++++++ .../c/CGAL/CGAL-5.4-GCCcore-12.3.0.eb | 26 ++++++++ .../charm-gems/charm-gems-1.3.3-foss-2023a.eb | 55 ++++++++++++++++ .../f/FMM3D/FMM3D-1.0.4-foss-2023a.eb | 45 ++++++++++++++ .../s/SimNIBS/SimNIBS-4.0.1-foss-2023a.eb | 62 +++++++++++++++++++ .../t/tbb/tbb-2020.1-GCCcore-12.3.0.eb | 18 ++++++ 6 files changed, 241 insertions(+) create mode 100644 easybuild/easyconfigs/b/Boost/Boost-1.74.0-GCC-12.3.0.eb create mode 100644 easybuild/easyconfigs/c/CGAL/CGAL-5.4-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/c/charm-gems/charm-gems-1.3.3-foss-2023a.eb create mode 100644 easybuild/easyconfigs/f/FMM3D/FMM3D-1.0.4-foss-2023a.eb create mode 100644 easybuild/easyconfigs/s/SimNIBS/SimNIBS-4.0.1-foss-2023a.eb create mode 100644 easybuild/easyconfigs/t/tbb/tbb-2020.1-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.74.0-GCC-12.3.0.eb b/easybuild/easyconfigs/b/Boost/Boost-1.74.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..3c078f88361 --- /dev/null +++ b/easybuild/easyconfigs/b/Boost/Boost-1.74.0-GCC-12.3.0.eb @@ -0,0 +1,35 @@ +## +# Authors:: Denis Kristak , Pavel Tománek (INUITS) +## +name = 'Boost' +version = '1.74.0' + +homepage = 'https://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))] +patches = ['Boost-%(version)s-library_version_type_serialization.patch'] +checksums = [ + {'boost_1_74_0.tar.gz': 'afff36d392885120bcac079148c177d1f6f7730ec3d47233aa51b0afa4db94a5'}, + {'Boost-1.74.0-library_version_type_serialization.patch': + 'ee61e889ce9473ad82b69c9a8cbe1bf9650d633b74fdf7e4f4a4825aa990feca'}, +] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.13'), + ('XZ', '5.4.2'), + ('zstd', '1.5.5'), +] + +configopts = '--without-libraries=python,mpi' + +# disable MPI, build Boost libraries with tagged layout +boost_mpi = False +tagged_layout = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-5.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/CGAL/CGAL-5.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..aa9a56f6fc1 --- /dev/null +++ b/easybuild/easyconfigs/c/CGAL/CGAL-5.4-GCCcore-12.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' +name = 'CGAL' +version = '5.4' + +homepage = 'https://www.cgal.org/' +description = """The goal of the CGAL Open Source Project is to provide easy access to efficient + and reliable geometric algorithms in the form of a C++ library.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'strict': True} + +source_urls = ['https://github.com/CGAL/cgal/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['b3d735ec42fd65ac1413c70e7a197bf3d971e4499347ccfaad92cc82d62dc256'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': ['include/CGAL/Simple_cartesian.h'], + 'dirs': ['include/CGAL', 'lib/cmake/CGAL'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/charm-gems/charm-gems-1.3.3-foss-2023a.eb b/easybuild/easyconfigs/c/charm-gems/charm-gems-1.3.3-foss-2023a.eb new file mode 100644 index 00000000000..6f01647c03b --- /dev/null +++ b/easybuild/easyconfigs/c/charm-gems/charm-gems-1.3.3-foss-2023a.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'charm-gems' +version = '1.3.3' + +homepage = 'https://github.com/simnibs/charm-gems' +description = """This repository contains the gems C++ code and python bindings used in +Freesurfer's Sequence-Adaptive Multimodal SEGmentation (SAMSEG) and in +SimNIBS 4.0 Complete Head Anatomy Reconstruction Method (CHARM) to +create individualized head models for electric field simulations.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('CMake', '3.26.3'), + ('make', '4.4.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True +sanity_pip_check = True + +# update GCC version in vcl_compiler.h and install ITK from submodule +local_preinstallopts = "sed -i 's/error \"Dunno about this gcc\"/define VCL_GCC_123/' \\" +local_preinstallopts += "ITK/Modules/ThirdParty/VNL/src/vxl/vcl/vcl_compiler.h && " +local_preinstallopts += "mkdir ITK-build && cd ITK-build && " +local_preinstallopts += "cmake -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF \\" +local_preinstallopts += "-DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%(installdir)s/ITK-install ../ITK && " +local_preinstallopts += "make install && cd .. && " +local_preinstallopts += "export ITK_DIR=%(installdir)s/ITK-install && " + +exts_list = [ + (name, version, { + 'preinstallopts': local_preinstallopts, + 'sources': [{ + 'filename': '%(name)s-%(version)s.tar.gz', + 'git_config': { + 'url': 'https://github.com/simnibs', + 'repo_name': 'charm-gems', + 'tag': 'v%(version)s', + 'recursive': True, + 'keep_git_dir': True, + } + }], + 'checksums': [None], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FMM3D/FMM3D-1.0.4-foss-2023a.eb b/easybuild/easyconfigs/f/FMM3D/FMM3D-1.0.4-foss-2023a.eb new file mode 100644 index 00000000000..19cdbd46743 --- /dev/null +++ b/easybuild/easyconfigs/f/FMM3D/FMM3D-1.0.4-foss-2023a.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'FMM3D' +version = '1.0.4' + +homepage = 'https://fmm3d.readthedocs.io' +description = """Flatiron Institute Fast Multipole Libraries: a set of libraries to compute N-body +interactions governed by the Laplace and Helmholtz equations, to a specified precision, in three dimensions, on a +multi-core shared-memory machine.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/flatironinstitute/FMM3D/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['26b16ce6f963bf33011cbd690a27d4cba2c3a3eb9ab8505febe1ca39abcfc40a'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Python-bundle-PyPI', '2023.06'), +] + +skipsteps = ['configure', 'build'] + +installopts = 'FAST_KER=ON PREFIX="%(installdir)s/lib" && ' +installopts += 'export FMM_FLIBS="%(installdir)s/lib/libfmm3d.a $FFLAGS" && ' +# also install Python bindings +installopts += "make python-dist && pip install --no-deps --ignore-installed --prefix %(installdir)s python/dist/*.whl" + +sanity_check_paths = { + 'files': ['lib/libfmm3d.a', 'lib/libfmm3d.%s' % SHLIB_EXT], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "cd %(builddir)s/FMM3D-* && make test", + "python -c 'import fmm3dpy'", + "cd %(builddir)s/FMM3D-* && python python/test/test_hfmm.py", + "cd %(builddir)s/FMM3D-* && python python/test/test_lfmm.py", +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SimNIBS/SimNIBS-4.0.1-foss-2023a.eb b/easybuild/easyconfigs/s/SimNIBS/SimNIBS-4.0.1-foss-2023a.eb new file mode 100644 index 00000000000..48687864c4e --- /dev/null +++ b/easybuild/easyconfigs/s/SimNIBS/SimNIBS-4.0.1-foss-2023a.eb @@ -0,0 +1,62 @@ +easyblock = 'PythonBundle' + +name = 'SimNIBS' +version = '4.0.1' + +homepage = 'https://simnibs.github.io/simnibs' +description = "SimNIBS is a free and open source software package for the Simulation of Non-invasive Brain Stimulation" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [('CMake', '3.26.3')] +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('Pillow', '10.0.0'), + ('h5py', '3.9.0'), + ('PyOpenGL', '3.1.7'), + ('freeglut', '3.4.0'), + ('Boost', '1.74.0'), + ('tbb', '2020.1'), + ('libwebp', '1.3.1'), + ('NiBabel', '5.2.0'), + ('PyQt5', '5.15.10'), + ('FMM3D', '1.0.4'), + ('charm-gems', '1.3.3'), + ('CGAL', '5.4'), + ('Eigen', '3.3.7', '', SYSTEM), +] + +exts_list = [ + (name, version, { + 'patches': ['%(name)s-%(version)s_setup.py-fix.patch'], + 'source_urls': ['https://github.com/simnibs/simnibs/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': [ + {'v4.0.1.tar.gz': 'c5455cd0e0240b3638fbc64125bdfaeae289a63ee94a3ecc3b4d10981890c8ff'}, + {'SimNIBS-4.0.1_setup.py-fix.patch': '9e0a28233e2830cc90dca67e3e945094591f46ed646eba20a7ecf2396d126fe2'}, + ], + }), +] + +postinstallcmds = [ + 'cd %(installdir)s/bin && ' + 'ln -s %(installdir)s/lib/python%(pyshortver)s/site-packages/simnibs/external/bin/linux/gmsh gmsh && ' + 'ln -s %(installdir)s/lib/python%(pyshortver)s/site-packages/simnibs/external/bin/linux/meshfix meshfix && ' + 'ln -s %(installdir)s/lib/python%(pyshortver)s/site-packages/simnibs/external/dwi2cond dwi2cond', +] + +use_pip = True +sanity_pip_check = True + +local_bin_list = ['dwi2cond', 'gmsh', 'meshfix', 'simnibs', 'simnibs_gui', 'charm',] +sanity_check_paths = { + 'files': ['bin/%s' % f for f in local_bin_list], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["simnibs --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/tbb/tbb-2020.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/tbb/tbb-2020.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..2519951c3f4 --- /dev/null +++ b/easybuild/easyconfigs/t/tbb/tbb-2020.1-GCCcore-12.3.0.eb @@ -0,0 +1,18 @@ +name = 'tbb' +version = '2020.1' + +homepage = 'https://01.org/tbb/' +description = """Intel(R) Threading Building Blocks (Intel(R) TBB) lets you easily write parallel C++ programs that + take full advantage of multicore performance, that are portable, composable and have future-proof scalability.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/oneapi-src/oneTBB/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['7c96a150ed22bc3c6628bc3fef9ed475c00887b26d37bca61518d76a56510971'] + +builddependencies = [ + ('binutils', '2.40') +] + +moduleclass = 'lib' From 57868153a2596466b30b0054e3e02c1dfb9e3454 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Wed, 10 Apr 2024 12:39:05 +0200 Subject: [PATCH 329/889] add patch file --- .../SimNIBS/SimNIBS-4.0.1_setup.py-fix.patch | 513 ++++++++++++++++++ 1 file changed, 513 insertions(+) create mode 100644 easybuild/easyconfigs/s/SimNIBS/SimNIBS-4.0.1_setup.py-fix.patch diff --git a/easybuild/easyconfigs/s/SimNIBS/SimNIBS-4.0.1_setup.py-fix.patch b/easybuild/easyconfigs/s/SimNIBS/SimNIBS-4.0.1_setup.py-fix.patch new file mode 100644 index 00000000000..44ff8cd0b82 --- /dev/null +++ b/easybuild/easyconfigs/s/SimNIBS/SimNIBS-4.0.1_setup.py-fix.patch @@ -0,0 +1,513 @@ +Authot: Pavel Tománek (INUITS) +Fix for setup.py to use EB dependecies CGAL and tbb and not download them before compilation. +Get rid of code for another platforms. +Add compilation flags for gcc. +--- setup.py.orig 2024-04-02 18:56:13.015206000 +0200 ++++ setup.py 2024-04-10 12:22:35.495147000 +0200 +@@ -12,7 +12,7 @@ + from distutils.dep_util import newer_group + import numpy as np + +- ++ + #################################################### + # add all scripts in the cli folder as + # console_scripts or gui_scripts +@@ -35,31 +35,8 @@ + 'simnibs_gui=simnibs.cli.simnibs_gui:main', + ] + +- +-######################################################################################################## +-# external stuff for which symlinks or .cmd should be added to the scripts folder +-######################################################################################################## +-external_progs = ['gmsh','meshfix'] +- +-bin_dir = os.path.join('simnibs', 'external', 'bin') +-ending='' +-if sys.platform == 'darwin': +- bin_dir = os.path.join(bin_dir, 'osx') +-elif sys.platform == 'linux': +- bin_dir = os.path.join(bin_dir, 'linux') +-elif sys.platform == 'win32': +- bin_dir = os.path.join(bin_dir, 'win') +- ending='.exe' +-else: +- raise OSError('OS not supported!') +-for i in range(len(external_progs)): +- external_progs[i] = os.path.join(bin_dir, external_progs[i]+ending) +- +-if not sys.platform == 'win32': +- external_progs.append(os.path.join('simnibs','external','dwi2cond')) +- +- +-''' C extensions ++''' ++C extensions + + CGAL Compilation + ----------------- +@@ -81,15 +58,9 @@ + + ''' + +-# Information for CGAL download ++# Information for CGAL + CGAL_version = '5.4' +-CGAL_headers = os.path.abspath(f'CGAL-{CGAL_version}/include') +-CGAL_url = ( +- f'https://github.com/CGAL/cgal/releases/download/' +- #f'releases/CGAL-{CGAL_version}/' +- f'v{CGAL_version}/' +- f'CGAL-{CGAL_version}-library.zip' +-) ++CGAL_headers = os.path.join(os.getenv('EBROOTCGAL'), 'include') + cgal_mesh_macros = [ + ('CGAL_MESH_3_NO_DEPRECATED_SURFACE_INDEX', None), + ('CGAL_MESH_3_NO_DEPRECATED_C3T3_ITERATORS', None), +@@ -100,185 +71,76 @@ + ] + + # Information for eigen library +-# I don't download it because gitlab does not allow it + eigen_version = '3.3.7' +-eigen_headers = os.path.abspath(f'simnibs/external/include/eigen-{eigen_version}') ++eigen_headers = os.path.join(os.getenv('EBROOTEIGEN'), 'include') + + # Information for Intel TBB download + tbb_version = '2020.1' +-tbb_path = os.path.abspath('tbb') +-tbb_headers = os.path.join(tbb_path, 'tbb', 'include') +-if sys.platform == 'win32': +- tbb_url = ( +- f'https://github.com/intel/tbb/releases/download/' +- f'v{tbb_version}/tbb-{tbb_version}-win.zip' +- ) +- tbb_libs = [ +- os.path.join(tbb_path, 'tbb', 'bin', 'intel64', 'vc14', 'tbb.dll'), +- os.path.join(tbb_path, 'tbb', 'lib', 'intel64', 'vc14', 'tbb.lib'), +- os.path.join(tbb_path, 'tbb', 'bin', 'intel64', 'vc14', 'tbbmalloc.dll'), +- os.path.join(tbb_path, 'tbb', 'lib', 'intel64', 'vc14', 'tbbmalloc.lib'), +- ] +-elif sys.platform == 'linux': +- tbb_url = ( +- f'https://github.com/intel/tbb/releases/download/' +- f'v{tbb_version}/tbb-{tbb_version}-lin.tgz' +- ) +- tbb_libs = [ +- os.path.join(tbb_path, 'tbb', 'lib', 'intel64', 'gcc4.8', 'libtbb.so'), +- os.path.join(tbb_path, 'tbb', 'lib', 'intel64', 'gcc4.8', 'libtbb.so.2'), +- os.path.join(tbb_path, 'tbb', 'lib', 'intel64', 'gcc4.8', 'libtbbmalloc.so'), +- os.path.join(tbb_path, 'tbb', 'lib', 'intel64', 'gcc4.8', 'libtbbmalloc.so.2'), +- ] +-elif sys.platform == 'darwin': +- tbb_url = ( +- f'https://github.com/intel/tbb/releases/download/' +- f'v{tbb_version}/tbb-{tbb_version}-mac.tgz' +- ) +- tbb_libs = [ +- os.path.join(tbb_path, 'tbb', 'lib', 'libtbb.dylib'), +- os.path.join(tbb_path, 'tbb', 'lib', 'libtbbmalloc.dylib'), +- ] +-else: +- raise OSError('OS not supported!') ++tbb_headers = os.path.join(os.getenv('EBROOTTBB'), 'include') + ++tbb_libs = [ ++ os.path.join(os.getenv('EBROOTTBB'), 'lib', 'libtbb.so'), ++ os.path.join(os.getenv('EBROOTTBB'), 'lib', 'libtbb.so.2'), ++ os.path.join(os.getenv('EBROOTTBB'), 'lib', 'libtbbmalloc.so'), ++ os.path.join(os.getenv('EBROOTTBB'), 'lib', 'libtbbmalloc.so.2'), ++] + + #### Setup compilation arguments +-is_conda = 'CONDA_PREFIX' in os.environ +- +-if sys.platform == 'win32': +- petsc_libs = ['libpetsc', 'msmpi'] +- petsc_include = [ +- np.get_include(), +- 'simnibs/external/include/win/petsc', +- 'simnibs/external/include/win/hypre', +- 'simnibs/external/include/win/mpi' +- ] +- petsc_dirs = ['simnibs/external/lib/win'] +- petsc_runtime = None +- petsc_extra_link_args = None +- +- cgal_libs = ['libmpfr-4', 'libgmp-10', 'zlib', 'tbb', 'tbbmalloc'] +- cgal_include = [ +- np.get_include(), +- CGAL_headers, +- eigen_headers, +- tbb_headers, +- 'simnibs/external/include/win/mpfr', +- 'simnibs/external/include/win/gmp' +- ] +- # Find boost headers if installed with conda +- if is_conda: +- cgal_include += [os.path.join(os.environ['CONDA_PREFIX'], 'Library', 'include')] +- cgal_dirs = ['simnibs/external/lib/win'] +- cgal_runtime = None +- # Got those arguments from compiling a CGAL program following the instructions in the website +- cgal_compile_args = [ +- '/Zi', '/WX-', '/diagnostics:classic', '/Ob0', '/Oy', +- '/D WIN32', '/D _WINDOWS', '/D _SCL_SECURE_NO_DEPRECATE', +- '/D _SCL_SECURE_NO_WARNINGS', '/D BOOST_ALL_DYN_LINK=1', +- '/D _MBCS' +- ] +- cgal_link_args = None +- +- cat_compile_args = None + +-elif sys.platform == 'linux': +- petsc_libs = ['petsc'] +- petsc_include = [ +- np.get_include(), +- 'simnibs/external/include/linux/petsc' +- ] +- petsc_dirs = ['simnibs/external/lib/linux'] +- petsc_runtime = ['$ORIGIN/../external/lib/linux'] +- petsc_extra_link_args = None +- +- cgal_libs = ['mpfr', 'gmp', 'z', 'tbb', 'tbbmalloc', 'pthread'] +- cgal_include = [ +- np.get_include(), +- CGAL_headers, +- eigen_headers, +- tbb_headers, +- 'simnibs/external/include/linux/mpfr', +- 'simnibs/external/include/linux/gmp' +- ] +- # To find the boost headers if installed with conda +- if is_conda: +- cgal_include += [os.path.join(os.environ['CONDA_PREFIX'], 'include')] +- cgal_dirs = ['simnibs/external/lib/linux'] +- cgal_runtime = ['$ORIGIN/../../external/lib/linux'] +- # Add -Os -flto for much smaller binaries +- cgal_compile_args = [ +- '-Os', '-flto', +- '-frounding-math', +- '-std=gnu++14', +- ] +- cgal_mesh_macros += [('NOMINMAX', None)] +- cgal_link_args = None +- +- cat_compile_args = [ +- '-std=gnu99', +- ] +- +-elif sys.platform == 'darwin': +- petsc_libs = ['petsc'] +- petsc_include = [ +- np.get_include(), +- 'simnibs/external/include/osx/petsc' +- ] +- petsc_dirs = ['simnibs/external/lib/osx'] +- petsc_runtime = None +- # add RPATH as the _runtime argument does not work in MacOS, likely bug in setuptools +- petsc_extra_link_args = ['-Wl,-rpath,@loader_path/../external/lib/osx'] +- +- cgal_libs = ['mpfr', 'gmp', 'z', 'tbb', 'tbbmalloc'] +- cgal_include = [ +- np.get_include(), +- CGAL_headers, +- eigen_headers, +- tbb_headers, +- 'simnibs/external/include/osx/mpfr', +- 'simnibs/external/include/osx/gmp' +- ] +- if is_conda: +- cgal_include += [os.path.join(os.environ['CONDA_PREFIX'], 'include')] +- cgal_dirs = ['simnibs/external/lib/osx'] +- cgal_runtime = None +- cgal_compile_args = [ +- '-std=gnu++14', +- '-stdlib=libc++', +- ] +- cgal_mesh_macros += [('NOMINMAX', None)] +- cgal_link_args = [ +- '-stdlib=libc++', +- '-Wl,-rpath,@loader_path/../../external/lib/osx' +- ] +- +- cat_compile_args = None +- +-else: +- raise OSError('OS not supported!') ++petsc_libs = ['petsc'] ++petsc_include = [ ++ np.get_include(), ++ 'simnibs/external/include/linux/petsc' ++] ++petsc_dirs = ['simnibs/external/lib/linux'] ++petsc_runtime = ['$ORIGIN/../external/lib/linux'] ++petsc_extra_link_args = None ++ ++cgal_libs = ['mpfr', 'gmp', 'z', 'tbb', 'tbbmalloc', 'pthread'] ++cgal_include = [ ++ np.get_include(), ++ CGAL_headers, ++ eigen_headers, ++ tbb_headers, ++ 'simnibs/external/include/linux/mpfr', ++ 'simnibs/external/include/linux/gmp' ++] ++cgal_dirs = ['simnibs/external/lib/linux'] ++cgal_runtime = ['$ORIGIN/../../external/lib/linux'] ++# Add -Os -flto for much smaller binaries ++cgal_compile_args = [ ++ '-Os', '-flto', ++ '-frounding-math', ++ '-std=gnu++14', ++ '-w', # removes warnings as errors ++ '-fcompare-debug-second', # removes notes as errors ++] ++cgal_mesh_macros += [('NOMINMAX', None)] ++cgal_link_args = None + + cython_msh = Extension( + 'simnibs.mesh_tools.cython_msh', + ["simnibs/mesh_tools/cython_msh.pyx"], +- include_dirs=[np.get_include()] ++ include_dirs=[np.get_include()], ++ extra_compile_args=['-w'], + ) + marching_cubes_lewiner_cy = Extension( + 'simnibs.segmentation._marching_cubes_lewiner_cy', + ["simnibs/segmentation/_marching_cubes_lewiner_cy.pyx"], +- include_dirs=[np.get_include()] ++ include_dirs=[np.get_include()], ++ extra_compile_args=['-w'], + ) + cat_c_utils = Extension( + 'simnibs.segmentation._cat_c_utils', + ["simnibs/segmentation/_cat_c_utils.pyx", "simnibs/segmentation/cat_c_utils/genus0.c"], + include_dirs=[np.get_include(), 'simnibs/segmentation/cat_c_utils'], +- extra_compile_args=cat_compile_args ++ extra_compile_args=['-w', '-std=gnu99'], + ) + thickness = Extension( + 'simnibs.segmentation._thickness', + ["simnibs/segmentation/_thickness.pyx"], +- include_dirs=[np.get_include()] ++ include_dirs=[np.get_include()], ++ extra_compile_args=['-w'], + ) + petsc_solver = Extension( + 'simnibs.simulation.petsc_solver', +@@ -288,7 +150,8 @@ + library_dirs=petsc_dirs, + libraries=petsc_libs, + runtime_library_dirs=petsc_runtime, +- extra_link_args=petsc_extra_link_args ++ extra_link_args=petsc_extra_link_args, ++ extra_compile_args=['-w'], + ) + # I separated the CGAL functions into several files for two reasons + # 1. Reduce memory consumption during compilation in Linux +@@ -343,57 +206,8 @@ + cgal_misc + ] + +- +-def add_symlinks_or_cmd(external_progs,script_dir): +- ''' add symbolic links or .cmd ''' +- for s in external_progs: +- if not os.path.exists(s): +- raise IOError('Could not find '+s) +- s = os.path.abspath(s) +- bash_name = os.path.join(script_dir, os.path.basename(s)) +- if sys.platform == 'win32': +- bash_name=os.path.splitext(bash_name)[0] + '.cmd' +- print('making cmd link '+bash_name+' --> '+s) +- with open(bash_name, 'w') as f: +- f.write("@echo off\n") +- f.write(f'"{s}" %*') +- else: +- if os.path.lexists(bash_name): +- os.remove(bash_name) +- print('making sym link '+bash_name+' --> '+s) +- os.symlink(s, bash_name) +- +- +-def download_and_extract(url, path='.'): +- ''' Downloads and extracts a zip or tar-gz folder ''' +- print('Downloading:', url) +- with urllib.request.urlopen(url) as response: +- with tempfile.NamedTemporaryFile('wb', delete=False) as tmpf: +- shutil.copyfileobj(response, tmpf) +- tmpname = tmpf.name +- +- if url.endswith('.zip'): +- with zipfile.ZipFile(tmpname) as z: +- z.extractall(path) +- +- elif url.endswith('.tgz') or url.endswith('.tar.gz'): +- with tarfile.open(tmpname, 'r:gz') as z: +- z.extractall(path) +- else: +- raise IOError('Could not extract file, unrecognized extension') +- +- os.remove(tmpname) +- +- +-def install_lib(url, path, libs, build_path): +- ''' Downloads a compiled library from the internet and move to "lib" folder ''' +- download_and_extract(url, path) +- if sys.platform == 'darwin': +- folder_name = 'osx' +- elif sys.platform == 'linux': +- folder_name = 'linux' +- elif sys.platform == 'win32': +- folder_name = 'win' ++def install_lib(libs, build_path): ++ folder_name = 'linux' + for l in libs: + shutil.copy( + l, f'simnibs/external/lib/{folder_name}', +@@ -408,13 +222,12 @@ + + class build_ext_(build_ext): + ''' +- Build the extension, download some dependencies and remove stuff from other OS ++ Build the extension, download some dependencies and remove stuff from other OS + ''' + def run(self): + from Cython.Build import cythonize + ## Cythonize + self.extension = cythonize(self.extensions) +- ## Download requirements + changed_meshing = ( + newer_group( + create_mesh_surf.sources + create_mesh_surf.depends, +@@ -433,90 +246,49 @@ + ) + ) + if self.force or changed_meshing: +- download_and_extract(CGAL_url) + if self.inplace: + build_lib = "" + else: + build_lib = self.build_lib + "/" +- +- install_lib(tbb_url, tbb_path, tbb_libs, build_lib) ++ install_lib(tbb_libs, build_lib) + + # Compile + build_ext.run(self) +- # cleanup downloads +- if self.force or changed_meshing: +- shutil.rmtree(f'CGAL-{CGAL_version}', ignore_errors=True) +- shutil.rmtree(tbb_path, ignore_errors=True) +- # Remove unescessary binary files +- linux_folders = [ +- os.path.join(self.build_lib, 'simnibs', 'external', 'bin', 'linux'), +- os.path.join(self.build_lib, 'simnibs', 'external', 'include', 'linux'), +- os.path.join(self.build_lib, 'simnibs', 'external', 'lib', 'linux'), +- ] +- osx_folders = [ +- os.path.join(self.build_lib, 'simnibs', 'external', 'bin', 'osx'), +- os.path.join(self.build_lib, 'simnibs', 'external', 'include', 'osx'), +- os.path.join(self.build_lib, 'simnibs', 'external', 'lib', 'osx'), +- ] +- win_folders = [ +- os.path.join(self.build_lib, 'simnibs', 'external', 'bin', 'win'), +- os.path.join(self.build_lib, 'simnibs', 'external', 'include', 'win'), +- os.path.join(self.build_lib, 'simnibs', 'external', 'lib', 'win'), +- ] +- if sys.platform == 'linux': +- [shutil.rmtree(f, True) for f in osx_folders] +- [shutil.rmtree(f, True) for f in win_folders] +- +- if sys.platform == 'darwin': +- [shutil.rmtree(f, True) for f in linux_folders] +- [shutil.rmtree(f, True) for f in win_folders] +- +- if sys.platform == 'win32': +- [shutil.rmtree(f, True) for f in linux_folders] +- [shutil.rmtree(f, True) for f in osx_folders] +- +- +-setup(name='simnibs', +- version=open("simnibs/_version.py").readlines()[-1].split()[-1].strip("\"'"), +- description='www.simnibs.org', +- author='SimNIBS developers', +- author_email='support@simnibs.org', +- packages=find_namespace_packages(), +- license='GPL3', +- ext_modules=extensions, +- include_package_data=True, +- cmdclass={ +- 'build_ext': build_ext_ +- }, +- entry_points={ +- 'console_scripts': console_scripts, +- 'gui_scripts': gui_scripts +- }, +- install_requires=[ +- 'numpy>=1.16', +- 'scipy>=1.2', +- 'h5py>=2.9', +- 'nibabel>=2.3', +- 'packaging', +- 'requests', +- 'charm-gems', +- 'fmm3dpy' +- ], +- extras_require={ +- 'GUI': ['pyqt5', 'pyopengl'] +- }, +- setup_requires=[ +- 'numpy>=1.16', +- 'cython' +- ], +- tests_require=['pytest', 'mock'], +- zip_safe=False) +- +- +-script_dir = shutil.which('simnibs') +-if script_dir is None: +- raise IOError('could not locate folder with console-scripts') +-else: +- script_dir = os.path.dirname(script_dir) +- add_symlinks_or_cmd(external_progs,script_dir) +- ++ ++setup( ++ name='simnibs', ++ version="4.0.1", ++ description='www.simnibs.org', ++ author='SimNIBS developers', ++ author_email='support@simnibs.org', ++ packages=find_namespace_packages(), ++ license='GPL3', ++ ext_modules=extensions, ++ include_package_data=True, ++ cmdclass={ ++ 'build_ext': build_ext_ ++ }, ++ entry_points={ ++ 'console_scripts': console_scripts, ++ 'gui_scripts': gui_scripts ++ }, ++ install_requires=[ ++ 'numpy>=1.16', ++ 'scipy>=1.2', ++ 'h5py>=2.9', ++ 'nibabel>=2.3', ++ 'packaging', ++ 'requests', ++ 'charm-gems', ++ 'fmm3dpy' ++ ], ++ extras_require={ ++ 'GUI': ['pyqt5', 'pyopengl'] ++ }, ++ setup_requires=[ ++ 'numpy>=1.16', ++ 'cython' ++ ], ++ tests_require=['pytest', 'mock'], ++ zip_safe=False ++) From 82dea2ec133c3551554a5dbb10941303e3cc40ce Mon Sep 17 00:00:00 2001 From: Pavel Tomanek <99190809+pavelToman@users.noreply.github.com> Date: Wed, 10 Apr 2024 12:54:28 +0200 Subject: [PATCH 330/889] Update SimNIBS-4.0.1-foss-2023a.eb - fix comma --- easybuild/easyconfigs/s/SimNIBS/SimNIBS-4.0.1-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/s/SimNIBS/SimNIBS-4.0.1-foss-2023a.eb b/easybuild/easyconfigs/s/SimNIBS/SimNIBS-4.0.1-foss-2023a.eb index 48687864c4e..18e5dbf0152 100644 --- a/easybuild/easyconfigs/s/SimNIBS/SimNIBS-4.0.1-foss-2023a.eb +++ b/easybuild/easyconfigs/s/SimNIBS/SimNIBS-4.0.1-foss-2023a.eb @@ -51,7 +51,7 @@ postinstallcmds = [ use_pip = True sanity_pip_check = True -local_bin_list = ['dwi2cond', 'gmsh', 'meshfix', 'simnibs', 'simnibs_gui', 'charm',] +local_bin_list = ['dwi2cond', 'gmsh', 'meshfix', 'simnibs', 'simnibs_gui', 'charm'] sanity_check_paths = { 'files': ['bin/%s' % f for f in local_bin_list], 'dirs': ['lib/python%(pyshortver)s/site-packages'], From 3f0c391c7d3cb731a14c72ad82ef44d3ac6af8d7 Mon Sep 17 00:00:00 2001 From: mssmzs Date: Wed, 10 Apr 2024 12:57:42 +0100 Subject: [PATCH 331/889] fix permissions --- .../l/line_profiler/line_profiler-4.1.2-GCCcore-13.2.0.eb | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 easybuild/easyconfigs/l/line_profiler/line_profiler-4.1.2-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/l/line_profiler/line_profiler-4.1.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/line_profiler/line_profiler-4.1.2-GCCcore-13.2.0.eb old mode 100755 new mode 100644 From 0d5bbb33bdffc565753aa0b1191f6ddef2db94dd Mon Sep 17 00:00:00 2001 From: mssmzs Date: Wed, 10 Apr 2024 13:07:00 +0100 Subject: [PATCH 332/889] fix permissions --- easybuild/easyconfigs/l/LAPACK/LAPACK-3.12.0-GCC-13.2.0.eb | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 easybuild/easyconfigs/l/LAPACK/LAPACK-3.12.0-GCC-13.2.0.eb diff --git a/easybuild/easyconfigs/l/LAPACK/LAPACK-3.12.0-GCC-13.2.0.eb b/easybuild/easyconfigs/l/LAPACK/LAPACK-3.12.0-GCC-13.2.0.eb old mode 100755 new mode 100644 From 1db37cafad67a393bf83529be8d93a15353658e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Wed, 10 Apr 2024 12:30:22 +0000 Subject: [PATCH 333/889] Fix torchaudio version --- .../PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index 67849adf166..88bc1f4f9be 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -39,6 +39,7 @@ dependencies = [ use_pip = True +# Check with https://pytorch.org/audio/stable/installation.html#compatibility-matrix exts_list = [ ('portalocker', '2.8.2', { 'checksums': ['2b035aa7828e46c58e9b31390ee1f169b98e1066ab10b9a6a861fe7e25ee4f33'], @@ -98,7 +99,7 @@ exts_list = [ ), 'testinstall': True, }), - ('torchaudio', '2.2.1', { + ('torchaudio', '2.1.2', { 'installopts': '--no-use-pep517 -v', 'patches': [ 'torchaudio-2.2.1_use-external-sox.patch', @@ -109,7 +110,7 @@ exts_list = [ 'source_urls': ['https://github.com/pytorch/audio/archive'], 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], 'checksums': [ - {'torchaudio-2.2.1.tar.gz': '5f2a9cda9369ff348d1d7ca2c0a1f01afc9ebff1a13df9775c22aa5c43f5b0f1'}, + {'torchaudio-2.1.2.tar.gz': '82c2745a73172b495327ec36c6970ad5ad9d5d2ac44feeaea2617152f9393bf7'}, {'torchaudio-2.2.1_use-external-sox.patch': 'fc97b2bdf0ab16b9c4706bf2a31dd72d0ecb09e4af2f9c4a34e18fca8e0d165d'}, {'torchaudio-2.2.1_transform_test_tol.patch': From bb95f5161bda0a665c2dd15b01114d6e06d44a37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Wed, 10 Apr 2024 12:37:10 +0000 Subject: [PATCH 334/889] Drop test that might require special render device permissions --- .../PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index 88bc1f4f9be..9b2ebc0ea29 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -121,6 +121,7 @@ exts_list = [ ' -k "not TestProcessPoolExecutor"' # hang maybe related https://github.com/pytorch/audio/issues/1021 '" and not FilterGraphWithCudaAccel"' # requires FFmpeg with CUDA support '" and not kaldi_io_test"' # requires kaldi_io + '" and not test_h264_cuvid"' # requires special render device permissions ), 'testinstall': True, }), From 33f3b1b4dde2ca9e3ff74821cff3e7c11bb37f26 Mon Sep 17 00:00:00 2001 From: Jakob Schiotz Date: Wed, 10 Apr 2024 15:32:29 +0200 Subject: [PATCH 335/889] adding easyconfigs: POV-Ray-3.7.0.10-GCC-12.3.0.eb --- .../p/POV-Ray/POV-Ray-3.7.0.10-GCC-12.3.0.eb | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 easybuild/easyconfigs/p/POV-Ray/POV-Ray-3.7.0.10-GCC-12.3.0.eb diff --git a/easybuild/easyconfigs/p/POV-Ray/POV-Ray-3.7.0.10-GCC-12.3.0.eb b/easybuild/easyconfigs/p/POV-Ray/POV-Ray-3.7.0.10-GCC-12.3.0.eb new file mode 100644 index 00000000000..25b29b178d7 --- /dev/null +++ b/easybuild/easyconfigs/p/POV-Ray/POV-Ray-3.7.0.10-GCC-12.3.0.eb @@ -0,0 +1,64 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/ +## + +easyblock = 'ConfigureMake' + +name = 'POV-Ray' +version = '3.7.0.10' + +homepage = 'https://www.povray.org/' +description = """The Persistence of Vision Raytracer, or POV-Ray, is a ray tracing program + which generates images from a text-based scene description, and is available for a variety + of computer platforms. POV-Ray is a high-quality, Free Software tool for creating stunning + three-dimensional graphics. The source code is available for those wanting to do their own ports.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/POV-Ray/povray/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['POV-Ray-3.7.0.7_dont-touch-home.patch'] +checksums = [ + {'v3.7.0.10.tar.gz': '7bee83d9296b98b7956eb94210cf30aa5c1bbeada8ef6b93bb52228bbc83abff'}, + {'POV-Ray-3.7.0.7_dont-touch-home.patch': '45103afca808e279dcdee80194c65e2a760c76d011d351392a46e817b0b655f7'}, +] + +builddependencies = [ + ('Autotools', '20220317'), +] + +dependencies = [ + ('Boost', '1.82.0'), + ('zlib', '1.2.13'), + ('libpng', '1.6.39'), + ('libjpeg-turbo', '2.1.5.1'), + ('X11', '20230603'), + ('LibTIFF', '4.5.0'), + ('SDL2', '2.28.2'), + ('OpenEXR', '3.1.7'), +] + +preconfigopts = "cd unix && sed -i 's/^automake/automake --add-missing; automake/g' prebuild.sh && " +preconfigopts += " ./prebuild.sh && cd .. && " +configopts = "COMPILED_BY='EasyBuild' " +configopts += "--with-boost=$EBROOTBOOST --with-zlib=$EBROOTZLIB --with-libpng=$EBROOTLIBPNG " +configopts += "--with-libtiff=$EBROOTLIBTIFF --with-libjpeg=$EBROOTLIBJPEGMINTURBO --with-libsdl=$EBROOTSDL2 " +# configopts += " --with-libmkl=DIR " ## upstream needs to fix this, still in BETA + +runtest = 'check' + +sanity_check_paths = { + 'files': ['bin/povray'], + 'dirs': ['etc/povray/%(version_major_minor)s', 'share'] +} + +moduleclass = 'vis' From 46662ec2ec2dda1332ca6f2dbdae6b79aa2f071a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Wed, 10 Apr 2024 14:29:35 +0000 Subject: [PATCH 336/889] Change patches, drop more tests --- .../PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 12 +++++++----- ...tch => torchaudio-2.1.2_transform_test_tol.patch} | 10 +++++----- ...patch => torchaudio-2.1.2_use-external-sox.patch} | 0 3 files changed, 12 insertions(+), 10 deletions(-) rename easybuild/easyconfigs/p/PyTorch-bundle/{torchaudio-2.2.1_transform_test_tol.patch => torchaudio-2.1.2_transform_test_tol.patch} (91%) rename easybuild/easyconfigs/p/PyTorch-bundle/{torchaudio-2.2.1_use-external-sox.patch => torchaudio-2.1.2_use-external-sox.patch} (100%) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index 9b2ebc0ea29..8621cf44f85 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -102,8 +102,8 @@ exts_list = [ ('torchaudio', '2.1.2', { 'installopts': '--no-use-pep517 -v', 'patches': [ - 'torchaudio-2.2.1_use-external-sox.patch', - 'torchaudio-2.2.1_transform_test_tol.patch', + 'torchaudio-2.1.2_use-external-sox.patch', + 'torchaudio-2.1.2_transform_test_tol.patch', ], 'preinstallopts': ('rm -r third_party/{sox,ffmpeg/multi};' # runs twice when testinstall ' USE_CUDA=1 USE_OPENMP=1 USE_FFMPEG=1 FFMPEG_ROOT="$EBROOTFFMPEG"'), @@ -111,17 +111,19 @@ exts_list = [ 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], 'checksums': [ {'torchaudio-2.1.2.tar.gz': '82c2745a73172b495327ec36c6970ad5ad9d5d2ac44feeaea2617152f9393bf7'}, - {'torchaudio-2.2.1_use-external-sox.patch': + {'torchaudio-2.1.2_use-external-sox.patch': 'fc97b2bdf0ab16b9c4706bf2a31dd72d0ecb09e4af2f9c4a34e18fca8e0d165d'}, - {'torchaudio-2.2.1_transform_test_tol.patch': - '381be068dc1c7dda3ea19220e423356ac93621aa48133a0fe54464069c8799c7'}, + {'torchaudio-2.1.2_transform_test_tol.patch': + '57f315c60db70ed2bd9711bcf6f7c7c24dac8c2f04e00488996eb2dc507bdfd2'}, ], 'runtest': ( 'pytest test/torchaudio_unittest/' ' -k "not TestProcessPoolExecutor"' # hang maybe related https://github.com/pytorch/audio/issues/1021 '" and not FilterGraphWithCudaAccel"' # requires FFmpeg with CUDA support '" and not kaldi_io_test"' # requires kaldi_io + '" and not test_dup_hw_acel"' # requires special render device permissions '" and not test_h264_cuvid"' # requires special render device permissions + '" and not test_hecv_cuvid"' # requires special render device permissions ), 'testinstall': True, }), diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/torchaudio-2.2.1_transform_test_tol.patch b/easybuild/easyconfigs/p/PyTorch-bundle/torchaudio-2.1.2_transform_test_tol.patch similarity index 91% rename from easybuild/easyconfigs/p/PyTorch-bundle/torchaudio-2.2.1_transform_test_tol.patch rename to easybuild/easyconfigs/p/PyTorch-bundle/torchaudio-2.1.2_transform_test_tol.patch index 0bf87766619..230a7e6ccd0 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/torchaudio-2.2.1_transform_test_tol.patch +++ b/easybuild/easyconfigs/p/PyTorch-bundle/torchaudio-2.1.2_transform_test_tol.patch @@ -1,9 +1,9 @@ Increase the atol and rtol for tests that fail with some elements exceeding the default tolerances. author: micketeer@gmail.com ---- test/torchaudio_unittest/transforms/batch_consistency_test.py.orig 2024-03-21 10:41:20.581691670 +0000 -+++ test/torchaudio_unittest/transforms/batch_consistency_test.py 2024-03-21 10:46:46.337740457 +0000 -@@ -89,7 +89,7 @@ +--- test/torchaudio_unittest/transforms/batch_consistency_test.py.orig 2024-04-10 14:25:17.918305411 +0000 ++++ test/torchaudio_unittest/transforms/batch_consistency_test.py 2024-04-10 14:25:17.146306690 +0000 +@@ -91,7 +91,7 @@ waveform = waveform.reshape(3, 2, -1) transform = T.Spectrogram() @@ -12,7 +12,7 @@ author: micketeer@gmail.com def test_batch_inverse_spectrogram(self): waveform = common_utils.get_whitenoise(sample_rate=8000, duration=1, n_channels=6) -@@ -97,7 +97,7 @@ +@@ -99,7 +99,7 @@ specgram = specgram.reshape(3, 2, specgram.shape[-2], specgram.shape[-1]) transform = T.InverseSpectrogram(n_fft=400) @@ -21,7 +21,7 @@ author: micketeer@gmail.com def test_batch_melspectrogram(self): waveform = common_utils.get_whitenoise(sample_rate=8000, duration=1, n_channels=6) -@@ -162,7 +162,7 @@ +@@ -164,7 +164,7 @@ waveform = waveform.reshape(3, 2, -1) transform = T.PitchShift(sample_rate, n_steps, n_fft=400) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/torchaudio-2.2.1_use-external-sox.patch b/easybuild/easyconfigs/p/PyTorch-bundle/torchaudio-2.1.2_use-external-sox.patch similarity index 100% rename from easybuild/easyconfigs/p/PyTorch-bundle/torchaudio-2.2.1_use-external-sox.patch rename to easybuild/easyconfigs/p/PyTorch-bundle/torchaudio-2.1.2_use-external-sox.patch From dbfabc7b3a7dfc61fe83bfc2e96cc0ceb95274d6 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Wed, 10 Apr 2024 18:30:17 +0200 Subject: [PATCH 337/889] adding easyconfigs: PhyML-3.3.20220408-foss-2023a.eb and patches: PhyML-3.3.20220408_mcmc.c-fix.patch --- .../p/PhyML/PhyML-3.3.20220408-foss-2023a.eb | 42 +++++++++++++++++++ .../PhyML/PhyML-3.3.20220408_mcmc.c-fix.patch | 28 +++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 easybuild/easyconfigs/p/PhyML/PhyML-3.3.20220408-foss-2023a.eb create mode 100644 easybuild/easyconfigs/p/PhyML/PhyML-3.3.20220408_mcmc.c-fix.patch diff --git a/easybuild/easyconfigs/p/PhyML/PhyML-3.3.20220408-foss-2023a.eb b/easybuild/easyconfigs/p/PhyML/PhyML-3.3.20220408-foss-2023a.eb new file mode 100644 index 00000000000..54e42cdedb9 --- /dev/null +++ b/easybuild/easyconfigs/p/PhyML/PhyML-3.3.20220408-foss-2023a.eb @@ -0,0 +1,42 @@ +# This file is an EasyBuild reciPY as per https://easybuilders.github.io/easybuild/ +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# Updated to version 3.3.20200621 by J. Sassmannshausen (GSTT/NHS) +# Updated to v3.3.20220408 by Pavel Tománek (INUITS) + +easyblock = 'ConfigureMake' + +name = 'PhyML' +version = '3.3.20220408' + +homepage = 'https://github.com/stephaneguindon/phyml' +description = """PhyML is a software package that uses modern statistical approaches to +analyse alignments of nucleotide or amino acid sequences in a phylogenetic framework.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/stephaneguindon/phyml/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['PhyML-3.3.20220408_mcmc.c-fix.patch'] +checksums = [ + {'v3.3.20220408.tar.gz': '9cef375c0186e8a8d4db72ac02148707624c97174ffac244167a138ceb9f65bd'}, + {'PhyML-3.3.20220408_mcmc.c-fix.patch': 'ac484858ce69d04af8e2d0a19eee18b735b34ac8d9f13467fa630541720bfe6f'}, +] + +builddependencies = [ + ('Autoconf', '2.71'), + ('Automake', '1.16.5'), + ('pkgconf', '1.9.5'), +] + +preconfigopts = 'sh autogen.sh && ' + +configopts = ['--enable-phyml', '--enable-phytime', '--enable-phyrex', '--enable-phyml-mpi'] + +sanity_check_paths = { + 'files': ['bin/phyml', 'bin/phyml-mpi', 'bin/phyrex', 'bin/phytime'], + 'dirs': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PhyML/PhyML-3.3.20220408_mcmc.c-fix.patch b/easybuild/easyconfigs/p/PhyML/PhyML-3.3.20220408_mcmc.c-fix.patch new file mode 100644 index 00000000000..010668cc382 --- /dev/null +++ b/easybuild/easyconfigs/p/PhyML/PhyML-3.3.20220408_mcmc.c-fix.patch @@ -0,0 +1,28 @@ +Author: Pavel Tománek (INUITS) +https://github.com/stephaneguindon/phyml/issues/166 +--- src/mcmc.c.orig 2022-05-18 13:29:35.000000000 -0800 ++++ src/mcmc.c 2022-05-18 13:42:37.000000000 -0800 +@@ -1469,7 +1469,7 @@ + /* if(tree->aux_tree != NULL) */ + { + PhyML_Printf("\n."); +- PhyML_Printf("\n. %c [%4d] \n. t: %1f->%1f t1:%f t2: %f \n. r1: %10f->%10f r2: %10f->%10f \n. R: %12f alnL:%10f->%10f[%d] \n. tlnL: %10f->%10f[%d] \n. glnL: %10f->%10f[%d] \n. rlnL: %10f->%10f[%d] \n. tune: %10f hr: %f [%f,%f] [%f,%f,%f] ratio: %10f K: %10f failed: %d", ++ PhyML_Printf("\n. %c [%4d] \n. t: %1f->%1f t1:%f t2: %f \n. r1: %10f->%10f r2: %10f->%10f \n. R: %12f alnL:%10f->%10f[%d] \n. tlnL: %10f->%10f[%d] ", + (tree->aux_tree != NULL) ? '*' : 'X', + tree->mcmc->run, + t0_cur,t0_new, +@@ -1478,8 +1478,12 @@ + r2_cur,r2_new, + tree->rates->norm_fact, + cur_lnL_seq,new_lnL_seq,tree->eval_alnL, +- cur_lnL_time,new_lnL_time,tree->eval_glnL, +- cur_lnL_loc,new_lnL_loc,tree->eval_glnL, ++ cur_lnL_time,new_lnL_time,tree->eval_glnL); ++#ifdef PHYREX ++ PhyML_Printf("\n. glnL: %10f->%10f[%d] ", ++ cur_lnL_loc,new_lnL_loc,tree->eval_glnL); ++#endif ++ PhyML_Printf("\n. rlnL: %10f->%10f[%d] \n. tune: %10f hr: %f [%f,%f] [%f,%f,%f] ratio: %10f K: %10f failed: %d", + cur_lnL_rate,new_lnL_rate,tree->eval_rlnL, + tune, + hr, \ No newline at end of file From 8c7c555387a8dbd2ce2ef261897068d6b6438395 Mon Sep 17 00:00:00 2001 From: fizwit Date: Wed, 10 Apr 2024 14:09:14 -0700 Subject: [PATCH 338/889] BCFtools v1.19, HTSlib v1.19.1, SAMtools v1.19.2 --- .../b/BCFtools/BCFtools-1.19-GCC-13.2.0.eb | 39 ++++++++++++++++++ .../h/HTSlib/HTSlib-1.19.1-GCC-13.2.0.eb | 40 +++++++++++++++++++ .../s/SAMtools/SAMtools-1.19.2-GCC-13.2.0.eb | 38 ++++++++++++++++++ 3 files changed, 117 insertions(+) create mode 100644 easybuild/easyconfigs/b/BCFtools/BCFtools-1.19-GCC-13.2.0.eb create mode 100644 easybuild/easyconfigs/h/HTSlib/HTSlib-1.19.1-GCC-13.2.0.eb create mode 100644 easybuild/easyconfigs/s/SAMtools/SAMtools-1.19.2-GCC-13.2.0.eb diff --git a/easybuild/easyconfigs/b/BCFtools/BCFtools-1.19-GCC-13.2.0.eb b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.19-GCC-13.2.0.eb new file mode 100644 index 00000000000..67b573f40a7 --- /dev/null +++ b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.19-GCC-13.2.0.eb @@ -0,0 +1,39 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Author: Jonas Demeulemeester +# The Francis Crick Insitute, London, UK + +easyblock = 'ConfigureMake' + +name = 'BCFtools' +version = '1.19' + +homepage = 'https://www.htslib.org/' +description = """Samtools is a suite of programs for interacting with high-throughput sequencing data. + BCFtools - Reading/writing BCF2/VCF/gVCF files and calling/filtering/summarising SNP and short indel sequence + variants""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['782b5f1bc690415192231e82213b3493b047f45e630dc8ef6f154d6126ab3e68'] + +dependencies = [ + ('zlib', '1.2.13'), + ('HTSlib', '1.19'), + ('bzip2', '1.0.8'), + ('XZ', '5.4.4'), + ('GSL', '2.7'), +] + +configopts = "--with-htslib=$EBROOTHTSLIB --enable-libgsl" + + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'bin/plot-vcfstats', 'bin/vcfutils.pl'], + 'dirs': ['libexec/%(namelower)s'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HTSlib/HTSlib-1.19.1-GCC-13.2.0.eb b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.19.1-GCC-13.2.0.eb new file mode 100644 index 00000000000..8cb7e2957b4 --- /dev/null +++ b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.19.1-GCC-13.2.0.eb @@ -0,0 +1,40 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel +# 1.4 modified by: +# Adam Huffman, Jonas Demeulemeester +# The Francis Crick Institute +# Updated to 1.14 +# J. Sassmannshausen /GSTT + +easyblock = 'ConfigureMake' + +name = 'HTSlib' +version = '1.19.1' + +homepage = 'https://www.htslib.org/' +description = """A C library for reading/writing high-throughput sequencing data. + This package includes the utilities bgzip and tabix""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['222d74d3574fb67b158c6988c980eeaaba8a0656f5e4ffb76b5fa57f035933ec'] + +# cURL added for S3 support +dependencies = [ + ('zlib', '1.2.13'), + ('bzip2', '1.0.8'), + ('XZ', '5.4.4'), + ('cURL', '8.3.0'), +] + + +sanity_check_paths = { + 'files': ['bin/bgzip', 'bin/tabix', 'lib/libhts.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SAMtools/SAMtools-1.19.2-GCC-13.2.0.eb b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.19.2-GCC-13.2.0.eb new file mode 100644 index 00000000000..d806a09f0ec --- /dev/null +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.19.2-GCC-13.2.0.eb @@ -0,0 +1,38 @@ +# # +# This is a contribution from DeepThought HPC Service, Flinders University, Adelaide, Australia +# Homepage: https://staff.flinders.edu.au/research/deep-thought +# +# Authors:: Robert Qiao +# License:: MIT +# +# Notes:: +# +# Updated to 1.14 and gcc-11.2.0 +# J. Sassmannshausen / GSTT + +name = 'SAMtools' +version = '1.19.2' + +homepage = 'https://www.htslib.org/' +description = """SAM Tools provide various utilities for manipulating alignments in the SAM format, + including sorting, merging, indexing and generating alignments in a per-position format.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['71f60499668e4c08e7d745fbff24c15cc8a0977abab1acd5d2bb419bdb065e96'] + +# The htslib component of SAMtools >= 1.4 uses zlib, bzip2 and lzma compression. +# The latter is currently provided by XZ. +dependencies = [ + ('ncurses', '6.4'), + ('zlib', '1.2.13'), + ('bzip2', '1.0.8'), + ('XZ', '5.4.4'), + ('cURL', '8.3.0'), +] + + +moduleclass = 'bio' From 64de7f835b96d0d08488048cf048eacd1ccb8e8a Mon Sep 17 00:00:00 2001 From: fizwit Date: Wed, 10 Apr 2024 14:46:35 -0700 Subject: [PATCH 339/889] {bio}[GCC/13.2.0] Pysam 0.22.0 --- .../p/Pysam/Pysam-0.22.0-GCC-13.2.0.eb | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 easybuild/easyconfigs/p/Pysam/Pysam-0.22.0-GCC-13.2.0.eb diff --git a/easybuild/easyconfigs/p/Pysam/Pysam-0.22.0-GCC-13.2.0.eb b/easybuild/easyconfigs/p/Pysam/Pysam-0.22.0-GCC-13.2.0.eb new file mode 100644 index 00000000000..41ccf5a3458 --- /dev/null +++ b/easybuild/easyconfigs/p/Pysam/Pysam-0.22.0-GCC-13.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'Pysam' +version = '0.22.0' + +homepage = 'https://github.com/pysam-developers/pysam' +description = """Pysam is a python module for reading and manipulating Samfiles. + It's a lightweight wrapper of the samtools C-API. Pysam also includes an interface for tabix.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = ['https://github.com/pysam-developers/pysam/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['61b3377c5f889ddc6f6979912c3bb960d7e08407dada9cb38f13955564ea036f'] + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('ncurses', '6.4'), + ('cURL', '8.3.0'), + ('XZ', '5.4.4'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'bio' From ce11a7efe9c9bde09924f7f23d200648fd4284a5 Mon Sep 17 00:00:00 2001 From: fizwit Date: Wed, 10 Apr 2024 14:56:02 -0700 Subject: [PATCH 340/889] {tools}[GCCcore/13.2.0] pigz 2.8 --- .../p/pigz/pigz-2.8-GCCcore-13.2.0.eb | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 easybuild/easyconfigs/p/pigz/pigz-2.8-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/p/pigz/pigz-2.8-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/pigz/pigz-2.8-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..40aa5ad094d --- /dev/null +++ b/easybuild/easyconfigs/p/pigz/pigz-2.8-GCCcore-13.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'MakeCp' + +name = 'pigz' +version = '2.8' + +homepage = 'https://zlib.net/pigz/' + +description = """ + pigz, which stands for parallel implementation of gzip, is a fully + functional replacement for gzip that exploits multiple processors and multiple + cores to the hilt when compressing data. pigz was written by Mark Adler, and + uses the zlib and pthread libraries. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [ + 'https://zlib.net/pigz/', + 'https://zlib.net/pigz/fossils/', +] +sources = [SOURCE_TAR_GZ] +patches = ['%(name)s-2.6_makefile.patch'] +checksums = [ + {'pigz-2.8.tar.gz': 'eb872b4f0e1f0ebe59c9f7bd8c506c4204893ba6a8492de31df416f0d5170fd0'}, + {'pigz-2.6_makefile.patch': '7e37175714d43c946373d07c522ec98a77c0f8572a9d448f759c41f6f060275d'}, +] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('zlib', '1.2.13'), +] + +buildopts = 'CC="$CC" CFLAGS="$CFLAGS" LDFLAGS="-L$EBROOTZLIB/lib"' + +files_to_copy = [(["pigz", "unpigz"], "bin")] + +sanity_check_paths = { + 'files': ['bin/pigz', 'bin/unpigz'], + 'dirs': [], +} + +moduleclass = 'tools' From b49e9466f6ca5cfbb43f1f69c56afb1d6297653a Mon Sep 17 00:00:00 2001 From: fizwit Date: Wed, 10 Apr 2024 15:11:57 -0700 Subject: [PATCH 341/889] {data}[foss/2023b] h5py-3.11.0 --- .../h/h5py/h5py-3.11.0-foss-2023b.eb | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 easybuild/easyconfigs/h/h5py/h5py-3.11.0-foss-2023b.eb diff --git a/easybuild/easyconfigs/h/h5py/h5py-3.11.0-foss-2023b.eb b/easybuild/easyconfigs/h/h5py/h5py-3.11.0-foss-2023b.eb new file mode 100644 index 00000000000..9ad8bf43027 --- /dev/null +++ b/easybuild/easyconfigs/h/h5py/h5py-3.11.0-foss-2023b.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'h5py' +version = '3.11.0' + +homepage = 'https://www.h5py.org/' +description = """HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library, + version 5. HDF5 is a versatile, mature scientific software library designed for the fast, flexible storage of enormous + amounts of data.""" + +toolchain = {'name': 'foss', 'version': '2023b'} +toolchainopts = {'usempi': True} + +sources = [SOURCE_TAR_GZ] +checksums = ['7b7e8f78072a2edec87c9836f25f34203fd492a4475709a18b417a33cfb21fa9'] + +builddependencies = [('pkgconf', '2.0.3')] + +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), + ('mpi4py', '3.1.5'), + ('HDF5', '1.14.3'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +# h5py's setup.py will disable setup_requires if H5PY_SETUP_REQUIRES is set to 0 +# without this environment variable, pip will fetch the minimum numpy version h5py supports during install, +# even though SciPy-bundle provides a newer version that satisfies h5py's install_requires dependency. +preinstallopts = 'HDF5_MPI=ON HDF5_DIR="$EBROOTHDF5" H5PY_SETUP_REQUIRES=0 ' + +moduleclass = 'data' From 115196f010ee6857689626baff715c03cfba062e Mon Sep 17 00:00:00 2001 From: fizwit Date: Wed, 10 Apr 2024 15:15:26 -0700 Subject: [PATCH 342/889] fix BCFtools HTSlib dep --- easybuild/easyconfigs/b/BCFtools/BCFtools-1.19-GCC-13.2.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/b/BCFtools/BCFtools-1.19-GCC-13.2.0.eb b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.19-GCC-13.2.0.eb index 67b573f40a7..916756784a7 100644 --- a/easybuild/easyconfigs/b/BCFtools/BCFtools-1.19-GCC-13.2.0.eb +++ b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.19-GCC-13.2.0.eb @@ -22,7 +22,7 @@ checksums = ['782b5f1bc690415192231e82213b3493b047f45e630dc8ef6f154d6126ab3e68'] dependencies = [ ('zlib', '1.2.13'), - ('HTSlib', '1.19'), + ('HTSlib', '1.19.1'), ('bzip2', '1.0.8'), ('XZ', '5.4.4'), ('GSL', '2.7'), From d33f65f9e28fb49e23a3e7a172d2f55545827529 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Wed, 10 Apr 2024 22:58:20 +0000 Subject: [PATCH 343/889] Fix patch --- .../PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 2 +- .../torchaudio-2.1.2_use-external-sox.patch | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index 8621cf44f85..aeb4a451ba1 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -112,7 +112,7 @@ exts_list = [ 'checksums': [ {'torchaudio-2.1.2.tar.gz': '82c2745a73172b495327ec36c6970ad5ad9d5d2ac44feeaea2617152f9393bf7'}, {'torchaudio-2.1.2_use-external-sox.patch': - 'fc97b2bdf0ab16b9c4706bf2a31dd72d0ecb09e4af2f9c4a34e18fca8e0d165d'}, + 'a93ebe0b4e7b10b0a264a09d5c49375674e24666258820738ede07e5b457010c'}, {'torchaudio-2.1.2_transform_test_tol.patch': '57f315c60db70ed2bd9711bcf6f7c7c24dac8c2f04e00488996eb2dc507bdfd2'}, ], diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/torchaudio-2.1.2_use-external-sox.patch b/easybuild/easyconfigs/p/PyTorch-bundle/torchaudio-2.1.2_use-external-sox.patch index 72d47e2c34d..3b7e88f6e86 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/torchaudio-2.1.2_use-external-sox.patch +++ b/easybuild/easyconfigs/p/PyTorch-bundle/torchaudio-2.1.2_use-external-sox.patch @@ -1,14 +1,13 @@ Author: Jasper Grimm use external Sox library instead of fetching and building at build time -diff -Nru audio-2.2.1.orig/CMakeLists.txt audio-2.2.1/CMakeLists.txt ---- audio-2.2.1.orig/CMakeLists.txt 2024-02-29 12:56:03.027016456 +0000 -+++ audio-2.2.1/CMakeLists.txt 2024-02-29 12:56:35.286922379 +0000 +--- CMakeLists.txt.orig 2024-04-10 22:50:03.376931244 +0000 ++++ CMakeLists.txt 2024-04-10 22:51:00.861834095 +0000 @@ -167,7 +167,7 @@ - add_subdirectory(src/libtorchaudio) + add_subdirectory(torchaudio/csrc) if (BUILD_SOX) - add_subdirectory(third_party/sox) + # add_subdirectory(third_party/sox) - add_subdirectory(src/libtorchaudio/sox) + add_subdirectory(torchaudio/csrc/sox) endif() if (USE_FFMPEG) From aad59930208871ee52c05e5bdb1ff517bcdc5652 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Thu, 11 Apr 2024 07:58:39 +0000 Subject: [PATCH 344/889] Fix typo --- .../PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index aeb4a451ba1..5d9565334db 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -123,7 +123,7 @@ exts_list = [ '" and not kaldi_io_test"' # requires kaldi_io '" and not test_dup_hw_acel"' # requires special render device permissions '" and not test_h264_cuvid"' # requires special render device permissions - '" and not test_hecv_cuvid"' # requires special render device permissions + '" and not test_hevc_cuvid"' # requires special render device permissions ), 'testinstall': True, }), From 1824a940600aff2258f666d32ef5a95e551c68b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Thu, 11 Apr 2024 10:59:25 +0200 Subject: [PATCH 345/889] Update easybuild/easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2022a.eb Co-authored-by: Adam Huffman --- .../easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2022a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2022a.eb b/easybuild/easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2022a.eb index 3321c624f1f..cfc1979e658 100644 --- a/easybuild/easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2022a.eb +++ b/easybuild/easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2022a.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'PortAudio' version = "19.7.0" -homepage = 'http://www.portaudio.com/' +homepage = 'https://www.portaudio.com/' description = """PortAudio is a free, cross-platform, open-source, audio I/O library. It lets you write simple audio programs in 'C' or C++ that will compile and run on many platforms including Windows, Macintosh OS X, and Unix (OSS/ALSA). It is intended to promote the exchange of audio software between From 60292caeab1ce349aec1a278df9ea5e61dec6c4b Mon Sep 17 00:00:00 2001 From: Viktor Rehnberg Date: Thu, 11 Apr 2024 09:16:08 +0000 Subject: [PATCH 346/889] adding easyconfigs: tiktoken-0.6.0-GCCcore-12.3.0.eb --- .../tiktoken/tiktoken-0.6.0-GCCcore-12.3.0.eb | 134 ++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 easybuild/easyconfigs/t/tiktoken/tiktoken-0.6.0-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/t/tiktoken/tiktoken-0.6.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/tiktoken/tiktoken-0.6.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..3b8a0120c20 --- /dev/null +++ b/easybuild/easyconfigs/t/tiktoken/tiktoken-0.6.0-GCCcore-12.3.0.eb @@ -0,0 +1,134 @@ +easyblock = 'CargoPythonPackage' + +name = 'tiktoken' +version = '0.6.0' + +homepage = 'https://github.com/openai/tiktoken' +description = "tiktoken is a fast BPE tokeniser for use with OpenAI's models" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +crates = [ + ('aho-corasick', '1.1.3'), + ('autocfg', '1.2.0'), + ('bit-set', '0.5.3'), + ('bit-vec', '0.6.3'), + ('bitflags', '1.3.2'), + ('bstr', '1.9.1'), + ('cfg-if', '1.0.0'), + ('fancy-regex', '0.11.0'), + ('heck', '0.4.1'), + ('indoc', '2.0.5'), + ('libc', '0.2.153'), + ('lock_api', '0.4.11'), + ('memchr', '2.7.2'), + ('memoffset', '0.9.1'), + ('once_cell', '1.19.0'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.9'), + ('portable-atomic', '1.6.0'), + ('proc-macro2', '1.0.79'), + ('pyo3', '0.20.3'), + ('pyo3-build-config', '0.20.3'), + ('pyo3-ffi', '0.20.3'), + ('pyo3-macros', '0.20.3'), + ('pyo3-macros-backend', '0.20.3'), + ('quote', '1.0.36'), + ('redox_syscall', '0.4.1'), + ('regex', '1.10.4'), + ('regex-automata', '0.4.6'), + ('regex-syntax', '0.8.3'), + ('rustc-hash', '1.1.0'), + ('scopeguard', '1.2.0'), + ('serde', '1.0.197'), + ('serde_derive', '1.0.197'), + ('smallvec', '1.13.2'), + ('syn', '2.0.58'), + ('target-lexicon', '0.12.14'), + ('unicode-ident', '1.0.12'), + ('unindent', '0.2.3'), + ('windows-targets', '0.48.5'), + ('windows_aarch64_gnullvm', '0.48.5'), + ('windows_aarch64_msvc', '0.48.5'), + ('windows_i686_gnu', '0.48.5'), + ('windows_i686_msvc', '0.48.5'), + ('windows_x86_64_gnu', '0.48.5'), + ('windows_x86_64_gnullvm', '0.48.5'), + ('windows_x86_64_msvc', '0.48.5'), +] +sources = [SOURCE_TAR_GZ] +checksums = [ + {'tiktoken-0.6.0.tar.gz': 'ace62a4ede83c75b0374a2ddfa4b76903cf483e9cb06247f566be3bf14e6beed'}, + {'aho-corasick-1.1.3.tar.gz': '8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916'}, + {'autocfg-1.2.0.tar.gz': 'f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80'}, + {'bit-set-0.5.3.tar.gz': '0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1'}, + {'bit-vec-0.6.3.tar.gz': '349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'bstr-1.9.1.tar.gz': '05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'fancy-regex-0.11.0.tar.gz': 'b95f7c0680e4142284cf8b22c14a476e87d61b004a3a0861872b32ef7ead40a2'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'indoc-2.0.5.tar.gz': 'b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5'}, + {'libc-0.2.153.tar.gz': '9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd'}, + {'lock_api-0.4.11.tar.gz': '3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45'}, + {'memchr-2.7.2.tar.gz': '6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d'}, + {'memoffset-0.9.1.tar.gz': '488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a'}, + {'once_cell-1.19.0.tar.gz': '3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92'}, + {'parking_lot-0.12.1.tar.gz': '3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f'}, + {'parking_lot_core-0.9.9.tar.gz': '4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e'}, + {'portable-atomic-1.6.0.tar.gz': '7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0'}, + {'proc-macro2-1.0.79.tar.gz': 'e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e'}, + {'pyo3-0.20.3.tar.gz': '53bdbb96d49157e65d45cc287af5f32ffadd5f4761438b527b055fb0d4bb8233'}, + {'pyo3-build-config-0.20.3.tar.gz': 'deaa5745de3f5231ce10517a1f5dd97d53e5a2fd77aa6b5842292085831d48d7'}, + {'pyo3-ffi-0.20.3.tar.gz': '62b42531d03e08d4ef1f6e85a2ed422eb678b8cd62b762e53891c05faf0d4afa'}, + {'pyo3-macros-0.20.3.tar.gz': '7305c720fa01b8055ec95e484a6eca7a83c841267f0dd5280f0c8b8551d2c158'}, + {'pyo3-macros-backend-0.20.3.tar.gz': '7c7e9b68bb9c3149c5b0cade5d07f953d6d125eb4337723c4ccdb665f1f96185'}, + {'quote-1.0.36.tar.gz': '0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7'}, + {'redox_syscall-0.4.1.tar.gz': '4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa'}, + {'regex-1.10.4.tar.gz': 'c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c'}, + {'regex-automata-0.4.6.tar.gz': '86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea'}, + {'regex-syntax-0.8.3.tar.gz': 'adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56'}, + {'rustc-hash-1.1.0.tar.gz': '08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2'}, + {'scopeguard-1.2.0.tar.gz': '94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49'}, + {'serde-1.0.197.tar.gz': '3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2'}, + {'serde_derive-1.0.197.tar.gz': '7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b'}, + {'smallvec-1.13.2.tar.gz': '3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67'}, + {'syn-2.0.58.tar.gz': '44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687'}, + {'target-lexicon-0.12.14.tar.gz': 'e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f'}, + {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'}, + {'unindent-0.2.3.tar.gz': 'c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce'}, + {'windows-targets-0.48.5.tar.gz': '9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c'}, + {'windows_aarch64_gnullvm-0.48.5.tar.gz': '2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8'}, + {'windows_aarch64_msvc-0.48.5.tar.gz': 'dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc'}, + {'windows_i686_gnu-0.48.5.tar.gz': 'a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e'}, + {'windows_i686_msvc-0.48.5.tar.gz': '8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406'}, + {'windows_x86_64_gnu-0.48.5.tar.gz': '53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e'}, + {'windows_x86_64_gnullvm-0.48.5.tar.gz': '0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc'}, + {'windows_x86_64_msvc-0.48.5.tar.gz': 'ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538'}, +] + +_rust_ver = '1.75.0' +builddependencies = [ + ('Rust', _rust_ver), + ('maturin', '1.4.0', '-Rust-%s' % _rust_ver), + ('hypothesis', '6.82.0') +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), # regex (and pytest for tests) +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +# https://github.com/openai/tiktoken/issues/194 +runtest = ( + 'ln -s $PWD/tests ../tests_%(name)s' + ' && cd ..' + ' && pytest tests_%(name)s/' +) +testinstall = True + +moduleclass = 'lib' From db5fb9794d2d3c681411bcbf29ea6a894034bcb6 Mon Sep 17 00:00:00 2001 From: c3-builder Date: Thu, 11 Apr 2024 09:31:34 +0000 Subject: [PATCH 347/889] Move postinstallcmds to easyblock --- easybuild/easyconfigs/a/AEDT/AEDT-2024R1.eb | 8 -------- 1 file changed, 8 deletions(-) diff --git a/easybuild/easyconfigs/a/AEDT/AEDT-2024R1.eb b/easybuild/easyconfigs/a/AEDT/AEDT-2024R1.eb index 368b4617622..e6c25eaf32a 100644 --- a/easybuild/easyconfigs/a/AEDT/AEDT-2024R1.eb +++ b/easybuild/easyconfigs/a/AEDT/AEDT-2024R1.eb @@ -1,7 +1,5 @@ name = 'AEDT' version = '2024R1' -local_short_ver = '241' -local_bin_dir = '%(installdir)s/' + 'v%s/Linux64' % local_short_ver homepage = 'https://www.ansys.com/products/electronics' description = """The Ansys Electronics Desktop (AEDT) is a platform that enables @@ -15,10 +13,4 @@ toolchain = SYSTEM sources = ['ELECTRONICS_%(version)s_LINX64.tgz'] checksums = ['7b131adf981ebca1e2f4fe8e607e50323167b69e77180a0ab61b2759d57abca5'] -postinstallcmds = [ - "echo '' > %s/VerifyOS.bash" % local_bin_dir, # disable OS check - "sed -i '1i export LC_ALL=C\nexport LANG=C' %s/.setup_runtime" % local_bin_dir, - "sed -i '1i export LC_ALL=C\nexport LANG=C' %s/.setup_runtime_mpi" % local_bin_dir, -] - moduleclass = 'phys' From abbef4bbbe502cb33da02eda42666fb51ea47e83 Mon Sep 17 00:00:00 2001 From: Ehsan Moravveji Date: Thu, 11 Apr 2024 11:45:01 +0200 Subject: [PATCH 348/889] Latest NanoPlot for 2022a toolchain --- .../n/NanoPlot/NanoPlot-1.42.0-foss-2022a.eb | 44 +++++++++++++++++++ .../n/nanoget/nanoget-1.19.1-foss-2022a.eb | 30 +++++++++++++ .../p/pauvre/pauvre-0.2.3-foss-2022a.eb | 40 +++++++++++++++++ 3 files changed, 114 insertions(+) create mode 100644 easybuild/easyconfigs/n/NanoPlot/NanoPlot-1.42.0-foss-2022a.eb create mode 100644 easybuild/easyconfigs/n/nanoget/nanoget-1.19.1-foss-2022a.eb create mode 100644 easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2022a.eb diff --git a/easybuild/easyconfigs/n/NanoPlot/NanoPlot-1.42.0-foss-2022a.eb b/easybuild/easyconfigs/n/NanoPlot/NanoPlot-1.42.0-foss-2022a.eb new file mode 100644 index 00000000000..5b82a42cd67 --- /dev/null +++ b/easybuild/easyconfigs/n/NanoPlot/NanoPlot-1.42.0-foss-2022a.eb @@ -0,0 +1,44 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'NanoPlot' +version = '1.42.0' + +homepage = 'https://github.com/wdecoster/NanoPlot' +description = "Plotting suite for long read sequencing data and alignments" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['0f8fd2cffd33a346b3306716058c6cb4091c931e8ab502f10b17a28749e8b6d9'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Biopython', '1.79'), + ('Pysam', '0.19.1'), + ('nanomath', '1.3.0'), + ('nanoget', '1.19.1'), + ('Seaborn', '0.12.1'), + ('plotly.py', '5.12.0'), + ('pauvre', '0.2.3'), + ('statsmodels', '0.13.1'), + ('Arrow', '8.0.0'), # for pyarrow + ('Kaleido', '0.2.1'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/NanoPlot'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["NanoPlot --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/nanoget/nanoget-1.19.1-foss-2022a.eb b/easybuild/easyconfigs/n/nanoget/nanoget-1.19.1-foss-2022a.eb new file mode 100644 index 00000000000..2126128d14c --- /dev/null +++ b/easybuild/easyconfigs/n/nanoget/nanoget-1.19.1-foss-2022a.eb @@ -0,0 +1,30 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Update: Petr Král (INUITS) + +easyblock = 'PythonPackage' + +name = 'nanoget' +version = '1.19.1' + +homepage = 'https://github.com/wdecoster/nanoget' +description = "Functions to extract information from Oxford Nanopore sequencing data and alignments" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['14f4883a995503dbae757b55cb42fcb4430c58ce2201b79abd4e8e0e3d10ca18'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Biopython', '1.79'), + ('Pysam', '0.19.1'), + ('nanomath', '1.3.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2022a.eb b/easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2022a.eb new file mode 100644 index 00000000000..309b061d0c7 --- /dev/null +++ b/easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2022a.eb @@ -0,0 +1,40 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'pauvre' +version = '0.2.3' + +homepage = 'https://github.com/conchoecia/pauvre' +description = "Tools for plotting Oxford Nanopore and other long-read data" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['ba756bc9025ae7edafd91092d12a57864f018958fd46b548e9eeda7167ee197d'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Biopython', '1.79'), + ('scikit-learn', '1.1.2'), + ('matplotlib', '3.5.2'), +] + +download_dep_fail = True +use_pip = True + +# fix incorrect requirement, correct name is 'scikit-learn' +preinstallopts = "sed -i 's/sklearn/scikit-learn/g' setup.py && " + +sanity_check_paths = { + 'files': ['bin/pauvre'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["pauvre --help"] + +sanity_pip_check = True + +moduleclass = 'math' From aab5776c5da08a307682dc7e63be2be8756bc539 Mon Sep 17 00:00:00 2001 From: Viktor Rehnberg Date: Thu, 11 Apr 2024 10:00:54 +0000 Subject: [PATCH 349/889] Add binutils as builddep --- .../easyconfigs/t/tiktoken/tiktoken-0.6.0-GCCcore-12.3.0.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/t/tiktoken/tiktoken-0.6.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/tiktoken/tiktoken-0.6.0-GCCcore-12.3.0.eb index 3b8a0120c20..ee72245c3d0 100644 --- a/easybuild/easyconfigs/t/tiktoken/tiktoken-0.6.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/t/tiktoken/tiktoken-0.6.0-GCCcore-12.3.0.eb @@ -109,6 +109,7 @@ checksums = [ _rust_ver = '1.75.0' builddependencies = [ + ('binutils', '2.40'), ('Rust', _rust_ver), ('maturin', '1.4.0', '-Rust-%s' % _rust_ver), ('hypothesis', '6.82.0') From dcc8c530ee5a9994fd1d1b49a211d64cbd2ba093 Mon Sep 17 00:00:00 2001 From: Justus Kuhlmann Date: Thu, 11 Apr 2024 12:36:20 +0000 Subject: [PATCH 350/889] add nanoget-1.18.1-foss-2022b.eb --- .../n/nanoget/nanoget-1.18.1-foss-2022b.eb | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 easybuild/easyconfigs/n/nanoget/nanoget-1.18.1-foss-2022b.eb diff --git a/easybuild/easyconfigs/n/nanoget/nanoget-1.18.1-foss-2022b.eb b/easybuild/easyconfigs/n/nanoget/nanoget-1.18.1-foss-2022b.eb new file mode 100644 index 00000000000..6c11fb4bd05 --- /dev/null +++ b/easybuild/easyconfigs/n/nanoget/nanoget-1.18.1-foss-2022b.eb @@ -0,0 +1,30 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Update: Petr Král (INUITS) + +easyblock = 'PythonPackage' + +name = 'nanoget' +version = '1.18.1' + +homepage = 'https://github.com/wdecoster/nanoget' +description = "Functions to extract information from Oxford Nanopore sequencing data and alignments" + +toolchain = {'name': 'foss', 'version': '2022b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['e4fa37ab1bccc3287947f5792acad3c96fd1c02cb9c0a1f5d218d26bcdbe1632'] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('Biopython', '1.81'), + ('Pysam', '0.21.0'), + ('nanomath', '1.3.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' From c651b2ab604ec311279fb40ff160f2f719399da6 Mon Sep 17 00:00:00 2001 From: Justus Kuhlmann Date: Thu, 11 Apr 2024 12:39:28 +0000 Subject: [PATCH 351/889] add nanomath-1.3.0-foss-2022b.eb --- .../n/nanomath/nanomath-1.3.0-foss-2022b.eb | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 easybuild/easyconfigs/n/nanomath/nanomath-1.3.0-foss-2022b.eb diff --git a/easybuild/easyconfigs/n/nanomath/nanomath-1.3.0-foss-2022b.eb b/easybuild/easyconfigs/n/nanomath/nanomath-1.3.0-foss-2022b.eb new file mode 100644 index 00000000000..b34b17505f9 --- /dev/null +++ b/easybuild/easyconfigs/n/nanomath/nanomath-1.3.0-foss-2022b.eb @@ -0,0 +1,33 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Update: Petr Král (INUITS) + +easyblock = 'PythonBundle' + +name = 'nanomath' +version = '1.3.0' + +homepage = 'https://github.com/wdecoster/nanomath' +description = "A few simple math function for other Oxford Nanopore processing scripts" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('Python-Deprecated', '1.1.0', { + 'modulename': 'deprecated', + 'checksums': ['a242b3c1721f97912330b12cd5529abfa5b3876084a6c60a2c683a87d4b0dd6f'], + }), + (name, version, { + 'checksums': ['c35a024b10b34dd8f539cefed1fd69e0a46d18037ca48bed63c7941c67ae028e'], + }), +] + +moduleclass = 'math' From cec3ee6a53038f91365998d2a2984e149f0ed032 Mon Sep 17 00:00:00 2001 From: Justus Kuhlmann Date: Thu, 11 Apr 2024 12:42:50 +0000 Subject: [PATCH 352/889] add pauvre-0.2.3-foss-2022b.eb --- .../p/pauvre/pauvre-0.2.3-foss-2022b.eb | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2022b.eb diff --git a/easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2022b.eb b/easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2022b.eb new file mode 100644 index 00000000000..1e4a4e7f65b --- /dev/null +++ b/easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2022b.eb @@ -0,0 +1,38 @@ + +easyblock = 'PythonPackage' + +name = 'pauvre' +version = '0.2.3' + +homepage = 'https://github.com/conchoecia/pauvre' +description = "Tools for plotting Oxford Nanopore and other long-read data" + +toolchain = {'name': 'foss', 'version': '2022b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['ba756bc9025ae7edafd91092d12a57864f018958fd46b548e9eeda7167ee197d'] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('Biopython', '1.81'), + ('scikit-learn', '1.2.1'), + ('matplotlib', '3.7.0'), +] + +download_dep_fail = True +use_pip = True + +# fix incorrect requirement, correct name is 'scikit-learn' +preinstallopts = "sed -i 's/sklearn/scikit-learn/g' setup.py && " + +sanity_check_paths = { + 'files': ['bin/pauvre'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["pauvre --help"] + +sanity_pip_check = True + +moduleclass = 'math' From a4a36e8b4a5cd26791efeb5b36b74da59a339fde Mon Sep 17 00:00:00 2001 From: Justus Kuhlmann Date: Thu, 11 Apr 2024 13:23:25 +0000 Subject: [PATCH 353/889] linting --- easybuild/easyconfigs/n/nanomath/nanomath-1.3.0-foss-2022b.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/n/nanomath/nanomath-1.3.0-foss-2022b.eb b/easybuild/easyconfigs/n/nanomath/nanomath-1.3.0-foss-2022b.eb index b34b17505f9..859a01fc70c 100644 --- a/easybuild/easyconfigs/n/nanomath/nanomath-1.3.0-foss-2022b.eb +++ b/easybuild/easyconfigs/n/nanomath/nanomath-1.3.0-foss-2022b.eb @@ -24,7 +24,7 @@ exts_list = [ ('Python-Deprecated', '1.1.0', { 'modulename': 'deprecated', 'checksums': ['a242b3c1721f97912330b12cd5529abfa5b3876084a6c60a2c683a87d4b0dd6f'], - }), + }), (name, version, { 'checksums': ['c35a024b10b34dd8f539cefed1fd69e0a46d18037ca48bed63c7941c67ae028e'], }), From 8cf92a175fd24541c730ca3f19b9770d141e3a86 Mon Sep 17 00:00:00 2001 From: c3-builder Date: Thu, 11 Apr 2024 13:25:00 +0000 Subject: [PATCH 354/889] Remove wrong comment --- easybuild/easyconfigs/o/optiSLang/optiSLang-2024R1.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/o/optiSLang/optiSLang-2024R1.eb b/easybuild/easyconfigs/o/optiSLang/optiSLang-2024R1.eb index 8c941efc57c..0f8a2c17da9 100644 --- a/easybuild/easyconfigs/o/optiSLang/optiSLang-2024R1.eb +++ b/easybuild/easyconfigs/o/optiSLang/optiSLang-2024R1.eb @@ -11,7 +11,6 @@ define RDO.""" toolchain = SYSTEM download_instructions = 'Manually obtain (OPTISLANG_%(version)s_LINX64.tgz) from your ANSYS vendor' -# Custom extract command is used since iso sources contain duplicate file. sources = ['OPTISLANG_%(version)s_LINX64.tgz'] checksums = ['18be4bf600f3d7f30d586811262bc1a544cbb448e85007f5869335da7a173ea4'] From da7c9b9469c0431de133b7dad3933326ee6be0dc Mon Sep 17 00:00:00 2001 From: Justus Kuhlmann Date: Thu, 11 Apr 2024 13:26:44 +0000 Subject: [PATCH 355/889] add attribution --- easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2022b.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2022b.eb b/easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2022b.eb index 1e4a4e7f65b..672fd7dc282 100644 --- a/easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2022b.eb +++ b/easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2022b.eb @@ -1,3 +1,5 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 easyblock = 'PythonPackage' From f69edf691bff6b92324b39beb2289fc08fba8991 Mon Sep 17 00:00:00 2001 From: mssmzs Date: Thu, 11 Apr 2024 14:45:19 +0100 Subject: [PATCH 356/889] adding easyconfigs: Giza-1.4.1-foss-2023b.eb --- .../g/Giza/Giza-1.4.1-foss-2023b.eb | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 easybuild/easyconfigs/g/Giza/Giza-1.4.1-foss-2023b.eb diff --git a/easybuild/easyconfigs/g/Giza/Giza-1.4.1-foss-2023b.eb b/easybuild/easyconfigs/g/Giza/Giza-1.4.1-foss-2023b.eb new file mode 100644 index 00000000000..f66dca4d8d9 --- /dev/null +++ b/easybuild/easyconfigs/g/Giza/Giza-1.4.1-foss-2023b.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'Giza' +version = '1.4.1' + +homepage = "https://danieljprice.github.io/giza/" +description = """Giza is an open, lightweight scientific plotting library built on +top of cairo that provides uniform output to multiple devices.""" + +toolchain = {'name': 'foss', 'version': '2023b'} + +source_urls = ['https://github.com/danieljprice/giza/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['67c8eba2cc44a4eb16ff89b10147fa1a157be5801668391726200735c522faf7'] + +dependencies = [ + ('cairo', '1.18.0'), + ('Pango', '1.51.0'), + ('X11', '20231019'), +] + +preconfigopts = 'CFLAGS=-std=gnu99 ' + +sanity_check_paths = { + 'files': ['lib/libgiza.%s' % SHLIB_EXT, 'lib/libcpgplot.%s' % SHLIB_EXT, 'lib/libpgplot.%s' % SHLIB_EXT], + 'dirs': ['include', 'lib', 'share'] +} + +moduleclass = 'vis' + From 477276e2f91b0c8ca408470998feeb41be8ee6f6 Mon Sep 17 00:00:00 2001 From: Yunqi Shao Date: Thu, 21 Mar 2024 21:53:11 +0000 Subject: [PATCH 357/889] Add TensorFlow-2.15.1-foss-2023a --- .../TensorFlow-2.15.1-foss-2023a.eb | 246 ++++++++++++++++++ ...sorFlow-2.15.1_add-default-shell-env.patch | 32 +++ ...orFlow-2.15.1_fix-flatbuffer-license.patch | 13 + ...TensorFlow-2.15.1_fix-pybind11-build.patch | 14 + ...-2.15.1_remove-io-gcs-filesystem-dep.patch | 12 + ...ensorFlow-2.15.1_remove-libclang-dep.patch | 12 + 6 files changed, 329 insertions(+) create mode 100644 easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb create mode 100644 easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_add-default-shell-env.patch create mode 100644 easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_fix-flatbuffer-license.patch create mode 100644 easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_fix-pybind11-build.patch create mode 100644 easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_remove-io-gcs-filesystem-dep.patch create mode 100644 easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_remove-libclang-dep.patch diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb new file mode 100644 index 00000000000..032bf44cd08 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb @@ -0,0 +1,246 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow' +version = '2.15.1' + +homepage = 'https://www.tensorflow.org/' +description = "An open-source software library for Machine Intelligence" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True} + +use_pip = True +sanity_pip_check = True + + +builddependencies = [ + ('Bazel', '6.1.0'), + ('git', '2.41.0', '-nodocs'), + ('pybind11', '2.11.1'), + ('UnZip', '6.0'), + ('poetry', '1.5.1'), + ('Clang', '16.0.6'), + ('LLVM', '16.0.6'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('h5py', '3.9.0'), + ('cURL', '8.0.1'), + ('dill', '0.3.7'), + ('double-conversion', '3.3.0'), + ('flatbuffers', '23.5.26'), + ('flatbuffers-python', '23.5.26'), + ('giflib', '5.2.1'), + ('hwloc', '2.9.1'), + ('ICU', '73.2'), + ('JsonCpp', '1.9.5'), + ('libjpeg-turbo', '2.1.5.1'), + ('NASM', '2.16.01'), + ('nsync', '1.26.0'), + ('SQLite', '3.42.0'), + ('patchelf', '0.18.0'), + ('protobuf-python', '4.23.4'), + ('libpng', '1.6.39'), + ('snappy', '1.1.10'), + ('zlib', '1.2.13'), + ('RE2', '2023-08-01'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +exts_list = [ + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('typing_extensions', '4.10.0', { + 'checksums': ['b0abd7c89e8fb96f98db18d86106ff1d90ab692004eb746cf6eda2682f91b3cb'], + }), + ('termcolor', '2.3.0', { + 'checksums': ['b5b08f68937f138fe92f6c089b99f1e2da0ae56c52b78bf7075fd95420fd9a5a'], + }), + ('MarkupSafe', '2.1.5', { + 'checksums': ['d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b'], + }), + ('Werkzeug', '2.2.2', { + 'checksums': ['7ea2d48322cc7c0f8b3a215ed73eabd7b5d75d0b50e31ab006286ccff9e00b8f'], + }), + ('six', '1.16.0', { + 'checksums': ['1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926'], + }), + ('urllib3', '2.2.1', { + 'checksums': ['d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19'], + }), + ('idna', '3.6', { + 'checksums': ['9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca'], + }), + ('charset-normalizer', '3.3.2', { + 'checksums': ['f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5'], + }), + ('certifi', '2024.2.2', { + 'checksums': ['0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f'], + }), + ('requests', '2.31.0', { + 'checksums': ['942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1'], + }), + ('Markdown', '3.5.2', { + 'checksums': ['e1ac7b3dc550ee80e602e71c1d168002f062e49f1b11e26a36264dafd4df2ef8'], + }), + ('oauthlib', '3.2.2', { + 'checksums': ['9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918'], + }), + ('requests-oauthlib', '1.3.1', { + 'checksums': ['75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a'], + }), + ('pyasn1-modules', '0.3.0', { + 'source_tmpl': 'pyasn1_modules-%(version)s.tar.gz', + 'checksums': ['5bd01446b736eb9d31512a30d46c1ac3395d676c6f3cafa4c03eb54b9925631c'], + }), + ('rsa', '4.9', { + 'checksums': ['e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21'], + }), + ('cachetools', '5.3.3', { + 'checksums': ['ba29e2dfa0b8b556606f097407ed1aa62080ee108ab0dc5ec9d6a723a007d105'], + }), + ('packaging', '23.2', { + 'checksums': ['048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5'], + }), + ('h5py', '3.10.0', { + 'checksums': ['d93adc48ceeb33347eb24a634fb787efc7ae4644e6ea4ba733d099605045c049'], + }), + ('gast', '0.5.4', { + 'checksums': ['9c270fe5f4b130969b54174de7db4e764b09b4f7f67ccfc32480e29f78348d97'], + }), + ('flatbuffers', '23.5.26', { + 'checksums': ['9ea1144cac05ce5d86e2859f431c6cd5e66cd9c78c558317c7955fb8d4c78d89'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + ('tblib', '3.0.0', { + 'checksums': ['93622790a0a29e04f0346458face1e144dc4d32f493714c6c3dff82a4adb77e6'], + }), + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + ('google-auth-oauthlib', '1.2.0', { + 'checksums': ['292d2d3783349f2b0734a0a0207b1e1e322ac193c2c09d8f7c613fb7cc501ea8'], + }), + ('google-pasta', '0.2.0', { + 'modulename': 'pasta', + 'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'], + }), + ('absl-py', '1.4.0', { + 'modulename': 'absl', + 'checksums': ['d2c244d01048ba476e7c080bd2c6df5e141d211de80223460d5b3b8a2a58433d'], + }), + ('google-auth', '2.28.1', { + 'modulename': 'google.auth', + 'checksums': ['34fc3046c257cedcf1622fc4b31fc2be7923d9b4d44973d481125ecc50d83885'], + }), + ('ml-dtypes', '0.3.1', { + 'source_tmpl': ( + 'ml_dtypes-%(version)s-' + 'cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl' + ), + 'checksums': ['42a8980afd8b7c8e270e8b5c260237286b5b26acd276fcb758d13cd7cb567e99'], + }), + ('tensorboard-data-server', '0.7.2', { + 'source_tmpl': 'tensorboard_data_server-%(version)s-py3-none-any.whl', + 'checksums': ['7e0610d205889588983836ec05dc098e80f97b7e7bbff7e994ebb78f578d0ddb'], + }), + ('tensorflow-estimator', '2.15.0', { + 'source_tmpl': 'tensorflow_estimator-%(version)s-py2.py3-none-any.whl', + 'checksums': ['aedf21eec7fb2dc91150fc91a1ce12bc44dbb72278a08b58e79ff87c9e28f153'], + }), + ('tensorboard', '2.15.2', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['a6f6443728064d962caea6d34653e220e34ef8df764cb06a8212c17e1a8f0622'], + }), + ('keras', '2.15.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['2dcc6d2e30cf9c951064b63c1f4c404b966c59caf09e01f3549138ec8ee0dd1f'], + }), + # taken from TensorFlow-2.13.0-foss-2023a.eb + ('grpcio', '1.62.1', { + 'modulename': 'grpc', + 'preinstallopts': ("export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && "), + 'checksums': ['6c455e008fa86d9e9a9d85bb76da4277c0d7d9668a3bfa70dbe86e9f3c759947'], + }), + ('opt-einsum', '3.3.0', { + 'source_tmpl': 'opt_einsum-%(version)s-py3-none-any.whl', + 'checksums': ['2455e59e3947d3c275477df7f5205b30635e266fe6dc300e3d9f9646bfcea147'], + }), + (name, version, { + 'patches': [ + 'TensorFlow-2.13.0_add-missing-system-protobuf-targets.patch', + 'TensorFlow-2.15.1_remove-libclang-dep.patch', + 'TensorFlow-2.15.1_remove-io-gcs-filesystem-dep.patch', + 'TensorFlow-2.15.1_add-default-shell-env.patch', + 'TensorFlow-2.15.1_fix-flatbuffer-license.patch', + 'TensorFlow-2.15.1_fix-pybind11-build.patch', + ], + 'prebuildopts': ( + 'export TF_PYTHON_VERSION=3.11 && ' + 'export TF_SYSTEM_LIBS=$(python -c "' + "print(','.join([l for l in '$TF_SYSTEM_LIBS'.split(',') if l!='opt_einsum_archive']))" + '") && ' + ), + 'preconfigopts': ( + 'export TF_SYSTEM_LIBS=$(python -c "' + "print(','.join([l for l in '$TF_SYSTEM_LIBS'.split(',') if l!='opt_einsum_archive']))" + '") && ' + ), + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/tensorflow/archive/'], + 'test_script': 'TensorFlow-2.x_mnist-test.py', + 'test_tag_filters_cpu': ( + '-gpu,-tpu,-no_cuda_on_cpu_tap,' + '-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only' + ), + 'test_tag_filters_gpu': ( + 'gpu,-no_gpu,-nogpu,-gpu_cupti,-no_cuda11,' + '-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only' + ), + 'test_targets': [ + '//tensorflow/core/...', + '-//tensorflow/core:example_java_proto', + '-//tensorflow/core/example:example_protos_closure', + '//tensorflow/cc/...', + '//tensorflow/c/...', + '//tensorflow/python/...', + '-//tensorflow/c/eager:c_api_test_gpu', + '-//tensorflow/c/eager:c_api_distributed_test', + '-//tensorflow/c/eager:c_api_distributed_test_gpu', + '-//tensorflow/c/eager:c_api_cluster_test_gpu', + '-//tensorflow/c/eager:c_api_remote_function_test_gpu', + '-//tensorflow/c/eager:c_api_remote_test_gpu', + '-//tensorflow/core/common_runtime:collective_param_resolver_local_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_ops_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_batch_norm_op_test', + '-//tensorflow/core/ir/importexport/tests/roundtrip/...', + ], + 'testopts': '--test_env=HOME=/tmp --test_timeout=3600 --test_size_filters=small ', + 'testopts_gpu': ( + '--test_env=HOME=/tmp --test_timeout=3600 --test_size_filters=small ' + '--run_under=//tensorflow/tools/ci_build/gpu_build:parallel_gpu_execute ' + ), + 'with_xla': True, + 'checksums': [ + {'v2.15.1.tar.gz': 'f36416d831f06fe866e149c7cd752da410a11178b01ff5620e9f265511ed57cf'}, + {'TensorFlow-2.13.0_add-missing-system-protobuf-targets.patch': + '77d8c8a5627493fc7c38b4de79d49e60ff6628b05ff969f4cd3ff9857176c459'}, + {'TensorFlow-2.15.1_remove-libclang-dep.patch': + '871b2f0221b7a150ac9f563ffad7187e052a7eedd95c20fb4524987d7edb6f21'}, + {'TensorFlow-2.15.1_remove-io-gcs-filesystem-dep.patch': + 'eba7351a4b0696c589b9c507bacb0257ebce8c39fde39ab72d5d6a69deaaec02'}, + {'TensorFlow-2.15.1_add-default-shell-env.patch': + 'dd22a1c1a014bfd62cb1fc8913b4705e0b9a45ba54803e0df57c74c17837d46e'}, + {'TensorFlow-2.15.1_fix-flatbuffer-license.patch': + '2c04d5095977a628a238dbf93c5fada7159c86752a7183e64e0cf7c7ab00caf4'}, + {'TensorFlow-2.15.1_fix-pybind11-build.patch': + '3bb350ac92ab99c63c951c96b3b0160699f5f16822b64f72111ebfd2275cafce'}, + ], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_add-default-shell-env.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_add-default-shell-env.patch new file mode 100644 index 00000000000..7cc64ec6102 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_add-default-shell-env.patch @@ -0,0 +1,32 @@ +diff --git a/tensorflow/python/tools/api/generator2/generate_api.bzl b/tensorflow/python/tools/api/generator2/generate_api.bzl +index 64e9b96276e..afadd07bc3d 100644 +--- a/tensorflow/python/tools/api/generator2/generate_api.bzl ++++ b/tensorflow/python/tools/api/generator2/generate_api.bzl +@@ -95,6 +95,7 @@ def _api_extractor_impl(target, ctx): + outputs = [output], + arguments = [args], + progress_message = "Extracting " + api + " APIs for %{label} to %{output}.", ++ use_default_shell_env = True, + ) + + direct_api.append(output) +@@ -218,6 +219,7 @@ def _generate_api_impl(ctx): + outputs = ctx.outputs.output_files, + arguments = [args], + progress_message = "Generating APIs for %{label} to %{output}.", ++ use_default_shell_env = True, + ) + + # Convert output_paths to the list of corresponding modules for the further testing +diff --git a/tensorflow/tensorflow.bzl b/tensorflow/tensorflow.bzl +index 6762ccd8f9b..de7c27a1275 100644 +--- a/tensorflow/tensorflow.bzl ++++ b/tensorflow/tensorflow.bzl +@@ -1325,6 +1325,7 @@ def _generate_op_reg_offsets_impl(ctx): + tools = [ctx.executable._offset_counter], + executable = ctx.executable._offset_counter, + arguments = [args], ++ use_default_shell_env = True, + ) + + generate_op_reg_offsets = rule( diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_fix-flatbuffer-license.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_fix-flatbuffer-license.patch new file mode 100644 index 00000000000..4970cd0b758 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_fix-flatbuffer-license.patch @@ -0,0 +1,13 @@ +diff --git a/third_party/flatbuffers/BUILD.system b/third_party/flatbuffers/BUILD.system +index 8fe4d7a5907..b1d63b4ca0f 100644 +--- a/third_party/flatbuffers/BUILD.system ++++ b/third_party/flatbuffers/BUILD.system +@@ -1,7 +1,7 @@ + licenses(["notice"]) # Apache 2.0 + + filegroup( +- name = "LICENSE.txt", ++ name = "LICENSE", + visibility = ["//visibility:public"], + ) + diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_fix-pybind11-build.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_fix-pybind11-build.patch new file mode 100644 index 00000000000..c12c8726172 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_fix-pybind11-build.patch @@ -0,0 +1,14 @@ +diff --git a/third_party/systemlibs/pybind11.BUILD b/third_party/systemlibs/pybind11.BUILD +index 79a483d7b5d..463dd1a8ec7 100644 +--- a/third_party/systemlibs/pybind11.BUILD ++++ b/third_party/systemlibs/pybind11.BUILD +@@ -6,3 +6,9 @@ cc_library( + "@org_tensorflow//third_party/python_runtime:headers", + ], + ) ++ ++# Needed by pybind11_bazel. ++config_setting( ++ name = "osx", ++ constraint_values = ["@platforms//os:osx"], ++) diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_remove-io-gcs-filesystem-dep.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_remove-io-gcs-filesystem-dep.patch new file mode 100644 index 00000000000..911d4b651ed --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_remove-io-gcs-filesystem-dep.patch @@ -0,0 +1,12 @@ +diff --git a/tensorflow/tools/pip_package/setup.py b/tensorflow/tools/pip_package/setup.py +index 17ba9dc3323..c62900882ad 100644 +--- a/tensorflow/tools/pip_package/setup.py ++++ b/tensorflow/tools/pip_package/setup.py +@@ -101,7 +101,6 @@ REQUIRED_PACKAGES = [ + 'termcolor >= 1.1.0', + 'typing_extensions >= 3.6.6', + 'wrapt >= 1.11.0, < 1.15', +- 'tensorflow-io-gcs-filesystem >= 0.23.1', + # grpcio does not build correctly on big-endian machines due to lack of + # BoringSSL support. + # See https://github.com/tensorflow/tensorflow/issues/17882. diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_remove-libclang-dep.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_remove-libclang-dep.patch new file mode 100644 index 00000000000..377c6e5a377 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_remove-libclang-dep.patch @@ -0,0 +1,12 @@ +diff --git a/tensorflow/tools/pip_package/setup.py b/tensorflow/tools/pip_package/setup.py +index fc5fd364c47..17ba9dc3323 100644 +--- a/tensorflow/tools/pip_package/setup.py ++++ b/tensorflow/tools/pip_package/setup.py +@@ -88,7 +88,6 @@ REQUIRED_PACKAGES = [ + 'gast >=0.2.1,!=0.5.0,!=0.5.1,!=0.5.2', + 'google_pasta >= 0.1.1', + 'h5py >= 2.9.0', +- 'libclang >= 13.0.0', + 'ml_dtypes ~= 0.3.1', + 'numpy >= 1.23.5, < 2.0.0', + 'opt_einsum >= 2.3.2', From 2cfc8518e7b6473f96c397e5d2bfe4a7974c1f60 Mon Sep 17 00:00:00 2001 From: Yunqi Shao Date: Thu, 21 Mar 2024 21:56:06 +0000 Subject: [PATCH 358/889] Add Bazel-6.1.0-GCCcore-12.3.0 --- .../b/Bazel/Bazel-6.1.0-GCCcore-12.3.0.eb | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 easybuild/easyconfigs/b/Bazel/Bazel-6.1.0-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-6.1.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-6.1.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..1bacc7b9363 --- /dev/null +++ b/easybuild/easyconfigs/b/Bazel/Bazel-6.1.0-GCCcore-12.3.0.eb @@ -0,0 +1,29 @@ +name = 'Bazel' +version = '6.1.0' + +homepage = 'https://bazel.io/' +description = """Bazel is a build tool that builds code quickly and reliably. +It is used to build the majority of Google's software.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/bazelbuild/%(namelower)s/releases/download/%(version)s'] +sources = ['%(namelower)s-%(version)s-dist.zip'] +patches = ['Bazel-6.3.1_add-symlinks-in-runfiles.patch'] +checksums = [ + {'bazel-6.1.0-dist.zip': 'c4b85675541cf66ee7cb71514097fdd6c5fc0e02527243617a4f20ca6b4f2932'}, + {'Bazel-6.3.1_add-symlinks-in-runfiles.patch': '81db53aa87229557480b6f719c99a0f1af9c69dfec12185451e520b0128c3ae2'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('Python', '3.11.3'), + ('Zip', '3.0'), +] + +dependencies = [('Java', '11', '', SYSTEM)] + +runtest = True +testopts = "-- //examples/cpp:hello-success_test //examples/py/... //examples/py_native:test //examples/shell/..." + +moduleclass = 'devel' From 2ce998d666c9abeca85688be9c8af0b23f1b88c6 Mon Sep 17 00:00:00 2001 From: Yunqi Shao Date: Thu, 21 Mar 2024 21:57:46 +0000 Subject: [PATCH 359/889] Add protobuf-23.4 and protobuf-python-4.23.4 with GCCcore-12.3.0 --- .../protobuf-python-4.23.4-GCCcore-12.3.0.eb | 36 +++++++++++++++++++ .../protobuf/protobuf-23.4-GCCcore-12.3.0.eb | 35 ++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.23.4-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/p/protobuf/protobuf-23.4-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.23.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.23.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..d3632879d75 --- /dev/null +++ b/easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.23.4-GCCcore-12.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonPackage' + +name = 'protobuf-python' +version = '4.23.4' + +homepage = 'https://github.com/google/protobuf/' +description = """Python Protocol Buffers runtime library.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://pypi.python.org/packages/source/p/protobuf'] +sources = ['protobuf-%(version)s.tar.gz'] +patches = [] +checksums = ['ccd9430c0719dce806b93f89c91de7977304729e55377f872a92465d548329a9'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('protobuf', '23.4') +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +# Make sure protobuf is installed as a regular folder or it will not be found if +# other google packages are installed in other site-packages folders +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/google/protobuf'], +} + +options = {'modulename': 'google.protobuf'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/protobuf/protobuf-23.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/protobuf/protobuf-23.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..09490cd71ff --- /dev/null +++ b/easybuild/easyconfigs/p/protobuf/protobuf-23.4-GCCcore-12.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'protobuf' +version = '23.4' + +homepage = 'https://github.com/protocolbuffers/protobuf' +description = """Protocol Buffers (a.k.a., protobuf) are Google's +language-neutral, platform-neutral, extensible mechanism for +serializing structured data.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/protocolbuffers/protobuf/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a700a49470d301f1190a487a923b5095bf60f08f4ae4cac9f5f7c36883d17971'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +srcdir = '.' + +configopts = '-Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_ABSL_PROVIDER="package" ' + +dependencies = [ + ('Abseil', '20230125.3'), +] + +sanity_check_paths = { + 'files': ['bin/protoc', 'lib/libprotobuf.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'devel' From a75ce8fdb77c1564b83aa13d0ef891ce73f80829 Mon Sep 17 00:00:00 2001 From: Yunqi Shao Date: Fri, 22 Mar 2024 13:20:28 +0100 Subject: [PATCH 360/889] Use GCC for TF-2.15.1-foss-2023a - Remove Clang to be compliant with the toolchain convention - Remove (probably) unused dependencies --- .../easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb index 032bf44cd08..3604096e7f9 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb @@ -19,8 +19,6 @@ builddependencies = [ ('pybind11', '2.11.1'), ('UnZip', '6.0'), ('poetry', '1.5.1'), - ('Clang', '16.0.6'), - ('LLVM', '16.0.6'), ] dependencies = [ @@ -44,8 +42,6 @@ dependencies = [ ('libpng', '1.6.39'), ('snappy', '1.1.10'), ('zlib', '1.2.13'), - ('RE2', '2023-08-01'), - ('OpenSSL', '1.1', '', SYSTEM), ] exts_list = [ @@ -181,6 +177,7 @@ exts_list = [ ], 'prebuildopts': ( 'export TF_PYTHON_VERSION=3.11 && ' + 'export TF_NEED_CLANG=no && ' 'export TF_SYSTEM_LIBS=$(python -c "' "print(','.join([l for l in '$TF_SYSTEM_LIBS'.split(',') if l!='opt_einsum_archive']))" '") && ' From 81bb84bd3f5f74a61226c70427bcb4ede44ef3a4 Mon Sep 17 00:00:00 2001 From: Yunqi Shao Date: Mon, 25 Mar 2024 23:54:01 +0100 Subject: [PATCH 361/889] Use systemlib for grpcio --- .../TensorFlow-2.15.1-foss-2023a.eb | 41 ++++++++++----- .../TensorFlow/grpcio-1.16.0_use-ebroot.patch | 51 +++++++++++++++++++ 2 files changed, 78 insertions(+), 14 deletions(-) create mode 100644 easybuild/easyconfigs/t/TensorFlow/grpcio-1.16.0_use-ebroot.patch diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb index 3604096e7f9..3caa831709c 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb @@ -12,7 +12,6 @@ toolchainopts = {'pic': True} use_pip = True sanity_pip_check = True - builddependencies = [ ('Bazel', '6.1.0'), ('git', '2.41.0', '-nodocs'), @@ -42,6 +41,10 @@ dependencies = [ ('libpng', '1.6.39'), ('snappy', '1.1.10'), ('zlib', '1.2.13'), + # for grpcio only (Abseil excluded for tensorflow) + ('OpenSSL', '1.1', '', SYSTEM), + ('RE2', '2023-08-01'), + ('Abseil', '20230125.3'), ] exts_list = [ @@ -97,12 +100,6 @@ exts_list = [ ('cachetools', '5.3.3', { 'checksums': ['ba29e2dfa0b8b556606f097407ed1aa62080ee108ab0dc5ec9d6a723a007d105'], }), - ('packaging', '23.2', { - 'checksums': ['048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5'], - }), - ('h5py', '3.10.0', { - 'checksums': ['d93adc48ceeb33347eb24a634fb787efc7ae4644e6ea4ba733d099605045c049'], - }), ('gast', '0.5.4', { 'checksums': ['9c270fe5f4b130969b54174de7db4e764b09b4f7f67ccfc32480e29f78348d97'], }), @@ -156,11 +153,25 @@ exts_list = [ 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', 'checksums': ['2dcc6d2e30cf9c951064b63c1f4c404b966c59caf09e01f3549138ec8ee0dd1f'], }), - # taken from TensorFlow-2.13.0-foss-2023a.eb - ('grpcio', '1.62.1', { + ('grpcio', '1.60.0', { 'modulename': 'grpc', - 'preinstallopts': ("export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && "), - 'checksums': ['6c455e008fa86d9e9a9d85bb76da4277c0d7d9668a3bfa70dbe86e9f3c759947'], + 'preinstallopts': ( + "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && " + # Required to avoid building with non-default C++ standard but keep other flags, + # see https://github.com/grpc/grpc/issues/34256 + 'export GRPC_PYTHON_CFLAGS="-fvisibility=hidden -fno-wrapv -fno-exceptions" &&' + "GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=True " + "GRPC_PYTHON_BUILD_SYSTEM_ZLIB=True " + "GRPC_PYTHON_BUILD_SYSTEM_RE2=True " + "GRPC_PYTHON_BUILD_SYSTEM_ABSL=True " + ), + 'patches': ['grpcio-1.16.0_use-ebroot.patch'], + 'checksums': [ + {'grpcio-1.60.0.tar.gz': + '2199165a1affb666aa24adf0c97436686d0a61bc5fc113c037701fb7c7fceb96'}, + {'grpcio-1.16.0_use-ebroot.patch': + '5faf822cd817b723ae9361e43656d0ecc7b3333a166bbab2df80b43ae588e510'}, + ], }), ('opt-einsum', '3.3.0', { 'source_tmpl': 'opt_einsum-%(version)s-py3-none-any.whl', @@ -177,14 +188,16 @@ exts_list = [ ], 'prebuildopts': ( 'export TF_PYTHON_VERSION=3.11 && ' - 'export TF_NEED_CLANG=no && ' 'export TF_SYSTEM_LIBS=$(python -c "' - "print(','.join([l for l in '$TF_SYSTEM_LIBS'.split(',') if l!='opt_einsum_archive']))" + "print(','.join([l for l in '$TF_SYSTEM_LIBS'.split(',') " + " if l not in ['opt_einsum_archive', 'com_google_absl']]))" '") && ' ), 'preconfigopts': ( + 'export TF_NEED_CLANG=no && ' 'export TF_SYSTEM_LIBS=$(python -c "' - "print(','.join([l for l in '$TF_SYSTEM_LIBS'.split(',') if l!='opt_einsum_archive']))" + "print(','.join([l for l in '$TF_SYSTEM_LIBS'.split(',') " + " if l not in ['opt_einsum_archive', 'com_google_absl']]))" '") && ' ), 'source_tmpl': 'v%(version)s.tar.gz', diff --git a/easybuild/easyconfigs/t/TensorFlow/grpcio-1.16.0_use-ebroot.patch b/easybuild/easyconfigs/t/TensorFlow/grpcio-1.16.0_use-ebroot.patch new file mode 100644 index 00000000000..3a7bc8cc255 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/grpcio-1.16.0_use-ebroot.patch @@ -0,0 +1,51 @@ +diff --git a/setup.py b/setup.py +index 97c1dcec54..cc7bc8552e 100644 +--- a/setup.py ++++ b/setup.py +@@ -313,29 +313,33 @@ if "win32" in sys.platform: + CORE_C_FILES = filter(lambda x: "third_party/cares" not in x, CORE_C_FILES) + + if BUILD_WITH_SYSTEM_OPENSSL: ++ EBROOTOPENSSL = os.environ.get('EBROOTOPENSSL') + CORE_C_FILES = filter( + lambda x: "third_party/boringssl" not in x, CORE_C_FILES + ) + CORE_C_FILES = filter(lambda x: "src/boringssl" not in x, CORE_C_FILES) +- SSL_INCLUDE = (os.path.join("/usr", "include", "openssl"),) ++ SSL_INCLUDE = (os.path.join(EBROOTOPENSSL, "include", "openssl"),) + + if BUILD_WITH_SYSTEM_ZLIB: ++ EBROOTZLIB = os.environ.get('EBROOTZLIB') + CORE_C_FILES = filter(lambda x: "third_party/zlib" not in x, CORE_C_FILES) +- ZLIB_INCLUDE = (os.path.join("/usr", "include"),) ++ ZLIB_INCLUDE = (os.path.join(EBROOTZLIB, "include"),) + + if BUILD_WITH_SYSTEM_CARES: + CORE_C_FILES = filter(lambda x: "third_party/cares" not in x, CORE_C_FILES) + CARES_INCLUDE = (os.path.join("/usr", "include"),) + + if BUILD_WITH_SYSTEM_RE2: ++ EBROOTRE2 = os.environ.get('EBROOTRE2') + CORE_C_FILES = filter(lambda x: "third_party/re2" not in x, CORE_C_FILES) +- RE2_INCLUDE = (os.path.join("/usr", "include", "re2"),) ++ RE2_INCLUDE = (os.path.join(EBROOTRE2, "include", "re2"),) + + if BUILD_WITH_SYSTEM_ABSL: ++ EBROOTABSEIL = os.environ.get('EBROOTABSEIL') + CORE_C_FILES = filter( + lambda x: "third_party/abseil-cpp" not in x, CORE_C_FILES + ) +- ABSL_INCLUDE = (os.path.join("/usr", "include"),) ++ ABSL_INCLUDE = (os.path.join(EBROOTABSEIL, "include"),) + + EXTENSION_INCLUDE_DIRECTORIES = ( + (PYTHON_STEM,) +@@ -378,7 +382,7 @@ if BUILD_WITH_SYSTEM_RE2: + EXTENSION_LIBRARIES += ("re2",) + if BUILD_WITH_SYSTEM_ABSL: + EXTENSION_LIBRARIES += tuple( +- lib.stem[3:] for lib in pathlib.Path("/usr").glob("lib*/libabsl_*.so") ++ lib.stem[3:] for lib in pathlib.Path(EBROOTABSEIL).glob("lib*/libabsl_*.so") + ) + + DEFINE_MACROS = (("_WIN32_WINNT", 0x600),) From 05078195403ed36aeed1494e247cda1f4a31083c Mon Sep 17 00:00:00 2001 From: Yunqi Shao Date: Wed, 3 Apr 2024 20:27:36 +0000 Subject: [PATCH 362/889] Use systemlib for protobuf-python --- .../TensorFlow/TensorFlow-2.15.1-foss-2023a.eb | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb index 3caa831709c..31f8100fdac 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb @@ -18,6 +18,11 @@ builddependencies = [ ('pybind11', '2.11.1'), ('UnZip', '6.0'), ('poetry', '1.5.1'), + # Compiling with system protobuf don't seem to work, see: + # https://github.com/tensorflow/tensorflow/issues/61593 + # In addition there are more rules in third_python that + # do not have corresponding ones in systemlib/protobuf.BUILD + # ('protobuf', '24.0'), ] dependencies = [ @@ -37,7 +42,7 @@ dependencies = [ ('nsync', '1.26.0'), ('SQLite', '3.42.0'), ('patchelf', '0.18.0'), - ('protobuf-python', '4.23.4'), + ('protobuf-python', '4.24.0'), ('libpng', '1.6.39'), ('snappy', '1.1.10'), ('zlib', '1.2.13'), @@ -253,4 +258,14 @@ exts_list = [ }), ] + +# Taken from tensorboard-2.15.1-gfbf-2023a.eb: +# Relax restriction on protobuf dependency as issue was fixed +# in https://github.com/protocolbuffers/upb/pull/1514 +# see also: https://github.com/easybuilders/easybuild-easyconfigs/pull/19671 +postinstallcmds = [ + 'sed -i "s/Requires-Dist: protobuf.*/Requires-Dist: protobuf >=3.19.6/g" ' + + '%(installdir)s/lib/python%(pyshortver)s/site-packages/tensorboard-2.15.2.dist-info/METADATA', +] + moduleclass = 'lib' From 04ec6241d744fb583f1a0e470965814bf93871af Mon Sep 17 00:00:00 2001 From: mssmzs Date: Thu, 11 Apr 2024 15:05:09 +0100 Subject: [PATCH 363/889] deleting blank line at the end of file --- easybuild/easyconfigs/g/Giza/Giza-1.4.1-foss-2023b.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/g/Giza/Giza-1.4.1-foss-2023b.eb b/easybuild/easyconfigs/g/Giza/Giza-1.4.1-foss-2023b.eb index f66dca4d8d9..35a286a53ee 100644 --- a/easybuild/easyconfigs/g/Giza/Giza-1.4.1-foss-2023b.eb +++ b/easybuild/easyconfigs/g/Giza/Giza-1.4.1-foss-2023b.eb @@ -27,4 +27,3 @@ sanity_check_paths = { } moduleclass = 'vis' - From 86238e69e4306f2ff60dffc4308ce67a42c5f787 Mon Sep 17 00:00:00 2001 From: Jiri Furst Date: Thu, 11 Apr 2024 16:18:47 +0200 Subject: [PATCH 364/889] adding easyconfigs: Spack-0.21.2.eb --- easybuild/easyconfigs/s/Spack/Spack-0.21.2.eb | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 easybuild/easyconfigs/s/Spack/Spack-0.21.2.eb diff --git a/easybuild/easyconfigs/s/Spack/Spack-0.21.2.eb b/easybuild/easyconfigs/s/Spack/Spack-0.21.2.eb new file mode 100644 index 00000000000..91b1aea025e --- /dev/null +++ b/easybuild/easyconfigs/s/Spack/Spack-0.21.2.eb @@ -0,0 +1,32 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'Tarball' + +name = 'Spack' +version = '0.21.2' + +homepage = 'https://spack.io/' +description = """Spack is a package manager for supercomputers, Linux, and macOS. It makes installing scientific + software easy. With Spack, you can build a package with multiple versions, configurations, platforms, and compilers, + and all of these builds can coexist on the same machine.""" + +toolchain = SYSTEM + +source_urls = [GITHUB_LOWER_RELEASE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b1860537ba00c55fa0b2517ce9dbfe0e415600892c48e3dc4e15ee8da0f50dd3'] + +keepsymlinks = True + +sanity_check_paths = { + 'files': ['bin/spack'], + 'dirs': ['etc/spack/defaults', 'lib/spack', 'share/spack', 'var/spack'], +} + +sanity_check_commands = [ + "spack list", + "spack versions gcc", +] + +moduleclass = 'devel' From e58d908eaabf4cafd38cc27151f5ace82bf584bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Thu, 11 Apr 2024 16:37:54 +0000 Subject: [PATCH 365/889] Drop another test --- .../PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index 5d9565334db..e857a7d4bdf 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -146,6 +146,7 @@ exts_list = [ ' --ignore=tests/ignite/metrics/nlp/test_rouge.py' # requires rouge ' --ignore=tests/ignite/distributed/test_launcher.py' # no module named torch in torchrun subprocess ' --ignore=tests/ignite/handlers/test_checkpoint.py' # fails by comparing tensors on different devices + ' --ignore=tests/ignite/contrib/handlers/test_tqdm_logger.py' # fragile tests on some platforms ' -k "not test_setup_visdom_logging"' # requires visdom '" and not test_setup_plx_logging"' # requires polyaxon '" and not test_setup_mlflow_logging"' # requires mlflow From 31803dc9aba953f675dc0ece970d4cbb5fe94d83 Mon Sep 17 00:00:00 2001 From: Yunqi Shao Date: Fri, 5 Apr 2024 18:22:12 +0200 Subject: [PATCH 366/889] Remove protobuf-23.4 and protobuf-python-4.23.4 with GCCcore-12.3.0 --- .../protobuf-python-4.23.4-GCCcore-12.3.0.eb | 36 ------------------- .../protobuf/protobuf-23.4-GCCcore-12.3.0.eb | 35 ------------------ 2 files changed, 71 deletions(-) delete mode 100644 easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.23.4-GCCcore-12.3.0.eb delete mode 100644 easybuild/easyconfigs/p/protobuf/protobuf-23.4-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.23.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.23.4-GCCcore-12.3.0.eb deleted file mode 100644 index d3632879d75..00000000000 --- a/easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.23.4-GCCcore-12.3.0.eb +++ /dev/null @@ -1,36 +0,0 @@ -easyblock = 'PythonPackage' - -name = 'protobuf-python' -version = '4.23.4' - -homepage = 'https://github.com/google/protobuf/' -description = """Python Protocol Buffers runtime library.""" - -toolchain = {'name': 'GCCcore', 'version': '12.3.0'} - -source_urls = ['https://pypi.python.org/packages/source/p/protobuf'] -sources = ['protobuf-%(version)s.tar.gz'] -patches = [] -checksums = ['ccd9430c0719dce806b93f89c91de7977304729e55377f872a92465d548329a9'] - -builddependencies = [('binutils', '2.40')] - -dependencies = [ - ('Python', '3.11.3'), - ('protobuf', '23.4') -] - -download_dep_fail = True -use_pip = True -sanity_pip_check = True - -# Make sure protobuf is installed as a regular folder or it will not be found if -# other google packages are installed in other site-packages folders -sanity_check_paths = { - 'files': [], - 'dirs': ['lib/python%(pyshortver)s/site-packages/google/protobuf'], -} - -options = {'modulename': 'google.protobuf'} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/protobuf/protobuf-23.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/protobuf/protobuf-23.4-GCCcore-12.3.0.eb deleted file mode 100644 index 09490cd71ff..00000000000 --- a/easybuild/easyconfigs/p/protobuf/protobuf-23.4-GCCcore-12.3.0.eb +++ /dev/null @@ -1,35 +0,0 @@ -easyblock = 'CMakeMake' - -name = 'protobuf' -version = '23.4' - -homepage = 'https://github.com/protocolbuffers/protobuf' -description = """Protocol Buffers (a.k.a., protobuf) are Google's -language-neutral, platform-neutral, extensible mechanism for -serializing structured data.""" - -toolchain = {'name': 'GCCcore', 'version': '12.3.0'} - -source_urls = ['https://github.com/protocolbuffers/protobuf/archive/refs/tags/'] -sources = ['v%(version)s.tar.gz'] -checksums = ['a700a49470d301f1190a487a923b5095bf60f08f4ae4cac9f5f7c36883d17971'] - -builddependencies = [ - ('binutils', '2.40'), - ('CMake', '3.26.3'), -] - -srcdir = '.' - -configopts = '-Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_ABSL_PROVIDER="package" ' - -dependencies = [ - ('Abseil', '20230125.3'), -] - -sanity_check_paths = { - 'files': ['bin/protoc', 'lib/libprotobuf.%s' % SHLIB_EXT], - 'dirs': [], -} - -moduleclass = 'devel' From 7c962601171b57d362a4e6fe462826be8f299f1b Mon Sep 17 00:00:00 2001 From: Yunqi Shao Date: Tue, 9 Apr 2024 12:05:08 +0000 Subject: [PATCH 367/889] Swap out ml-dtype for the easybuild version --- .../t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb index 31f8100fdac..23ce8be113a 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb @@ -46,6 +46,7 @@ dependencies = [ ('libpng', '1.6.39'), ('snappy', '1.1.10'), ('zlib', '1.2.13'), + ('ml_dtypes', '0.3.2'), # for grpcio only (Abseil excluded for tensorflow) ('OpenSSL', '1.1', '', SYSTEM), ('RE2', '2023-08-01'), @@ -135,13 +136,6 @@ exts_list = [ 'modulename': 'google.auth', 'checksums': ['34fc3046c257cedcf1622fc4b31fc2be7923d9b4d44973d481125ecc50d83885'], }), - ('ml-dtypes', '0.3.1', { - 'source_tmpl': ( - 'ml_dtypes-%(version)s-' - 'cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl' - ), - 'checksums': ['42a8980afd8b7c8e270e8b5c260237286b5b26acd276fcb758d13cd7cb567e99'], - }), ('tensorboard-data-server', '0.7.2', { 'source_tmpl': 'tensorboard_data_server-%(version)s-py3-none-any.whl', 'checksums': ['7e0610d205889588983836ec05dc098e80f97b7e7bbff7e994ebb78f578d0ddb'], From 470d690efaa1a6b5b12b64ab3c08b7c4e5b23fad Mon Sep 17 00:00:00 2001 From: Yunqi Shao Date: Wed, 10 Apr 2024 22:13:41 +0200 Subject: [PATCH 368/889] Update versions and check comments --- .../TensorFlow-2.15.1-foss-2023a.eb | 168 ++++++++---------- ...t.patch => grpcio-1.57.0_use-ebroot.patch} | 0 2 files changed, 76 insertions(+), 92 deletions(-) rename easybuild/easyconfigs/t/TensorFlow/{grpcio-1.16.0_use-ebroot.patch => grpcio-1.57.0_use-ebroot.patch} (100%) diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb index 23ce8be113a..337f1fd49ec 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb @@ -14,14 +14,15 @@ sanity_pip_check = True builddependencies = [ ('Bazel', '6.1.0'), + # git 2.x required, see also https://github.com/tensorflow/tensorflow/issues/29053 ('git', '2.41.0', '-nodocs'), ('pybind11', '2.11.1'), ('UnZip', '6.0'), + # Required to build some of the extensions ('poetry', '1.5.1'), + # Protobuf disabled since 2.13.0 easyconfigs: # Compiling with system protobuf don't seem to work, see: # https://github.com/tensorflow/tensorflow/issues/61593 - # In addition there are more rules in third_python that - # do not have corresponding ones in systemlib/protobuf.BUILD # ('protobuf', '24.0'), ] @@ -38,6 +39,7 @@ dependencies = [ ('ICU', '73.2'), ('JsonCpp', '1.9.5'), ('libjpeg-turbo', '2.1.5.1'), + ('ml_dtypes', '0.3.2'), ('NASM', '2.16.01'), ('nsync', '1.26.0'), ('SQLite', '3.42.0'), @@ -46,103 +48,87 @@ dependencies = [ ('libpng', '1.6.39'), ('snappy', '1.1.10'), ('zlib', '1.2.13'), - ('ml_dtypes', '0.3.2'), # for grpcio only (Abseil excluded for tensorflow) ('OpenSSL', '1.1', '', SYSTEM), ('RE2', '2023-08-01'), ('Abseil', '20230125.3'), ] +# Dependencies created and updated using findPythonDeps, see: +# https://docs.easybuild.io/api/easybuild/scripts/findPythonDeps +# Notable changes since 2.13.0-foss-2023a +# - tensoboard-wit deprecated as of tensorboard 2.13.0 (tensorboard@33abcb54d7) +# - portpicker for tests no longer needed (TF@e85860e838) +# - opt_einsum now comes from ml_dtypes exts_list = [ + ('wrapt', '1.14.1', { 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], }), - ('typing_extensions', '4.10.0', { - 'checksums': ['b0abd7c89e8fb96f98db18d86106ff1d90ab692004eb746cf6eda2682f91b3cb'], - }), ('termcolor', '2.3.0', { 'checksums': ['b5b08f68937f138fe92f6c089b99f1e2da0ae56c52b78bf7075fd95420fd9a5a'], }), - ('MarkupSafe', '2.1.5', { - 'checksums': ['d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b'], - }), - ('Werkzeug', '2.2.2', { - 'checksums': ['7ea2d48322cc7c0f8b3a215ed73eabd7b5d75d0b50e31ab006286ccff9e00b8f'], - }), - ('six', '1.16.0', { - 'checksums': ['1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926'], - }), - ('urllib3', '2.2.1', { - 'checksums': ['d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19'], - }), - ('idna', '3.6', { - 'checksums': ['9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca'], + ('tensorflow-estimator', '2.15.0', { + 'source_tmpl': 'tensorflow_estimator-%(version)s-py2.py3-none-any.whl', + 'checksums': ['aedf21eec7fb2dc91150fc91a1ce12bc44dbb72278a08b58e79ff87c9e28f153'], }), - ('charset-normalizer', '3.3.2', { - 'checksums': ['f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5'], + ('Werkzeug', '3.0.2', { + 'source_tmpl': SOURCELOWER_TAR_GZ, + 'checksums': ['e39b645a6ac92822588e7b39a692e7828724ceae0b0d702ef96701f90e70128d'], }), - ('certifi', '2024.2.2', { - 'checksums': ['0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f'], + ('tensorboard-data-server', '0.7.2', { + 'source_tmpl': 'tensorboard_data_server-%(version)s-py3-none-any.whl', + 'checksums': ['7e0610d205889588983836ec05dc098e80f97b7e7bbff7e994ebb78f578d0ddb'], }), - ('requests', '2.31.0', { - 'checksums': ['942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1'], + ('Markdown', '3.6', { + 'checksums': ['ed4f41f6daecbeeb96e576ce414c41d2d876daa9a16cb35fa8ed8c2ddfad0224'], }), - ('Markdown', '3.5.2', { - 'checksums': ['e1ac7b3dc550ee80e602e71c1d168002f062e49f1b11e26a36264dafd4df2ef8'], + ('grpcio', '1.57.0', { + 'modulename': 'grpc', + 'preinstallopts': ( + "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && " + # Required to avoid building with non-default C++ standard but keep other flags, + # see https://github.com/grpc/grpc/issues/34256 + 'export GRPC_PYTHON_CFLAGS="-fvisibility=hidden -fno-wrapv -fno-exceptions" &&' + "GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=True " + "GRPC_PYTHON_BUILD_SYSTEM_ZLIB=True " + "GRPC_PYTHON_BUILD_SYSTEM_RE2=True " + "GRPC_PYTHON_BUILD_SYSTEM_ABSL=True " + ), + 'patches': ['grpcio-1.57.0_use-ebroot.patch'], + 'checksums': [ + {'grpcio-1.57.0.tar.gz': + '4b089f7ad1eb00a104078bab8015b0ed0ebcb3b589e527ab009c53893fd4e613'}, + {'grpcio-1.57.0_use-ebroot.patch': + '5faf822cd817b723ae9361e43656d0ecc7b3333a166bbab2df80b43ae588e510'}, + ], }), ('oauthlib', '3.2.2', { 'checksums': ['9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918'], }), - ('requests-oauthlib', '1.3.1', { - 'checksums': ['75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a'], - }), - ('pyasn1-modules', '0.3.0', { - 'source_tmpl': 'pyasn1_modules-%(version)s.tar.gz', - 'checksums': ['5bd01446b736eb9d31512a30d46c1ac3395d676c6f3cafa4c03eb54b9925631c'], + ('requests-oauthlib', '2.0.0', { + 'checksums': ['b3dffaebd884d8cd778494369603a9e7b58d29111bf6b41bdc2dcd87203af4e9'], }), ('rsa', '4.9', { 'checksums': ['e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21'], }), + ('pyasn1-modules', '0.4.0', { + 'source_tmpl': 'pyasn1_modules-%(version)s.tar.gz', + 'checksums': ['831dbcea1b177b28c9baddf4c6d1013c24c3accd14a1873fffaa6a2e905f17b6'], + }), ('cachetools', '5.3.3', { 'checksums': ['ba29e2dfa0b8b556606f097407ed1aa62080ee108ab0dc5ec9d6a723a007d105'], }), - ('gast', '0.5.4', { - 'checksums': ['9c270fe5f4b130969b54174de7db4e764b09b4f7f67ccfc32480e29f78348d97'], - }), - ('flatbuffers', '23.5.26', { - 'checksums': ['9ea1144cac05ce5d86e2859f431c6cd5e66cd9c78c558317c7955fb8d4c78d89'], - }), - ('astunparse', '1.6.3', { - 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], - }), - ('tblib', '3.0.0', { - 'checksums': ['93622790a0a29e04f0346458face1e144dc4d32f493714c6c3dff82a4adb77e6'], - }), - ('astor', '0.8.1', { - 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + ('google-auth', '2.29.0', { + 'modulename': 'google.auth', + 'checksums': ['672dff332d073227550ffc7457868ac4218d6c500b155fe6cc17d2b13602c360'], }), ('google-auth-oauthlib', '1.2.0', { 'checksums': ['292d2d3783349f2b0734a0a0207b1e1e322ac193c2c09d8f7c613fb7cc501ea8'], }), - ('google-pasta', '0.2.0', { - 'modulename': 'pasta', - 'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'], - }), - ('absl-py', '1.4.0', { + ('absl-py', '2.1.0', { 'modulename': 'absl', - 'checksums': ['d2c244d01048ba476e7c080bd2c6df5e141d211de80223460d5b3b8a2a58433d'], - }), - ('google-auth', '2.28.1', { - 'modulename': 'google.auth', - 'checksums': ['34fc3046c257cedcf1622fc4b31fc2be7923d9b4d44973d481125ecc50d83885'], - }), - ('tensorboard-data-server', '0.7.2', { - 'source_tmpl': 'tensorboard_data_server-%(version)s-py3-none-any.whl', - 'checksums': ['7e0610d205889588983836ec05dc098e80f97b7e7bbff7e994ebb78f578d0ddb'], - }), - ('tensorflow-estimator', '2.15.0', { - 'source_tmpl': 'tensorflow_estimator-%(version)s-py2.py3-none-any.whl', - 'checksums': ['aedf21eec7fb2dc91150fc91a1ce12bc44dbb72278a08b58e79ff87c9e28f153'], + 'checksums': ['7820790efbb316739cde8b4e19357243fc3608a152024288513dd968d7d959ff'], }), ('tensorboard', '2.15.2', { 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', @@ -152,29 +138,28 @@ exts_list = [ 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', 'checksums': ['2dcc6d2e30cf9c951064b63c1f4c404b966c59caf09e01f3549138ec8ee0dd1f'], }), - ('grpcio', '1.60.0', { - 'modulename': 'grpc', - 'preinstallopts': ( - "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && " - # Required to avoid building with non-default C++ standard but keep other flags, - # see https://github.com/grpc/grpc/issues/34256 - 'export GRPC_PYTHON_CFLAGS="-fvisibility=hidden -fno-wrapv -fno-exceptions" &&' - "GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=True " - "GRPC_PYTHON_BUILD_SYSTEM_ZLIB=True " - "GRPC_PYTHON_BUILD_SYSTEM_RE2=True " - "GRPC_PYTHON_BUILD_SYSTEM_ABSL=True " - ), - 'patches': ['grpcio-1.16.0_use-ebroot.patch'], - 'checksums': [ - {'grpcio-1.60.0.tar.gz': - '2199165a1affb666aa24adf0c97436686d0a61bc5fc113c037701fb7c7fceb96'}, - {'grpcio-1.16.0_use-ebroot.patch': - '5faf822cd817b723ae9361e43656d0ecc7b3333a166bbab2df80b43ae588e510'}, - ], + ('google-pasta', '0.2.0', { + 'modulename': 'pasta', + 'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'], }), - ('opt-einsum', '3.3.0', { - 'source_tmpl': 'opt_einsum-%(version)s-py3-none-any.whl', - 'checksums': ['2455e59e3947d3c275477df7f5205b30635e266fe6dc300e3d9f9646bfcea147'], + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + # Required by tests + ('tblib', '3.0.0', { + 'checksums': ['93622790a0a29e04f0346458face1e144dc4d32f493714c6c3dff82a4adb77e6'], + }), + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + # Optional profile plugin + dependency + ('gviz-api', '1.10.0', { + 'source_tmpl': 'gviz_api-%(version)s.tar.gz', + 'checksums': ['846692dd8cc73224fc31b18e41589bd934e1cc05090c6576af4b4b26c2e71b90'], + }), + ('tensorboard-plugin-profile', '2.15.1', { + 'source_tmpl': 'tensorboard_plugin_profile-%(version)s.tar.gz', + 'checksums': ['84bb33e446eb4a9c0616f669fc6a42cdd40eadd9ae1d74bf756f4f0479993273'], }), (name, version, { 'patches': [ @@ -252,11 +237,10 @@ exts_list = [ }), ] - # Taken from tensorboard-2.15.1-gfbf-2023a.eb: -# Relax restriction on protobuf dependency as issue was fixed -# in https://github.com/protocolbuffers/upb/pull/1514 -# see also: https://github.com/easybuilders/easybuild-easyconfigs/pull/19671 +# Relax restriction on protobuf dependency as issue was fixed +# in https://github.com/protocolbuffers/upb/pull/1514 +# see also: https://github.com/easybuilders/easybuild-easyconfigs/pull/19671 postinstallcmds = [ 'sed -i "s/Requires-Dist: protobuf.*/Requires-Dist: protobuf >=3.19.6/g" ' + '%(installdir)s/lib/python%(pyshortver)s/site-packages/tensorboard-2.15.2.dist-info/METADATA', diff --git a/easybuild/easyconfigs/t/TensorFlow/grpcio-1.16.0_use-ebroot.patch b/easybuild/easyconfigs/t/TensorFlow/grpcio-1.57.0_use-ebroot.patch similarity index 100% rename from easybuild/easyconfigs/t/TensorFlow/grpcio-1.16.0_use-ebroot.patch rename to easybuild/easyconfigs/t/TensorFlow/grpcio-1.57.0_use-ebroot.patch From 44506ac0fceadf99d6986db19318b6516a1b5055 Mon Sep 17 00:00:00 2001 From: Yunqi Shao Date: Thu, 11 Apr 2024 10:42:57 +0200 Subject: [PATCH 369/889] Add grpcio-1.57.0-GCCcore-12.3.0 --- .../g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb | 52 +++++++++++++++++++ .../grpcio}/grpcio-1.57.0_use-ebroot.patch | 0 .../TensorFlow-2.15.1-foss-2023a.eb | 30 ++--------- 3 files changed, 55 insertions(+), 27 deletions(-) create mode 100644 easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb rename easybuild/easyconfigs/{t/TensorFlow => g/grpcio}/grpcio-1.57.0_use-ebroot.patch (100%) diff --git a/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..d5865626234 --- /dev/null +++ b/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb @@ -0,0 +1,52 @@ +easyblock = 'PythonBundle' + +name = 'grpcio' +version = '1.57.0' + +homepage = 'https://grpc.io/' +description = """gRPC is a modern, open source, high-performance remote procedure call (RPC) +framework that can run anywhere. gRPC enables client and server applications to +communicate transparently, and simplifies the building of connected systems.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +use_pip = True +sanity_pip_check = True + +builddependencies = [ + ('binutils', '2.40'), + ('OpenSSL', '1.1', '', SYSTEM), + ('RE2', '2023-08-01'), + ('Abseil', '20230125.3'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('protobuf-python', '4.24.0'), +] + +exts_list = [ + (name, version, { + 'modulename': 'grpc', + 'preinstallopts': ( + "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && " + # Required to avoid building with non-default C++ standard but keep other flags, + # see https://github.com/grpc/grpc/issues/34256 + 'export GRPC_PYTHON_CFLAGS="-fvisibility=hidden -fno-wrapv -fno-exceptions" &&' + "GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=True " + "GRPC_PYTHON_BUILD_SYSTEM_ZLIB=True " + "GRPC_PYTHON_BUILD_SYSTEM_RE2=True " + "GRPC_PYTHON_BUILD_SYSTEM_ABSL=True " + ), + 'patches': ['grpcio-1.57.0_use-ebroot.patch'], + 'checksums': [ + {'grpcio-1.57.0.tar.gz': + '4b089f7ad1eb00a104078bab8015b0ed0ebcb3b589e527ab009c53893fd4e613'}, + {'grpcio-1.57.0_use-ebroot.patch': + '5faf822cd817b723ae9361e43656d0ecc7b3333a166bbab2df80b43ae588e510'}, + ], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TensorFlow/grpcio-1.57.0_use-ebroot.patch b/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0_use-ebroot.patch similarity index 100% rename from easybuild/easyconfigs/t/TensorFlow/grpcio-1.57.0_use-ebroot.patch rename to easybuild/easyconfigs/g/grpcio/grpcio-1.57.0_use-ebroot.patch diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb index 337f1fd49ec..374565a1f0c 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb @@ -44,14 +44,10 @@ dependencies = [ ('nsync', '1.26.0'), ('SQLite', '3.42.0'), ('patchelf', '0.18.0'), - ('protobuf-python', '4.24.0'), ('libpng', '1.6.39'), ('snappy', '1.1.10'), ('zlib', '1.2.13'), - # for grpcio only (Abseil excluded for tensorflow) - ('OpenSSL', '1.1', '', SYSTEM), - ('RE2', '2023-08-01'), - ('Abseil', '20230125.3'), + ('grpcio', '1.57.0'), ] # Dependencies created and updated using findPythonDeps, see: @@ -83,26 +79,6 @@ exts_list = [ ('Markdown', '3.6', { 'checksums': ['ed4f41f6daecbeeb96e576ce414c41d2d876daa9a16cb35fa8ed8c2ddfad0224'], }), - ('grpcio', '1.57.0', { - 'modulename': 'grpc', - 'preinstallopts': ( - "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && " - # Required to avoid building with non-default C++ standard but keep other flags, - # see https://github.com/grpc/grpc/issues/34256 - 'export GRPC_PYTHON_CFLAGS="-fvisibility=hidden -fno-wrapv -fno-exceptions" &&' - "GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=True " - "GRPC_PYTHON_BUILD_SYSTEM_ZLIB=True " - "GRPC_PYTHON_BUILD_SYSTEM_RE2=True " - "GRPC_PYTHON_BUILD_SYSTEM_ABSL=True " - ), - 'patches': ['grpcio-1.57.0_use-ebroot.patch'], - 'checksums': [ - {'grpcio-1.57.0.tar.gz': - '4b089f7ad1eb00a104078bab8015b0ed0ebcb3b589e527ab009c53893fd4e613'}, - {'grpcio-1.57.0_use-ebroot.patch': - '5faf822cd817b723ae9361e43656d0ecc7b3333a166bbab2df80b43ae588e510'}, - ], - }), ('oauthlib', '3.2.2', { 'checksums': ['9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918'], }), @@ -174,14 +150,14 @@ exts_list = [ 'export TF_PYTHON_VERSION=3.11 && ' 'export TF_SYSTEM_LIBS=$(python -c "' "print(','.join([l for l in '$TF_SYSTEM_LIBS'.split(',') " - " if l not in ['opt_einsum_archive', 'com_google_absl']]))" + " if l not in ['opt_einsum_archive']]))" '") && ' ), 'preconfigopts': ( 'export TF_NEED_CLANG=no && ' 'export TF_SYSTEM_LIBS=$(python -c "' "print(','.join([l for l in '$TF_SYSTEM_LIBS'.split(',') " - " if l not in ['opt_einsum_archive', 'com_google_absl']]))" + " if l not in ['opt_einsum_archive']]))" '") && ' ), 'source_tmpl': 'v%(version)s.tar.gz', From a39574afcf6996662354ec57449306e1141d42d6 Mon Sep 17 00:00:00 2001 From: Yunqi Shao Date: Thu, 11 Apr 2024 11:59:03 +0000 Subject: [PATCH 370/889] Move patchworks to easyblocks --- .../t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb index 374565a1f0c..c0d131a393d 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb @@ -146,20 +146,6 @@ exts_list = [ 'TensorFlow-2.15.1_fix-flatbuffer-license.patch', 'TensorFlow-2.15.1_fix-pybind11-build.patch', ], - 'prebuildopts': ( - 'export TF_PYTHON_VERSION=3.11 && ' - 'export TF_SYSTEM_LIBS=$(python -c "' - "print(','.join([l for l in '$TF_SYSTEM_LIBS'.split(',') " - " if l not in ['opt_einsum_archive']]))" - '") && ' - ), - 'preconfigopts': ( - 'export TF_NEED_CLANG=no && ' - 'export TF_SYSTEM_LIBS=$(python -c "' - "print(','.join([l for l in '$TF_SYSTEM_LIBS'.split(',') " - " if l not in ['opt_einsum_archive']]))" - '") && ' - ), 'source_tmpl': 'v%(version)s.tar.gz', 'source_urls': ['https://github.com/tensorflow/tensorflow/archive/'], 'test_script': 'TensorFlow-2.x_mnist-test.py', From 342283165c9ab9aa152bf33d904f0cef98e9de6e Mon Sep 17 00:00:00 2001 From: Alan O'Cais Date: Thu, 11 Apr 2024 22:55:35 +0200 Subject: [PATCH 371/889] adding easyconfigs: amdahl-0.3.1-gompi-2023a.eb --- .../a/amdahl/amdahl-0.3.1-gompi-2023a.eb | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 easybuild/easyconfigs/a/amdahl/amdahl-0.3.1-gompi-2023a.eb diff --git a/easybuild/easyconfigs/a/amdahl/amdahl-0.3.1-gompi-2023a.eb b/easybuild/easyconfigs/a/amdahl/amdahl-0.3.1-gompi-2023a.eb new file mode 100644 index 00000000000..7f275389557 --- /dev/null +++ b/easybuild/easyconfigs/a/amdahl/amdahl-0.3.1-gompi-2023a.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonPackage' + +name = 'amdahl' +version = '0.3.1' + +homepage = "https://github.com/hpc-carpentry/amdahl" +description = """This Python module contains a pseudo-application that can be used as a black +box to reproduce Amdahl's Law. It does not do real calculations, nor any real +communication, so can easily be overloaded. +""" + +toolchain = {'name': 'gompi', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('mpi4py', '3.1.4'), +] + +source_urls = [PYPI_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b2e0f13fbfc082c83871583d6254ba6c1abc0033ee9cf8a5d018c5541c32ff74'] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/amdahl'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "amdahl --help", +] + +moduleclass = 'devel' From 91c053b8b174872673f75e7245bb0054be7aeee5 Mon Sep 17 00:00:00 2001 From: ocaisa Date: Thu, 11 Apr 2024 23:12:13 +0200 Subject: [PATCH 372/889] Update amdahl-0.3.1-gompi-2023a.eb --- easybuild/easyconfigs/a/amdahl/amdahl-0.3.1-gompi-2023a.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/a/amdahl/amdahl-0.3.1-gompi-2023a.eb b/easybuild/easyconfigs/a/amdahl/amdahl-0.3.1-gompi-2023a.eb index 7f275389557..03df4c86664 100644 --- a/easybuild/easyconfigs/a/amdahl/amdahl-0.3.1-gompi-2023a.eb +++ b/easybuild/easyconfigs/a/amdahl/amdahl-0.3.1-gompi-2023a.eb @@ -16,7 +16,6 @@ dependencies = [ ('mpi4py', '3.1.4'), ] -source_urls = [PYPI_SOURCE] sources = [SOURCELOWER_TAR_GZ] checksums = ['b2e0f13fbfc082c83871583d6254ba6c1abc0033ee9cf8a5d018c5541c32ff74'] From 1397cb806a581ae6ba1732ebc1a61b3dbde6a671 Mon Sep 17 00:00:00 2001 From: Ake Sandgren Date: Fri, 12 Apr 2024 09:24:45 +0200 Subject: [PATCH 373/889] PyTorch-bundle: add patch for ignite and re-enable launcher test, remove some more tests --- ...rch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 85 +++++-------------- ...destroy_python_path_in_test_launcher.patch | 15 ++++ 2 files changed, 36 insertions(+), 64 deletions(-) create mode 100644 easybuild/easyconfigs/p/PyTorch-bundle/torch-ignite-0.4.13_dont_destroy_python_path_in_test_launcher.patch diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index e857a7d4bdf..8f674f51df1 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -46,18 +46,20 @@ exts_list = [ }), ('torchdata', '0.7.1', { 'preinstallopts': "USE_SYSTEM_LIBS=1 ", + 'runtest': False, 'source_urls': ['https://github.com/pytorch/data/archive'], 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], 'checksums': ['ef9bbdcee759b53c3c9d99e76eb0a66da33d36bfb7f859a25a9b5e737a51fa23'], - 'runtest': False, # circular test requirements }), ('torchtext', '0.16.2', { 'patches': [ 'torchtext-0.14.1_use-system-libs.patch', 'torchtext-0.16.2_download-to-project-root.patch', ], + 'runtest': 'pytest test/torchtext_unittest -k "not test_vocab_from_raw_text_file"" and not test_get_tokenizer_moses"" and not test_get_tokenizer_spacy"" and not test_download_charngram_vectors"', 'source_urls': ['https://github.com/pytorch/text/archive'], 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'testinstall': True, 'checksums': [ {'torchtext-0.16.2.tar.gz': '6574b012804f65220329a2ad34a95c18e4df0d4cff2f862fb7862d57b374b013'}, {'torchtext-0.14.1_use-system-libs.patch': @@ -65,26 +67,21 @@ exts_list = [ {'torchtext-0.16.2_download-to-project-root.patch': '9d5599a9983729cf1fc7ab2a2f65d1887f223f528e15662ba1b4a5e359c9686d'}, ], - 'runtest': ( - 'pytest test/torchtext_unittest' - ' -k "not test_vocab_from_raw_text_file"' # segfaults - '" and not test_get_tokenizer_moses"' # requires sacremoses - '" and not test_get_tokenizer_spacy"' # requires spaCy - ), - 'testinstall': True, }), - ('pytest-mock', '3.11.1', { # for torchvision tests + ('pytest-mock', '3.11.1', { 'checksums': ['7f6b125602ac6d743e523ae0bfa71e1a697a2f5534064528c6ff84c2f7c2fc7f'], }), ('torchvision', '0.16.2', { - 'preinstallopts': 'WITH_CUDA=1 TORCHVISION_INCLUDE="$EBROOTLIBJPEGMINTURBO/include:$TORCHVISION_INCLUDE"', 'installopts': '-v', 'patches': [ 'torchvision-0.16.2_ffmpeg-6.0-fix.patch', 'torchvision-0.16.2_quantized_tol.patch', ], + 'preinstallopts': 'WITH_CUDA=1 TORCHVISION_INCLUDE="$EBROOTLIBJPEGMINTURBO/include:$TORCHVISION_INCLUDE"', + 'runtest': 'pytest -m "not xfail" -k "not test_frame_reading_mem_vs_file"', 'source_urls': ['https://github.com/pytorch/vision/archive'], 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'testinstall': True, 'checksums': [ {'torchvision-0.16.2.tar.gz': '8c1f2951e98d8ada6e5a468f179af4be9f56d2ebc3ab057af873da61669806d7'}, {'torchvision-0.16.2_ffmpeg-6.0-fix.patch': @@ -92,23 +89,18 @@ exts_list = [ {'torchvision-0.16.2_quantized_tol.patch': '457cdf8ad6653838c552890bce95dbe30b7573b1643334284f5f4a58f74f6e40'}, ], - 'runtest': ( - 'pytest' - ' -m "not xfail"' # don't run tests that are expected that they might fail - ' -k "not test_frame_reading_mem_vs_file"' # this one hangs - ), - 'testinstall': True, }), - ('torchaudio', '2.1.2', { - 'installopts': '--no-use-pep517 -v', + ('torchaudio', version, { + 'installopts': "--no-use-pep517 -v", 'patches': [ 'torchaudio-2.1.2_use-external-sox.patch', 'torchaudio-2.1.2_transform_test_tol.patch', ], - 'preinstallopts': ('rm -r third_party/{sox,ffmpeg/multi};' # runs twice when testinstall - ' USE_CUDA=1 USE_OPENMP=1 USE_FFMPEG=1 FFMPEG_ROOT="$EBROOTFFMPEG"'), + 'preinstallopts': 'rm -r third_party/{sox,ffmpeg/multi}; USE_CUDA=1 USE_OPENMP=1 USE_FFMPEG=1 FFMPEG_ROOT="$EBROOTFFMPEG"', + 'runtest': 'pytest test/torchaudio_unittest/ -k "not TestProcessPoolExecutor"" and not FilterGraphWithCudaAccel"" and not kaldi_io_test"" and not test_dup_hw_acel"" and not test_h264_cuvid"" and not test_hevc_cuvid"', 'source_urls': ['https://github.com/pytorch/audio/archive'], 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'testinstall': True, 'checksums': [ {'torchaudio-2.1.2.tar.gz': '82c2745a73172b495327ec36c6970ad5ad9d5d2ac44feeaea2617152f9393bf7'}, {'torchaudio-2.1.2_use-external-sox.patch': @@ -116,61 +108,26 @@ exts_list = [ {'torchaudio-2.1.2_transform_test_tol.patch': '57f315c60db70ed2bd9711bcf6f7c7c24dac8c2f04e00488996eb2dc507bdfd2'}, ], - 'runtest': ( - 'pytest test/torchaudio_unittest/' - ' -k "not TestProcessPoolExecutor"' # hang maybe related https://github.com/pytorch/audio/issues/1021 - '" and not FilterGraphWithCudaAccel"' # requires FFmpeg with CUDA support - '" and not kaldi_io_test"' # requires kaldi_io - '" and not test_dup_hw_acel"' # requires special render device permissions - '" and not test_h264_cuvid"' # requires special render device permissions - '" and not test_hevc_cuvid"' # requires special render device permissions - ), - 'testinstall': True, }), ('pytorch-ignite', '0.4.13', { 'modulename': 'ignite', + 'patches': ['torch-ignite-0.4.13_dont_destroy_python_path_in_test_launcher.patch'], + 'runtest': 'pytest -m "not distributed" --ignore=tests/ignite/contrib/handlers/test_clearml_logger.py --ignore=tests/ignite/contrib/handlers/test_mlflow_logger.py --ignore=tests/ignite/contrib/handlers/test_neptune_logger.py --ignore=tests/ignite/contrib/handlers/test_polyaxon_logger.py --ignore=tests/ignite/contrib/handlers/test_tensorboard_logger.py --ignore=tests/ignite/contrib/handlers/test_visdom_logger.py --ignore=tests/ignite/contrib/handlers/test_wandb_logger.py --ignore=tests/ignite/metrics/gan/test_fid.py --ignore=tests/ignite/metrics/nlp/test_rouge.py --ignore=tests/ignite/handlers/test_checkpoint.py --ignore=tests/ignite/contrib/handlers/test_tqdm_logger.py -k "not test_setup_visdom_logging"" and not test_setup_plx_logging"" and not test_setup_mlflow_logging"" and not test_setup_clearml_logging"" and not test_setup_neptune_logging"" and not test__setup_ddp_vars_from_slurm_env_bad_configs"" and not test__native_dist_model_create_from_backend_bad_config"" and not test_inception_score"', 'source_urls': ['https://github.com/pytorch/ignite/archive'], 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], - 'checksums': ['bfe4b6f1cd96e78c021a65a0c51350cdb89d6ef5a8b9609638666ca95bae51d7'], - 'runtest': ( - 'pytest' - ' -m "not distributed"' - ' --ignore=tests/ignite/contrib/handlers/test_clearml_logger.py' # requires clearml - ' --ignore=tests/ignite/contrib/handlers/test_mlflow_logger.py' # requires mlflow - ' --ignore=tests/ignite/contrib/handlers/test_neptune_logger.py' # requires neptune - ' --ignore=tests/ignite/contrib/handlers/test_polyaxon_logger.py' # requires polyaxon - ' --ignore=tests/ignite/contrib/handlers/test_tensorboard_logger.py' # requires tensorboardX - ' --ignore=tests/ignite/contrib/handlers/test_visdom_logger.py' # requires visdom - ' --ignore=tests/ignite/contrib/handlers/test_wandb_logger.py' # requires wandb - ' --ignore=tests/ignite/metrics/gan/test_fid.py' # requires pytorch_fid - ' --ignore=tests/ignite/metrics/nlp/test_rouge.py' # requires rouge - ' --ignore=tests/ignite/distributed/test_launcher.py' # no module named torch in torchrun subprocess - ' --ignore=tests/ignite/handlers/test_checkpoint.py' # fails by comparing tensors on different devices - ' --ignore=tests/ignite/contrib/handlers/test_tqdm_logger.py' # fragile tests on some platforms - ' -k "not test_setup_visdom_logging"' # requires visdom - '" and not test_setup_plx_logging"' # requires polyaxon - '" and not test_setup_mlflow_logging"' # requires mlflow - '" and not test_setup_clearml_logging"' # requires clearml - '" and not test_setup_neptune_logging"' # requires neptune - '" and not test__setup_ddp_vars_from_slurm_env_bad_configs"' # fails sometimes - '" and not test__native_dist_model_create_from_backend_bad_config"' # fails sometimes - ), 'testinstall': True, + 'checksums': [ + {'pytorch-ignite-0.4.13.tar.gz': 'bfe4b6f1cd96e78c021a65a0c51350cdb89d6ef5a8b9609638666ca95bae51d7'}, + {'torch-ignite-0.4.13_dont_destroy_python_path_in_test_launcher.patch': + 'fd5dfe99f4c8804d6c57e4d9140d9e556e0724b379f9eaae8aeaf1b7bd058686'}, + ], }), ('torch-tb-profiler', '0.4.3', { 'modulename': 'torch.profiler', + 'runtest': 'pytest --ignore=test/test_tensorboard_end2end.py -k "not test_dump_gpu_metrics"" and not test_profiler_api_with_record_shapes_memory_stack"" and not test_profiler_api_without_record_shapes_memory_stack"" and not test_profiler_api_without_step"" and not test_autograd_api"', 'sources': ['torch_tb_profiler-%(version)s.tar.gz'], - 'checksums': ['8b8d29b2de960b3c4423087b23cec29beaf9ac3a8c7b046c18fd25b218f726b1'], - 'runtest': ( - 'pytest' - ' --ignore=test/test_tensorboard_end2end.py' # timeouts - ' -k "not test_dump_gpu_metrics"' # missing file - '" and not test_profiler_api_with_record_shapes_memory_stack"' # fails - '" and not test_profiler_api_without_record_shapes_memory_stack"' # fails - '" and not test_profiler_api_without_step"' # fails - '" and not test_autograd_api"' # fails - ), 'testinstall': True, + 'checksums': ['8b8d29b2de960b3c4423087b23cec29beaf9ac3a8c7b046c18fd25b218f726b1'], }), ] diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/torch-ignite-0.4.13_dont_destroy_python_path_in_test_launcher.patch b/easybuild/easyconfigs/p/PyTorch-bundle/torch-ignite-0.4.13_dont_destroy_python_path_in_test_launcher.patch new file mode 100644 index 00000000000..e00f242d24c --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-bundle/torch-ignite-0.4.13_dont_destroy_python_path_in_test_launcher.patch @@ -0,0 +1,15 @@ +Don't destroy PYTHONPATH when launching subprocesses + +Åke Sandgren, 2024-04-09 +diff -ru ignite-0.4.13.orig/tests/ignite/distributed/test_launcher.py ignite-0.4.13/tests/ignite/distributed/test_launcher.py +--- ignite-0.4.13.orig/tests/ignite/distributed/test_launcher.py 2023-10-18 09:31:33.000000000 +0200 ++++ ignite-0.4.13/tests/ignite/distributed/test_launcher.py 2024-04-09 14:24:37.233741947 +0200 +@@ -45,7 +45,7 @@ + import ignite + + env = dict(os.environ) if env is None else env +- env["PYTHONPATH"] = f"{os.path.dirname(ignite.__path__[0])}" ++ #env["PYTHONPATH"] = f"{os.path.dirname(ignite.__path__[0])}" + process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=env) + process.wait() + if process.returncode != 0: From 9e737f413bccc04fdef014201b79146f811b570a Mon Sep 17 00:00:00 2001 From: Ake Sandgren Date: Fri, 12 Apr 2024 09:37:58 +0200 Subject: [PATCH 374/889] PyTorch-bundle: restore layout after inject-checksums messing with it --- ...rch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 77 +++++++++++++++---- 1 file changed, 62 insertions(+), 15 deletions(-) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index 8f674f51df1..ee0587af4e2 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -46,20 +46,18 @@ exts_list = [ }), ('torchdata', '0.7.1', { 'preinstallopts': "USE_SYSTEM_LIBS=1 ", - 'runtest': False, 'source_urls': ['https://github.com/pytorch/data/archive'], 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], 'checksums': ['ef9bbdcee759b53c3c9d99e76eb0a66da33d36bfb7f859a25a9b5e737a51fa23'], + 'runtest': False, # circular test requirements }), ('torchtext', '0.16.2', { 'patches': [ 'torchtext-0.14.1_use-system-libs.patch', 'torchtext-0.16.2_download-to-project-root.patch', ], - 'runtest': 'pytest test/torchtext_unittest -k "not test_vocab_from_raw_text_file"" and not test_get_tokenizer_moses"" and not test_get_tokenizer_spacy"" and not test_download_charngram_vectors"', 'source_urls': ['https://github.com/pytorch/text/archive'], 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], - 'testinstall': True, 'checksums': [ {'torchtext-0.16.2.tar.gz': '6574b012804f65220329a2ad34a95c18e4df0d4cff2f862fb7862d57b374b013'}, {'torchtext-0.14.1_use-system-libs.patch': @@ -67,21 +65,26 @@ exts_list = [ {'torchtext-0.16.2_download-to-project-root.patch': '9d5599a9983729cf1fc7ab2a2f65d1887f223f528e15662ba1b4a5e359c9686d'}, ], + 'runtest': ( + 'pytest test/torchtext_unittest' + ' -k "not test_vocab_from_raw_text_file"' # segfaults + '" and not test_get_tokenizer_moses"' # requires sacremoses + '" and not test_get_tokenizer_spacy"' # requires spaCy + ), + 'testinstall': True, }), - ('pytest-mock', '3.11.1', { + ('pytest-mock', '3.11.1', { # for torchvision tests 'checksums': ['7f6b125602ac6d743e523ae0bfa71e1a697a2f5534064528c6ff84c2f7c2fc7f'], }), ('torchvision', '0.16.2', { + 'preinstallopts': 'WITH_CUDA=1 TORCHVISION_INCLUDE="$EBROOTLIBJPEGMINTURBO/include:$TORCHVISION_INCLUDE"', 'installopts': '-v', 'patches': [ 'torchvision-0.16.2_ffmpeg-6.0-fix.patch', 'torchvision-0.16.2_quantized_tol.patch', ], - 'preinstallopts': 'WITH_CUDA=1 TORCHVISION_INCLUDE="$EBROOTLIBJPEGMINTURBO/include:$TORCHVISION_INCLUDE"', - 'runtest': 'pytest -m "not xfail" -k "not test_frame_reading_mem_vs_file"', 'source_urls': ['https://github.com/pytorch/vision/archive'], 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], - 'testinstall': True, 'checksums': [ {'torchvision-0.16.2.tar.gz': '8c1f2951e98d8ada6e5a468f179af4be9f56d2ebc3ab057af873da61669806d7'}, {'torchvision-0.16.2_ffmpeg-6.0-fix.patch': @@ -89,6 +92,12 @@ exts_list = [ {'torchvision-0.16.2_quantized_tol.patch': '457cdf8ad6653838c552890bce95dbe30b7573b1643334284f5f4a58f74f6e40'}, ], + 'runtest': ( + 'pytest' + ' -m "not xfail"' # don't run tests that are expected that they might fail + ' -k "not test_frame_reading_mem_vs_file"' # this one hangs + ), + 'testinstall': True, }), ('torchaudio', version, { 'installopts': "--no-use-pep517 -v", @@ -96,11 +105,10 @@ exts_list = [ 'torchaudio-2.1.2_use-external-sox.patch', 'torchaudio-2.1.2_transform_test_tol.patch', ], - 'preinstallopts': 'rm -r third_party/{sox,ffmpeg/multi}; USE_CUDA=1 USE_OPENMP=1 USE_FFMPEG=1 FFMPEG_ROOT="$EBROOTFFMPEG"', - 'runtest': 'pytest test/torchaudio_unittest/ -k "not TestProcessPoolExecutor"" and not FilterGraphWithCudaAccel"" and not kaldi_io_test"" and not test_dup_hw_acel"" and not test_h264_cuvid"" and not test_hevc_cuvid"', + 'preinstallopts': ('rm -r third_party/{sox,ffmpeg/multi};' # runs twice when testinstall + ' USE_CUDA=1 USE_OPENMP=1 USE_FFMPEG=1 FFMPEG_ROOT="$EBROOTFFMPEG"'), 'source_urls': ['https://github.com/pytorch/audio/archive'], 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], - 'testinstall': True, 'checksums': [ {'torchaudio-2.1.2.tar.gz': '82c2745a73172b495327ec36c6970ad5ad9d5d2ac44feeaea2617152f9393bf7'}, {'torchaudio-2.1.2_use-external-sox.patch': @@ -108,26 +116,65 @@ exts_list = [ {'torchaudio-2.1.2_transform_test_tol.patch': '57f315c60db70ed2bd9711bcf6f7c7c24dac8c2f04e00488996eb2dc507bdfd2'}, ], + 'runtest': ( + 'pytest test/torchaudio_unittest/' + ' -k "not TestProcessPoolExecutor"' # hang maybe related https://github.com/pytorch/audio/issues/1021 + '" and not FilterGraphWithCudaAccel"' # requires FFmpeg with CUDA support + '" and not kaldi_io_test"' # requires kaldi_io + '" and not test_dup_hw_acel"' # requires special render device permissions + '" and not test_h264_cuvid"' # requires special render device permissions + '" and not test_hevc_cuvid"' # requires special render device permissions + ), + 'testinstall': True, }), ('pytorch-ignite', '0.4.13', { 'modulename': 'ignite', - 'patches': ['torch-ignite-0.4.13_dont_destroy_python_path_in_test_launcher.patch'], - 'runtest': 'pytest -m "not distributed" --ignore=tests/ignite/contrib/handlers/test_clearml_logger.py --ignore=tests/ignite/contrib/handlers/test_mlflow_logger.py --ignore=tests/ignite/contrib/handlers/test_neptune_logger.py --ignore=tests/ignite/contrib/handlers/test_polyaxon_logger.py --ignore=tests/ignite/contrib/handlers/test_tensorboard_logger.py --ignore=tests/ignite/contrib/handlers/test_visdom_logger.py --ignore=tests/ignite/contrib/handlers/test_wandb_logger.py --ignore=tests/ignite/metrics/gan/test_fid.py --ignore=tests/ignite/metrics/nlp/test_rouge.py --ignore=tests/ignite/handlers/test_checkpoint.py --ignore=tests/ignite/contrib/handlers/test_tqdm_logger.py -k "not test_setup_visdom_logging"" and not test_setup_plx_logging"" and not test_setup_mlflow_logging"" and not test_setup_clearml_logging"" and not test_setup_neptune_logging"" and not test__setup_ddp_vars_from_slurm_env_bad_configs"" and not test__native_dist_model_create_from_backend_bad_config"" and not test_inception_score"', 'source_urls': ['https://github.com/pytorch/ignite/archive'], 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], - 'testinstall': True, + 'patches': ['torch-ignite-0.4.13_dont_destroy_python_path_in_test_launcher.patch'], 'checksums': [ {'pytorch-ignite-0.4.13.tar.gz': 'bfe4b6f1cd96e78c021a65a0c51350cdb89d6ef5a8b9609638666ca95bae51d7'}, {'torch-ignite-0.4.13_dont_destroy_python_path_in_test_launcher.patch': 'fd5dfe99f4c8804d6c57e4d9140d9e556e0724b379f9eaae8aeaf1b7bd058686'}, ], + 'runtest': ( + 'pytest' + ' -m "not distributed"' + ' --ignore=tests/ignite/contrib/handlers/test_clearml_logger.py' # requires clearml + ' --ignore=tests/ignite/contrib/handlers/test_mlflow_logger.py' # requires mlflow + ' --ignore=tests/ignite/contrib/handlers/test_neptune_logger.py' # requires neptune + ' --ignore=tests/ignite/contrib/handlers/test_polyaxon_logger.py' # requires polyaxon + ' --ignore=tests/ignite/contrib/handlers/test_tensorboard_logger.py' # requires tensorboardX + ' --ignore=tests/ignite/contrib/handlers/test_visdom_logger.py' # requires visdom + ' --ignore=tests/ignite/contrib/handlers/test_wandb_logger.py' # requires wandb + ' --ignore=tests/ignite/metrics/gan/test_fid.py' # requires pytorch_fid + ' --ignore=tests/ignite/metrics/nlp/test_rouge.py' # requires rouge + ' --ignore=tests/ignite/handlers/test_checkpoint.py' # fails by comparing tensors on different devices + ' -k "not test_setup_visdom_logging"' # requires visdom + '" and not test_setup_plx_logging"' # requires polyaxon + '" and not test_setup_mlflow_logging"' # requires mlflow + '" and not test_setup_clearml_logging"' # requires clearml + '" and not test_setup_neptune_logging"' # requires neptune + '" and not test__setup_ddp_vars_from_slurm_env_bad_configs"' # fails sometimes + '" and not test__native_dist_model_create_from_backend_bad_config"' # fails sometimes + '" and not test_inception_score"' # fails sometimes due to connection problem with download.pytorch.org + ), + 'testinstall': True, }), ('torch-tb-profiler', '0.4.3', { 'modulename': 'torch.profiler', - 'runtest': 'pytest --ignore=test/test_tensorboard_end2end.py -k "not test_dump_gpu_metrics"" and not test_profiler_api_with_record_shapes_memory_stack"" and not test_profiler_api_without_record_shapes_memory_stack"" and not test_profiler_api_without_step"" and not test_autograd_api"', 'sources': ['torch_tb_profiler-%(version)s.tar.gz'], - 'testinstall': True, 'checksums': ['8b8d29b2de960b3c4423087b23cec29beaf9ac3a8c7b046c18fd25b218f726b1'], + 'runtest': ( + 'pytest' + ' --ignore=test/test_tensorboard_end2end.py' # timeouts + ' -k "not test_dump_gpu_metrics"' # missing file + '" and not test_profiler_api_with_record_shapes_memory_stack"' # fails + '" and not test_profiler_api_without_record_shapes_memory_stack"' # fails + '" and not test_profiler_api_without_step"' # fails + '" and not test_autograd_api"' # fails + ), + 'testinstall': True, }), ] From 77f29fb6a3fda09df434a57dbeb2cf4d4aab2723 Mon Sep 17 00:00:00 2001 From: Ake Sandgren Date: Fri, 12 Apr 2024 10:09:48 +0200 Subject: [PATCH 375/889] PyTorch-bundle: remove one more test from torchtext that requires internet access --- .../PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index ee0587af4e2..4d4d496f4f8 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -70,6 +70,7 @@ exts_list = [ ' -k "not test_vocab_from_raw_text_file"' # segfaults '" and not test_get_tokenizer_moses"' # requires sacremoses '" and not test_get_tokenizer_spacy"' # requires spaCy + '" and not test_download_charngram_vectors"' # requires internet access and required host may fail to answer ), 'testinstall': True, }), From 89a495e7ab3612a10921cf3457fd87d83ba10729 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Fri, 12 Apr 2024 11:29:15 +0200 Subject: [PATCH 376/889] adding easyconfigs: MATSim-15.0-GCCcore-12.3.0-Java-17.eb, MATSim-15.0-Java-17.eb --- .../MATSim-15.0-GCCcore-12.3.0-Java-17.eb | 37 +++++++++++++++++++ .../m/MATSim/MATSim-15.0-Java-17.eb | 34 +++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 easybuild/easyconfigs/m/MATSim/MATSim-15.0-GCCcore-12.3.0-Java-17.eb create mode 100644 easybuild/easyconfigs/m/MATSim/MATSim-15.0-Java-17.eb diff --git a/easybuild/easyconfigs/m/MATSim/MATSim-15.0-GCCcore-12.3.0-Java-17.eb b/easybuild/easyconfigs/m/MATSim/MATSim-15.0-GCCcore-12.3.0-Java-17.eb new file mode 100644 index 00000000000..c3ef3b7aeda --- /dev/null +++ b/easybuild/easyconfigs/m/MATSim/MATSim-15.0-GCCcore-12.3.0-Java-17.eb @@ -0,0 +1,37 @@ +easyblock = 'PackedBinary' + +name = 'MATSim' +version = '15.0' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://www.matsim.org/' +description = """MATSim is an open-source framework to implement large-scale agent-based transport simulations.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/matsim-org/matsim-libs/releases/download/%(version)s'] +sources = ['%(namelower)s-%(version)s-release.zip'] +checksums = ['0ab5d83d0c7d8592e70f055e880dac958f8f05b6fed8bf74d2dfad7560dc29ee'] + +dependencies = [ + ('Java', '17', '', SYSTEM), + ('Mesa', '23.1.4'), + ('X11', '20230603'), +] + +sanity_check_paths = { + 'files': ['%(namelower)s-%(version)s.jar'], + 'dirs': ['libs', 'examples'], +} + +sanity_check_commands = ["java org.matsim.run.ReleaseInfo"] + +modextrapaths = {'CLASSPATH': 'libs/*'} + +modloadmsg = """ +To execute MATSim GUI: java -jar $EBROOTMATSIM/%(namelower)s-%(version)s.jar +To execute MATSim in batch mode: java org.matsim.run.RunMatsim +You might have to adjust the maximum memory of the JVM (-Xmx) +""" + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/m/MATSim/MATSim-15.0-Java-17.eb b/easybuild/easyconfigs/m/MATSim/MATSim-15.0-Java-17.eb new file mode 100644 index 00000000000..cff55a8e4c6 --- /dev/null +++ b/easybuild/easyconfigs/m/MATSim/MATSim-15.0-Java-17.eb @@ -0,0 +1,34 @@ +easyblock = 'PackedBinary' + +name = 'MATSim' +version = '15.0' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://www.matsim.org/' +description = """MATSim is an open-source framework to implement large-scale agent-based transport simulations.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/matsim-org/matsim-libs/releases/download/%(version)s'] +sources = ['%(namelower)s-%(version)s-release.zip'] +checksums = ['0ab5d83d0c7d8592e70f055e880dac958f8f05b6fed8bf74d2dfad7560dc29ee'] + +dependencies = [ + ('Java', '17'), +] + +sanity_check_paths = { + 'files': ['%(namelower)s-%(version)s.jar'], + 'dirs': ['libs', 'examples'], +} + +sanity_check_commands = ["java org.matsim.run.ReleaseInfo"] + +modextrapaths = {'CLASSPATH': 'libs/*'} + +modloadmsg = """ +To execute MATSim in batch mode: java org.matsim.run.RunMatsim +You might have to adjust the maximum memory of the JVM (-Xmx) +""" + +moduleclass = 'cae' From fa20d359dfc9e5f3c56cde335bfcd70a4306d0d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Fri, 12 Apr 2024 12:17:53 +0200 Subject: [PATCH 377/889] lower MUMPS version --- .../easyconfigs/f/FDMNES/FDMNES-2024-02-29-gomkl-2023a.eb | 2 +- ...-metis-seq.eb => MUMPS-5.6.1-gomkl-2023a-metis-seq.eb} | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) rename easybuild/easyconfigs/m/MUMPS/{MUMPS-5.6.2-gomkl-2023a-metis-seq.eb => MUMPS-5.6.1-gomkl-2023a-metis-seq.eb} (74%) diff --git a/easybuild/easyconfigs/f/FDMNES/FDMNES-2024-02-29-gomkl-2023a.eb b/easybuild/easyconfigs/f/FDMNES/FDMNES-2024-02-29-gomkl-2023a.eb index 6971ed9a041..f177acda709 100644 --- a/easybuild/easyconfigs/f/FDMNES/FDMNES-2024-02-29-gomkl-2023a.eb +++ b/easybuild/easyconfigs/f/FDMNES/FDMNES-2024-02-29-gomkl-2023a.eb @@ -30,7 +30,7 @@ sources = [{ checksums = ['bcf0928dd8f44bb0098aed4b8d45c8cf4cedf7cee1a598342de6115d7066c2fb'] dependencies = [ - ('MUMPS', '5.6.2', '-metis-seq'), + ('MUMPS', '5.6.1', '-metis-seq'), ('OpenMPI', '4.1.5'), ('SCOTCH', '7.0.3'), ] diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.2-gomkl-2023a-metis-seq.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.1-gomkl-2023a-metis-seq.eb similarity index 74% rename from easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.2-gomkl-2023a-metis-seq.eb rename to easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.1-gomkl-2023a-metis-seq.eb index 8c774b899a6..0ffdd5acbe8 100644 --- a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.2-gomkl-2023a-metis-seq.eb +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.1-gomkl-2023a-metis-seq.eb @@ -1,5 +1,5 @@ name = 'MUMPS' -version = '5.6.2' +version = '5.6.1' versionsuffix = '-metis-seq' homepage = 'https://graal.ens-lyon.fr/MUMPS/' @@ -12,11 +12,11 @@ source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] sources = ['%(name)s_%(version)s.tar.gz'] patches = [ '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD - '%(name)s-5.6.1_shared-mumps.patch', # builds shared libs of MUMPS + '%(name)s-%(version)s_shared-mumps.patch', # builds shared libs of MUMPS ] checksums = [ - {'MUMPS_5.6.2.tar.gz': '13a2c1aff2bd1aa92fe84b7b35d88f43434019963ca09ef7e8c90821a8f1d59a'}, - {'MUMPS-5.6.2_shared-pord.patch': '5f1c41a39a83ee4993e88416f0821e437afad9e63d5d1df077b4d7d12c2bc2b8'}, + {'MUMPS_5.6.1.tar.gz': '1920426d543e34d377604070fde93b8d102aa38ebdf53300cbce9e15f92e2896'}, + {'MUMPS-5.6.1_shared-pord.patch': '51d3685208a42581b462592eea977f185d87e871fb65e8e90a54dd2ad18ac715'}, {'MUMPS-5.6.1_shared-mumps.patch': '27f788a5f85e8c9a6a7ec1651097b87c1de0ede0be943df7a10fa7c1ff5f494f'}, ] From 969579d371719308f0d5992e5aff1b1ffbd6da63 Mon Sep 17 00:00:00 2001 From: Ake Sandgren Date: Fri, 12 Apr 2024 12:42:49 +0200 Subject: [PATCH 378/889] PyTorch-bundle: restore removal of test_tqdm_logger --- .../PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index 4d4d496f4f8..e6b75c2d15c 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -151,6 +151,7 @@ exts_list = [ ' --ignore=tests/ignite/metrics/gan/test_fid.py' # requires pytorch_fid ' --ignore=tests/ignite/metrics/nlp/test_rouge.py' # requires rouge ' --ignore=tests/ignite/handlers/test_checkpoint.py' # fails by comparing tensors on different devices + ' --ignore=tests/ignite/contrib/handlers/test_tqdm_logger.py' # fragile tests on some platforms ' -k "not test_setup_visdom_logging"' # requires visdom '" and not test_setup_plx_logging"' # requires polyaxon '" and not test_setup_mlflow_logging"' # requires mlflow From 74fa7b25c800620a104263dffb65332c40b4c811 Mon Sep 17 00:00:00 2001 From: WilleBell Date: Fri, 12 Apr 2024 13:48:58 +0200 Subject: [PATCH 379/889] adding easyconfigs: premailer-3.10.0-foss-2023a.eb --- .../premailer/premailer-3.10.0-foss-2023a.eb | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 easybuild/easyconfigs/p/premailer/premailer-3.10.0-foss-2023a.eb diff --git a/easybuild/easyconfigs/p/premailer/premailer-3.10.0-foss-2023a.eb b/easybuild/easyconfigs/p/premailer/premailer-3.10.0-foss-2023a.eb new file mode 100644 index 00000000000..944049a1d1f --- /dev/null +++ b/easybuild/easyconfigs/p/premailer/premailer-3.10.0-foss-2023a.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'premailer' +version = '3.10.0' + +homepage = "https://premailer.io/" +description = """ +CSS blocks into inline style attributes for HTML emails +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('lxml', '4.9.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('cachetools', '5.3.2', { + 'checksums': ['086ee420196f7b2ab9ca2db2520aca326318b68fe5ba8bc4d49cca91add450f2'], + }), + ('cssselect', '1.2.0', { + 'checksums': ['666b19839cfaddb9ce9d36bfe4c969132c647b92fc9088c4e23f786b30f1b3dc'], + }), + ('cssutils', '2.9.0', { + 'checksums': ['89477b3d17d790e97b9fb4def708767061055795aae6f7c82ae32e967c9be4cd'], + }), + (name, version, { + 'checksums': ['d1875a8411f5dc92b53ef9f193db6c0f879dc378d618e0ad292723e388bfe4c2'], + }), +] + +moduleclass = 'lib' From 3033b654d32fce4235eb3db1c1d183c6e0cd6ecb Mon Sep 17 00:00:00 2001 From: WilleBell Date: Fri, 12 Apr 2024 13:55:26 +0200 Subject: [PATCH 380/889] adding easyconfigs: imgaug-0.4.1-foss-2023a-CUDA-12.1.1.eb, OpenCV-4.8.1-foss-2023a-CUDA-12.1.1-contrib.eb, pdf2docx-0.5.8-foss-2023a-CUDA-12.1.1.eb --- .../imgaug-0.4.1-foss-2023a-CUDA-12.1.1.eb | 35 ++++++ ...CV-4.8.1-foss-2023a-CUDA-12.1.1-contrib.eb | 113 ++++++++++++++++++ .../pdf2docx-0.5.8-foss-2023a-CUDA-12.1.1.eb | 53 ++++++++ 3 files changed, 201 insertions(+) create mode 100644 easybuild/easyconfigs/i/imgaug/imgaug-0.4.1-foss-2023a-CUDA-12.1.1.eb create mode 100644 easybuild/easyconfigs/o/OpenCV/OpenCV-4.8.1-foss-2023a-CUDA-12.1.1-contrib.eb create mode 100644 easybuild/easyconfigs/p/pdf2docx/pdf2docx-0.5.8-foss-2023a-CUDA-12.1.1.eb diff --git a/easybuild/easyconfigs/i/imgaug/imgaug-0.4.1-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/i/imgaug/imgaug-0.4.1-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..ad5d4911293 --- /dev/null +++ b/easybuild/easyconfigs/i/imgaug/imgaug-0.4.1-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'imgaug' +version = '0.4.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://imgaug.readthedocs.io/en/latest/' +description = """ This python library helps you with augmenting images for your machine learning projects. + It converts a set of input images into a new, much larger set of slightly altered images. """ + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('Pillow', '10.0.0'), + ('matplotlib', '3.7.2'), + ('scikit-image', '0.22.0'), + ('OpenCV', '4.8.1', versionsuffix + '-contrib'), + ('Shapely', '2.0.1'), + ('imageio', '2.33.1'), +] + +source_urls = ['https://github.com/nsetzer/imgaug/archive/'] +sources = ['%(version)s.tar.gz'] +patches = ['imgaug-0.4.1_openvc_requirement.patch'] +checksums = [ + {'0.4.1.tar.gz': 'dd9655f8d871da35c37cf674ba35c76175a77aeac517e8dafe6673c8f853115f'}, + {'imgaug-0.4.1_openvc_requirement.patch': '56b56f729797f3ce71c4a890c41f050df131279b5137e6a1399c78b40c8e0574'}, +] + +sanity_pip_check = False +use_pip = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.8.1-foss-2023a-CUDA-12.1.1-contrib.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.8.1-foss-2023a-CUDA-12.1.1-contrib.eb new file mode 100644 index 00000000000..5ebd7b02024 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.8.1-foss-2023a-CUDA-12.1.1-contrib.eb @@ -0,0 +1,113 @@ +name = 'OpenCV' +version = '4.8.1' +versionsuffix = '-CUDA-%(cudaver)s-contrib' + +# the hash is version dependent! see 3rdparty/ippicv/ippicv.cmake +local_ippicv_hash = '1224f78da6684df04397ac0f40c961ed37f79ccb' + +homepage = 'https://opencv.org/' +description = """OpenCV (Open Source Computer Vision Library) is an open source computer vision + and machine learning software library. OpenCV was built to provide + a common infrastructure for computer vision applications and to accelerate + the use of machine perception in the commercial products. + Includes extra modules for OpenCV from the contrib repository.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'cstd': 'c++14'} + +sources = [ + { + 'source_urls': ['https://github.com/%(namelower)s/%(namelower)s/archive/'], + 'download_filename': '%(version)s.tar.gz', + 'filename': SOURCELOWER_TAR_GZ + }, + { + 'source_urls': ['https://github.com/%(namelower)s/opencv_contrib/archive/'], + 'download_filename': '%(version)s.tar.gz', + 'filename': '%(namelower)s_contrib-%(version)s.tar.gz' + }, + { + 'source_urls': ['https://raw.githubusercontent.com/opencv/opencv_3rdparty/%s/ippicv' % local_ippicv_hash], + 'filename': 'ippicv_2021.8_lnx_intel64_20230330_general.tgz', + 'extract_cmd': 'cp %s %(builddir)s' + }, +] + +patches = [('opencv_contrib_python.egg-info', '..')] + +checksums = [ + {'%(namelower)s-%(version)s.tar.gz': '62f650467a60a38794d681ae7e66e3e8cfba38f445e0bf87867e2f2cdc8be9d5'}, + {'%(namelower)s_contrib-%(version)s.tar.gz': '0c082a0b29b3118f2a0a1856b403bb098643af7b994a0080f402a12159a99c6e'}, + {'ippicv_2021.8_lnx_intel64_20230330_general.tgz': + '7cfe0fb0e15ea8f3d2d971c19df2d14382469943d4efa85e48bf358930daa85d'}, + {'opencv_contrib_python.egg-info': '08eb95c735d4ff82e35e3df56c2e7e75501cc263a8efcb9348d04e6322a4b034'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), +] +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Python-bundle-PyPI', '2023.06'), + ('zlib', '1.2.13'), + ('FFmpeg', '6.0'), + ('freetype', '2.13.0'), + ('HarfBuzz', '5.3.1'), + ('libjpeg-turbo', '2.1.5.1'), + ('OpenJPEG', '2.5.0'), + ('libpng', '1.6.39'), + ('LibTIFF', '4.5.0'), + ('libwebp', '1.3.1'), + ('OpenEXR', '3.1.7'), + ('JasPer', '4.0.0'), + ('Java', '11', '', SYSTEM), + ('ant', '1.10.14', '-Java-%(javaver)s', SYSTEM), + ('GLib', '2.77.1'), + ('GTK4', '4.13.1'), + ('HDF5', '1.14.0'), + ('CUDA', '12.1.1', '', SYSTEM), + ('cuDNN', '8.9.2.26', '-CUDA-%(cudaver)s', SYSTEM), +] + +# XXXX in configurations is a bug fix in OpenCV because ocv_check_modules is not able to recognize freetype and harfbuzz +# ref: https://github.com/opencv/opencv/blob/6e8daaec0f46aaba9ea22e2afce47307b1dbff9f/cmake/OpenCVUtils.cmake#L861 +configopts = " ".join([ + "-DOPENCV_EXTRA_MODULES_PATH=%(builddir)s/%(namelower)s_contrib-%(version)s/modules", + "-DOPENCV_GENERATE_PKGCONFIG=ON", + "-DFREETYPE_FOUND=ON", + "-DFREETYPE_INCLUDE_DIRS=$EBROOTFREETYPE/include/freetype2/", + "-DFREETYPE_LIBRARIES=$EBROOTFREETYPE/lib64/libfreetype.so", + "-DFREETYPE_LINK_LIBRARIES=$EBROOTFREETYPE/lib64/libfreetype.so", + "-DFREETYPE_LINK_LIBRARIES_XXXXX=ON", + "-DHARFBUZZ_FOUND=ON", + "-DHARFBUZZ_INCLUDE_DIRS=$EBROOTHARFBUZZ/include/harfbuzz", + "-DHARFBUZZ_LIBRARIES=$EBROOTHARFBUZZ/lib64/libharfbuzz.so", + "-DHARFBUZZ_LINK_LIBRARIES=$EBROOTHARFBUZZ/lib64/libharfbuzz.so", + "-DHARFBUZZ_LINK_LIBRARIES_XXXXX=ON", + "-DBUILD_opencv_python2=OFF", + "-DCUDA_NVCC_FLAGS=--std=c++14", +]) + +# Install a egg-info file so it is more python friendly +local_egg_info_src = '%(builddir)s/opencv_contrib_python.egg-info' +local_egg_info_dest = '%(installdir)s/lib/python%(pyshortver)s/site-packages/opencv_contrib_python-%(version)s.egg-info' +postinstallcmds = [ + 'sed "s/#OPENCV_VERSION#/%%(version)s/" %s > %s' % (local_egg_info_src, local_egg_info_dest), +] + +enhance_sanity_check = True + +local_contrib_libs = [ + 'aruco', 'bgsegm', 'bioinspired', 'ccalib', 'datasets', 'dnn_objdetect', 'dnn_superres', 'dpm', 'face', 'freetype', + 'fuzzy', 'hdf', 'hfs', 'img_hash', 'line_descriptor', 'optflow', 'phase_unwrapping', 'plot', 'quality', 'reg', + 'rgbd', 'saliency', 'shape', 'stereo', 'structured_light', 'superres', 'surface_matching', 'text', 'tracking', + 'videostab', 'xfeatures2d', 'ximgproc', 'xobjdetect', 'xphoto' +] + +sanity_check_paths = { + 'files': ['lib64/libopencv_%s.%s' % (x, SHLIB_EXT) for x in local_contrib_libs], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pdf2docx/pdf2docx-0.5.8-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/pdf2docx/pdf2docx-0.5.8-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..f96217ff61c --- /dev/null +++ b/easybuild/easyconfigs/p/pdf2docx/pdf2docx-0.5.8-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,53 @@ +easyblock = "PythonBundle" + +name = 'pdf2docx' +version = '0.5.8' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/ArtifexSoftware/pdf2docx' +description = """Open source Python library converting pdf to docx.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Python-bundle-PyPI', '2023.06'), + ('SWIG', '4.1.1'), + ('SciPy-bundle', '2023.07'), + ('Python-bundle-PyPI', '2023.06'), + ('OpenCV', '4.8.1', versionsuffix + '-contrib'), + ('lxml', '4.9.2'), # for python-docx + ('hatchling', '1.18.0'), # for termcolor +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('PyMuPDF', '1.20.2', { + 'modulename': 'fitz', + 'checksums': ['02eedf01f57c6bafb5e8667cea0088a2d2522643c47100f1908bec3a68a84888'], + }), + ('python-docx', '1.1.0', { + 'modulename': 'docx', + 'checksums': ['5829b722141cf1ab79aedf0c34d9fe9924b29764584c0f2164eb2b02dcdf17c9'], + }), + ('termcolor', '2.3.0', { + 'checksums': ['b5b08f68937f138fe92f6c089b99f1e2da0ae56c52b78bf7075fd95420fd9a5a'], + }), + ('fire', '0.5.0', { + 'checksums': ['a6b0d49e98c8963910021f92bba66f65ab440da2982b78eb1bbf95a0a34aacc6'], + }), + ('fonttools', '4.47.2', { + 'modulename': 'fontTools', + 'checksums': ['7df26dd3650e98ca45f1e29883c96a0b9f5bb6af8d632a6a108bc744fa0bd9b3'], + }), + (name, version, { + 'preinstallopts': "sed -i 's/opencv-python-headless/opencv-contrib-python/g' requirements.txt && ", + 'checksums': ['e723f639728193468602b69eade2fe62df5f5d339d2630228e325f4cc61c1918'], + }), +] + +moduleclass = 'tools' From 571e8ab5dbfa83cecbcad7421c147f72ca29642c Mon Sep 17 00:00:00 2001 From: WilleBell Date: Fri, 12 Apr 2024 13:57:03 +0200 Subject: [PATCH 381/889] adding easyconfigs: ONNX-1.15.0-foss-2023a.eb --- .../o/ONNX/ONNX-1.15.0-foss-2023a.eb | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 easybuild/easyconfigs/o/ONNX/ONNX-1.15.0-foss-2023a.eb diff --git a/easybuild/easyconfigs/o/ONNX/ONNX-1.15.0-foss-2023a.eb b/easybuild/easyconfigs/o/ONNX/ONNX-1.15.0-foss-2023a.eb new file mode 100644 index 00000000000..a21dee00ac3 --- /dev/null +++ b/easybuild/easyconfigs/o/ONNX/ONNX-1.15.0-foss-2023a.eb @@ -0,0 +1,63 @@ +easyblock = 'PythonPackage' + +name = 'ONNX' +version = '1.15.0' + +homepage = 'https://onnx.ai' +description = """ +Open Neural Network Exchange (ONNX) is an open ecosystem that empowers AI +developers to choose the right tools as their project evolves. ONNX provides an +open source format for AI models, both deep learning and traditional ML. It +defines an extensible computation graph model, as well as definitions of +built-in operators and standard data types. Currently we focus on the +capabilities needed for inferencing (scoring).""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCELOWER_TAR_GZ] +patches = ['ONNX-1.15.0_fix-protobuf-linking.patch'] +checksums = [ + {'onnx-1.15.0.tar.gz': 'b18461a7d38f286618ca2a6e78062a2a9c634ce498e631e708a8041b00094825'}, + {'ONNX-1.15.0_fix-protobuf-linking.patch': '5c11eca5275a25d69f989571fe1f387b84c7334478356577f6f6349c5954f54d'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('setuptools', '69.1.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('protobuf-python', '4.24.0'), + ('typing-extensions', '4.9.0'), +] + +use_pip = True +download_dep_fail = True + +# hardcode version in pyproject.toml rather than determining it dynamically +preinstallopts = """sed -i 's/"version",//g' pyproject.toml && """ +preinstallopts += """sed -i 's/readme = .*/version = "%(version)s"/g' pyproject.toml && """ + +# specify C++17 standard and link to protobuf shared library (also requires patch to use -DPROTOBUF_USE_DLLS); +# required to fix "error: 'string_view' in namespace 'std' does not name a type", +# see also https://github.com/onnx/onnx/issues/5430 +preinstallopts += "export CMAKE_ARGS='-DCMAKE_CXX_STANDARD=17 -DONNX_USE_PROTOBUF_SHARED_LIBS=ON' && " + +preinstallopts += 'env MAX_JOBS="%(parallel)s"' + +sanity_check_paths = { + 'files': ['bin/check-model', 'bin/check-node', 'bin/backend-test-tools'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + ('check-model', '-h'), + ('check-node', '-h'), + ('backend-test-tools', '-h'), +] + +sanity_pip_check = True + +moduleclass = 'devel' From 959eef63acc138eb0fa5f6a20046b23da9d03c8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Fri, 12 Apr 2024 12:49:54 +0000 Subject: [PATCH 382/889] Shorten comment to fix long line --- .../PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index e6b75c2d15c..b19df88e104 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -70,7 +70,7 @@ exts_list = [ ' -k "not test_vocab_from_raw_text_file"' # segfaults '" and not test_get_tokenizer_moses"' # requires sacremoses '" and not test_get_tokenizer_spacy"' # requires spaCy - '" and not test_download_charngram_vectors"' # requires internet access and required host may fail to answer + '" and not test_download_charngram_vectors"' # requires internet access and required host may fail ), 'testinstall': True, }), From e800ec6bfc7ae5d329fd6153edcb5df49c3f2f64 Mon Sep 17 00:00:00 2001 From: WilleBell Date: Fri, 12 Apr 2024 15:28:53 +0200 Subject: [PATCH 383/889] add missing patch --- .../imgaug-0.4.1-foss-2023a-CUDA-12.1.1.eb | 2 +- .../imgaug-0.4.1_openvc_requirement.patch | 34 +++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 easybuild/easyconfigs/i/imgaug/imgaug-0.4.1_openvc_requirement.patch diff --git a/easybuild/easyconfigs/i/imgaug/imgaug-0.4.1-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/i/imgaug/imgaug-0.4.1-foss-2023a-CUDA-12.1.1.eb index ad5d4911293..21d4f3e3041 100644 --- a/easybuild/easyconfigs/i/imgaug/imgaug-0.4.1-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/i/imgaug/imgaug-0.4.1-foss-2023a-CUDA-12.1.1.eb @@ -26,7 +26,7 @@ sources = ['%(version)s.tar.gz'] patches = ['imgaug-0.4.1_openvc_requirement.patch'] checksums = [ {'0.4.1.tar.gz': 'dd9655f8d871da35c37cf674ba35c76175a77aeac517e8dafe6673c8f853115f'}, - {'imgaug-0.4.1_openvc_requirement.patch': '56b56f729797f3ce71c4a890c41f050df131279b5137e6a1399c78b40c8e0574'}, + {'imgaug-0.4.1_openvc_requirement.patch': '0e0993322184c56115ea04262f8eacef4a86a9aa7b26c8cd67258ccaa441d8a7'}, ] sanity_pip_check = False diff --git a/easybuild/easyconfigs/i/imgaug/imgaug-0.4.1_openvc_requirement.patch b/easybuild/easyconfigs/i/imgaug/imgaug-0.4.1_openvc_requirement.patch new file mode 100644 index 00000000000..b80e5644b53 --- /dev/null +++ b/easybuild/easyconfigs/i/imgaug/imgaug-0.4.1_openvc_requirement.patch @@ -0,0 +1,34 @@ +imgaug specifies a requirement for opencv-python-headless which causes conflicts for other installations of OpenCV +this patch removes the requirement, and will work as long as we load an appropriate (standard) OpenCV module +See https://github.com/aleju/imgaug/issues/473 + +author: Andrew Edmondson (University of Birmingham) + +--- setup.py.orig 2024-03-04 09:20:57.356025008 +0100 ++++ setup.py 2024-03-04 09:22:09.182207006 +0100 +@@ -15,16 +15,11 @@ + "Pillow", + "matplotlib", + "scikit-image>=0.18", +- "opencv-python-headless", + "imageio<=2.6.1; python_version<'3.5'", + "imageio; python_version>='3.5'", + "Shapely" + ] + +-ALT_INSTALL_REQUIRES = { +- "opencv-python-headless": ["opencv-python", "opencv-contrib-python", "opencv-contrib-python-headless"], +-} +- + + def check_alternative_installation(install_require, alternative_install_requires): + """If some version version of alternative requirement installed, return alternative, +@@ -54,8 +49,6 @@ + return install_requires + + +-INSTALL_REQUIRES = get_install_requirements(INSTALL_REQUIRES, ALT_INSTALL_REQUIRES) +- + setup( + name="imgaug3", + version="0.4.1", From 54fa86a212af6f4366b6cb2e0aa3ca7a3268afff Mon Sep 17 00:00:00 2001 From: WilleBell Date: Fri, 12 Apr 2024 15:34:36 +0200 Subject: [PATCH 384/889] add missing dependency setuptools --- .../setuptools-69.1.0-GCCcore-12.3.0.eb | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 easybuild/easyconfigs/s/setuptools/setuptools-69.1.0-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/s/setuptools/setuptools-69.1.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/setuptools/setuptools-69.1.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a44b193bc1d --- /dev/null +++ b/easybuild/easyconfigs/s/setuptools/setuptools-69.1.0-GCCcore-12.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'setuptools' +version = '69.1.0' + +homepage = "https://pypi.org/project/setuptools" +description = """Easily download, build, install, upgrade, and uninstall Python packages""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), +] + +sources = [SOURCE_TAR_GZ] +checksums = ['850894c4195f09c4ed30dba56213bf7c3f21d86ed6bdaafb5df5972593bfc401'] + +sanity_pip_check = True +use_pip = True + +moduleclass = 'vis' From 9df56b81797fedfee302d65f0de9c569b7112e3f Mon Sep 17 00:00:00 2001 From: WilleBell Date: Fri, 12 Apr 2024 15:56:03 +0200 Subject: [PATCH 385/889] set download_dep_fail --- .../easyconfigs/s/setuptools/setuptools-69.1.0-GCCcore-12.3.0.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/s/setuptools/setuptools-69.1.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/setuptools/setuptools-69.1.0-GCCcore-12.3.0.eb index a44b193bc1d..31f0140d0a5 100644 --- a/easybuild/easyconfigs/s/setuptools/setuptools-69.1.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/s/setuptools/setuptools-69.1.0-GCCcore-12.3.0.eb @@ -19,6 +19,7 @@ dependencies = [ sources = [SOURCE_TAR_GZ] checksums = ['850894c4195f09c4ed30dba56213bf7c3f21d86ed6bdaafb5df5972593bfc401'] +download_dep_fail = True sanity_pip_check = True use_pip = True From b01df10a8215a30b131ceea3083c3ffadcd1075e Mon Sep 17 00:00:00 2001 From: WilleBell Date: Fri, 12 Apr 2024 16:06:18 +0200 Subject: [PATCH 386/889] set download_dep_fail and sanity_pip_check --- .../i/imgaug/imgaug-0.4.1-foss-2023a-CUDA-12.1.1.eb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/i/imgaug/imgaug-0.4.1-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/i/imgaug/imgaug-0.4.1-foss-2023a-CUDA-12.1.1.eb index 21d4f3e3041..68ed2ab3aca 100644 --- a/easybuild/easyconfigs/i/imgaug/imgaug-0.4.1-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/i/imgaug/imgaug-0.4.1-foss-2023a-CUDA-12.1.1.eb @@ -29,7 +29,8 @@ checksums = [ {'imgaug-0.4.1_openvc_requirement.patch': '0e0993322184c56115ea04262f8eacef4a86a9aa7b26c8cd67258ccaa441d8a7'}, ] -sanity_pip_check = False +download_dep_fail = True +sanity_pip_check = True use_pip = True moduleclass = 'lib' From 7cc4df1c222092b79d687b876574207c88384f9c Mon Sep 17 00:00:00 2001 From: Jasper Grimm <65227842+jfgrimm@users.noreply.github.com> Date: Fri, 12 Apr 2024 15:19:14 +0100 Subject: [PATCH 387/889] Update easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb --- .../s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb b/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb index e620faf028f..1ff1c337cf7 100644 --- a/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb +++ b/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb @@ -43,7 +43,6 @@ components = [ '$PKG_CONFIG_PATH && ', 'preinstallopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib64/pkgconfig:%(installdir)s/lib/pkgconfig/:' '$PKG_CONFIG_PATH && ', - 'use_pip': True, 'download_dep_fail': True, 'sanity_pip_check': True, From de67a4b112dafe8c73bf54b1de7c7ab8be076d1e Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Fri, 12 Apr 2024 15:21:24 +0100 Subject: [PATCH 388/889] Typo fix for nanomath description --- easybuild/easyconfigs/n/nanomath/nanomath-1.3.0-foss-2022b.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/n/nanomath/nanomath-1.3.0-foss-2022b.eb b/easybuild/easyconfigs/n/nanomath/nanomath-1.3.0-foss-2022b.eb index 859a01fc70c..9bf917fba1d 100644 --- a/easybuild/easyconfigs/n/nanomath/nanomath-1.3.0-foss-2022b.eb +++ b/easybuild/easyconfigs/n/nanomath/nanomath-1.3.0-foss-2022b.eb @@ -8,7 +8,7 @@ name = 'nanomath' version = '1.3.0' homepage = 'https://github.com/wdecoster/nanomath' -description = "A few simple math function for other Oxford Nanopore processing scripts" +description = "A few simple math functions for other Oxford Nanopore processing scripts" toolchain = {'name': 'foss', 'version': '2022b'} From 2fdf98f47823351602e72e7e1f2fc027a0403543 Mon Sep 17 00:00:00 2001 From: WilleBell Date: Fri, 12 Apr 2024 17:20:44 +0200 Subject: [PATCH 389/889] adding easyconfigs: attrdict3-2.0.2-GCCcore-12.3.0.eb --- .../attrdict3-2.0.2-GCCcore-12.3.0.eb | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 easybuild/easyconfigs/a/attrdict3/attrdict3-2.0.2-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/a/attrdict3/attrdict3-2.0.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/a/attrdict3/attrdict3-2.0.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..67ab5e0fbda --- /dev/null +++ b/easybuild/easyconfigs/a/attrdict3/attrdict3-2.0.2-GCCcore-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonBundle' + +name = 'attrdict3' +version = '2.0.2' + +homepage = 'https://github.com/pirofti/AttrDict3' +description = """AttrDict is a Python library that provides mapping objects that allow their elements + to be accessed both as keys and as attributes.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + (name, version, { + 'modulename': 'attrdict', + 'checksums': ['004c171ca1120cc1755701db99d7fa4944afb1e68950434efdaa542513335fe8'], + }), +] + +moduleclass = 'lib' From 71af664a18cc88dfdc2f8a05a63624f99fe34ab1 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Fri, 12 Apr 2024 17:40:01 +0200 Subject: [PATCH 390/889] adding easyconfigs: Optax-0.1.7-foss-2022a-CUDA-11.7.0.eb, dm-haiku-0.0.9-foss-2022a-CUDA-11.7.0.eb --- .../dm-haiku-0.0.9-foss-2022a-CUDA-11.7.0.eb | 34 ++++++++++++++ .../Optax-0.1.7-foss-2022a-CUDA-11.7.0.eb | 44 +++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 easybuild/easyconfigs/d/dm-haiku/dm-haiku-0.0.9-foss-2022a-CUDA-11.7.0.eb create mode 100644 easybuild/easyconfigs/o/Optax/Optax-0.1.7-foss-2022a-CUDA-11.7.0.eb diff --git a/easybuild/easyconfigs/d/dm-haiku/dm-haiku-0.0.9-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/d/dm-haiku/dm-haiku-0.0.9-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..b2e1c44658a --- /dev/null +++ b/easybuild/easyconfigs/d/dm-haiku/dm-haiku-0.0.9-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'dm-haiku' +version = '0.0.9' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/deepmind/dm-haiku' +description = """Haiku is a simple neural network library for JAX developed by some of the authors of Sonnet, a neural +network library for TensorFlow.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('jax', '0.3.25', versionsuffix), # required by jmp, also provides absl-py +] + +use_pip = True + +exts_list = [ + ('jmp', '0.0.4', { + 'checksums': ['5dfeb0fd7c7a9f72a70fff0aab9d0cbfae32a809c02f4037ff3485ceb33e1730'], + }), + (name, version, { + 'modulename': 'haiku', + 'checksums': ['97752b32cdbe5a3e2d1c60ea884d33eb4b36e7d410000f0d61b571417c925435'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/Optax/Optax-0.1.7-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/o/Optax/Optax-0.1.7-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..4fd9f0da8ab --- /dev/null +++ b/easybuild/easyconfigs/o/Optax/Optax-0.1.7-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonBundle' + +name = 'Optax' +version = '0.1.7' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/deepmind/optax' +description = """Optax is a gradient processing and optimization library for JAX.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('dm-haiku', '0.0.9', versionsuffix), + ('dm-tree', '0.1.8'), + ('typing-extensions', '4.3.0'), +] + +builddependencies = [ + ('pytest-xdist', '2.5.0'), +] + +use_pip = True + +exts_list = [ + ('toolz', '0.12.0', { + 'checksums': ['88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194'], + }), + ('chex', '0.1.6', { + 'checksums': ['adb5d2352b5f0d248ccf594be1b1bf9ee7a2bee2a57f0eac78547538d479b0e7'], + }), + ('optax', version, { + 'checksums': ['6a5a848bc5e55e619b187c749fdddc4a5443ea14be85cc769f995779865c110d'], + # ignore equivalence_test.py which imports flax, which depends on optax + 'runtest': 'python -m pytest -n %(parallel)s --pyargs --ignore-glob="**/equivalence_test.py" optax', + }), +] + +sanity_pip_check = True + +sanity_check_commands = ["python -c 'from optax import GradientTransformation'"] + +moduleclass = 'lib' From 281270d9597c6d6a88d6e1cefe5ebfe34883faa7 Mon Sep 17 00:00:00 2001 From: fizwit Date: Fri, 12 Apr 2024 11:29:51 -0700 Subject: [PATCH 391/889] {bio}[GCC-13.2.] STAR 2.7.11b --- .../s/STAR/STAR-2.7.11b-GCC-13.2.0.eb | 55 +++++++++++++++++++ .../x/xxd/xxd-9.1.0307-GCCcore-13.2.0.eb | 37 +++++++++++++ 2 files changed, 92 insertions(+) create mode 100644 easybuild/easyconfigs/s/STAR/STAR-2.7.11b-GCC-13.2.0.eb create mode 100644 easybuild/easyconfigs/x/xxd/xxd-9.1.0307-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/s/STAR/STAR-2.7.11b-GCC-13.2.0.eb b/easybuild/easyconfigs/s/STAR/STAR-2.7.11b-GCC-13.2.0.eb new file mode 100644 index 00000000000..a86f215d8dd --- /dev/null +++ b/easybuild/easyconfigs/s/STAR/STAR-2.7.11b-GCC-13.2.0.eb @@ -0,0 +1,55 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# Based on STAR-2.7.7a-GCC-10.2.0.eb +# uploaded by J. Sassmannshausen +# modified by Thomas Eylenbosch + +easyblock = 'MakeCp' + +name = 'STAR' +version = '2.7.11b' + +homepage = 'https://github.com/alexdobin/STAR' +description = "STAR aligns RNA-seq reads to a reference genome using uncompressed suffix arrays." + +toolchain = {'name': 'GCC', 'version': '13.2.0'} +toolchainopts = {'openmp': True} + +github_account = 'alexdobin' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +patches = ['STAR-2.7.11a_use-external-htslib.patch'] +checksums = [ + {'2.7.11b.tar.gz': '3f65305e4112bd154c7e22b333dcdaafc681f4a895048fa30fa7ae56cac408e7'}, + {'STAR-2.7.11a_use-external-htslib.patch': '2fdc3ed9372d983f77d861d6f16a60a553598358dce9ff8216f96eb20e63ce4e'}, +] + +builddependencies = [ + ('xxd', '9.1.0307'), +] + +dependencies = [ + ('HTSlib', '1.19.1'), + ('zlib', '1.2.13'), +] + +start_dir = 'source' + +buildopts = ' STAR && make STARlong' + +files_to_copy = [ + (['source/%(name)s', 'source/%(name)slong'], 'bin'), + 'CHANGES.md', 'doc', 'extras', 'LICENSE', 'README.md', 'RELEASEnotes.md', +] + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'bin/%(name)slong'], + 'dirs': [], +} + +sanity_check_commands = [ + "STAR --help", + "STARlong --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/x/xxd/xxd-9.1.0307-GCCcore-13.2.0.eb b/easybuild/easyconfigs/x/xxd/xxd-9.1.0307-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..32d7900cbf4 --- /dev/null +++ b/easybuild/easyconfigs/x/xxd/xxd-9.1.0307-GCCcore-13.2.0.eb @@ -0,0 +1,37 @@ +# Last contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'MakeCp' + +name = 'xxd' +version = '9.1.0307' + +homepage = 'https://www.vim.org' +description = """xxd is part of the VIM package and this will only install xxd, not vim! +xxd converts to/from hexdumps of binary files.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/vim/vim/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = ['addfe566e4f531f169e0dd0f63747bcf6871a64dadd46dc4b8e539b508187c72'] + +builddependencies = [ + ('binutils', '2.40'), +] + +start_dir = 'src/xxd' + +files_to_copy = [ + (['xxd'], 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/xxd'], + 'dirs': [], +} + +sanity_check_commands = ["xxd -h 2>&1 | grep -A 4 '^Usage:'"] + +moduleclass = 'tools' From e651f2d384097e66836c45d57d156e5de14c04d8 Mon Sep 17 00:00:00 2001 From: c3-builder Date: Fri, 12 Apr 2024 21:31:55 +0000 Subject: [PATCH 392/889] adding easyconfigs: PyAEDT-0.8.7-GCCcore-12.3.0.eb --- .../p/PyAEDT/PyAEDT-0.8.7-GCCcore-12.3.0.eb | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 easybuild/easyconfigs/p/PyAEDT/PyAEDT-0.8.7-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/p/PyAEDT/PyAEDT-0.8.7-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PyAEDT/PyAEDT-0.8.7-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..bb36fc4d9e5 --- /dev/null +++ b/easybuild/easyconfigs/p/PyAEDT/PyAEDT-0.8.7-GCCcore-12.3.0.eb @@ -0,0 +1,73 @@ +easyblock = 'PythonBundle' + +name = 'PyAEDT' +version = '0.8.7' + +homepage = 'https://aedt.docs.pyansys.com/version/stable' +description = """PyAEDT is a Python library that interacts directly with the +Ansys Electronics Desktop (AEDT) API, enabling straightforward and efficient +automation in your workflow.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('dotNET-Core', '8.0', '', SYSTEM), + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('Pillow', '10.0.0'), + ('hatchling', '1.18.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('dotnetcore2', '3.1.23', { + 'sources': ['dotnetcore2-3.1.23-py3-none-manylinux1_x86_64.whl'], + 'checksums': ['5f076ddc39da0c685e7de20ecb91ee81185928918ec86fbeb3bffc55dd867ab5'], + }), + ('clr_loader', '0.2.6', { + 'checksums': ['019348ae6b6a83c7a406d14537c277cecf7a3a53b263ec342c81ded5845a67ee'], + }), + ('defusedxml', '0.7.1', { + 'checksums': ['1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69'], + }), + ('fonttools', '4.51.0', { + 'checksums': ['dc0673361331566d7a663d7ce0f6fdcbfbdc1f59c6e3ed1165ad7202ca183c68'], + 'modulename': 'fontTools', + }), + ('ansys-pythonnet', '3.1.0rc3', { + 'checksums': ['369a0a5a838a0991f755b6d63c319ab6997f9dc464d016187227be5cd860a9cb'], + 'modulename': 'pythonnet', + }), + ('pytomlpp', '1.0.13', { + 'checksums': ['a0bd639a8f624d1bdf5b3ea94363ca23dbfef38ab7b5b9348881a84afab434ad'], + }), + ('fpdf2', '2.7.8', { + 'checksums': ['21733fe27cc75021e5a4d7d69de95e185adf9717b1f9b1e14aa27d277d5c10fd'], + 'modulename': 'fpdf', + }), + ('plumbum', '1.8.2', { + 'checksums': ['9e6dc032f4af952665f32f3206567bc23b7858b1413611afe603a3f8ad9bfd75'], + }), + ('rpyc', '6.0.0', { + 'checksums': ['a7e12b31f40978cbd6b74e0b713da389d4b2565cef612adcb0f4b41aeb188230'], + }), + ('cffi', '1.16.0', { + 'checksums': ['bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0'], + }), + ('pyedb', '0.7.0', { + 'checksums': ['0ac5b1a7399bd8e8ed7fa6ce124bec80e31c775e670b278ae6c9f51ed7f15f25'], + }), + ('pyaedt', version, { + 'checksums': ['17143f2f3b22cf64af23ebf7ecf828f11ca2c902ba17e42e7c5dc71fbad774c9'], + }), +] + +modloadmsg = "NOTE: You also need load a AEDT module before you start using PyAEDT." + +moduleclass = "phys" From a111dbe924ad9404f8badb7f85357050bcd4edbb Mon Sep 17 00:00:00 2001 From: Yunqi Shao Date: Sat, 13 Apr 2024 08:53:20 +0200 Subject: [PATCH 393/889] Bring back comment in patch --- .../TensorFlow-2.15.1-foss-2023a.eb | 2 +- ...sorFlow-2.15.1_add-default-shell-env.patch | 23 +++++++++++++++++-- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb index c0d131a393d..014f3bbd7a5 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb @@ -190,7 +190,7 @@ exts_list = [ {'TensorFlow-2.15.1_remove-io-gcs-filesystem-dep.patch': 'eba7351a4b0696c589b9c507bacb0257ebce8c39fde39ab72d5d6a69deaaec02'}, {'TensorFlow-2.15.1_add-default-shell-env.patch': - 'dd22a1c1a014bfd62cb1fc8913b4705e0b9a45ba54803e0df57c74c17837d46e'}, + '3d5196b4bf2e91048dc8a18f9e8f487a223fcd973d6302e80b0d4000ea3d652b'}, {'TensorFlow-2.15.1_fix-flatbuffer-license.patch': '2c04d5095977a628a238dbf93c5fada7159c86752a7183e64e0cf7c7ab00caf4'}, {'TensorFlow-2.15.1_fix-pybind11-build.patch': diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_add-default-shell-env.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_add-default-shell-env.patch index 7cc64ec6102..f1510205a04 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_add-default-shell-env.patch +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_add-default-shell-env.patch @@ -1,5 +1,12 @@ -diff --git a/tensorflow/python/tools/api/generator2/generate_api.bzl b/tensorflow/python/tools/api/generator2/generate_api.bzl -index 64e9b96276e..afadd07bc3d 100644 +Make TensorFlow use the environment as set by EasyBuild + +See https://github.com/tensorflow/tensorflow/pull/61591 + +Author: Alexander Grund (TU Dresden) + +Edit in 2.15.1: include also python api generator / Yunqi Shao (C3SE) + +diff --git a/tensorflow/python/tools/api/generator2/generate_api.bzl b/tensorflow/python/tools/api/generator2/generate_api.bzl index 64e9b96276e..afadd07bc3d 100644 --- a/tensorflow/python/tools/api/generator2/generate_api.bzl +++ b/tensorflow/python/tools/api/generator2/generate_api.bzl @@ -95,6 +95,7 @@ def _api_extractor_impl(target, ctx): @@ -18,6 +25,18 @@ index 64e9b96276e..afadd07bc3d 100644 ) # Convert output_paths to the list of corresponding modules for the further testing +diff --git a/tensorflow/lite/build_def.bzl b/tensorflow/lite/build_def.bzl +index cdc02ac2b26..6b4c8b9045f 100644 +--- a/tensorflow/lite/build_def.bzl ++++ b/tensorflow/lite/build_def.bzl +@@ -368,6 +368,7 @@ def _gen_selected_ops_impl(ctx): + executable = ctx.executable._generate_op_registrations, + mnemonic = "OpRegistration", + progress_message = "gen_selected_ops", ++ use_default_shell_env = True, + ) + + gen_selected_ops_rule = rule( diff --git a/tensorflow/tensorflow.bzl b/tensorflow/tensorflow.bzl index 6762ccd8f9b..de7c27a1275 100644 --- a/tensorflow/tensorflow.bzl From a9ab32e7317352a9a1f7926ef299da7e3fd9d1c4 Mon Sep 17 00:00:00 2001 From: WilleBell Date: Sun, 14 Apr 2024 14:17:01 +0200 Subject: [PATCH 394/889] set maxparallel to 1 --- .../p/pdf2docx/pdf2docx-0.5.8-foss-2023a-CUDA-12.1.1.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/p/pdf2docx/pdf2docx-0.5.8-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/pdf2docx/pdf2docx-0.5.8-foss-2023a-CUDA-12.1.1.eb index f96217ff61c..8ed0d2fd2ba 100644 --- a/easybuild/easyconfigs/p/pdf2docx/pdf2docx-0.5.8-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/pdf2docx/pdf2docx-0.5.8-foss-2023a-CUDA-12.1.1.eb @@ -25,6 +25,8 @@ dependencies = [ use_pip = True sanity_pip_check = True +maxparallel = 1 + exts_list = [ ('PyMuPDF', '1.20.2', { 'modulename': 'fitz', From 694789664b70ffe0ba64f136d31014c57ce087de Mon Sep 17 00:00:00 2001 From: Cintia Willemyns <115622907+WilleBell@users.noreply.github.com> Date: Sun, 14 Apr 2024 14:39:12 +0200 Subject: [PATCH 395/889] Update pdf2docx-0.5.8-foss-2023a-CUDA-12.1.1.eb Remove duplicates in dependencies --- .../p/pdf2docx/pdf2docx-0.5.8-foss-2023a-CUDA-12.1.1.eb | 2 -- 1 file changed, 2 deletions(-) diff --git a/easybuild/easyconfigs/p/pdf2docx/pdf2docx-0.5.8-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/pdf2docx/pdf2docx-0.5.8-foss-2023a-CUDA-12.1.1.eb index 8ed0d2fd2ba..e5d42be6ccf 100644 --- a/easybuild/easyconfigs/p/pdf2docx/pdf2docx-0.5.8-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/pdf2docx/pdf2docx-0.5.8-foss-2023a-CUDA-12.1.1.eb @@ -15,8 +15,6 @@ dependencies = [ ('SciPy-bundle', '2023.07'), ('Python-bundle-PyPI', '2023.06'), ('SWIG', '4.1.1'), - ('SciPy-bundle', '2023.07'), - ('Python-bundle-PyPI', '2023.06'), ('OpenCV', '4.8.1', versionsuffix + '-contrib'), ('lxml', '4.9.2'), # for python-docx ('hatchling', '1.18.0'), # for termcolor From 46816bc413afd9e54458ee5c738e1dc4389b9d5c Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 16 Apr 2024 10:05:10 +0200 Subject: [PATCH 396/889] adding easyconfigs: WGDgc-1.3-foss-2023a-R-4.3.2.eb --- .../w/WGDgc/WGDgc-1.3-foss-2023a-R-4.3.2.eb | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 easybuild/easyconfigs/w/WGDgc/WGDgc-1.3-foss-2023a-R-4.3.2.eb diff --git a/easybuild/easyconfigs/w/WGDgc/WGDgc-1.3-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/w/WGDgc/WGDgc-1.3-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..d4a361b0b15 --- /dev/null +++ b/easybuild/easyconfigs/w/WGDgc/WGDgc-1.3-foss-2023a-R-4.3.2.eb @@ -0,0 +1,39 @@ +easyblock = 'Bundle' + +name = 'WGDgc' +version = '1.3' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/cecileane/WGDgc' +description = "Analysis of whole genome duplications (WGD) and triplications (WGT) using comparative gene count data" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-CRAN', '2023.12'), +] + +exts_defaultclass = 'RPackage' + +exts_list = [ + ('phyext', '0.0.1', { + 'source_urls': ['https://cran.r-project.org/src/contrib/Archive/%(name)s'], + 'sources': ['%(name)s_%(version)s.tar.gz'], + 'checksums': ['b1e1d095034c17536a1a7ae7b203955d43fe13d403d5b772497d2c4cee93151e'], + }), + (name, version, { + 'source_urls': ['https://github.com/cecileane/WGDgc/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['bc4f938a47a8419f4cd43778bf558a7eb4c1b0af386eb78438020d0cfe0b68f0'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'bio' From e416f025f912f839ae0eaabbd28b34fe849eab6c Mon Sep 17 00:00:00 2001 From: Cintia Willemyns <115622907+WilleBell@users.noreply.github.com> Date: Tue, 16 Apr 2024 10:37:04 +0200 Subject: [PATCH 397/889] Update orthAgogue-20141105-foss-2023a.eb move to gompi --- .../easyconfigs/o/orthAgogue/orthAgogue-20141105-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/o/orthAgogue/orthAgogue-20141105-foss-2023a.eb b/easybuild/easyconfigs/o/orthAgogue/orthAgogue-20141105-foss-2023a.eb index 7194aae2d36..bf5d8f3ad6c 100644 --- a/easybuild/easyconfigs/o/orthAgogue/orthAgogue-20141105-foss-2023a.eb +++ b/easybuild/easyconfigs/o/orthAgogue/orthAgogue-20141105-foss-2023a.eb @@ -11,7 +11,7 @@ in massive data sets. orthAgogue is easy to use and offers flexibility through a optional parameters. """ -toolchain = {'name': 'foss', 'version': '2023a'} +toolchain = {'name': 'gompi', 'version': '2023a'} toolchainopts = {'usempi': True, 'pic': True} source_urls = ['https://github.com/guyleonard/orthagogue/archive'] From 125ecf1d31f18be50924dbcdc955e91c343db64c Mon Sep 17 00:00:00 2001 From: Cintia Willemyns <115622907+WilleBell@users.noreply.github.com> Date: Tue, 16 Apr 2024 10:41:58 +0200 Subject: [PATCH 398/889] Rename orthAgogue-20141105-foss-2023a.eb to orthAgogue-20141105-gompi-2023a.eb rename to gompi --- ...-20141105-foss-2023a.eb => orthAgogue-20141105-gompi-2023a.eb} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/o/orthAgogue/{orthAgogue-20141105-foss-2023a.eb => orthAgogue-20141105-gompi-2023a.eb} (100%) diff --git a/easybuild/easyconfigs/o/orthAgogue/orthAgogue-20141105-foss-2023a.eb b/easybuild/easyconfigs/o/orthAgogue/orthAgogue-20141105-gompi-2023a.eb similarity index 100% rename from easybuild/easyconfigs/o/orthAgogue/orthAgogue-20141105-foss-2023a.eb rename to easybuild/easyconfigs/o/orthAgogue/orthAgogue-20141105-gompi-2023a.eb From ebc78d1515529363f2b8b2f957910b0455f23697 Mon Sep 17 00:00:00 2001 From: Cintia Willemyns <115622907+WilleBell@users.noreply.github.com> Date: Tue, 16 Apr 2024 10:57:31 +0200 Subject: [PATCH 399/889] Update and rename premailer-3.10.0-foss-2023a.eb to premailer-3.10.0-GCCcore-12.3.0.eb move to GCCcore toolchain --- ...-3.10.0-foss-2023a.eb => premailer-3.10.0-GCCcore-12.3.0.eb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename easybuild/easyconfigs/p/premailer/{premailer-3.10.0-foss-2023a.eb => premailer-3.10.0-GCCcore-12.3.0.eb} (94%) diff --git a/easybuild/easyconfigs/p/premailer/premailer-3.10.0-foss-2023a.eb b/easybuild/easyconfigs/p/premailer/premailer-3.10.0-GCCcore-12.3.0.eb similarity index 94% rename from easybuild/easyconfigs/p/premailer/premailer-3.10.0-foss-2023a.eb rename to easybuild/easyconfigs/p/premailer/premailer-3.10.0-GCCcore-12.3.0.eb index 944049a1d1f..fdb952bb8b5 100644 --- a/easybuild/easyconfigs/p/premailer/premailer-3.10.0-foss-2023a.eb +++ b/easybuild/easyconfigs/p/premailer/premailer-3.10.0-GCCcore-12.3.0.eb @@ -8,7 +8,7 @@ description = """ CSS blocks into inline style attributes for HTML emails """ -toolchain = {'name': 'foss', 'version': '2023a'} +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} dependencies = [ ('Python', '3.11.3'), From cf72e9cc6c50dbeee1e03609322616c185dd5366 Mon Sep 17 00:00:00 2001 From: mssmzs Date: Tue, 16 Apr 2024 11:08:36 +0100 Subject: [PATCH 400/889] deleting the old one and adding a new EasyConfig file --- ...iza-1.4.1-foss-2023b.eb => Giza-1.4.1-GCCcore-13.2.0.eb} | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) rename easybuild/easyconfigs/g/Giza/{Giza-1.4.1-foss-2023b.eb => Giza-1.4.1-GCCcore-13.2.0.eb} (88%) diff --git a/easybuild/easyconfigs/g/Giza/Giza-1.4.1-foss-2023b.eb b/easybuild/easyconfigs/g/Giza/Giza-1.4.1-GCCcore-13.2.0.eb similarity index 88% rename from easybuild/easyconfigs/g/Giza/Giza-1.4.1-foss-2023b.eb rename to easybuild/easyconfigs/g/Giza/Giza-1.4.1-GCCcore-13.2.0.eb index 35a286a53ee..10f1e5eb15e 100644 --- a/easybuild/easyconfigs/g/Giza/Giza-1.4.1-foss-2023b.eb +++ b/easybuild/easyconfigs/g/Giza/Giza-1.4.1-GCCcore-13.2.0.eb @@ -7,12 +7,16 @@ homepage = "https://danieljprice.github.io/giza/" description = """Giza is an open, lightweight scientific plotting library built on top of cairo that provides uniform output to multiple devices.""" -toolchain = {'name': 'foss', 'version': '2023b'} +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} source_urls = ['https://github.com/danieljprice/giza/archive/'] sources = ['v%(version)s.tar.gz'] checksums = ['67c8eba2cc44a4eb16ff89b10147fa1a157be5801668391726200735c522faf7'] +builddependencies = [ + ('binutils', '2.40'), +] + dependencies = [ ('cairo', '1.18.0'), ('Pango', '1.51.0'), From be8816b58570f4364cdbcf4f40c2e415a4e42d82 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 16 Apr 2024 12:40:49 +0200 Subject: [PATCH 401/889] add dependency variant exception for FDSMNES that requires sequential MUMPS --- test/easyconfigs/easyconfigs.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/easyconfigs/easyconfigs.py b/test/easyconfigs/easyconfigs.py index e3fcacd6bd3..3c911f01677 100644 --- a/test/easyconfigs/easyconfigs.py +++ b/test/easyconfigs/easyconfigs.py @@ -585,6 +585,8 @@ def check_dep_vars(self, gen, dep, dep_vars): # SimpleITK 2.1.0 requires Lua 5.3.x, MedPy and nnU-Net depend on SimpleITK (r'5\.3\.5', [r'nnU-Net-1\.7\.0-', r'MedPy-0\.4\.0-', r'SimpleITK-2\.1\.0-']), ], + # FDMNES requires sequential variant of MUMPS + 'MUMPS': [(r'5\.6\.1; versionsuffix: -metis-seq', [r'FDMNES'])], # SRA-toolkit 3.0.0 requires ncbi-vdb 3.0.0, Finder requires SRA-Toolkit 3.0.0 'ncbi-vdb': [(r'3\.0\.0', [r'SRA-Toolkit-3\.0\.0', r'finder-1\.1\.0'])], # TensorFlow 2.5+ requires a more recent NCCL than version 2.4.8 used in 2019b generation; From 57d376b9be7dfdb657ae16ffaf1987a12bde1961 Mon Sep 17 00:00:00 2001 From: guacke Date: Tue, 16 Apr 2024 14:59:16 +0200 Subject: [PATCH 402/889] adding easyconfigs: VAMPIRE-ASM-6.0-foss-2022b.eb and patches: VAMPIRE-ASM-6.0_makefile.patch --- .../VAMPIRE-ASM/VAMPIRE-ASM-6.0-foss-2022b.eb | 45 +++++++++++++++++++ .../VAMPIRE-ASM-6.0_makefile.patch | 28 ++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 easybuild/easyconfigs/v/VAMPIRE-ASM/VAMPIRE-ASM-6.0-foss-2022b.eb create mode 100644 easybuild/easyconfigs/v/VAMPIRE-ASM/VAMPIRE-ASM-6.0_makefile.patch diff --git a/easybuild/easyconfigs/v/VAMPIRE-ASM/VAMPIRE-ASM-6.0-foss-2022b.eb b/easybuild/easyconfigs/v/VAMPIRE-ASM/VAMPIRE-ASM-6.0-foss-2022b.eb new file mode 100644 index 00000000000..8d902f9a80d --- /dev/null +++ b/easybuild/easyconfigs/v/VAMPIRE-ASM/VAMPIRE-ASM-6.0-foss-2022b.eb @@ -0,0 +1,45 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# License:: MIT/GPL + +easyblock = 'ConfigureMake' + +name = 'VAMPIRE-ASM' +version = '6.0' + +homepage = 'https://vampire.york.ac.uk/' +description = """ +Vampire is designed from the ground-up to be an easy to use, fast, open-source and extensible software package capable of modelling almost any magnetic material with atomic resolution. +""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/richard-evans/vampire/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'VAMPIRE-ASM-6.0_makefile.patch' +] +checksums = [ + {'v6.0.tar.gz': '5a5104eebe6f2c83c11139a6d56cfd78018aba247fd0466e87daa9c39aa62cf8'}, + {'VAMPIRE-ASM-6.0_makefile.patch': + '7c0865ce54993f15ee129a45593b9219c477103ece3f591eff0531f49e337c80'}, +] + +skipsteps = ['configure'] +installopts = 'PREFIX=%(installdir)s' + +sanity_check_paths = { + 'files': [ + 'bin/vampire-serial', + ], + 'dirs': [ + 'bin', + 'share', + ] +} + +sanity_check_commands = [ + 'cd %(installdir)s/share && vampire-serial ', +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/v/VAMPIRE-ASM/VAMPIRE-ASM-6.0_makefile.patch b/easybuild/easyconfigs/v/VAMPIRE-ASM/VAMPIRE-ASM-6.0_makefile.patch new file mode 100644 index 00000000000..bab64881e5f --- /dev/null +++ b/easybuild/easyconfigs/v/VAMPIRE-ASM/VAMPIRE-ASM-6.0_makefile.patch @@ -0,0 +1,28 @@ +--- vampire-6.0/makefile.orig 2024-04-16 09:59:14.730461427 +0200 ++++ vampire-6.0/makefile 2024-04-16 14:12:23.399037000 +0200 +@@ -321,17 +321,14 @@ + $(MAKE) -C util/vdc/ + + install: +- echo "Preparing installation package" +- rm -rf vampire.pkg +- mkdir vampire.pkg +- mkdir vampire.pkg/bin +- cp vampire-* vampire.pkg/bin/ +- cp util/vdc/vdc vampire.pkg/bin/ +- mkdir vampire.pkg/examples +- cp input vampire.pkg/examples/ +- cp Co.mat vampire.pkg/examples/ +- sudo mv -f vampire.pkg /opt/vampire +- sudo echo "/opt/vampire/bin" > /etc/paths.d/vampire_path ++ mkdir $(PREFIX)/bin ++ install -m 0755 vampire-serial $(PREFIX)/bin/ ++ install -m 0755 vampire-parallel $(PREFIX)/bin/ ++ install -m 0755 util/vdc/vdc $(PREFIX)/bin/ ++ ++ mkdir $(PREFIX)/share ++ install -m 0644 input $(PREFIX)/share/ ++ install -m 0644 Co.mat $(PREFIX)/share/ + + uninstall: + rm -rf /opt/vampire From b59ce7d5201164eb33860230abe479881906f5e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Tue, 16 Apr 2024 13:25:53 +0000 Subject: [PATCH 403/889] Drop problem test --- ...Torch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb index 3c535a464a8..0a2a7b1fd60 100644 --- a/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb @@ -90,6 +90,7 @@ exts_list = [ ' --ignore=test/test_inspector.py' # test failing due to typing change ' --ignore=test/nn/conv/test_hetero_conv.py' # unknown jit compilation issue ' --ignore=test/nn/conv/test_sage_conv.py' # unknown jit compilation issue + ' -k "not test_multithreading_neighbor_loader" ' # picky about number of cores in the environment ), 'testinstall': True, }), From a0867873109f9978b0c8f3526a5797f47e309ccc Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Tue, 16 Apr 2024 15:42:23 +0200 Subject: [PATCH 404/889] adding easyconfigs: HDDM-0.9.9-intel-2021b.eb, Seaborn-0.11.2-intel-2021b.eb, PyMC-2.3.8-intel-2021b.eb --- .../h/HDDM/HDDM-0.9.9-intel-2021b.eb | 52 +++++++++++++++++++ .../p/PyMC/PyMC-2.3.8-intel-2021b.eb | 27 ++++++++++ .../s/Seaborn/Seaborn-0.11.2-intel-2021b.eb | 28 ++++++++++ 3 files changed, 107 insertions(+) create mode 100644 easybuild/easyconfigs/h/HDDM/HDDM-0.9.9-intel-2021b.eb create mode 100644 easybuild/easyconfigs/p/PyMC/PyMC-2.3.8-intel-2021b.eb create mode 100644 easybuild/easyconfigs/s/Seaborn/Seaborn-0.11.2-intel-2021b.eb diff --git a/easybuild/easyconfigs/h/HDDM/HDDM-0.9.9-intel-2021b.eb b/easybuild/easyconfigs/h/HDDM/HDDM-0.9.9-intel-2021b.eb new file mode 100644 index 00000000000..8033ec45b87 --- /dev/null +++ b/easybuild/easyconfigs/h/HDDM/HDDM-0.9.9-intel-2021b.eb @@ -0,0 +1,52 @@ +easyblock = 'PythonBundle' + +name = 'HDDM' +version = '0.9.9' + +homepage = 'https://hddm.readthedocs.io/' +description = """HDDM is a Python toolbox for hierarchical Bayesian parameter estimation + of the Drift Diffusion Model (via PyMC).""" + +toolchain = {'name': 'intel', 'version': '2021b'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('Seaborn', '0.11.2'), + ('statsmodels', '0.13.1'), + ('scikit-learn', '1.0.1'), + ('tqdm', '4.62.3'), + ('PyMC', '2.3.8'), + ('ArviZ', '0.11.4'), +] + +use_pip = True + +exts_list = [ + ('kabuki', '0.6.5', { + 'checksums': ['ffd8aabba4355a6ee55287120c02e8fb6300482970e3dbe615e07ed8102dba69'], + }), + ('cloudpickle', '3.0.0', { + 'checksums': ['996d9a482c6fb4f33c1a35335cf8afd065d2a56e973270364840712d9131a882'], + }), + ('ssm-simulators', '0.3.0', { + 'modulename': 'ssms', + 'checksums': ['5477025d0c2a6a7f8aa3aa336a1368ff3256d86956f1bb93d7cc507a5651a860'], + }), + ('patsy', '0.5.6', { + 'checksums': ['95c6d47a7222535f84bff7f63d7303f2e297747a598db89cf5c67f0c0c7d2cdb'], + }), + (name, version, { + 'checksums': ['2ed64db2be7acb5ef4c8b07dcf8ea4680fdfd168876be19db9cf885dd490fe5f'], + }), +] + +sanity_check_paths = { + 'files': ['bin/hddm_demo.py'], + 'dirs': [], +} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PyMC/PyMC-2.3.8-intel-2021b.eb b/easybuild/easyconfigs/p/PyMC/PyMC-2.3.8-intel-2021b.eb new file mode 100644 index 00000000000..d14c9d22325 --- /dev/null +++ b/easybuild/easyconfigs/p/PyMC/PyMC-2.3.8-intel-2021b.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonBundle' + +name = 'PyMC' +version = '2.3.8' + +homepage = 'https://www.pymc.io' +description = """PyMC is a probabilistic programming library for Python that allows users to build Bayesian models + with a simple Python API and fit them using Markov chain Monte Carlo (MCMC) methods.""" + +toolchain = {'name': 'intel', 'version': '2021b'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pymc', version, { + 'checksums': ['1dfef8e06d9773f2b0fd44b38d5187d6f4b3393726bb2a5723ca2d3bce1934ab'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/Seaborn/Seaborn-0.11.2-intel-2021b.eb b/easybuild/easyconfigs/s/Seaborn/Seaborn-0.11.2-intel-2021b.eb new file mode 100644 index 00000000000..5faa2506a5b --- /dev/null +++ b/easybuild/easyconfigs/s/Seaborn/Seaborn-0.11.2-intel-2021b.eb @@ -0,0 +1,28 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics (SIB) +# Biozentrum - University of Basel +easyblock = 'PythonPackage' + +name = 'Seaborn' +version = '0.11.2' + +homepage = 'https://seaborn.pydata.org/' +description = """ Seaborn is a Python visualization library based on matplotlib. + It provides a high-level interface for drawing attractive statistical graphics. """ + +toolchain = {'name': 'intel', 'version': '2021b'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['cf45e9286d40826864be0e3c066f98536982baf701a7caa386511792d61ff4f6'] + +dependencies = [ + ('Python', '3.9.6'), + ('matplotlib', '3.4.3'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'bio' From b3161ffaaae7b80c4c1e0e82b5863650ca16b5f5 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Tue, 16 Apr 2024 15:52:37 +0200 Subject: [PATCH 405/889] adding easyconfigs: CAMPARI-4.0-intel-2023a.eb --- .../c/CAMPARI/CAMPARI-4.0-intel-2023a.eb | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 easybuild/easyconfigs/c/CAMPARI/CAMPARI-4.0-intel-2023a.eb diff --git a/easybuild/easyconfigs/c/CAMPARI/CAMPARI-4.0-intel-2023a.eb b/easybuild/easyconfigs/c/CAMPARI/CAMPARI-4.0-intel-2023a.eb new file mode 100644 index 00000000000..c7459da878e --- /dev/null +++ b/easybuild/easyconfigs/c/CAMPARI/CAMPARI-4.0-intel-2023a.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'CAMPARI' +version = '4.0' +_date = '12202020' + +homepage = 'http://campari.sourceforge.net/V4/index.html' +description = """ +CAMPARI is a joint package for performing and analyzing molecular simulations, in particular of systems of biological +relevance. It focuses on a wide availability of algorithms for (advanced) sampling and is capable of combining Monte +Carlo and molecular dynamics in seamless fashion.""" + +toolchain = {'name': 'intel', 'version': '2023a'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['campari_v%s_%s.zip' % (version.split('.')[0], _date)] +checksums = ['bc627fb286b5461a5c68aa3e1a551ecd81016495163685800163c734f7c4f1bd'] + +dependencies = [ + ('netCDF-Fortran', '4.6.1'), + ('libtirpc', '1.3.3'), +] + +start_dir = 'source' + +configopts = '--enable-mpi=auto LIBS="$LIBS $LIBFFT -ltirpc"' + +buildopts = 'all LIBS="$LIBS $LIBFFT -ltirpc"' + +maxparallel = 10 + +postinstallcmds = ['cp -a %(builddir)s/campari/{data,doc,examples,params,tools,LICENSE} %(installdir)s/'] + +_binaries = ['campari', 'campari_mpi', 'campari_mpi_threads', 'campari_threads', 'camp_ncminer', 'camp_ncminer_threads'] +_libraries = ['lcampari.a', 'lcampari_mpi.a', 'lcampari_mpi_threads.a', 'lcampari_threads.a', 'libxdrf.a'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _binaries] + ['lib/%s' % x for x in _libraries], + 'dirs': [], +} + +sanity_check_commands = ['campari -h | grep "USAGE: CAMPARI"'] + +moduleclass = 'bio' From 80dbf24227488bf6b423b98b98ef683df054f69b Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Tue, 16 Apr 2024 15:58:28 +0200 Subject: [PATCH 406/889] adding easyconfigs: RPostgreSQL-0.7-6-gfbf-2023a.eb --- .../RPostgreSQL-0.7-6-gfbf-2023a.eb | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 easybuild/easyconfigs/r/RPostgreSQL/RPostgreSQL-0.7-6-gfbf-2023a.eb diff --git a/easybuild/easyconfigs/r/RPostgreSQL/RPostgreSQL-0.7-6-gfbf-2023a.eb b/easybuild/easyconfigs/r/RPostgreSQL/RPostgreSQL-0.7-6-gfbf-2023a.eb new file mode 100644 index 00000000000..b15c33a3c44 --- /dev/null +++ b/easybuild/easyconfigs/r/RPostgreSQL/RPostgreSQL-0.7-6-gfbf-2023a.eb @@ -0,0 +1,50 @@ +easyblock = 'Bundle' + +name = 'RPostgreSQL' +version = '0.7-6' + +homepage = "https://cran.r-project.org/package=RPostgreSQL" +description = """Database interface and 'PostgreSQL' driver for 'R'. This package provides a +Database Interface 'DBI' compliant driver for 'R' to access 'PostgreSQL' +database systems.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +builddependencies = [ + ('pkgconf', '1.9.5'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('R', '4.3.2'), + ('PostgreSQL', '16.1'), +] + +exts_defaultclass = 'RPackage' + +exts_default_options = { + 'source_urls': [ + 'https://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive + 'https://cran.r-project.org/src/contrib/', # current version of packages + 'https://cran.freestatistics.org/src/contrib', # mirror alternative for current packages + ], + 'source_tmpl': '%(name)s_%(version)s.tar.gz', +} + +exts_list = [ + ('DBI', '1.1.3', { + 'checksums': ['38bb33753da5bddb78893a5228a5d269dae3bf16f21dc5d9853ac9c24d31428d'], + }), + (name, version, { + 'checksums': ['385939708b6a3657663409f91e165ded0ff5268d1dc6225e0f9b34764baf2d2c'], + }), +] + +sanity_check_paths = { + 'files': ['RPostgreSQL/libs/RPostgreSQL.%s' % SHLIB_EXT, 'RPostgreSQL/R/RPostgreSQL'], + 'dirs': [], +} + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'data' From ed616365aa5c904b0807e33188cd994e1b4dffcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 16 Apr 2024 17:36:46 +0200 Subject: [PATCH 407/889] remove arrow-R-14.0.0.2-foss-2023a-R-4.3.2.eb, as it has an incompatible dependency --- .../arrow-R-14.0.0.2-foss-2023a-R-4.3.2.eb | 35 ------------------- 1 file changed, 35 deletions(-) delete mode 100644 easybuild/easyconfigs/a/arrow-R/arrow-R-14.0.0.2-foss-2023a-R-4.3.2.eb diff --git a/easybuild/easyconfigs/a/arrow-R/arrow-R-14.0.0.2-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/a/arrow-R/arrow-R-14.0.0.2-foss-2023a-R-4.3.2.eb deleted file mode 100644 index c7739415f2d..00000000000 --- a/easybuild/easyconfigs/a/arrow-R/arrow-R-14.0.0.2-foss-2023a-R-4.3.2.eb +++ /dev/null @@ -1,35 +0,0 @@ -easyblock = 'RPackage' - -name = 'arrow-R' -version = '14.0.0.2' -versionsuffix = '-R-%(rver)s' - -homepage = 'https://cran.r-project.org/web/packages/arrow' -description = "R interface to the Apache Arrow C++ library" - -toolchain = {'name': 'foss', 'version': '2023a'} - -source_urls = [ - 'https://cran.r-project.org/src/contrib/Archive/arrow', # package archive - 'https://cran.r-project.org/src/contrib/', # current version of packages - 'https://cran.freestatistics.org/src/contrib', # mirror alternative for current packages -] -sources = ['arrow_%(version)s.tar.gz'] -checksums = ['7138a52d66f1b94ec31c25e8929d6f92b1640df852a10817600a82ab68ba8ab7'] - -dependencies = [ - ('R', '4.3.2'), - ('R-bundle-CRAN', '2023.12'), - ('Arrow', '14.0.1'), # arrow-R x.y.z[.N] only works with Arrow x.y.z -] - -preinstallopts = "export LIBARROW_BINARY=true && " - -sanity_check_paths = { - 'files': [], - 'dirs': ['arrow'], -} - -options = {'modulename': 'arrow'} - -moduleclass = 'tools' From 261d4ab4981a388724a53cb3dcbb8cb038c424eb Mon Sep 17 00:00:00 2001 From: Adam Huffman <12435+verdurin@users.noreply.github.com> Date: Tue, 16 Apr 2024 15:43:23 +0000 Subject: [PATCH 408/889] adding easyconfigs: kallisto-0.50.1-gompi-2022b.eb --- .../k/kallisto/kallisto-0.50.1-gompi-2022b.eb | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 easybuild/easyconfigs/k/kallisto/kallisto-0.50.1-gompi-2022b.eb diff --git a/easybuild/easyconfigs/k/kallisto/kallisto-0.50.1-gompi-2022b.eb b/easybuild/easyconfigs/k/kallisto/kallisto-0.50.1-gompi-2022b.eb new file mode 100644 index 00000000000..86bc46c567b --- /dev/null +++ b/easybuild/easyconfigs/k/kallisto/kallisto-0.50.1-gompi-2022b.eb @@ -0,0 +1,48 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'CMakeMake' + +name = 'kallisto' +version = '0.50.1' + +homepage = 'https://pachterlab.github.io/kallisto/' +description = """kallisto is a program for quantifying abundances of transcripts from RNA-Seq data, or more generally + of target sequences using high-throughput sequencing reads.""" + +toolchain = {'name': 'gompi', 'version': '2022b'} +toolchainopts = {'pic': True, 'usempi': True} + +github_account = 'pachterlab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = [ + {'v0.50.1.tar.gz': '030752bab3b0e33cd3f23f6d8feddd74194e5513532ffbf23519e84db2a86d34'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + ('CMake', '3.24.3'), + ('zlib', '1.2.12'), +] + +dependencies = [ + ('HDF5', '1.14.0'), + ('HTSlib', '1.17'), +] + +parallel = 1 + +configopts = '-DUSE_HDF5=ON' + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +sanity_check_commands = [ + "kallisto version", + "cd %(builddir)s/%(name)s-%(version)s/test && kallisto index -i ts.idx transcripts.fasta.gz", + "cd %(builddir)s/%(name)s-%(version)s/test && kallisto quant -i ts.idx -o out -b 100 reads_{1,2}.fastq.gz", +] + +moduleclass = 'bio' From f4ab52efe7e6e2e3eafe4605eac9ce7ac6a5227c Mon Sep 17 00:00:00 2001 From: Adam Huffman <12435+verdurin@users.noreply.github.com> Date: Tue, 16 Apr 2024 16:08:19 +0000 Subject: [PATCH 409/889] adding easyconfigs: HISAT2-2.2.1-gompi-2022b.eb, SRA-Toolkit-3.0.5-gompi-2022b.eb, file-5.43-GCCcore-12.2.0.eb --- .../f/file/file-5.43-GCCcore-12.2.0.eb | 28 +++++++ .../h/HISAT2/HISAT2-2.2.1-gompi-2022b.eb | 61 +++++++++++++++ .../SRA-Toolkit-3.0.5-gompi-2022b.eb | 76 +++++++++++++++++++ 3 files changed, 165 insertions(+) create mode 100644 easybuild/easyconfigs/f/file/file-5.43-GCCcore-12.2.0.eb create mode 100644 easybuild/easyconfigs/h/HISAT2/HISAT2-2.2.1-gompi-2022b.eb create mode 100644 easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.5-gompi-2022b.eb diff --git a/easybuild/easyconfigs/f/file/file-5.43-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/file/file-5.43-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..b02ba70dd64 --- /dev/null +++ b/easybuild/easyconfigs/f/file/file-5.43-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'file' +version = '5.43' + +homepage = 'https://www.darwinsys.com/file/' +description = """The file command is 'a file type guesser', that is, a command-line tool + that tells you in words what kind of data a file contains.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['ftp://ftp.astron.com/pub/file/'] +sources = [SOURCE_TAR_GZ] +checksums = ['8c8015e91ae0e8d0321d94c78239892ef9dbc70c4ade0008c0e95894abfb1991'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.39'), +] + +preconfigopts = "autoreconf -f -i && " + +sanity_check_paths = { + 'files': ['bin/file', 'include/magic.h', 'lib/libmagic.%s' % SHLIB_EXT], + 'dirs': ['share'] +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/h/HISAT2/HISAT2-2.2.1-gompi-2022b.eb b/easybuild/easyconfigs/h/HISAT2/HISAT2-2.2.1-gompi-2022b.eb new file mode 100644 index 00000000000..f48521d0c62 --- /dev/null +++ b/easybuild/easyconfigs/h/HISAT2/HISAT2-2.2.1-gompi-2022b.eb @@ -0,0 +1,61 @@ +## +# This is a contribution from DeepThought HPC Service, Flinders University, Adelaide, Australia +# Homepage: https://staff.flinders.edu.au/research/deep-thought +# +# Authors:: Robert Qiao +# License:: GPLv3.0 +# +# Notes:: +# 2.2.1 - changes from Adam Huffman +# Bumped to foss-2021b +# J. Sassmannshausen + +easyblock = 'MakeCp' + +name = 'HISAT2' +version = '2.2.1' + +homepage = 'https://daehwankimlab.github.io/hisat2' +description = """HISAT2 is a fast and sensitive alignment program for mapping next-generation sequencing reads + (both DNA and RNA) against the general human population (as well as against a single reference genome).""" + +toolchain = {'name': 'gompi', 'version': '2022b'} + +sources = [{ + 'source_urls': ['https://cloud.biohpc.swmed.edu/index.php/s/fE9QCsX3NH4QwBi'], + 'download_filename': 'download', + 'filename': '%(namelower)s-%(version)s-source.zip', +}] +patches = [ + 'hisat2-libname-fix.patch', +] +checksums = [ + {'hisat2-2.2.1-source.zip': '48e933330d4d8470d2b3dfe7ec3918f2e98a75f7381891e23b7df1fb4f135eb1'}, + {'hisat2-libname-fix.patch': '8aa91d1dd6455b96c10ce48827f8313b006241d815fbe6382422dbae3b610726'}, +] + +dependencies = [ + ('ncbi-vdb', '3.0.5'), + ('SRA-Toolkit', '3.0.5'), # provides NGS +] + +buildopts = 'CC="$CC" CPP="$CXX" RELEASE_FLAGS="$CFLAGS" ' +buildopts += 'USE_SRA=1 NCBI_NGS_DIR="$EBROOTSRAMINTOOLKIT" NCBI_VDB_DIR="$EBROOTNCBIMINVDB" ' +# add new libncbi-ngs from the NGS merge into SRA-Toolkit v3 +buildopts += 'SRA_LIB="-lncbi-ngs-c++ -lngs-c++ -lncbi-ngs -lncbi-vdb -ldl"' + +local_executables = ['hisat2', 'hisat2-align-l', 'hisat2-align-s', 'hisat2-build', 'hisat2-build-l', 'hisat2-build-s', + 'hisat2-inspect', 'hisat2-inspect-s', 'hisat2-inspect-l', 'hisat2-repeat', 'extract_exons.py', + 'extract_splice_sites.py', 'hisat2_extract_exons.py', 'hisat2_extract_snps_haplotypes_UCSC.py', + 'hisat2_extract_snps_haplotypes_VCF.py', 'hisat2_extract_splice_sites.py', + 'hisat2_read_statistics.py', 'hisat2_simulate_reads.py'] +files_to_copy = [(local_executables, 'bin'), 'scripts', 'example'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_executables], + 'dirs': ['scripts', 'example'], +} + +sanity_check_commands = ["hisat2 --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.5-gompi-2022b.eb b/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.5-gompi-2022b.eb new file mode 100644 index 00000000000..c81d146ae63 --- /dev/null +++ b/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.5-gompi-2022b.eb @@ -0,0 +1,76 @@ +# updated: Denis Kristak (INUITS) +# updated: Sebastien Moretti (SIB - Vital-IT) +# updated: Pavel Tománek (INUITS) +easyblock = 'CMakeMake' + +name = 'SRA-Toolkit' +version = '3.0.5' + +homepage = 'https://github.com/ncbi/sra-tools' +description = """The SRA Toolkit, and the source-code SRA System Development + Kit (SDK), will allow you to programmatically access data housed within SRA + and convert it from the SRA format""" +github_account = 'ncbi' + +toolchain = {'name': 'gompi', 'version': '2022b'} +toolchainopts = {'extra_cflags': '-DH5_USE_110_API'} + +source_urls = ['https://github.com/ncbi/sra-tools/archive/refs/tags/'] +sources = [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['6dca9889ca9cfa83e9ce1c39bf7ae5654576fc79c4f608e902272a49573a05e0'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('Perl', '5.36.0'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('Java', '11', '', SYSTEM), + ('OpenSSL', '1.1', '', SYSTEM), + ('ncbi-vdb', version), + ('bzip2', '1.0.8'), + ('file', '5.43'), + ('HDF5', '1.14.0'), + ('libxml2', '2.10.3'), + ('zlib', '1.2.12'), +] + +configopts = '-DVDB_INCDIR="$EBROOTNCBIMINVDB/include" -DVDB_LIBDIR="$EBROOTNCBIMINVDB/lib" ' +configopts += '-DBUILD_TOOLS_LOADERS=ON -DBUILD_TOOLS_INTERNAL=ON' + +postinstallcmds = [ + "cp -r %(start_dir)s/ngs/ngs-python/ %(installdir)s/", +] + +_sra_bin = [ + 'abi-dump', 'abi-load', 'align-info', 'bam-load', 'cache-mgr', 'cg-load', 'copycat', 'fasterq-dump', 'fastq-dump', + 'fastq-load', 'helicos-load', 'illumina-dump', 'illumina-load', 'kar', 'kdbmeta', 'latf-load', 'pacbio-load', + 'prefetch', 'rcexplain', 'sam-dump', 'sff-dump', 'sff-load', 'srapath', 'sra-pileup', 'sra-sort', 'sra-stat', + 'sratools', 'srf-load', 'test-sra', 'vdb-config', 'vdb-copy', 'vdb-decrypt', 'vdb-dump', 'vdb-encrypt', 'vdb-lock', + 'vdb-unlock', 'vdb-validate', +] + +_ngs_libs = ['libncbi-ngs.a', 'libncbi-ngs-c++.a', 'libncbi-ngs.%s' % SHLIB_EXT, + 'libngs-c++.a', 'libngs-c++.%s' % SHLIB_EXT] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _sra_bin] + ['lib/%s' % l for l in _ngs_libs], + 'dirs': ['jar', 'include/ncbi-vdb', 'include/ngs'] +} + +sanity_check_commands = [ + "abi-dump --help", + "kar --help", + "sra-sort --help", + "python -c 'import ngs'", +] + +modextrapaths = { + 'CLASSPATH': 'jar/ngs-java.jar', + 'PYTHONPATH': 'ngs-python', +} + +moduleclass = 'bio' From f59e44b7302ecb3ec71594f140ec716eae1259ce Mon Sep 17 00:00:00 2001 From: Guillaume Acke Date: Tue, 16 Apr 2024 18:21:51 +0200 Subject: [PATCH 410/889] Apply suggestions from code review Co-authored-by: Lara Ramona Peeters <49882639+laraPPr@users.noreply.github.com> --- .../v/VAMPIRE-ASM/VAMPIRE-ASM-6.0-foss-2022b.eb | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/v/VAMPIRE-ASM/VAMPIRE-ASM-6.0-foss-2022b.eb b/easybuild/easyconfigs/v/VAMPIRE-ASM/VAMPIRE-ASM-6.0-foss-2022b.eb index 8d902f9a80d..554c6c4cd0c 100644 --- a/easybuild/easyconfigs/v/VAMPIRE-ASM/VAMPIRE-ASM-6.0-foss-2022b.eb +++ b/easybuild/easyconfigs/v/VAMPIRE-ASM/VAMPIRE-ASM-6.0-foss-2022b.eb @@ -8,7 +8,9 @@ version = '6.0' homepage = 'https://vampire.york.ac.uk/' description = """ -Vampire is designed from the ground-up to be an easy to use, fast, open-source and extensible software package capable of modelling almost any magnetic material with atomic resolution. +Vampire is designed from the ground-up to be an easy to use, fast, +open-source and extensible software package capable of modelling +almost any magnetic material with atomic resolution. """ toolchain = {'name': 'foss', 'version': '2022b'} @@ -17,12 +19,12 @@ toolchainopts = {'usempi': True} source_urls = ['https://github.com/richard-evans/vampire/archive/refs/tags/'] sources = ['v%(version)s.tar.gz'] patches = [ - 'VAMPIRE-ASM-6.0_makefile.patch' + 'VAMPIRE-ASM-6.0_makefile.patch' ] checksums = [ {'v6.0.tar.gz': '5a5104eebe6f2c83c11139a6d56cfd78018aba247fd0466e87daa9c39aa62cf8'}, {'VAMPIRE-ASM-6.0_makefile.patch': - '7c0865ce54993f15ee129a45593b9219c477103ece3f591eff0531f49e337c80'}, + '7c0865ce54993f15ee129a45593b9219c477103ece3f591eff0531f49e337c80'}, ] skipsteps = ['configure'] @@ -33,7 +35,7 @@ sanity_check_paths = { 'bin/vampire-serial', ], 'dirs': [ - 'bin', + 'bin', 'share', ] } From d567d60d13fe0e2c38ba5822fd89762b1f8028ea Mon Sep 17 00:00:00 2001 From: guacke Date: Tue, 16 Apr 2024 18:31:27 +0200 Subject: [PATCH 411/889] Switch to MakeCp easyblock. --- .../VAMPIRE-ASM/VAMPIRE-ASM-6.0-foss-2022b.eb | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/easybuild/easyconfigs/v/VAMPIRE-ASM/VAMPIRE-ASM-6.0-foss-2022b.eb b/easybuild/easyconfigs/v/VAMPIRE-ASM/VAMPIRE-ASM-6.0-foss-2022b.eb index 554c6c4cd0c..c42b2901c73 100644 --- a/easybuild/easyconfigs/v/VAMPIRE-ASM/VAMPIRE-ASM-6.0-foss-2022b.eb +++ b/easybuild/easyconfigs/v/VAMPIRE-ASM/VAMPIRE-ASM-6.0-foss-2022b.eb @@ -1,16 +1,14 @@ # This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild # License:: MIT/GPL -easyblock = 'ConfigureMake' +easyblock = 'MakeCp' name = 'VAMPIRE-ASM' version = '6.0' homepage = 'https://vampire.york.ac.uk/' description = """ -Vampire is designed from the ground-up to be an easy to use, fast, -open-source and extensible software package capable of modelling -almost any magnetic material with atomic resolution. +Vampire is designed from the ground-up to be an easy to use, fast, open-source and extensible software package capable of modelling almost any magnetic material with atomic resolution. """ toolchain = {'name': 'foss', 'version': '2022b'} @@ -18,30 +16,31 @@ toolchainopts = {'usempi': True} source_urls = ['https://github.com/richard-evans/vampire/archive/refs/tags/'] sources = ['v%(version)s.tar.gz'] -patches = [ - 'VAMPIRE-ASM-6.0_makefile.patch' -] checksums = [ {'v6.0.tar.gz': '5a5104eebe6f2c83c11139a6d56cfd78018aba247fd0466e87daa9c39aa62cf8'}, - {'VAMPIRE-ASM-6.0_makefile.patch': - '7c0865ce54993f15ee129a45593b9219c477103ece3f591eff0531f49e337c80'}, ] skipsteps = ['configure'] -installopts = 'PREFIX=%(installdir)s' + +files_to_copy = [ + (['vampire-serial', 'vampire-parallel', 'util/vdc/vdc'], 'bin'), + (['input', 'Co.mat'], 'examples'), + 'license', 'BSD_licence', 'readme.md', +] sanity_check_paths = { 'files': [ 'bin/vampire-serial', + 'bin/vampire-parallel', ], 'dirs': [ - 'bin', - 'share', + 'bin', + 'examples', ] } sanity_check_commands = [ - 'cd %(installdir)s/share && vampire-serial ', + 'cd %(installdir)s/examples && vampire-serial ', ] moduleclass = 'chem' From e0b9e5be4bfe99b9cdedaa7a324167974f8e35c0 Mon Sep 17 00:00:00 2001 From: guacke Date: Tue, 16 Apr 2024 18:36:55 +0200 Subject: [PATCH 412/889] Delete unnecessary patch file. --- .../VAMPIRE-ASM-6.0_makefile.patch | 28 ------------------- 1 file changed, 28 deletions(-) delete mode 100644 easybuild/easyconfigs/v/VAMPIRE-ASM/VAMPIRE-ASM-6.0_makefile.patch diff --git a/easybuild/easyconfigs/v/VAMPIRE-ASM/VAMPIRE-ASM-6.0_makefile.patch b/easybuild/easyconfigs/v/VAMPIRE-ASM/VAMPIRE-ASM-6.0_makefile.patch deleted file mode 100644 index bab64881e5f..00000000000 --- a/easybuild/easyconfigs/v/VAMPIRE-ASM/VAMPIRE-ASM-6.0_makefile.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- vampire-6.0/makefile.orig 2024-04-16 09:59:14.730461427 +0200 -+++ vampire-6.0/makefile 2024-04-16 14:12:23.399037000 +0200 -@@ -321,17 +321,14 @@ - $(MAKE) -C util/vdc/ - - install: -- echo "Preparing installation package" -- rm -rf vampire.pkg -- mkdir vampire.pkg -- mkdir vampire.pkg/bin -- cp vampire-* vampire.pkg/bin/ -- cp util/vdc/vdc vampire.pkg/bin/ -- mkdir vampire.pkg/examples -- cp input vampire.pkg/examples/ -- cp Co.mat vampire.pkg/examples/ -- sudo mv -f vampire.pkg /opt/vampire -- sudo echo "/opt/vampire/bin" > /etc/paths.d/vampire_path -+ mkdir $(PREFIX)/bin -+ install -m 0755 vampire-serial $(PREFIX)/bin/ -+ install -m 0755 vampire-parallel $(PREFIX)/bin/ -+ install -m 0755 util/vdc/vdc $(PREFIX)/bin/ -+ -+ mkdir $(PREFIX)/share -+ install -m 0644 input $(PREFIX)/share/ -+ install -m 0644 Co.mat $(PREFIX)/share/ - - uninstall: - rm -rf /opt/vampire From f9fbaab8cf3b304830fec657352c78a6caec5d96 Mon Sep 17 00:00:00 2001 From: guacke Date: Tue, 16 Apr 2024 18:42:33 +0200 Subject: [PATCH 413/889] Style fixes. --- .../v/VAMPIRE-ASM/VAMPIRE-ASM-6.0-foss-2022b.eb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/v/VAMPIRE-ASM/VAMPIRE-ASM-6.0-foss-2022b.eb b/easybuild/easyconfigs/v/VAMPIRE-ASM/VAMPIRE-ASM-6.0-foss-2022b.eb index c42b2901c73..b235221f1c6 100644 --- a/easybuild/easyconfigs/v/VAMPIRE-ASM/VAMPIRE-ASM-6.0-foss-2022b.eb +++ b/easybuild/easyconfigs/v/VAMPIRE-ASM/VAMPIRE-ASM-6.0-foss-2022b.eb @@ -8,7 +8,9 @@ version = '6.0' homepage = 'https://vampire.york.ac.uk/' description = """ -Vampire is designed from the ground-up to be an easy to use, fast, open-source and extensible software package capable of modelling almost any magnetic material with atomic resolution. +Vampire is designed from the ground-up to be an easy to use, fast, +open-source and extensible software package capable of modelling +almost any magnetic material with atomic resolution. """ toolchain = {'name': 'foss', 'version': '2022b'} @@ -34,13 +36,13 @@ sanity_check_paths = { 'bin/vampire-parallel', ], 'dirs': [ - 'bin', + 'bin', 'examples', ] } sanity_check_commands = [ - 'cd %(installdir)s/examples && vampire-serial ', + 'cd %(installdir)s/examples && vampire-serial', ] moduleclass = 'chem' From 63c8afde51b7caec02908293ade3c13780ed37cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 16 Apr 2024 20:51:03 +0200 Subject: [PATCH 414/889] add patch for Rhdf5lib --- ...Rhdf5lib-1.20.0_fix_hardcoded_path_to_mv.patch | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 easybuild/easyconfigs/r/R-bundle-Bioconductor/Rhdf5lib-1.20.0_fix_hardcoded_path_to_mv.patch diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/Rhdf5lib-1.20.0_fix_hardcoded_path_to_mv.patch b/easybuild/easyconfigs/r/R-bundle-Bioconductor/Rhdf5lib-1.20.0_fix_hardcoded_path_to_mv.patch new file mode 100644 index 00000000000..856ebae5891 --- /dev/null +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/Rhdf5lib-1.20.0_fix_hardcoded_path_to_mv.patch @@ -0,0 +1,15 @@ +Replace the call to /bin/mv by mv in the configure file of the included HDF5 source tarball. +This prevents issues when building with a non-default sysroot. + +Author: Bob Dröge (University of Groningen) +diff -ru Rhdf5lib.orig/src/Makevars.in Rhdf5lib/src/Makevars.in +--- Rhdf5lib.orig/src/Makevars.in 2022-11-01 20:04:33.000000000 +0100 ++++ Rhdf5lib/src/Makevars.in 2024-04-16 20:32:22.028694313 +0200 +@@ -48,6 +48,7 @@ + + build-hdf5: @REQUIRE_SZIP@ @EXTRACT_SOURCE@ + cd hdf5; \ ++ sed -i "s|/bin/mv|mv|" ./configure; \ + ./configure --with-pic --enable-shared=no --enable-cxx --enable-hl \ + --enable-tests=no --enable-tools=no \ + --with-szlib=@SZIP_HOME@ --with-zlib=@ZLIB_HOME@ \ From 53e84c23339d68f8638c0ef39214831f50bf5e68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 16 Apr 2024 20:51:16 +0200 Subject: [PATCH 415/889] apply patch Rhdf5lib-1.20.0_fix_hardcoded_path_to_mv.patch --- .../R-bundle-Bioconductor-3.16-foss-2022b-R-4.2.2.eb | 7 ++++++- .../R-bundle-Bioconductor-3.18-foss-2023a-R-4.3.2.eb | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.16-foss-2022b-R-4.2.2.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.16-foss-2022b-R-4.2.2.eb index ef1d97ba4c9..e47c537ead2 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.16-foss-2022b-R-4.2.2.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.16-foss-2022b-R-4.2.2.eb @@ -322,7 +322,12 @@ exts_list = [ 'checksums': ['3dabec627b5e21da365979d6980565bd338e5a6ec8c3a016f3726ebb6184da70'], }), ('Rhdf5lib', '1.20.0', { - 'checksums': ['a73b462be309c9df11afc9b941282dcefb36b4a38d15c050fd98bb3c05bbaf7f'], + 'patches': ['Rhdf5lib-1.20.0_fix_hardcoded_path_to_mv.patch'], + 'checksums': [ + {'Rhdf5lib_1.20.0.tar.gz': 'a73b462be309c9df11afc9b941282dcefb36b4a38d15c050fd98bb3c05bbaf7f'}, + {'Rhdf5lib-1.20.0_fix_hardcoded_path_to_mv.patch': + 'fd35fd20166aa67cf5fbc194861d9196a2220fd40057b0524722ecc3de4774e8'}, + ], }), ('rhdf5filters', '1.10.0', { 'checksums': ['e1bf2ada5070b4b8d48b90db13ea750c812eaa2a82536571faa35621c250a29f'], diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.18-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.18-foss-2023a-R-4.3.2.eb index e07ffd64a9e..9a1b867163c 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.18-foss-2023a-R-4.3.2.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.18-foss-2023a-R-4.3.2.eb @@ -328,7 +328,12 @@ exts_list = [ 'checksums': ['ec1ad9959f3c290fb3b4c37c1b9719f10bac0d5d59ef6b99a56b86607442d145'], }), ('Rhdf5lib', '1.24.1', { - 'checksums': ['90eb76a2f6b73e18c8fb560ab14e5e3a2c85ae747f278d66e67d3bebfe6c6551'], + 'patches': ['Rhdf5lib-1.20.0_fix_hardcoded_path_to_mv.patch'], + 'checksums': [ + {'Rhdf5lib_1.24.1.tar.gz': '90eb76a2f6b73e18c8fb560ab14e5e3a2c85ae747f278d66e67d3bebfe6c6551'}, + {'Rhdf5lib-1.20.0_fix_hardcoded_path_to_mv.patch': + 'fd35fd20166aa67cf5fbc194861d9196a2220fd40057b0524722ecc3de4774e8'}, + ], }), ('rhdf5filters', '1.14.1', { 'checksums': ['6636612d28ea6f2e658400cbd186066926fe3d4b8d07261ad7a49299c23c0e33'], From ae2fc38307b56ae7ac12dff95c9d07404e1a8530 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 16 Apr 2024 20:59:28 +0200 Subject: [PATCH 416/889] remove HDF5 dependency --- .../R-bundle-Bioconductor-3.13-foss-2021a-R-4.1.0.eb | 1 - .../R-bundle-Bioconductor-3.14-foss-2021b-R-4.1.2.eb | 1 - .../R-bundle-Bioconductor-3.15-foss-2021b-R-4.2.0.eb | 1 - .../R-bundle-Bioconductor-3.15-foss-2022a-R-4.2.1.eb | 1 - .../R-bundle-Bioconductor-3.16-foss-2022b-R-4.2.2.eb | 1 - .../R-bundle-Bioconductor-3.18-foss-2023a-R-4.3.2.eb | 1 - 6 files changed, 6 deletions(-) diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.13-foss-2021a-R-4.1.0.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.13-foss-2021a-R-4.1.0.eb index 542cb7906c0..fd091166b36 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.13-foss-2021a-R-4.1.0.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.13-foss-2021a-R-4.1.0.eb @@ -16,7 +16,6 @@ dependencies = [ ('R', '4.1.0'), ('Boost', '1.76.0'), # for mzR ('GSL', '2.7'), # for flowClust - ('HDF5', '1.10.7'), # for rhdf5 ('ncdf4', '1.17', versionsuffix), # for mzR ('arrow-R', '6.0.0.2', versionsuffix), # required by RcisTarget ] diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.14-foss-2021b-R-4.1.2.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.14-foss-2021b-R-4.1.2.eb index 761944fd152..e6a7f8828df 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.14-foss-2021b-R-4.1.2.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.14-foss-2021b-R-4.1.2.eb @@ -18,7 +18,6 @@ dependencies = [ ('R', '4.1.2'), ('Boost', '1.77.0'), # for mzR ###### ('GSL', '2.7'), # for flowClust - ('HDF5', '1.12.1'), # for rhdf5 ('arrow-R', '6.0.0.2', versionsuffix), # required by RcisTarget ] diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.15-foss-2021b-R-4.2.0.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.15-foss-2021b-R-4.2.0.eb index 2cd7b030d51..ca9f54f0088 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.15-foss-2021b-R-4.2.0.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.15-foss-2021b-R-4.2.0.eb @@ -16,7 +16,6 @@ dependencies = [ ('R', '4.2.0'), ('Boost', '1.77.0'), # for mzR ('GSL', '2.7'), # for flowClust - ('HDF5', '1.12.1'), # for rhdf5 ('arrow-R', '6.0.0.2', versionsuffix), # required by RcisTarget ] diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.15-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.15-foss-2022a-R-4.2.1.eb index f6924e214d5..2f9800a49ad 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.15-foss-2022a-R-4.2.1.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.15-foss-2022a-R-4.2.1.eb @@ -18,7 +18,6 @@ dependencies = [ ('R', '4.2.1'), ('Boost', '1.79.0'), # for mzR ('GSL', '2.7'), # for flowClust - ('HDF5', '1.12.2'), # for rhdf5 ('arrow-R', '8.0.0', versionsuffix), # required by RcisTarget ] diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.16-foss-2022b-R-4.2.2.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.16-foss-2022b-R-4.2.2.eb index ef1d97ba4c9..954124c39cd 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.16-foss-2022b-R-4.2.2.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.16-foss-2022b-R-4.2.2.eb @@ -16,7 +16,6 @@ dependencies = [ ('R', '4.2.2'), ('Boost', '1.81.0'), # for mzR ('GSL', '2.7'), # for flowClust - ('HDF5', '1.14.0'), # for rhdf5 ('arrow-R', '11.0.0.3', versionsuffix), # required by RcisTarget ] diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.18-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.18-foss-2023a-R-4.3.2.eb index e07ffd64a9e..36967d31d7a 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.18-foss-2023a-R-4.3.2.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.18-foss-2023a-R-4.3.2.eb @@ -16,7 +16,6 @@ dependencies = [ ('R', '4.3.2'), ('Boost', '1.82.0'), # for mzR ('GSL', '2.7'), # for flowClust - ('HDF5', '1.14.0'), # for rhdf5 ('arrow-R', '14.0.0.2', versionsuffix), # required by RcisTarget ] From 3e9ace82ce71861ef14b64ee6f1b9f1e22d9c526 Mon Sep 17 00:00:00 2001 From: WilleBell Date: Wed, 17 Apr 2024 10:18:47 +0200 Subject: [PATCH 417/889] move toolchain down to gfbf --- .../{ONNX-1.15.0-foss-2023a.eb => ONNX-1.15.0-gfbf-2023a.eb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename easybuild/easyconfigs/o/ONNX/{ONNX-1.15.0-foss-2023a.eb => ONNX-1.15.0-gfbf-2023a.eb} (97%) diff --git a/easybuild/easyconfigs/o/ONNX/ONNX-1.15.0-foss-2023a.eb b/easybuild/easyconfigs/o/ONNX/ONNX-1.15.0-gfbf-2023a.eb similarity index 97% rename from easybuild/easyconfigs/o/ONNX/ONNX-1.15.0-foss-2023a.eb rename to easybuild/easyconfigs/o/ONNX/ONNX-1.15.0-gfbf-2023a.eb index a21dee00ac3..01fc27d4953 100644 --- a/easybuild/easyconfigs/o/ONNX/ONNX-1.15.0-foss-2023a.eb +++ b/easybuild/easyconfigs/o/ONNX/ONNX-1.15.0-gfbf-2023a.eb @@ -12,7 +12,7 @@ defines an extensible computation graph model, as well as definitions of built-in operators and standard data types. Currently we focus on the capabilities needed for inferencing (scoring).""" -toolchain = {'name': 'foss', 'version': '2023a'} +toolchain = {'name': 'gfbf', 'version': '2023a'} sources = [SOURCELOWER_TAR_GZ] patches = ['ONNX-1.15.0_fix-protobuf-linking.patch'] From 4f85109aaa40ceeb4e43b590ae2e05feb574e3a9 Mon Sep 17 00:00:00 2001 From: WilleBell Date: Wed, 17 Apr 2024 10:35:03 +0200 Subject: [PATCH 418/889] modify tests options --- easybuild/easyconfigs/x/xtb/xtb-6.7.0-gfbf-2023a.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/x/xtb/xtb-6.7.0-gfbf-2023a.eb b/easybuild/easyconfigs/x/xtb/xtb-6.7.0-gfbf-2023a.eb index 927663a3df2..97ce290bfe0 100644 --- a/easybuild/easyconfigs/x/xtb/xtb-6.7.0-gfbf-2023a.eb +++ b/easybuild/easyconfigs/x/xtb/xtb-6.7.0-gfbf-2023a.eb @@ -24,8 +24,8 @@ configopts += "-Dcustom_libraries='flexiblas' " configopts += "--buildtype release " runtest = 'meson' -# Ensure test don't timeout and only use one process -testopts = 'test -C %(builddir)s/easybuild_obj -t 100 --num-processes=1' +pretestopts = 'export OMP_NUM_THREADS=2 && ' +testopts = 'test -C %(builddir)s/easybuild_obj -t 60' # Ensure test don't timeout sanity_check_paths = { 'files': ['bin/xtb', 'include/xtb.h'] + ['lib/libxtb.%s' % e for e in ('a', SHLIB_EXT)], From 4e0e77dc77742a429dfade5e0f647532d5793060 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Wed, 17 Apr 2024 10:36:20 +0200 Subject: [PATCH 419/889] fix configopts in CAMPARI v4.0 to respect EB build environment --- easybuild/easyconfigs/c/CAMPARI/CAMPARI-4.0-intel-2023a.eb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/c/CAMPARI/CAMPARI-4.0-intel-2023a.eb b/easybuild/easyconfigs/c/CAMPARI/CAMPARI-4.0-intel-2023a.eb index c7459da878e..f2f81ff3672 100644 --- a/easybuild/easyconfigs/c/CAMPARI/CAMPARI-4.0-intel-2023a.eb +++ b/easybuild/easyconfigs/c/CAMPARI/CAMPARI-4.0-intel-2023a.eb @@ -23,9 +23,12 @@ dependencies = [ start_dir = 'source' -configopts = '--enable-mpi=auto LIBS="$LIBS $LIBFFT -ltirpc"' +# ignore default compiler settings and use EB build environment +configopts = '--enable-compiler=ignore --with-trailing-user-fcflags="$FCFLAGS" ' +configopts += '--enable-mpi=auto ' +configopts += 'LIBS="$LIBS $LIBFFT -ltirpc"' -buildopts = 'all LIBS="$LIBS $LIBFFT -ltirpc"' +buildopts = 'all' maxparallel = 10 From 99851a3cca45855ddcc2882dd3539bb7675cb3e6 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 17 Apr 2024 11:01:05 +0200 Subject: [PATCH 420/889] adding easyconfigs: PyTables-3.8.0-foss-2023a.eb --- .../p/PyTables/PyTables-3.8.0-foss-2023a.eb | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2023a.eb diff --git a/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2023a.eb b/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2023a.eb new file mode 100644 index 00000000000..71c5a28ec59 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2023a.eb @@ -0,0 +1,74 @@ +# http://www.pytables.org/usersguide/installation.html +# updated: Denis Kristak (INUITS) + +easyblock = 'PythonBundle' + +name = 'PyTables' +version = '3.8.0' + +homepage = 'https://www.pytables.org' +description = """PyTables is a package for managing hierarchical datasets and designed to efficiently and easily cope + with extremely large amounts of data. PyTables is built on top of the HDF5 library, using the Python language and the + NumPy package. It features an object-oriented interface that, combined with C extensions for the performance-critical + parts of the code (generated using Cython), makes it a fast, yet extremely easy to use tool for interactively browsing, + processing and searching very large amounts of data. One important feature of PyTables is that it optimizes memory and + disk resources so that data takes much less space (specially if on-flight compression is used) than other solutions + such as relational or object oriented databases.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True} + +builddependencies = [ + ('pkgconf', '1.9.5'), + ('CMake', '3.26.3'), + ('Ninja', '1.11.1'), + ('scikit-build', '0.17.6'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), # provides numexpr + ('HDF5', '1.14.0'), + ('LZO', '2.10'), + ('Blosc', '1.21.5'), + ('Blosc2', '2.8.0'), + ('py-cpuinfo', '9.0.0'), +] + +use_pip = True + +exts_list = [ + ('blosc2', '2.0.0', { + 'patches': ['blosc2-2.0.0_use-Blosc2-dep.patch'], + 'checksums': [ + {'blosc2-2.0.0.tar.gz': 'f19b0b3674f6c825b490f00d8264b0c540c2cdc11ec7e81178d38b83c57790a1'}, + {'blosc2-2.0.0_use-Blosc2-dep.patch': '6a9443f378472ada3c8fe8a8a346fe16f22b01bab7d9e60c23b64b546178054b'}, + ], + }), + ('tables', version, { + 'patches': [ + 'PyTables-%(version)s_fix-libs.patch', + 'PyTables-3.8.0_fix-find-blosc2-library-path.patch', + ], + 'checksums': [ + {'tables-3.8.0.tar.gz': '34f3fa2366ce20b18f1df573a77c1d27306ce1f2a41d9f9eff621b5192ea8788'}, + {'PyTables-3.8.0_fix-libs.patch': '7a1e6fa1f9169e52293e2b433a4302fa13c5d31e7709cd4fe0e087199b9e3f8a'}, + {'PyTables-3.8.0_fix-find-blosc2-library-path.patch': + 'dcf6c3a16a138454296161e99cf6470620755d4c26303186a744f09a11e6013b'}, + ], + }), +] + +local_bins = ['pt2to3', 'ptdump', 'ptrepack', 'pttree'] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bins], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +options = {'modulename': 'tables'} + +sanity_check_commands = ["%s --help" % x for x in local_bins] + +sanity_pip_check = True + +moduleclass = 'data' From b79cac44e0425f5e13a4b28fdb966848d6aa3831 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 17 Apr 2024 11:01:25 +0200 Subject: [PATCH 421/889] adding easyconfigs: PyTorch-bundle-2.1.2-foss-2023a.eb --- .../PyTorch-bundle-2.1.2-foss-2023a.eb | 183 ++++++++++++++++++ 1 file changed, 183 insertions(+) create mode 100644 easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb new file mode 100644 index 00000000000..f62c4df930e --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb @@ -0,0 +1,183 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-bundle' +version = '2.1.2' + +homepage = 'https://pytorch.org/' +description = """PyTorch with compatible versions of official Torch extensions.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('CMake', '3.26.3'), + ('RE2', '2023-08-01'), # for torchtext + ('parameterized', '0.9.0'), # for torchtext and torchaudio tests + ('scikit-learn', '1.3.1'), # for torchaudio and pytorch-ignite tests + ('scikit-image', '0.22.0'), # for pytorch-ignite tests + ('dill', '0.3.7'), # for pytorch-ignite tests + ('matplotlib', '3.7.2'), # for pytorch-ignite tests + ('librosa', '0.10.1'), # for torchaudio tests + ('NLTK', '3.8.1'), # for torchtext tests + ('Scalene', '1.5.26'), # for pynvml in ignite tests +] + +dependencies = [ + ('Python', '3.11.3'), + ('PyTorch', version), + ('Pillow-SIMD', '9.5.0'), # for torchvision + ('libjpeg-turbo', '2.1.5.1'), # for torchvision + ('SentencePiece', '0.2.0'), # for torchtext + ('tqdm', '4.66.1'), # for torchtext + ('double-conversion', '3.3.0'), # for torchtext + ('utf8proc', '2.8.0'), # for torchtext + ('tensorboard', '2.15.1'), # for torch-tb-profiler + ('FFmpeg', '6.0'), # for torchvision and torchaudio + ('SoX', '14.4.2'), # for torchaudio +] + +use_pip = True + +# Check with https://pytorch.org/audio/stable/installation.html#compatibility-matrix +exts_list = [ + ('portalocker', '2.8.2', { + 'checksums': ['2b035aa7828e46c58e9b31390ee1f169b98e1066ab10b9a6a861fe7e25ee4f33'], + }), + ('torchdata', '0.7.1', { + 'preinstallopts': "USE_SYSTEM_LIBS=1 ", + 'source_urls': ['https://github.com/pytorch/data/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['ef9bbdcee759b53c3c9d99e76eb0a66da33d36bfb7f859a25a9b5e737a51fa23'], + 'runtest': False, # circular test requirements + }), + ('torchtext', '0.16.2', { + 'patches': [ + 'torchtext-0.14.1_use-system-libs.patch', + 'torchtext-0.16.2_download-to-project-root.patch', + ], + 'source_urls': ['https://github.com/pytorch/text/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': [ + {'torchtext-0.16.2.tar.gz': '6574b012804f65220329a2ad34a95c18e4df0d4cff2f862fb7862d57b374b013'}, + {'torchtext-0.14.1_use-system-libs.patch': + '1366d10c4755b6003194f7313ca11d165a80a13d325bee9d669ea2b333d82536'}, + {'torchtext-0.16.2_download-to-project-root.patch': + '9d5599a9983729cf1fc7ab2a2f65d1887f223f528e15662ba1b4a5e359c9686d'}, + ], + 'runtest': ( + 'pytest test/torchtext_unittest' + ' -k "not test_vocab_from_raw_text_file"' # segfaults + '" and not test_get_tokenizer_moses"' # requires sacremoses + '" and not test_get_tokenizer_spacy"' # requires spaCy + '" and not test_download_charngram_vectors"' # requires internet access and required host may fail + ), + 'testinstall': True, + }), + ('pytest-mock', '3.11.1', { # for torchvision tests + 'checksums': ['7f6b125602ac6d743e523ae0bfa71e1a697a2f5534064528c6ff84c2f7c2fc7f'], + }), + ('torchvision', '0.16.2', { + 'preinstallopts': 'WITH_CUDA=0 TORCHVISION_INCLUDE="$EBROOTLIBJPEGMINTURBO/include:$TORCHVISION_INCLUDE"', + 'installopts': '-v', + 'patches': [ + 'torchvision-0.16.2_ffmpeg-6.0-fix.patch', + 'torchvision-0.16.2_quantized_tol.patch', + ], + 'source_urls': ['https://github.com/pytorch/vision/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': [ + {'torchvision-0.16.2.tar.gz': '8c1f2951e98d8ada6e5a468f179af4be9f56d2ebc3ab057af873da61669806d7'}, + {'torchvision-0.16.2_ffmpeg-6.0-fix.patch': + 'a49336e7bfa1c950e886852bff37a3ea2146ac7bda87241e3ffb31c5cb869cce'}, + {'torchvision-0.16.2_quantized_tol.patch': + '457cdf8ad6653838c552890bce95dbe30b7573b1643334284f5f4a58f74f6e40'}, + ], + 'runtest': ( + 'pytest' + ' -m "not xfail"' # don't run tests that are expected that they might fail + ' -k "not test_frame_reading_mem_vs_file"' # this one hangs + ), + 'testinstall': True, + }), + ('torchaudio', version, { + 'installopts': "--no-use-pep517 -v", + 'patches': [ + 'torchaudio-2.1.2_use-external-sox.patch', + 'torchaudio-2.1.2_transform_test_tol.patch', + ], + 'preinstallopts': ('rm -r third_party/{sox,ffmpeg/multi};' # runs twice when testinstall + ' USE_CUDA=0 USE_OPENMP=1 USE_FFMPEG=1 FFMPEG_ROOT="$EBROOTFFMPEG"'), + 'source_urls': ['https://github.com/pytorch/audio/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': [ + {'torchaudio-2.1.2.tar.gz': '82c2745a73172b495327ec36c6970ad5ad9d5d2ac44feeaea2617152f9393bf7'}, + {'torchaudio-2.1.2_use-external-sox.patch': + 'a93ebe0b4e7b10b0a264a09d5c49375674e24666258820738ede07e5b457010c'}, + {'torchaudio-2.1.2_transform_test_tol.patch': + '57f315c60db70ed2bd9711bcf6f7c7c24dac8c2f04e00488996eb2dc507bdfd2'}, + ], + 'runtest': ( + 'pytest test/torchaudio_unittest/' + ' -k "not TestProcessPoolExecutor"' # hang maybe related https://github.com/pytorch/audio/issues/1021 + '" and not FilterGraphWithCudaAccel"' # requires FFmpeg with CUDA support + '" and not kaldi_io_test"' # requires kaldi_io + '" and not test_dup_hw_acel"' # requires special render device permissions + '" and not test_h264_cuvid"' # requires special render device permissions + '" and not test_hevc_cuvid"' # requires special render device permissions + ), + 'testinstall': True, + }), + ('pytorch-ignite', '0.4.13', { + 'modulename': 'ignite', + 'source_urls': ['https://github.com/pytorch/ignite/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'patches': ['torch-ignite-0.4.13_dont_destroy_python_path_in_test_launcher.patch'], + 'checksums': [ + {'pytorch-ignite-0.4.13.tar.gz': 'bfe4b6f1cd96e78c021a65a0c51350cdb89d6ef5a8b9609638666ca95bae51d7'}, + {'torch-ignite-0.4.13_dont_destroy_python_path_in_test_launcher.patch': + 'fd5dfe99f4c8804d6c57e4d9140d9e556e0724b379f9eaae8aeaf1b7bd058686'}, + ], + 'runtest': ( + 'pytest' + ' -m "not distributed"' + ' --ignore=tests/ignite/contrib/handlers/test_clearml_logger.py' # requires clearml + ' --ignore=tests/ignite/contrib/handlers/test_mlflow_logger.py' # requires mlflow + ' --ignore=tests/ignite/contrib/handlers/test_neptune_logger.py' # requires neptune + ' --ignore=tests/ignite/contrib/handlers/test_polyaxon_logger.py' # requires polyaxon + ' --ignore=tests/ignite/contrib/handlers/test_tensorboard_logger.py' # requires tensorboardX + ' --ignore=tests/ignite/contrib/handlers/test_visdom_logger.py' # requires visdom + ' --ignore=tests/ignite/contrib/handlers/test_wandb_logger.py' # requires wandb + ' --ignore=tests/ignite/metrics/gan/test_fid.py' # requires pytorch_fid + ' --ignore=tests/ignite/metrics/nlp/test_rouge.py' # requires rouge + ' --ignore=tests/ignite/handlers/test_checkpoint.py' # fails by comparing tensors on different devices + ' --ignore=tests/ignite/contrib/handlers/test_tqdm_logger.py' # fragile tests on some platforms + ' -k "not test_setup_visdom_logging"' # requires visdom + '" and not test_setup_plx_logging"' # requires polyaxon + '" and not test_setup_mlflow_logging"' # requires mlflow + '" and not test_setup_clearml_logging"' # requires clearml + '" and not test_setup_neptune_logging"' # requires neptune + '" and not test__setup_ddp_vars_from_slurm_env_bad_configs"' # fails sometimes + '" and not test__native_dist_model_create_from_backend_bad_config"' # fails sometimes + '" and not test_inception_score"' # fails sometimes due to connection problem with download.pytorch.org + ), + 'testinstall': True, + }), + ('torch-tb-profiler', '0.4.3', { + 'modulename': 'torch.profiler', + 'sources': ['torch_tb_profiler-%(version)s.tar.gz'], + 'checksums': ['8b8d29b2de960b3c4423087b23cec29beaf9ac3a8c7b046c18fd25b218f726b1'], + 'runtest': ( + 'pytest' + ' --ignore=test/test_tensorboard_end2end.py' # timeouts + ' -k "not test_dump_gpu_metrics"' # missing file + '" and not test_profiler_api_with_record_shapes_memory_stack"' # fails + '" and not test_profiler_api_without_record_shapes_memory_stack"' # fails + '" and not test_profiler_api_without_step"' # fails + '" and not test_autograd_api"' # fails + ), + 'testinstall': True, + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' From 70da26b128281475562f7725370a580db3cedd3c Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 17 Apr 2024 11:01:45 +0200 Subject: [PATCH 422/889] adding easyconfigs: pybedtools-0.9.1-foss-2023a.eb --- .../pybedtools/pybedtools-0.9.1-foss-2023a.eb | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 easybuild/easyconfigs/p/pybedtools/pybedtools-0.9.1-foss-2023a.eb diff --git a/easybuild/easyconfigs/p/pybedtools/pybedtools-0.9.1-foss-2023a.eb b/easybuild/easyconfigs/p/pybedtools/pybedtools-0.9.1-foss-2023a.eb new file mode 100644 index 00000000000..ac4c03a4f64 --- /dev/null +++ b/easybuild/easyconfigs/p/pybedtools/pybedtools-0.9.1-foss-2023a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonBundle' + +name = 'pybedtools' +version = '0.9.1' + +homepage = 'https://daler.github.io/pybedtools' +description = "pybedtools wraps and extends BEDTools and offers feature-level manipulations from within Python." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('BEDTools', '2.31.0'), + ('Pysam', '0.22.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['586a626895b1b7215aef877e985c03fd8a908fd6c636e5b9ff8a1a1d09a1d514'], + }), +] + +moduleclass = 'bio' From f3bafa41a0c0080557a8e3c83993d0355eaf18b6 Mon Sep 17 00:00:00 2001 From: WilleBell Date: Wed, 17 Apr 2024 11:04:04 +0200 Subject: [PATCH 423/889] add binutils as builddep --- .../easyconfigs/p/premailer/premailer-3.10.0-GCCcore-12.3.0.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/p/premailer/premailer-3.10.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/premailer/premailer-3.10.0-GCCcore-12.3.0.eb index fdb952bb8b5..4f8fb886b0e 100644 --- a/easybuild/easyconfigs/p/premailer/premailer-3.10.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/premailer/premailer-3.10.0-GCCcore-12.3.0.eb @@ -10,6 +10,8 @@ CSS blocks into inline style attributes for HTML emails toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +builddependencies = [('binutils', '2.40')] + dependencies = [ ('Python', '3.11.3'), ('Python-bundle-PyPI', '2023.06'), From 912a47e6fb5813acfa7d2e6a2d75f1ea525e784c Mon Sep 17 00:00:00 2001 From: WilleBell Date: Wed, 17 Apr 2024 12:09:20 +0200 Subject: [PATCH 424/889] downgrade setuptools to toolchain's version and remove as explicit dep --- .../o/ONNX/ONNX-1.15.0-gfbf-2023a.eb | 2 +- .../setuptools-69.1.0-GCCcore-12.3.0.eb | 26 ------------------- 2 files changed, 1 insertion(+), 27 deletions(-) delete mode 100644 easybuild/easyconfigs/s/setuptools/setuptools-69.1.0-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/o/ONNX/ONNX-1.15.0-gfbf-2023a.eb b/easybuild/easyconfigs/o/ONNX/ONNX-1.15.0-gfbf-2023a.eb index 01fc27d4953..0337ca5e61e 100644 --- a/easybuild/easyconfigs/o/ONNX/ONNX-1.15.0-gfbf-2023a.eb +++ b/easybuild/easyconfigs/o/ONNX/ONNX-1.15.0-gfbf-2023a.eb @@ -23,7 +23,7 @@ checksums = [ builddependencies = [ ('CMake', '3.26.3'), - ('setuptools', '69.1.0'), + # ('setuptools', '69.1.0'), ] dependencies = [ diff --git a/easybuild/easyconfigs/s/setuptools/setuptools-69.1.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/setuptools/setuptools-69.1.0-GCCcore-12.3.0.eb deleted file mode 100644 index 31f0140d0a5..00000000000 --- a/easybuild/easyconfigs/s/setuptools/setuptools-69.1.0-GCCcore-12.3.0.eb +++ /dev/null @@ -1,26 +0,0 @@ -easyblock = 'PythonPackage' - -name = 'setuptools' -version = '69.1.0' - -homepage = "https://pypi.org/project/setuptools" -description = """Easily download, build, install, upgrade, and uninstall Python packages""" - -toolchain = {'name': 'GCCcore', 'version': '12.3.0'} - -builddependencies = [ - ('binutils', '2.40'), -] - -dependencies = [ - ('Python', '3.11.3'), -] - -sources = [SOURCE_TAR_GZ] -checksums = ['850894c4195f09c4ed30dba56213bf7c3f21d86ed6bdaafb5df5972593bfc401'] - -download_dep_fail = True -sanity_pip_check = True -use_pip = True - -moduleclass = 'vis' From 207eb9373f79db46f993bc8bc5b7152d6524a7c7 Mon Sep 17 00:00:00 2001 From: Cintia Willemyns <115622907+WilleBell@users.noreply.github.com> Date: Wed, 17 Apr 2024 12:10:26 +0200 Subject: [PATCH 425/889] Update ONNX-1.15.0-gfbf-2023a.eb Remove comment --- easybuild/easyconfigs/o/ONNX/ONNX-1.15.0-gfbf-2023a.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/o/ONNX/ONNX-1.15.0-gfbf-2023a.eb b/easybuild/easyconfigs/o/ONNX/ONNX-1.15.0-gfbf-2023a.eb index 0337ca5e61e..d538bcb0c02 100644 --- a/easybuild/easyconfigs/o/ONNX/ONNX-1.15.0-gfbf-2023a.eb +++ b/easybuild/easyconfigs/o/ONNX/ONNX-1.15.0-gfbf-2023a.eb @@ -23,7 +23,6 @@ checksums = [ builddependencies = [ ('CMake', '3.26.3'), - # ('setuptools', '69.1.0'), ] dependencies = [ From 146b7faa10fe641156d674fbacaedf53e468c42d Mon Sep 17 00:00:00 2001 From: guacke Date: Wed, 17 Apr 2024 13:06:20 +0200 Subject: [PATCH 426/889] adding easyconfigs: qmflows-1.0.0-foss-2022a.eb and patches: qmflows-1.0.0_version.patch --- .../q/qmflows/qmflows-1.0.0-foss-2022a.eb | 62 +++++++++++++++++++ .../q/qmflows/qmflows-1.0.0_version.patch | 23 +++++++ 2 files changed, 85 insertions(+) create mode 100644 easybuild/easyconfigs/q/qmflows/qmflows-1.0.0-foss-2022a.eb create mode 100644 easybuild/easyconfigs/q/qmflows/qmflows-1.0.0_version.patch diff --git a/easybuild/easyconfigs/q/qmflows/qmflows-1.0.0-foss-2022a.eb b/easybuild/easyconfigs/q/qmflows/qmflows-1.0.0-foss-2022a.eb new file mode 100644 index 00000000000..0fc4f33747f --- /dev/null +++ b/easybuild/easyconfigs/q/qmflows/qmflows-1.0.0-foss-2022a.eb @@ -0,0 +1,62 @@ +easyblock = 'PythonBundle' + +name = 'qmflows' +version = '1.0.0' + +homepage = 'https://github.com/SCM-NV/qmflows' +description = """This library tackles the construction and efficient execution +of computational chemistry workflows. This allows computational chemists to use +the emerging massively parallel compute environments in an easy manner and focus +on interpretation of scientific data rather than on tedious job submission +procedures and manual data processing. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = { + ('Python', '3.10.4'), + ('RDKit', '2022.09.4', '', ('foss', '2022a')), + ('HDF5', '1.12.2', '', ('gompi', '2022a')), + ('SciPy-bundle', '2022.05', '', ('foss', '2022a')), + ('h5py', '3.7.0', '', ('foss', '2022a')), + ('PyYAML', '6.0') +} + +use_pip = True + +exts_list = [ + ('more-itertools', '9.0.0', { + 'checksums': ['5a6257e40878ef0520b1803990e3e22303a41b5714006c32a3fd8304b26ea1ab'], + }), + ('dill', '0.3.6', { + 'checksums': ['e5db55f3687856d8fbdab002ed78544e1c4559a130302693d839dfe8f93f2373'], + }), + ('plams', '1.5.1', { + 'modulename': 'scm.plams', + 'checksums': ['5e77632be84a8c12172eb426589cb80187b5b31325d917bdbeb0798f9c5aed46'], + }), + ('pyparsing', '3.0.9', { + 'checksums': ['2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb'], + }), + ('filelock', '3.8.0', { + 'checksums': ['55447caa666f2198c5b6b13a26d2084d26fa5b115c00d065664b2124680c4edc'], + }), + ('graphviz', '0.19.2', { + 'checksums': ['7c90cebc147c18bcdffcd3c76db58cbface5d45fe0247a2f3bfb144d32a8c77c'], + 'sources': {'filename': '%(name)s-%(version)s.zip'} + }), + ('Noodles', '0.3.3', { + 'checksums': ['b57979b08a44c61a962d2003b31313925ac974d39721c9ef3cd46526d18d25ef'], + }), + (name, version, { + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'patches': ['qmflows-1.0.0_version.patch'], + 'checksums': [ + 'c4b3ba80345d7cb921b582d27c2597caa27d4890067be74de103dec15f9ed5a5', + 'b60874e10b1a24ef5339738c628dfb07b4f95e585f831af9f4b45734cf09f756'], + }), +] + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/q/qmflows/qmflows-1.0.0_version.patch b/easybuild/easyconfigs/q/qmflows/qmflows-1.0.0_version.patch new file mode 100644 index 00000000000..433ede4c644 --- /dev/null +++ b/easybuild/easyconfigs/q/qmflows/qmflows-1.0.0_version.patch @@ -0,0 +1,23 @@ +--- pyproject-orig.toml 2024-04-16 22:11:46.485575321 +0200 ++++ pyproject.toml 2024-04-17 12:40:38.118879192 +0200 +@@ -8,8 +8,8 @@ + + [project] + name = "qmflows" ++version = "1.0.0" + dynamic = [ +- "version", + "readme", + ] + description = "Automation of computations in quantum chemistry." +@@ -101,8 +101,8 @@ + [tool.setuptools.dynamic] + readme = { file = ["README.rst"], content-type = "text/x-rst" } + +-[tool.setuptools_scm] +-write_to = "src/qmflows/_version.py" ++#[tool.setuptools_scm] ++#write_to = "src/qmflows/_version.py" + + [tool.mypy] + plugins = "numpy.typing.mypy_plugin" From b8520e089b0fc40a654ccfa9749e4a44a1401056 Mon Sep 17 00:00:00 2001 From: guacke Date: Wed, 17 Apr 2024 13:39:39 +0200 Subject: [PATCH 427/889] Add comment to patch. --- easybuild/easyconfigs/q/qmflows/qmflows-1.0.0_version.patch | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/q/qmflows/qmflows-1.0.0_version.patch b/easybuild/easyconfigs/q/qmflows/qmflows-1.0.0_version.patch index 433ede4c644..291df355b71 100644 --- a/easybuild/easyconfigs/q/qmflows/qmflows-1.0.0_version.patch +++ b/easybuild/easyconfigs/q/qmflows/qmflows-1.0.0_version.patch @@ -1,3 +1,5 @@ +During EasyBuild, tool.setuptools_scm appears to rewrite '__version__' in _version.py +into 'version', leading to import issues. --- pyproject-orig.toml 2024-04-16 22:11:46.485575321 +0200 +++ pyproject.toml 2024-04-17 12:40:38.118879192 +0200 @@ -8,8 +8,8 @@ From 0da1b87452a1e5667291a93a2f246f26ce281bcd Mon Sep 17 00:00:00 2001 From: guacke Date: Wed, 17 Apr 2024 13:40:46 +0200 Subject: [PATCH 428/889] Update checksum patch. --- easybuild/easyconfigs/q/qmflows/qmflows-1.0.0-foss-2022a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/q/qmflows/qmflows-1.0.0-foss-2022a.eb b/easybuild/easyconfigs/q/qmflows/qmflows-1.0.0-foss-2022a.eb index 0fc4f33747f..d0238d51df5 100644 --- a/easybuild/easyconfigs/q/qmflows/qmflows-1.0.0-foss-2022a.eb +++ b/easybuild/easyconfigs/q/qmflows/qmflows-1.0.0-foss-2022a.eb @@ -53,7 +53,7 @@ exts_list = [ 'patches': ['qmflows-1.0.0_version.patch'], 'checksums': [ 'c4b3ba80345d7cb921b582d27c2597caa27d4890067be74de103dec15f9ed5a5', - 'b60874e10b1a24ef5339738c628dfb07b4f95e585f831af9f4b45734cf09f756'], + '3c978373811c846f3a5605e0fa49d8008d52af89e1cec330b3b4f0e5dc27f123'], }), ] From b66c21059f5502b509aa4c18436478774149ec3e Mon Sep 17 00:00:00 2001 From: WilleBell Date: Wed, 17 Apr 2024 13:45:45 +0200 Subject: [PATCH 429/889] move hatchling from dep to builddep --- .../p/pdf2docx/pdf2docx-0.5.8-foss-2023a-CUDA-12.1.1.eb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/pdf2docx/pdf2docx-0.5.8-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/pdf2docx/pdf2docx-0.5.8-foss-2023a-CUDA-12.1.1.eb index e5d42be6ccf..a56b90228c8 100644 --- a/easybuild/easyconfigs/p/pdf2docx/pdf2docx-0.5.8-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/pdf2docx/pdf2docx-0.5.8-foss-2023a-CUDA-12.1.1.eb @@ -9,6 +9,10 @@ description = """Open source Python library converting pdf to docx.""" toolchain = {'name': 'foss', 'version': '2023a'} +builddependencies = [ + ('hatchling', '1.18.0'), # for termcolor +] + dependencies = [ ('CUDA', '12.1.1', '', SYSTEM), ('Python', '3.11.3'), @@ -17,7 +21,6 @@ dependencies = [ ('SWIG', '4.1.1'), ('OpenCV', '4.8.1', versionsuffix + '-contrib'), ('lxml', '4.9.2'), # for python-docx - ('hatchling', '1.18.0'), # for termcolor ] use_pip = True From 860e245ebae53294c6330ba5381fa86ba3902f44 Mon Sep 17 00:00:00 2001 From: WilleBell Date: Wed, 17 Apr 2024 16:12:32 +0200 Subject: [PATCH 430/889] adding easyconfigs: pygame-2.5.2-GCCcore-12.3.0.eb, SDL2_image-2.8.2-GCCcore-12.3.0.eb, SDL2_mixer-2.8.0-GCCcore-12.3.0.eb, SDL2_ttf-2.22.0-GCCcore-12.3.0.eb, PortMidi-2.0.4-GCCcore-12.3.0.eb, alsa-lib-1.2.9-GCCcore-12.3.0.eb --- .../alsa-lib/alsa-lib-1.2.9-GCCcore-12.3.0.eb | 24 ++++++++++ .../PortMidi/PortMidi-2.0.4-GCCcore-12.3.0.eb | 35 ++++++++++++++ .../p/pygame/pygame-2.5.2-GCCcore-12.3.0.eb | 48 +++++++++++++++++++ .../SDL2_image-2.8.2-GCCcore-12.3.0.eb | 39 +++++++++++++++ .../SDL2_mixer-2.8.0-GCCcore-12.3.0.eb | 35 ++++++++++++++ .../SDL2_ttf-2.22.0-GCCcore-12.3.0.eb | 36 ++++++++++++++ 6 files changed, 217 insertions(+) create mode 100644 easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.9-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/p/PortMidi/PortMidi-2.0.4-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/p/pygame/pygame-2.5.2-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/s/SDL2_image/SDL2_image-2.8.2-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/s/SDL2_mixer/SDL2_mixer-2.8.0-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/s/SDL2_ttf/SDL2_ttf-2.22.0-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.9-GCCcore-12.3.0.eb b/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.9-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..8e0eb5e0dbf --- /dev/null +++ b/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.9-GCCcore-12.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'alsa-lib' +version = '1.2.9' + +homepage = 'https://www.alsa-project.org' +description = """The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI functionality + to the Linux operating system.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://www.alsa-project.org/files/pub/lib/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['dc9c643fdc4ccfd0572cc685858dd41e08afb583f30460b317e4188275f615b2'] + +dependencies = [('binutils', '2.40')] + +sanity_check_paths = { + 'files': ['bin/aserver', 'include/asoundlib.h', + 'lib64/libatopology.%s' % SHLIB_EXT, 'lib64/libasound.%s' % SHLIB_EXT], + 'dirs': ['include/alsa', 'lib/pkgconfig', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PortMidi/PortMidi-2.0.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PortMidi/PortMidi-2.0.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..ef55cdf9844 --- /dev/null +++ b/easybuild/easyconfigs/p/PortMidi/PortMidi-2.0.4-GCCcore-12.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'PortMidi' +version = '2.0.4' + +homepage = 'https://github.com/PortMidi/portmidi' +description = """ +PortMidi is a library for software developers. It supports real-time input and +output of MIDI data using a system-independent interface. PortMidi runs on +Windows (using MME), Macintosh (using CoreMIDI), and Linux (using ALSA). +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/PortMidi/portmidi/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['64893e823ae146cabd3ad7f9a9a9c5332746abe7847c557b99b2577afa8a607c'] + +builddependencies = [ + ('pkgconf', '1.9.5'), + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +dependencies = [ + ('alsa-lib', '1.2.9'), +] + +sanity_check_paths = { + 'files': ['lib/libportmidi.%s' % SHLIB_EXT, 'include/portmidi.h', 'include/porttime.h'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pygame/pygame-2.5.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pygame/pygame-2.5.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..d6cedcabd90 --- /dev/null +++ b/easybuild/easyconfigs/p/pygame/pygame-2.5.2-GCCcore-12.3.0.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'pygame' +version = '2.5.2' + +homepage = 'https://www.pygame.org' +description = """ +Pygame is a set of Python modules designed for writing video games. Pygame adds +functionality on top of the excellent SDL library. This allows you to create +fully featured games and multimedia programs in the python language. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SDL2_image', '2.8.2'), + ('SDL2_mixer', '2.8.0'), + ('SDL2_ttf', '2.22.0'), + ('PortMidi', '2.0.4'), + ('libpng', '1.6.39'), +] + +use_pip = True + +_pygame_extra_base = ':'.join([ + '$EBROOTSDL2_IMAGE', + '$EBROOTSDL2_MIXER', + '$EBROOTSDL2_TTF', + '$EBROOTLIBJPEGMINTURBO', + '$EBROOTLIBPNG', + '$EBROOTPORTMIDI', +]) + +exts_list = [ + (name, version, { + 'preinstallopts': 'PORTMIDI_INC_PORTTIME=1 PYGAME_EXTRA_BASE="%s"' % _pygame_extra_base, + 'checksums': ['c1b89eb5d539e7ac5cf75513125fb5f2f0a2d918b1fd6e981f23bf0ac1b1c24a'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SDL2_image/SDL2_image-2.8.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/SDL2_image/SDL2_image-2.8.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..2ad3382018d --- /dev/null +++ b/easybuild/easyconfigs/s/SDL2_image/SDL2_image-2.8.2-GCCcore-12.3.0.eb @@ -0,0 +1,39 @@ +# Authors:: Jack Perdue - TAMU HPRC - http://hprc.tamu.edu + +easyblock = 'ConfigureMake' + +name = 'SDL2_image' +version = '2.8.2' + +homepage = 'https://github.com/libsdl-org/SDL_image' +description = """ +This is a simple library to load images of various formats as SDL surfaces. It +can load BMP, GIF, JPEG, LBM, PCX, PNG, PNM (PPM/PGM/PBM), QOI, TGA, XCF, XPM, +and simple SVG format images. It can also load AVIF, JPEG-XL, TIFF, and WebP +images, depending on build options (see the note below for details.) +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/libsdl-org/SDL_image/archive/refs/tags/'] +sources = ['release-%(version)s.tar.gz'] +checksums = ['8fd59b2c17772d7ac1192b11c645be8d7874f595c1714f4b200ee70b7cc38f3e'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('libjpeg-turbo', '2.1.5.1'), + ('libpng', '1.6.39'), + ('LibTIFF', '4.5.0'), + ('SDL2', '2.28.2'), +] + +sanity_check_paths = { + 'files': ['include/SDL2/SDL_image.h', 'lib/libSDL2_image.%s' % SHLIB_EXT, + 'lib/pkgconfig/SDL2_image.pc'], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/s/SDL2_mixer/SDL2_mixer-2.8.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/SDL2_mixer/SDL2_mixer-2.8.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..19c64e03c8c --- /dev/null +++ b/easybuild/easyconfigs/s/SDL2_mixer/SDL2_mixer-2.8.0-GCCcore-12.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'SDL2_mixer' +version = '2.8.0' + +homepage = 'https://github.com/libsdl-org/SDL_mixer' +description = """ +Due to popular demand, here is a simple multi-channel audio mixer. It supports +8 channels of 16 bit stereo audio, plus a single channel of music. It can load +FLAC, MP3, Ogg, VOC, and WAV format audio. It can also load MIDI, MOD, and Opus +audio, depending on build options (see the note below for details.) +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/libsdl-org/SDL_mixer/archive/refs/tags/'] +sources = ['release-%(version)s.tar.gz'] +checksums = ['1146f00815c8ad22c3d48fbe31ae23dc5997936ebf30b4b3aeab6eab7ea1db3e'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('SDL2', '2.28.2'), + ('FFmpeg', '6.0'), +] + +sanity_check_paths = { + 'files': ['include/SDL2/SDL_mixer.h', 'lib/libSDL2_mixer.%s' % SHLIB_EXT, + 'lib/pkgconfig/SDL2_mixer.pc'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SDL2_ttf/SDL2_ttf-2.22.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/SDL2_ttf/SDL2_ttf-2.22.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..87bd8e421f0 --- /dev/null +++ b/easybuild/easyconfigs/s/SDL2_ttf/SDL2_ttf-2.22.0-GCCcore-12.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'SDL2_ttf' +version = '2.22.0' + +homepage = 'https://github.com/libsdl-org/SDL_ttf' +description = """ +This library is a wrapper around the FreeType and Harfbuzz libraries, allowing +you to use TrueType fonts to render text in SDL applications. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/libsdl-org/SDL_ttf/archive/refs/tags/'] +sources = ['release-%(version)s.tar.gz'] +checksums = ['2275d0ddfffa53f0efa628bc1621f662dacbd42467b5a44db99e38255fbb575a'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('SDL2', '2.28.2'), + ('freetype', '2.13.0'), +] + +configopts = '--disable-harfbuzz --disable-freetype-builtin' + +sanity_check_paths = { + 'files': ['include/SDL2/SDL_ttf.h', 'lib/libSDL2_ttf.%s' % SHLIB_EXT, + 'lib/pkgconfig/SDL2_ttf.pc'], + 'dirs': [], +} + +moduleclass = 'lib' From 3ab99e828596671ff3bb77db4b40606df6194c06 Mon Sep 17 00:00:00 2001 From: guacke Date: Wed, 17 Apr 2024 16:39:22 +0200 Subject: [PATCH 431/889] Resolve code review smoors. --- .../easyconfigs/q/qmflows/qmflows-1.0.0-foss-2022a.eb | 10 +++++----- .../easyconfigs/q/qmflows/qmflows-1.0.0_version.patch | 1 + 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/easybuild/easyconfigs/q/qmflows/qmflows-1.0.0-foss-2022a.eb b/easybuild/easyconfigs/q/qmflows/qmflows-1.0.0-foss-2022a.eb index d0238d51df5..f3cf15b36c7 100644 --- a/easybuild/easyconfigs/q/qmflows/qmflows-1.0.0-foss-2022a.eb +++ b/easybuild/easyconfigs/q/qmflows/qmflows-1.0.0-foss-2022a.eb @@ -15,10 +15,10 @@ toolchain = {'name': 'foss', 'version': '2022a'} dependencies = { ('Python', '3.10.4'), - ('RDKit', '2022.09.4', '', ('foss', '2022a')), - ('HDF5', '1.12.2', '', ('gompi', '2022a')), - ('SciPy-bundle', '2022.05', '', ('foss', '2022a')), - ('h5py', '3.7.0', '', ('foss', '2022a')), + ('RDKit', '2022.09.4'), + ('HDF5', '1.12.2'), + ('SciPy-bundle', '2022.05'), + ('h5py', '3.7.0'), ('PyYAML', '6.0') } @@ -53,7 +53,7 @@ exts_list = [ 'patches': ['qmflows-1.0.0_version.patch'], 'checksums': [ 'c4b3ba80345d7cb921b582d27c2597caa27d4890067be74de103dec15f9ed5a5', - '3c978373811c846f3a5605e0fa49d8008d52af89e1cec330b3b4f0e5dc27f123'], + '8f85e7fd3cd7f1b816dfec8c44e8ac27a91e1bb6c91c7fd8f65d42ccf20a653f'], }), ] diff --git a/easybuild/easyconfigs/q/qmflows/qmflows-1.0.0_version.patch b/easybuild/easyconfigs/q/qmflows/qmflows-1.0.0_version.patch index 291df355b71..ac145848f54 100644 --- a/easybuild/easyconfigs/q/qmflows/qmflows-1.0.0_version.patch +++ b/easybuild/easyconfigs/q/qmflows/qmflows-1.0.0_version.patch @@ -1,5 +1,6 @@ During EasyBuild, tool.setuptools_scm appears to rewrite '__version__' in _version.py into 'version', leading to import issues. +Author: Guillaume Acke (UGent) --- pyproject-orig.toml 2024-04-16 22:11:46.485575321 +0200 +++ pyproject.toml 2024-04-17 12:40:38.118879192 +0200 @@ -8,8 +8,8 @@ From dc02dd0a12df13b0051830ef097c720a36a16e35 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 17 Apr 2024 18:07:28 +0200 Subject: [PATCH 432/889] make sure that libjpeg-turbo libraries are installed in 'lib' subdirectory --- .../l/libjpeg-turbo/libjpeg-turbo-2.0.4-GCCcore-9.3.0.eb | 6 +++++- .../l/libjpeg-turbo/libjpeg-turbo-2.0.5-GCCcore-10.2.0.eb | 6 +++++- .../l/libjpeg-turbo/libjpeg-turbo-2.0.6-GCCcore-10.3.0.eb | 6 +++++- .../l/libjpeg-turbo/libjpeg-turbo-2.0.6-GCCcore-11.2.0.eb | 6 +++++- .../l/libjpeg-turbo/libjpeg-turbo-2.1.3-GCCcore-11.3.0.eb | 6 +++++- .../l/libjpeg-turbo/libjpeg-turbo-2.1.4-GCCcore-12.2.0.eb | 6 +++++- .../l/libjpeg-turbo/libjpeg-turbo-2.1.5.1-GCCcore-12.3.0.eb | 6 +++++- .../l/libjpeg-turbo/libjpeg-turbo-3.0.1-GCCcore-13.2.0.eb | 6 +++++- 8 files changed, 40 insertions(+), 8 deletions(-) diff --git a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.4-GCCcore-9.3.0.eb b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.4-GCCcore-9.3.0.eb index e98cd35c5d2..6462a870025 100644 --- a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.4-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.4-GCCcore-9.3.0.eb @@ -27,7 +27,11 @@ dependencies = [ ('NASM', '2.14.02'), ] -configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1' +# make sure that libraries are installed to /lib (instead of /lib64), +# which helps with avoiding problems when libjpeg-turbo is a dependency that +# gets linked via RPATH and Meson/Ninja are involved, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/16256 +configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1 -DCMAKE_INSTALL_LIBDIR:PATH=lib' runtest = "test" diff --git a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.5-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.5-GCCcore-10.2.0.eb index 1214eaa1d24..49f121b7a67 100644 --- a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.5-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.5-GCCcore-10.2.0.eb @@ -27,7 +27,11 @@ dependencies = [ ('NASM', '2.15.05'), ] -configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1' +# make sure that libraries are installed to /lib (instead of /lib64), +# which helps with avoiding problems when libjpeg-turbo is a dependency that +# gets linked via RPATH and Meson/Ninja are involved, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/16256 +configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1 -DCMAKE_INSTALL_LIBDIR:PATH=lib' runtest = "test" diff --git a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.6-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.6-GCCcore-10.3.0.eb index 13a118e1614..6b17cef5654 100644 --- a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.6-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.6-GCCcore-10.3.0.eb @@ -27,7 +27,11 @@ dependencies = [ ('NASM', '2.15.05'), ] -configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1' +# make sure that libraries are installed to /lib (instead of /lib64), +# which helps with avoiding problems when libjpeg-turbo is a dependency that +# gets linked via RPATH and Meson/Ninja are involved, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/16256 +configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1 -DCMAKE_INSTALL_LIBDIR:PATH=lib' runtest = "test" diff --git a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.6-GCCcore-11.2.0.eb index 35de4049393..c39bc3b974a 100644 --- a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.6-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.6-GCCcore-11.2.0.eb @@ -27,7 +27,11 @@ dependencies = [ ('NASM', '2.15.05'), ] -configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1' +# make sure that libraries are installed to /lib (instead of /lib64), +# which helps with avoiding problems when libjpeg-turbo is a dependency that +# gets linked via RPATH and Meson/Ninja are involved, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/16256 +configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1 -DCMAKE_INSTALL_LIBDIR:PATH=lib' runtest = "test" diff --git a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.1.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.1.3-GCCcore-11.3.0.eb index e88b1b5987f..9f8f5bac2bb 100644 --- a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.1.3-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.1.3-GCCcore-11.3.0.eb @@ -27,7 +27,11 @@ dependencies = [ ('NASM', '2.15.05'), ] -configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1' +# make sure that libraries are installed to /lib (instead of /lib64), +# which helps with avoiding problems when libjpeg-turbo is a dependency that +# gets linked via RPATH and Meson/Ninja are involved, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/16256 +configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1 -DCMAKE_INSTALL_LIBDIR:PATH=lib' runtest = "test" diff --git a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.1.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.1.4-GCCcore-12.2.0.eb index 0117bb716bf..b372bc82f3f 100644 --- a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.1.4-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.1.4-GCCcore-12.2.0.eb @@ -27,7 +27,11 @@ dependencies = [ ('NASM', '2.15.05'), ] -configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1' +# make sure that libraries are installed to /lib (instead of /lib64), +# which helps with avoiding problems when libjpeg-turbo is a dependency that +# gets linked via RPATH and Meson/Ninja are involved, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/16256 +configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1 -DCMAKE_INSTALL_LIBDIR:PATH=lib' runtest = "test" diff --git a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.1.5.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.1.5.1-GCCcore-12.3.0.eb index db21ae7cbeb..f1608484f69 100644 --- a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.1.5.1-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.1.5.1-GCCcore-12.3.0.eb @@ -27,7 +27,11 @@ dependencies = [ ('NASM', '2.16.01'), ] -configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1' +# make sure that libraries are installed to /lib (instead of /lib64), +# which helps with avoiding problems when libjpeg-turbo is a dependency that +# gets linked via RPATH and Meson/Ninja are involved, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/16256 +configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1 -DCMAKE_INSTALL_LIBDIR:PATH=lib' runtest = "test" diff --git a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-3.0.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-3.0.1-GCCcore-13.2.0.eb index 680c3f1f34d..e952da0425e 100644 --- a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-3.0.1-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-3.0.1-GCCcore-13.2.0.eb @@ -27,7 +27,11 @@ dependencies = [ ('NASM', '2.16.01'), ] -configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1' +# make sure that libraries are installed to /lib (instead of /lib64), +# which helps with avoiding problems when libjpeg-turbo is a dependency that +# gets linked via RPATH and Meson/Ninja are involved, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/16256 +configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1 -DCMAKE_INSTALL_LIBDIR:PATH=lib' runtest = "test" From 60fdc1a6cd7f59817ece4542134a1cd2a95e030a Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Thu, 18 Apr 2024 06:31:41 +0800 Subject: [PATCH 433/889] add hatch-requirements-txt extension to hatchling easyconfigs --- .../h/hatchling/hatchling-1.18.0-GCCcore-12.3.0.eb | 4 ++++ .../h/hatchling/hatchling-1.18.0-GCCcore-13.2.0.eb | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/easybuild/easyconfigs/h/hatchling/hatchling-1.18.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/h/hatchling/hatchling-1.18.0-GCCcore-12.3.0.eb index 5f163a17137..0913e467088 100644 --- a/easybuild/easyconfigs/h/hatchling/hatchling-1.18.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/h/hatchling/hatchling-1.18.0-GCCcore-12.3.0.eb @@ -43,6 +43,10 @@ exts_list = [ ('hatch_fancy_pypi_readme', '23.1.0', { 'checksums': ['b1df44063094af1e8248ceacd47a92c9cf313d6b9823bf66af8a927c3960287d'], }), + ('hatch-requirements-txt', '0.4.1', { + 'source_tmpl': 'hatch_requirements_txt-%(version)s.tar.gz', + 'checksums': ['2c686e5758fd05bb55fa7d0c198fdd481f8d3aaa3c693260f5c0d74ce3547d20'], + }), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/h/hatchling/hatchling-1.18.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/h/hatchling/hatchling-1.18.0-GCCcore-13.2.0.eb index c12f3b9d965..a78cea4bf74 100644 --- a/easybuild/easyconfigs/h/hatchling/hatchling-1.18.0-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/h/hatchling/hatchling-1.18.0-GCCcore-13.2.0.eb @@ -43,6 +43,10 @@ exts_list = [ ('hatch_fancy_pypi_readme', '23.1.0', { 'checksums': ['b1df44063094af1e8248ceacd47a92c9cf313d6b9823bf66af8a927c3960287d'], }), + ('hatch-requirements-txt', '0.4.1', { + 'source_tmpl': 'hatch_requirements_txt-%(version)s.tar.gz', + 'checksums': ['2c686e5758fd05bb55fa7d0c198fdd481f8d3aaa3c693260f5c0d74ce3547d20'], + }), ] sanity_check_paths = { From df5f74cc591a6c02dba96b6d0387455dbd8fea1f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 18 Apr 2024 08:38:05 +0200 Subject: [PATCH 434/889] adding easyconfigs: parallel-20240322-GCCcore-13.2.0.eb --- .../parallel-20240322-GCCcore-13.2.0.eb | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 easybuild/easyconfigs/p/parallel/parallel-20240322-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/p/parallel/parallel-20240322-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/parallel/parallel-20240322-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..53acb414c76 --- /dev/null +++ b/easybuild/easyconfigs/p/parallel/parallel-20240322-GCCcore-13.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'parallel' +version = '20240322' + +homepage = 'https://savannah.gnu.org/projects/parallel/' +description = """parallel: Build and execute shell commands in parallel""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['0b17029a203dabf7ba6ca7e52c2d3910fff46b2979476e12a9110920b79e6a95'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('Perl', '5.38.0')] + +sanity_check_paths = { + 'files': ['bin/parallel'], + 'dirs': [] +} + +sanity_check_commands = ["parallel --help"] + +moduleclass = 'tools' From 0f60d4367efb17101ba3023297e92f05a625d49f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 18 Apr 2024 08:50:39 +0200 Subject: [PATCH 435/889] add missing (optional) dependency pyproject-metadata to scikit-build-core --- .../scikit-build-core-0.5.0-GCCcore-12.3.0.eb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.5.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.5.0-GCCcore-12.3.0.eb index 672a73b4031..226560cd69c 100644 --- a/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.5.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.5.0-GCCcore-12.3.0.eb @@ -25,6 +25,10 @@ use_pip = True sanity_pip_check = True exts_list = [ + ('pyproject-metadata', '0.8.0', { + 'sources': ['pyproject_metadata-%(version)s.tar.gz'], + 'checksums': ['376d5a00764ac29440a54579f88e66b7d9cb7e629d35c35a1c7248bfebc9b455'], + }), ('scikit_build_core', version, { 'checksums': ['a42a95029b34b5cf892855342d9b9445c774cb797fcb24c8fc4c2fb42b18dfca'], }), From 69596ef7c349a72c770b271bd947a3c83d61029a Mon Sep 17 00:00:00 2001 From: Viktor Rehnberg Date: Thu, 18 Apr 2024 09:56:43 +0000 Subject: [PATCH 436/889] adding easyconfigs: nvtop-3.1.0-GCCcore-12.3.0.eb --- .../n/nvtop/nvtop-3.1.0-GCCcore-12.3.0.eb | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 easybuild/easyconfigs/n/nvtop/nvtop-3.1.0-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/n/nvtop/nvtop-3.1.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/n/nvtop/nvtop-3.1.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..7e479cb9a2e --- /dev/null +++ b/easybuild/easyconfigs/n/nvtop/nvtop-3.1.0-GCCcore-12.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'nvtop' +version = '3.1.0' + +homepage = 'https://github.com/Syllo/nvtop' +description = 'htop-like GPU usage monitor' + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/Syllo/nvtop/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['9481c45c136163574f1f16d87789859430bc90a1dc62f181b269b5edd92f01f3'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +# Note: software dlopen's libraries from the OS installed drivers, thus no specific CUDA dependency. +dependencies = [ + ('ncurses', '6.4'), + ('libdrm', '2.4.115'), +] + +osdependencies = [('libsystemd-dev', 'libudev-dev', 'systemd-devel')] + +separate_build_dir = True + +sanity_check_paths = { + 'files': ['bin/nvtop'], + 'dirs': [], +} + +sanity_check_commands = ["nvtop --help"] + +moduleclass = 'tools' From 7124863ed588066e5a988b4073d91381497a7f64 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 18 Apr 2024 14:35:54 +0200 Subject: [PATCH 437/889] disable flaky test_antialias_default_warning for torchvision --- .../p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb index f62c4df930e..10b6b0d37d6 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb @@ -95,6 +95,7 @@ exts_list = [ 'pytest' ' -m "not xfail"' # don't run tests that are expected that they might fail ' -k "not test_frame_reading_mem_vs_file"' # this one hangs + '" and not test_antialias_default_warning"' # flaky test which is removed in later versions ), 'testinstall': True, }), From 33942be0d67f4da04f9b4b781d5694b6bf3dc8c6 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Thu, 18 Apr 2024 16:34:17 +0200 Subject: [PATCH 438/889] add missing build dependency on Autotools to CAMPARi v4 --- easybuild/easyconfigs/c/CAMPARI/CAMPARI-4.0-intel-2023a.eb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/easybuild/easyconfigs/c/CAMPARI/CAMPARI-4.0-intel-2023a.eb b/easybuild/easyconfigs/c/CAMPARI/CAMPARI-4.0-intel-2023a.eb index f2f81ff3672..203b4e4cd9f 100644 --- a/easybuild/easyconfigs/c/CAMPARI/CAMPARI-4.0-intel-2023a.eb +++ b/easybuild/easyconfigs/c/CAMPARI/CAMPARI-4.0-intel-2023a.eb @@ -16,6 +16,10 @@ source_urls = [SOURCEFORGE_SOURCE] sources = ['campari_v%s_%s.zip' % (version.split('.')[0], _date)] checksums = ['bc627fb286b5461a5c68aa3e1a551ecd81016495163685800163c734f7c4f1bd'] +builddependencies = [ + ('Autotools', '20220317'), +] + dependencies = [ ('netCDF-Fortran', '4.6.1'), ('libtirpc', '1.3.3'), @@ -23,6 +27,8 @@ dependencies = [ start_dir = 'source' +# remove hardcoded paths in configure script +preconfigopts = 'sed -i "s|/usr/share|$EBROOTAUTOMAKE/share|" configure &&' # ignore default compiler settings and use EB build environment configopts = '--enable-compiler=ignore --with-trailing-user-fcflags="$FCFLAGS" ' configopts += '--enable-mpi=auto ' From f938cf7e556aa838b563cab71e450b19409e1435 Mon Sep 17 00:00:00 2001 From: Chia-Jung Hsu Date: Thu, 18 Apr 2024 18:40:45 +0200 Subject: [PATCH 439/889] Fix test for dotNET-Core wrapper --- test/easyconfigs/easyconfigs.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/easyconfigs/easyconfigs.py b/test/easyconfigs/easyconfigs.py index e3fcacd6bd3..7db76bd2aaa 100644 --- a/test/easyconfigs/easyconfigs.py +++ b/test/easyconfigs/easyconfigs.py @@ -363,9 +363,9 @@ def check_dep_vars(self, gen, dep, dep_vars): # 'guilty' until proven 'innocent' res = False - # filter out wrapped Java versions + # filter out wrapped Java or dotNET-Core versions # i.e. if the version of one is a prefix of the version of the other one (e.g. 1.8 & 1.8.0_181) - if dep == 'Java': + if dep in ['Java', 'dotNET-Core']: dep_vars_to_check = sorted(dep_vars.keys()) retained_dep_vars = [] From b124b30e12f94ff555569255953c96dc91920838 Mon Sep 17 00:00:00 2001 From: c3-builder Date: Thu, 18 Apr 2024 17:49:04 +0000 Subject: [PATCH 440/889] Fix build dependencies --- easybuild/easyconfigs/p/PyAEDT/PyAEDT-0.8.7-GCCcore-12.3.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/PyAEDT/PyAEDT-0.8.7-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PyAEDT/PyAEDT-0.8.7-GCCcore-12.3.0.eb index bb36fc4d9e5..aee9ba9ea19 100644 --- a/easybuild/easyconfigs/p/PyAEDT/PyAEDT-0.8.7-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/PyAEDT/PyAEDT-0.8.7-GCCcore-12.3.0.eb @@ -12,6 +12,7 @@ toolchain = {'name': 'GCCcore', 'version': '12.3.0'} builddependencies = [ ('binutils', '2.40'), + ('hatchling', '1.18.0'), ] dependencies = [ @@ -19,7 +20,6 @@ dependencies = [ ('Python', '3.11.3'), ('Python-bundle-PyPI', '2023.06'), ('Pillow', '10.0.0'), - ('hatchling', '1.18.0'), ] use_pip = True From 19d0c59691fa68cd0c59712b5fcd87155c1f6b6a Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 18 Apr 2024 20:24:54 +0200 Subject: [PATCH 441/889] add patch for Libint 2.7.2 to fix compiler error with glibc >= 2.34 --- .../Libint-2.7.2-GCC-11.3.0-lmax-6-cp2k.eb | 9 +- .../Libint-2.7.2-GCC-12.2.0-lmax-6-cp2k.eb | 9 +- .../Libint-2.7.2-GCC-12.3.0-lmax-6-cp2k.eb | 9 +- ...7.2_update-catch-hpp-fix-MINSIGSTKSZ.patch | 6622 +++++++++++++++++ 4 files changed, 6640 insertions(+), 9 deletions(-) create mode 100644 easybuild/easyconfigs/l/Libint/Libint-2.7.2_update-catch-hpp-fix-MINSIGSTKSZ.patch diff --git a/easybuild/easyconfigs/l/Libint/Libint-2.7.2-GCC-11.3.0-lmax-6-cp2k.eb b/easybuild/easyconfigs/l/Libint/Libint-2.7.2-GCC-11.3.0-lmax-6-cp2k.eb index 316d77e98db..4a56e599763 100644 --- a/easybuild/easyconfigs/l/Libint/Libint-2.7.2-GCC-11.3.0-lmax-6-cp2k.eb +++ b/easybuild/easyconfigs/l/Libint/Libint-2.7.2-GCC-11.3.0-lmax-6-cp2k.eb @@ -20,11 +20,14 @@ sources = ['v%(version)s.tar.gz'] patches = [ 'Libint-2.7.2_remove-test-permute.patch', 'Libint-2.7.2_remove-test-eri.patch', + 'Libint-2.7.2_update-catch-hpp-fix-MINSIGSTKSZ.patch', ] checksums = [ - 'fd0466ce9eb6786b8c5bbe3d510e387ed44b198a163264dfd7e60b337e295fd9', # v2.7.2.tar.gz - 'b019e66a2a3dc7e83ee8a60aa1ae78955a8af4df90ab07b7e57d2ee004ce3677', # Libint-2.7.2_remove-test-permute.patch - '4dd7b2993b6fdebb57e5c14faa9bf46117ae42100c686ace82fe26b7cb0312ab', # Libint-2.7.2_remove-test-eri.patch + {'v2.7.2.tar.gz': 'fd0466ce9eb6786b8c5bbe3d510e387ed44b198a163264dfd7e60b337e295fd9'}, + {'Libint-2.7.2_remove-test-permute.patch': 'b019e66a2a3dc7e83ee8a60aa1ae78955a8af4df90ab07b7e57d2ee004ce3677'}, + {'Libint-2.7.2_remove-test-eri.patch': '4dd7b2993b6fdebb57e5c14faa9bf46117ae42100c686ace82fe26b7cb0312ab'}, + {'Libint-2.7.2_update-catch-hpp-fix-MINSIGSTKSZ.patch': + 'd974418064b3ea3be914d95ae23c64f307f33d205b0ab3c79fd6ecf9fc6b57fd'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/l/Libint/Libint-2.7.2-GCC-12.2.0-lmax-6-cp2k.eb b/easybuild/easyconfigs/l/Libint/Libint-2.7.2-GCC-12.2.0-lmax-6-cp2k.eb index 5ce194eec7a..cc27408e814 100644 --- a/easybuild/easyconfigs/l/Libint/Libint-2.7.2-GCC-12.2.0-lmax-6-cp2k.eb +++ b/easybuild/easyconfigs/l/Libint/Libint-2.7.2-GCC-12.2.0-lmax-6-cp2k.eb @@ -20,11 +20,14 @@ sources = ['v%(version)s.tar.gz'] patches = [ 'Libint-2.7.2_remove-test-permute.patch', 'Libint-2.7.2_remove-test-eri.patch', + 'Libint-2.7.2_update-catch-hpp-fix-MINSIGSTKSZ.patch', ] checksums = [ - 'fd0466ce9eb6786b8c5bbe3d510e387ed44b198a163264dfd7e60b337e295fd9', # v2.7.2.tar.gz - 'b019e66a2a3dc7e83ee8a60aa1ae78955a8af4df90ab07b7e57d2ee004ce3677', # Libint-2.7.2_remove-test-permute.patch - '4dd7b2993b6fdebb57e5c14faa9bf46117ae42100c686ace82fe26b7cb0312ab', # Libint-2.7.2_remove-test-eri.patch + {'v2.7.2.tar.gz': 'fd0466ce9eb6786b8c5bbe3d510e387ed44b198a163264dfd7e60b337e295fd9'}, + {'Libint-2.7.2_remove-test-permute.patch': 'b019e66a2a3dc7e83ee8a60aa1ae78955a8af4df90ab07b7e57d2ee004ce3677'}, + {'Libint-2.7.2_remove-test-eri.patch': '4dd7b2993b6fdebb57e5c14faa9bf46117ae42100c686ace82fe26b7cb0312ab'}, + {'Libint-2.7.2_update-catch-hpp-fix-MINSIGSTKSZ.patch': + 'd974418064b3ea3be914d95ae23c64f307f33d205b0ab3c79fd6ecf9fc6b57fd'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/l/Libint/Libint-2.7.2-GCC-12.3.0-lmax-6-cp2k.eb b/easybuild/easyconfigs/l/Libint/Libint-2.7.2-GCC-12.3.0-lmax-6-cp2k.eb index 6ff9830cca2..df4157f143d 100644 --- a/easybuild/easyconfigs/l/Libint/Libint-2.7.2-GCC-12.3.0-lmax-6-cp2k.eb +++ b/easybuild/easyconfigs/l/Libint/Libint-2.7.2-GCC-12.3.0-lmax-6-cp2k.eb @@ -20,11 +20,14 @@ sources = ['v%(version)s.tar.gz'] patches = [ 'Libint-2.7.2_remove-test-permute.patch', 'Libint-2.7.2_remove-test-eri.patch', + 'Libint-2.7.2_update-catch-hpp-fix-MINSIGSTKSZ.patch', ] checksums = [ - 'fd0466ce9eb6786b8c5bbe3d510e387ed44b198a163264dfd7e60b337e295fd9', # v2.7.2.tar.gz - 'b019e66a2a3dc7e83ee8a60aa1ae78955a8af4df90ab07b7e57d2ee004ce3677', # Libint-2.7.2_remove-test-permute.patch - '4dd7b2993b6fdebb57e5c14faa9bf46117ae42100c686ace82fe26b7cb0312ab', # Libint-2.7.2_remove-test-eri.patch + {'v2.7.2.tar.gz': 'fd0466ce9eb6786b8c5bbe3d510e387ed44b198a163264dfd7e60b337e295fd9'}, + {'Libint-2.7.2_remove-test-permute.patch': 'b019e66a2a3dc7e83ee8a60aa1ae78955a8af4df90ab07b7e57d2ee004ce3677'}, + {'Libint-2.7.2_remove-test-eri.patch': '4dd7b2993b6fdebb57e5c14faa9bf46117ae42100c686ace82fe26b7cb0312ab'}, + {'Libint-2.7.2_update-catch-hpp-fix-MINSIGSTKSZ.patch': + 'd974418064b3ea3be914d95ae23c64f307f33d205b0ab3c79fd6ecf9fc6b57fd'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/l/Libint/Libint-2.7.2_update-catch-hpp-fix-MINSIGSTKSZ.patch b/easybuild/easyconfigs/l/Libint/Libint-2.7.2_update-catch-hpp-fix-MINSIGSTKSZ.patch new file mode 100644 index 00000000000..62beccd45dc --- /dev/null +++ b/easybuild/easyconfigs/l/Libint/Libint-2.7.2_update-catch-hpp-fix-MINSIGSTKSZ.patch @@ -0,0 +1,6622 @@ +fix for: +/tmp/easybuild/Libint/2.7.2/GCC-12.3.0-lmax-6-cp2k/libint-2.7.2/libint-2.7.2/tests/unit/catch.hpp:10822:58: error: call to non-constexpr function long int sysconf(int) +10822 | static constexpr std::size_t sigStackSize = 32768 >= MINSIGSTKSZ ? 32768 : MINSIGSTKSZ; + | ^~~~~~~~~~~ + +see https://github.com/evaleev/libint/issues/328 + https://github.com/evaleev/libint/pull/334 + +From 37aed36be4cb037867758b0a9a17db29d5c87f4d Mon Sep 17 00:00:00 2001 +From: Eduard Valeyev +Date: Mon, 4 Mar 2024 09:17:09 -0500 +Subject: [PATCH] bump Catch2 to 2.13.10, resolves #328 + +see https://github.com/catchorg/Catch2/releases/tag/v2.13.10 +--- + tests/unit/catch.hpp | 5182 +++++++++++++++++++++--------------------- + 1 file changed, 2639 insertions(+), 2543 deletions(-) + +diff --git a/tests/unit/catch.hpp b/tests/unit/catch.hpp +index 4eb22c23c..9b309bddc 100644 +--- a/tests/unit/catch.hpp ++++ b/tests/unit/catch.hpp +@@ -1,9 +1,9 @@ + /* +- * Catch v2.13.4 +- * Generated: 2020-12-29 14:48:00.116107 ++ * Catch v2.13.10 ++ * Generated: 2022-10-16 11:01:23.452308 + * ---------------------------------------------------------- + * This file has been merged from multiple headers. Please don't edit it directly +- * Copyright (c) 2020 Two Blue Cubes Ltd. All rights reserved. ++ * Copyright (c) 2022 Two Blue Cubes Ltd. All rights reserved. + * + * Distributed under the Boost Software License, Version 1.0. (See accompanying + * file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +@@ -15,7 +15,7 @@ + + #define CATCH_VERSION_MAJOR 2 + #define CATCH_VERSION_MINOR 13 +-#define CATCH_VERSION_PATCH 4 ++#define CATCH_VERSION_PATCH 10 + + #ifdef __clang__ + # pragma clang system_header +@@ -36,7 +36,7 @@ + # pragma clang diagnostic ignored "-Wcovered-switch-default" + # endif + #elif defined __GNUC__ +-// Because REQUIREs trigger GCC's -Wparentheses, and because still ++ // Because REQUIREs trigger GCC's -Wparentheses, and because still + // supported version of g++ have only buggy support for _Pragmas, + // Wparentheses have to be suppressed globally. + # pragma GCC diagnostic ignored "-Wparentheses" // See #674 for details +@@ -66,13 +66,16 @@ + #if !defined(CATCH_CONFIG_IMPL_ONLY) + // start catch_platform.h + ++// See e.g.: ++// https://opensource.apple.com/source/CarbonHeaders/CarbonHeaders-18.1/TargetConditionals.h.auto.html + #ifdef __APPLE__ +-# include +-# if TARGET_OS_OSX == 1 +-# define CATCH_PLATFORM_MAC +-# elif TARGET_OS_IPHONE == 1 +-# define CATCH_PLATFORM_IPHONE +-# endif ++# include ++# if (defined(TARGET_OS_OSX) && TARGET_OS_OSX == 1) || \ ++ (defined(TARGET_OS_MAC) && TARGET_OS_MAC == 1) ++# define CATCH_PLATFORM_MAC ++# elif (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE == 1) ++# define CATCH_PLATFORM_IPHONE ++# endif + + #elif defined(linux) || defined(__linux) || defined(__linux__) + # define CATCH_PLATFORM_LINUX +@@ -93,7 +96,7 @@ + // start catch_user_interfaces.h + + namespace Catch { +-unsigned int rngSeed(); ++ unsigned int rngSeed(); + } + + // end catch_user_interfaces.h +@@ -132,9 +135,9 @@ unsigned int rngSeed(); + + #endif + +-// We have to avoid both ICC and Clang, because they try to mask themselves +-// as gcc, and we want only GCC in this block +-#if defined(__GNUC__) && !defined(__clang__) && !defined(__ICC) && !defined(__CUDACC__) ++// Only GCC compiler should be used in this block, so other compilers trying to ++// mask themselves as GCC should be ignored. ++#if defined(__GNUC__) && !defined(__clang__) && !defined(__ICC) && !defined(__CUDACC__) && !defined(__LCC__) + # define CATCH_INTERNAL_START_WARNINGS_SUPPRESSION _Pragma( "GCC diagnostic push" ) + # define CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION _Pragma( "GCC diagnostic pop" ) + +@@ -183,13 +186,13 @@ unsigned int rngSeed(); + //////////////////////////////////////////////////////////////////////////////// + // Assume that non-Windows platforms support posix signals by default + #if !defined(CATCH_PLATFORM_WINDOWS) +-#define CATCH_INTERNAL_CONFIG_POSIX_SIGNALS ++ #define CATCH_INTERNAL_CONFIG_POSIX_SIGNALS + #endif + + //////////////////////////////////////////////////////////////////////////////// + // We know some environments not to support full POSIX signals + #if defined(__CYGWIN__) || defined(__QNX__) || defined(__EMSCRIPTEN__) || defined(__DJGPP__) +-#define CATCH_INTERNAL_CONFIG_NO_POSIX_SIGNALS ++ #define CATCH_INTERNAL_CONFIG_NO_POSIX_SIGNALS + #endif + + #ifdef __OS400__ +@@ -237,9 +240,6 @@ unsigned int rngSeed(); + // Visual C++ + #if defined(_MSC_VER) + +-# define CATCH_INTERNAL_START_WARNINGS_SUPPRESSION __pragma( warning(push) ) +-# define CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION __pragma( warning(pop) ) +- + // Universal Windows platform does not support SEH + // Or console colours (or console at all...) + # if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP) +@@ -248,13 +248,18 @@ unsigned int rngSeed(); + # define CATCH_INTERNAL_CONFIG_WINDOWS_SEH + # endif + ++# if !defined(__clang__) // Handle Clang masquerading for msvc ++ + // MSVC traditional preprocessor needs some workaround for __VA_ARGS__ + // _MSVC_TRADITIONAL == 0 means new conformant preprocessor + // _MSVC_TRADITIONAL == 1 means old traditional non-conformant preprocessor +-# if !defined(__clang__) // Handle Clang masquerading for msvc + # if !defined(_MSVC_TRADITIONAL) || (defined(_MSVC_TRADITIONAL) && _MSVC_TRADITIONAL) + # define CATCH_INTERNAL_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR + # endif // MSVC_TRADITIONAL ++ ++// Only do this if we're not using clang on Windows, which uses `diagnostic push` & `diagnostic pop` ++# define CATCH_INTERNAL_START_WARNINGS_SUPPRESSION __pragma( warning(push) ) ++# define CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION __pragma( warning(pop) ) + # endif // __clang__ + + #endif // _MSC_VER +@@ -279,7 +284,7 @@ unsigned int rngSeed(); + //////////////////////////////////////////////////////////////////////////////// + // Embarcadero C++Build + #if defined(__BORLANDC__) +-#define CATCH_INTERNAL_CONFIG_POLYFILL_ISNAN ++ #define CATCH_INTERNAL_CONFIG_POLYFILL_ISNAN + #endif + + //////////////////////////////////////////////////////////////////////////////// +@@ -290,7 +295,7 @@ unsigned int rngSeed(); + // Otherwise all supported compilers support COUNTER macro, + // but user still might want to turn it off + #if ( !defined(__JETBRAINS_IDE__) || __JETBRAINS_IDE__ >= 20170300L ) +-#define CATCH_INTERNAL_CONFIG_COUNTER ++ #define CATCH_INTERNAL_CONFIG_COUNTER + #endif + + //////////////////////////////////////////////////////////////////////////////// +@@ -299,7 +304,7 @@ unsigned int rngSeed(); + // This means that it is detected as Windows, but does not provide + // the same set of capabilities as real Windows does. + #if defined(UNDER_RTSS) || defined(RTX64_BUILD) +-#define CATCH_INTERNAL_CONFIG_NO_WINDOWS_SEH ++ #define CATCH_INTERNAL_CONFIG_NO_WINDOWS_SEH + #define CATCH_INTERNAL_CONFIG_NO_ASYNC + #define CATCH_CONFIG_COLOUR_NONE + #endif +@@ -310,28 +315,28 @@ unsigned int rngSeed(); + + // Various stdlib support checks that require __has_include + #if defined(__has_include) +-// Check if string_view is available and usable +-#if __has_include() && defined(CATCH_CPP17_OR_GREATER) +-# define CATCH_INTERNAL_CONFIG_CPP17_STRING_VIEW +-#endif +- +-// Check if optional is available and usable +-# if __has_include() && defined(CATCH_CPP17_OR_GREATER) +-# define CATCH_INTERNAL_CONFIG_CPP17_OPTIONAL +-# endif // __has_include() && defined(CATCH_CPP17_OR_GREATER) +- +-// Check if byte is available and usable +-# if __has_include() && defined(CATCH_CPP17_OR_GREATER) +-# include +-# if __cpp_lib_byte > 0 +-# define CATCH_INTERNAL_CONFIG_CPP17_BYTE +-# endif +-# endif // __has_include() && defined(CATCH_CPP17_OR_GREATER) +- +-// Check if variant is available and usable +-# if __has_include() && defined(CATCH_CPP17_OR_GREATER) +-# if defined(__clang__) && (__clang_major__ < 8) +-// work around clang bug with libstdc++ https://bugs.llvm.org/show_bug.cgi?id=31852 ++ // Check if string_view is available and usable ++ #if __has_include() && defined(CATCH_CPP17_OR_GREATER) ++ # define CATCH_INTERNAL_CONFIG_CPP17_STRING_VIEW ++ #endif ++ ++ // Check if optional is available and usable ++ # if __has_include() && defined(CATCH_CPP17_OR_GREATER) ++ # define CATCH_INTERNAL_CONFIG_CPP17_OPTIONAL ++ # endif // __has_include() && defined(CATCH_CPP17_OR_GREATER) ++ ++ // Check if byte is available and usable ++ # if __has_include() && defined(CATCH_CPP17_OR_GREATER) ++ # include ++ # if defined(__cpp_lib_byte) && (__cpp_lib_byte > 0) ++ # define CATCH_INTERNAL_CONFIG_CPP17_BYTE ++ # endif ++ # endif // __has_include() && defined(CATCH_CPP17_OR_GREATER) ++ ++ // Check if variant is available and usable ++ # if __has_include() && defined(CATCH_CPP17_OR_GREATER) ++ # if defined(__clang__) && (__clang_major__ < 8) ++ // work around clang bug with libstdc++ https://bugs.llvm.org/show_bug.cgi?id=31852 + // fix should be in clang 8, workaround in libstdc++ 8.2 + # include + # if defined(__GLIBCXX__) && defined(_GLIBCXX_RELEASE) && (_GLIBCXX_RELEASE < 9) +@@ -339,10 +344,10 @@ unsigned int rngSeed(); + # else + # define CATCH_INTERNAL_CONFIG_CPP17_VARIANT + # endif // defined(__GLIBCXX__) && defined(_GLIBCXX_RELEASE) && (_GLIBCXX_RELEASE < 9) +-# else +-# define CATCH_INTERNAL_CONFIG_CPP17_VARIANT +-# endif // defined(__clang__) && (__clang_major__ < 8) +-# endif // __has_include() && defined(CATCH_CPP17_OR_GREATER) ++ # else ++ # define CATCH_INTERNAL_CONFIG_CPP17_VARIANT ++ # endif // defined(__clang__) && (__clang_major__ < 8) ++ # endif // __has_include() && defined(CATCH_CPP17_OR_GREATER) + #endif // defined(__has_include) + + #if defined(CATCH_INTERNAL_CONFIG_COUNTER) && !defined(CATCH_CONFIG_NO_COUNTER) && !defined(CATCH_CONFIG_COUNTER) +@@ -478,61 +483,61 @@ std::ostream& operator<<(std::ostream&, Catch_global_namespace_dummy); + + namespace Catch { + +-struct CaseSensitive { enum Choice { +- Yes, +- No +- }; }; ++ struct CaseSensitive { enum Choice { ++ Yes, ++ No ++ }; }; + +-class NonCopyable { +- NonCopyable( NonCopyable const& ) = delete; +- NonCopyable( NonCopyable && ) = delete; +- NonCopyable& operator = ( NonCopyable const& ) = delete; +- NonCopyable& operator = ( NonCopyable && ) = delete; ++ class NonCopyable { ++ NonCopyable( NonCopyable const& ) = delete; ++ NonCopyable( NonCopyable && ) = delete; ++ NonCopyable& operator = ( NonCopyable const& ) = delete; ++ NonCopyable& operator = ( NonCopyable && ) = delete; + +- protected: +- NonCopyable(); +- virtual ~NonCopyable(); +-}; ++ protected: ++ NonCopyable(); ++ virtual ~NonCopyable(); ++ }; + +-struct SourceLineInfo { ++ struct SourceLineInfo { + +- SourceLineInfo() = delete; +- SourceLineInfo( char const* _file, std::size_t _line ) noexcept +- : file( _file ), +- line( _line ) +- {} ++ SourceLineInfo() = delete; ++ SourceLineInfo( char const* _file, std::size_t _line ) noexcept ++ : file( _file ), ++ line( _line ) ++ {} + +- SourceLineInfo( SourceLineInfo const& other ) = default; +- SourceLineInfo& operator = ( SourceLineInfo const& ) = default; +- SourceLineInfo( SourceLineInfo&& ) noexcept = default; +- SourceLineInfo& operator = ( SourceLineInfo&& ) noexcept = default; ++ SourceLineInfo( SourceLineInfo const& other ) = default; ++ SourceLineInfo& operator = ( SourceLineInfo const& ) = default; ++ SourceLineInfo( SourceLineInfo&& ) noexcept = default; ++ SourceLineInfo& operator = ( SourceLineInfo&& ) noexcept = default; + +- bool empty() const noexcept { return file[0] == '\0'; } +- bool operator == ( SourceLineInfo const& other ) const noexcept; +- bool operator < ( SourceLineInfo const& other ) const noexcept; ++ bool empty() const noexcept { return file[0] == '\0'; } ++ bool operator == ( SourceLineInfo const& other ) const noexcept; ++ bool operator < ( SourceLineInfo const& other ) const noexcept; + +- char const* file; +- std::size_t line; +-}; ++ char const* file; ++ std::size_t line; ++ }; + +-std::ostream& operator << ( std::ostream& os, SourceLineInfo const& info ); ++ std::ostream& operator << ( std::ostream& os, SourceLineInfo const& info ); + +-// Bring in operator<< from global namespace into Catch namespace +-// This is necessary because the overload of operator<< above makes +-// lookup stop at namespace Catch +-using ::operator<<; ++ // Bring in operator<< from global namespace into Catch namespace ++ // This is necessary because the overload of operator<< above makes ++ // lookup stop at namespace Catch ++ using ::operator<<; + +-// Use this in variadic streaming macros to allow +-// >> +StreamEndStop +-// as well as +-// >> stuff +StreamEndStop +-struct StreamEndStop { +- std::string operator+() const; +-}; +-template +-T const& operator + ( T const& value, StreamEndStop ) { +- return value; +-} ++ // Use this in variadic streaming macros to allow ++ // >> +StreamEndStop ++ // as well as ++ // >> stuff +StreamEndStop ++ struct StreamEndStop { ++ std::string operator+() const; ++ }; ++ template ++ T const& operator + ( T const& value, StreamEndStop ) { ++ return value; ++ } + } + + #define CATCH_INTERNAL_LINEINFO \ +@@ -541,9 +546,9 @@ T const& operator + ( T const& value, StreamEndStop ) { + // end catch_common.h + namespace Catch { + +-struct RegistrarForTagAliases { +- RegistrarForTagAliases( char const* alias, char const* tag, SourceLineInfo const& lineInfo ); +-}; ++ struct RegistrarForTagAliases { ++ RegistrarForTagAliases( char const* alias, char const* tag, SourceLineInfo const& lineInfo ); ++ }; + + } // end namespace Catch + +@@ -562,26 +567,26 @@ struct RegistrarForTagAliases { + + namespace Catch { + +-class TestSpec; ++ class TestSpec; + +-struct ITestInvoker { +- virtual void invoke () const = 0; +- virtual ~ITestInvoker(); +-}; ++ struct ITestInvoker { ++ virtual void invoke () const = 0; ++ virtual ~ITestInvoker(); ++ }; + +-class TestCase; +-struct IConfig; ++ class TestCase; ++ struct IConfig; + +-struct ITestCaseRegistry { +- virtual ~ITestCaseRegistry(); +- virtual std::vector const& getAllTests() const = 0; +- virtual std::vector const& getAllTestsSorted( IConfig const& config ) const = 0; +-}; ++ struct ITestCaseRegistry { ++ virtual ~ITestCaseRegistry(); ++ virtual std::vector const& getAllTests() const = 0; ++ virtual std::vector const& getAllTestsSorted( IConfig const& config ) const = 0; ++ }; + +-bool isThrowSafe( TestCase const& testCase, IConfig const& config ); +-bool matchTest( TestCase const& testCase, TestSpec const& testSpec, IConfig const& config ); +-std::vector filterTests( std::vector const& testCases, TestSpec const& testSpec, IConfig const& config ); +-std::vector const& getAllTestCasesSorted( IConfig const& config ); ++ bool isThrowSafe( TestCase const& testCase, IConfig const& config ); ++ bool matchTest( TestCase const& testCase, TestSpec const& testSpec, IConfig const& config ); ++ std::vector filterTests( std::vector const& testCases, TestSpec const& testSpec, IConfig const& config ); ++ std::vector const& getAllTestCasesSorted( IConfig const& config ); + + } + +@@ -595,90 +600,90 @@ std::vector const& getAllTestCasesSorted( IConfig const& config ); + + namespace Catch { + +-/// A non-owning string class (similar to the forthcoming std::string_view) +-/// Note that, because a StringRef may be a substring of another string, +-/// it may not be null terminated. +-class StringRef { +- public: +- using size_type = std::size_t; +- using const_iterator = const char*; ++ /// A non-owning string class (similar to the forthcoming std::string_view) ++ /// Note that, because a StringRef may be a substring of another string, ++ /// it may not be null terminated. ++ class StringRef { ++ public: ++ using size_type = std::size_t; ++ using const_iterator = const char*; + +- private: +- static constexpr char const* const s_empty = ""; ++ private: ++ static constexpr char const* const s_empty = ""; + +- char const* m_start = s_empty; +- size_type m_size = 0; ++ char const* m_start = s_empty; ++ size_type m_size = 0; + +- public: // construction +- constexpr StringRef() noexcept = default; ++ public: // construction ++ constexpr StringRef() noexcept = default; + +- StringRef( char const* rawChars ) noexcept; ++ StringRef( char const* rawChars ) noexcept; + +- constexpr StringRef( char const* rawChars, size_type size ) noexcept +- : m_start( rawChars ), +- m_size( size ) +- {} ++ constexpr StringRef( char const* rawChars, size_type size ) noexcept ++ : m_start( rawChars ), ++ m_size( size ) ++ {} + +- StringRef( std::string const& stdString ) noexcept +- : m_start( stdString.c_str() ), +- m_size( stdString.size() ) +- {} ++ StringRef( std::string const& stdString ) noexcept ++ : m_start( stdString.c_str() ), ++ m_size( stdString.size() ) ++ {} + +- explicit operator std::string() const { +- return std::string(m_start, m_size); +- } ++ explicit operator std::string() const { ++ return std::string(m_start, m_size); ++ } + +- public: // operators +- auto operator == ( StringRef const& other ) const noexcept -> bool; +- auto operator != (StringRef const& other) const noexcept -> bool { +- return !(*this == other); +- } ++ public: // operators ++ auto operator == ( StringRef const& other ) const noexcept -> bool; ++ auto operator != (StringRef const& other) const noexcept -> bool { ++ return !(*this == other); ++ } + +- auto operator[] ( size_type index ) const noexcept -> char { +- assert(index < m_size); +- return m_start[index]; +- } ++ auto operator[] ( size_type index ) const noexcept -> char { ++ assert(index < m_size); ++ return m_start[index]; ++ } + +- public: // named queries +- constexpr auto empty() const noexcept -> bool { +- return m_size == 0; +- } +- constexpr auto size() const noexcept -> size_type { +- return m_size; +- } ++ public: // named queries ++ constexpr auto empty() const noexcept -> bool { ++ return m_size == 0; ++ } ++ constexpr auto size() const noexcept -> size_type { ++ return m_size; ++ } + +- // Returns the current start pointer. If the StringRef is not +- // null-terminated, throws std::domain_exception +- auto c_str() const -> char const*; ++ // Returns the current start pointer. If the StringRef is not ++ // null-terminated, throws std::domain_exception ++ auto c_str() const -> char const*; + +- public: // substrings and searches +- // Returns a substring of [start, start + length). +- // If start + length > size(), then the substring is [start, size()). +- // If start > size(), then the substring is empty. +- auto substr( size_type start, size_type length ) const noexcept -> StringRef; ++ public: // substrings and searches ++ // Returns a substring of [start, start + length). ++ // If start + length > size(), then the substring is [start, size()). ++ // If start > size(), then the substring is empty. ++ auto substr( size_type start, size_type length ) const noexcept -> StringRef; + +- // Returns the current start pointer. May not be null-terminated. +- auto data() const noexcept -> char const*; ++ // Returns the current start pointer. May not be null-terminated. ++ auto data() const noexcept -> char const*; + +- constexpr auto isNullTerminated() const noexcept -> bool { +- return m_start[m_size] == '\0'; +- } ++ constexpr auto isNullTerminated() const noexcept -> bool { ++ return m_start[m_size] == '\0'; ++ } + +- public: // iterators +- constexpr const_iterator begin() const { return m_start; } +- constexpr const_iterator end() const { return m_start + m_size; } +-}; ++ public: // iterators ++ constexpr const_iterator begin() const { return m_start; } ++ constexpr const_iterator end() const { return m_start + m_size; } ++ }; + +-auto operator += ( std::string& lhs, StringRef const& sr ) -> std::string&; +-auto operator << ( std::ostream& os, StringRef const& sr ) -> std::ostream&; ++ auto operator += ( std::string& lhs, StringRef const& sr ) -> std::string&; ++ auto operator << ( std::ostream& os, StringRef const& sr ) -> std::ostream&; + +-constexpr auto operator "" _sr( char const* rawChars, std::size_t size ) noexcept -> StringRef { +- return StringRef( rawChars, size ); +-} ++ constexpr auto operator "" _sr( char const* rawChars, std::size_t size ) noexcept -> StringRef { ++ return StringRef( rawChars, size ); ++ } + } // namespace Catch + + constexpr auto operator "" _catch_sr( char const* rawChars, std::size_t size ) noexcept -> Catch::StringRef { +- return Catch::StringRef( rawChars, size ); ++ return Catch::StringRef( rawChars, size ); + } + + // end catch_stringref.h +@@ -916,30 +921,30 @@ constexpr auto operator "" _catch_sr( char const* rawChars, std::size_t size ) n + #include + + namespace Catch { +-template +-struct always_false : std::false_type {}; +- +-template struct true_given : std::true_type {}; +-struct is_callable_tester { +- template +- true_given()(std::declval()...))> static test(int); +- template +- std::false_type static test(...); +-}; ++ template ++ struct always_false : std::false_type {}; ++ ++ template struct true_given : std::true_type {}; ++ struct is_callable_tester { ++ template ++ true_given()(std::declval()...))> static test(int); ++ template ++ std::false_type static test(...); ++ }; + +-template +-struct is_callable; ++ template ++ struct is_callable; + +-template +-struct is_callable : decltype(is_callable_tester::test(0)) {}; ++ template ++ struct is_callable : decltype(is_callable_tester::test(0)) {}; + + #if defined(__cpp_lib_is_invocable) && __cpp_lib_is_invocable >= 201703 +-// std::result_of is deprecated in C++17 and removed in C++20. Hence, it is +-// replaced with std::invoke_result here. +-template +-using FunctionReturnType = std::remove_reference_t>>; ++ // std::result_of is deprecated in C++17 and removed in C++20. Hence, it is ++ // replaced with std::invoke_result here. ++ template ++ using FunctionReturnType = std::remove_reference_t>>; + #else +-// Keep ::type here because we still support C++11 ++ // Keep ::type here because we still support C++11 + template + using FunctionReturnType = typename std::remove_reference::type>::type>::type; + #endif +@@ -947,7 +952,7 @@ using FunctionReturnType = std::remove_reference_t + class TestInvokerAsMethod : public ITestInvoker { +- void (C::*m_testAsMethod)(); +- public: +- TestInvokerAsMethod( void (C::*testAsMethod)() ) noexcept : m_testAsMethod( testAsMethod ) {} ++ void (C::*m_testAsMethod)(); ++public: ++ TestInvokerAsMethod( void (C::*testAsMethod)() ) noexcept : m_testAsMethod( testAsMethod ) {} + +- void invoke() const override { +- C obj; +- (obj.*m_testAsMethod)(); +- } ++ void invoke() const override { ++ C obj; ++ (obj.*m_testAsMethod)(); ++ } + }; + + auto makeTestInvoker( void(*testAsFunction)() ) noexcept -> ITestInvoker*; + + template + auto makeTestInvoker( void (C::*testAsMethod)() ) noexcept -> ITestInvoker* { +- return new(std::nothrow) TestInvokerAsMethod( testAsMethod ); ++ return new(std::nothrow) TestInvokerAsMethod( testAsMethod ); + } + + struct NameAndTags { +- NameAndTags( StringRef const& name_ = StringRef(), StringRef const& tags_ = StringRef() ) noexcept; +- StringRef name; +- StringRef tags; ++ NameAndTags( StringRef const& name_ = StringRef(), StringRef const& tags_ = StringRef() ) noexcept; ++ StringRef name; ++ StringRef tags; + }; + + struct AutoReg : NonCopyable { +- AutoReg( ITestInvoker* invoker, SourceLineInfo const& lineInfo, StringRef const& classOrMethod, NameAndTags const& nameAndTags ) noexcept; +- ~AutoReg(); ++ AutoReg( ITestInvoker* invoker, SourceLineInfo const& lineInfo, StringRef const& classOrMethod, NameAndTags const& nameAndTags ) noexcept; ++ ~AutoReg(); + }; + + } // end namespace Catch + + #if defined(CATCH_CONFIG_DISABLE) +-#define INTERNAL_CATCH_TESTCASE_NO_REGISTRATION( TestName, ... ) \ ++ #define INTERNAL_CATCH_TESTCASE_NO_REGISTRATION( TestName, ... ) \ + static void TestName() + #define INTERNAL_CATCH_TESTCASE_METHOD_NO_REGISTRATION( TestName, ClassName, ... ) \ + namespace{ \ +@@ -1007,57 +1012,57 @@ struct AutoReg : NonCopyable { + + #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR + #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION(Name, Tags, ...) \ +- INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, typename TestType, __VA_ARGS__ ) ++ INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, typename TestType, __VA_ARGS__ ) + #else + #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION(Name, Tags, ...) \ +- INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, typename TestType, __VA_ARGS__ ) ) ++ INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, typename TestType, __VA_ARGS__ ) ) + #endif + + #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR + #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_SIG_NO_REGISTRATION(Name, Tags, Signature, ...) \ +- INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, Signature, __VA_ARGS__ ) ++ INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, Signature, __VA_ARGS__ ) + #else + #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_SIG_NO_REGISTRATION(Name, Tags, Signature, ...) \ +- INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, Signature, __VA_ARGS__ ) ) ++ INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, Signature, __VA_ARGS__ ) ) + #endif + + #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR + #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION( ClassName, Name, Tags,... ) \ +- INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____C_L_A_S_S____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ) , ClassName, Name, Tags, typename T, __VA_ARGS__ ) ++ INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_C_L_A_S_S_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ) , ClassName, Name, Tags, typename T, __VA_ARGS__ ) + #else + #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION( ClassName, Name, Tags,... ) \ +- INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____C_L_A_S_S____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ) , ClassName, Name, Tags, typename T, __VA_ARGS__ ) ) ++ INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_C_L_A_S_S_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ) , ClassName, Name, Tags, typename T, __VA_ARGS__ ) ) + #endif + + #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR + #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_SIG_NO_REGISTRATION( ClassName, Name, Tags, Signature, ... ) \ +- INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____C_L_A_S_S____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ) , ClassName, Name, Tags, Signature, __VA_ARGS__ ) ++ INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_C_L_A_S_S_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ) , ClassName, Name, Tags, Signature, __VA_ARGS__ ) + #else + #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_SIG_NO_REGISTRATION( ClassName, Name, Tags, Signature, ... ) \ +- INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____C_L_A_S_S____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ) , ClassName, Name, Tags, Signature, __VA_ARGS__ ) ) ++ INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_C_L_A_S_S_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ) , ClassName, Name, Tags, Signature, __VA_ARGS__ ) ) + #endif + #endif + +-/////////////////////////////////////////////////////////////////////////////// +-#define INTERNAL_CATCH_TESTCASE2( TestName, ... ) \ ++ /////////////////////////////////////////////////////////////////////////////// ++ #define INTERNAL_CATCH_TESTCASE2( TestName, ... ) \ + static void TestName(); \ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ + CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ + namespace{ Catch::AutoReg INTERNAL_CATCH_UNIQUE_NAME( autoRegistrar )( Catch::makeTestInvoker( &TestName ), CATCH_INTERNAL_LINEINFO, Catch::StringRef(), Catch::NameAndTags{ __VA_ARGS__ } ); } /* NOLINT */ \ + CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION \ + static void TestName() +-#define INTERNAL_CATCH_TESTCASE( ... ) \ +- INTERNAL_CATCH_TESTCASE2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ ), __VA_ARGS__ ) ++ #define INTERNAL_CATCH_TESTCASE( ... ) \ ++ INTERNAL_CATCH_TESTCASE2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ ), __VA_ARGS__ ) + +-/////////////////////////////////////////////////////////////////////////////// +-#define INTERNAL_CATCH_METHOD_AS_TEST_CASE( QualifiedMethod, ... ) \ ++ /////////////////////////////////////////////////////////////////////////////// ++ #define INTERNAL_CATCH_METHOD_AS_TEST_CASE( QualifiedMethod, ... ) \ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ + CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ + namespace{ Catch::AutoReg INTERNAL_CATCH_UNIQUE_NAME( autoRegistrar )( Catch::makeTestInvoker( &QualifiedMethod ), CATCH_INTERNAL_LINEINFO, "&" #QualifiedMethod, Catch::NameAndTags{ __VA_ARGS__ } ); } /* NOLINT */ \ + CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION + +-/////////////////////////////////////////////////////////////////////////////// +-#define INTERNAL_CATCH_TEST_CASE_METHOD2( TestName, ClassName, ... )\ ++ /////////////////////////////////////////////////////////////////////////////// ++ #define INTERNAL_CATCH_TEST_CASE_METHOD2( TestName, ClassName, ... )\ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ + CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ + namespace{ \ +@@ -1068,18 +1073,18 @@ struct AutoReg : NonCopyable { + } \ + CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION \ + void TestName::test() +-#define INTERNAL_CATCH_TEST_CASE_METHOD( ClassName, ... ) \ +- INTERNAL_CATCH_TEST_CASE_METHOD2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ ), ClassName, __VA_ARGS__ ) ++ #define INTERNAL_CATCH_TEST_CASE_METHOD( ClassName, ... ) \ ++ INTERNAL_CATCH_TEST_CASE_METHOD2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ ), ClassName, __VA_ARGS__ ) + +-/////////////////////////////////////////////////////////////////////////////// +-#define INTERNAL_CATCH_REGISTER_TESTCASE( Function, ... ) \ ++ /////////////////////////////////////////////////////////////////////////////// ++ #define INTERNAL_CATCH_REGISTER_TESTCASE( Function, ... ) \ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ + CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ + Catch::AutoReg INTERNAL_CATCH_UNIQUE_NAME( autoRegistrar )( Catch::makeTestInvoker( Function ), CATCH_INTERNAL_LINEINFO, Catch::StringRef(), Catch::NameAndTags{ __VA_ARGS__ } ); /* NOLINT */ \ + CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION + +-/////////////////////////////////////////////////////////////////////////////// +-#define INTERNAL_CATCH_TEMPLATE_TEST_CASE_2(TestName, TestFunc, Name, Tags, Signature, ... )\ ++ /////////////////////////////////////////////////////////////////////////////// ++ #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_2(TestName, TestFunc, Name, Tags, Signature, ... )\ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ + CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ + CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS \ +@@ -1109,22 +1114,22 @@ struct AutoReg : NonCopyable { + INTERNAL_CATCH_DEFINE_SIG_TEST(TestFunc,INTERNAL_CATCH_REMOVE_PARENS(Signature)) + + #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR +-#define INTERNAL_CATCH_TEMPLATE_TEST_CASE(Name, Tags, ...) \ +- INTERNAL_CATCH_TEMPLATE_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, typename TestType, __VA_ARGS__ ) ++ #define INTERNAL_CATCH_TEMPLATE_TEST_CASE(Name, Tags, ...) \ ++ INTERNAL_CATCH_TEMPLATE_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, typename TestType, __VA_ARGS__ ) + #else +-#define INTERNAL_CATCH_TEMPLATE_TEST_CASE(Name, Tags, ...) \ +- INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, typename TestType, __VA_ARGS__ ) ) ++ #define INTERNAL_CATCH_TEMPLATE_TEST_CASE(Name, Tags, ...) \ ++ INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, typename TestType, __VA_ARGS__ ) ) + #endif + + #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR +-#define INTERNAL_CATCH_TEMPLATE_TEST_CASE_SIG(Name, Tags, Signature, ...) \ +- INTERNAL_CATCH_TEMPLATE_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, Signature, __VA_ARGS__ ) ++ #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_SIG(Name, Tags, Signature, ...) \ ++ INTERNAL_CATCH_TEMPLATE_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, Signature, __VA_ARGS__ ) + #else +-#define INTERNAL_CATCH_TEMPLATE_TEST_CASE_SIG(Name, Tags, Signature, ...) \ +- INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, Signature, __VA_ARGS__ ) ) ++ #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_SIG(Name, Tags, Signature, ...) \ ++ INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, Signature, __VA_ARGS__ ) ) + #endif + +-#define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2(TestName, TestFuncName, Name, Tags, Signature, TmplTypes, TypesList) \ ++ #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2(TestName, TestFuncName, Name, Tags, Signature, TmplTypes, TypesList) \ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ + CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ + CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS \ +@@ -1158,22 +1163,22 @@ struct AutoReg : NonCopyable { + static void TestFuncName() + + #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR +-#define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE(Name, Tags, ...)\ +- INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, typename T,__VA_ARGS__) ++ #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE(Name, Tags, ...)\ ++ INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, typename T,__VA_ARGS__) + #else +-#define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE(Name, Tags, ...)\ +- INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, typename T, __VA_ARGS__ ) ) ++ #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE(Name, Tags, ...)\ ++ INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, typename T, __VA_ARGS__ ) ) + #endif + + #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR +-#define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_SIG(Name, Tags, Signature, ...)\ +- INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, Signature, __VA_ARGS__) ++ #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_SIG(Name, Tags, Signature, ...)\ ++ INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, Signature, __VA_ARGS__) + #else +-#define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_SIG(Name, Tags, Signature, ...)\ +- INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, Signature, __VA_ARGS__ ) ) ++ #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_SIG(Name, Tags, Signature, ...)\ ++ INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, Signature, __VA_ARGS__ ) ) + #endif + +-#define INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_2(TestName, TestFunc, Name, Tags, TmplList)\ ++ #define INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_2(TestName, TestFunc, Name, Tags, TmplList)\ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ + CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ + CATCH_INTERNAL_SUPPRESS_UNUSED_TEMPLATE_WARNINGS \ +@@ -1200,10 +1205,10 @@ struct AutoReg : NonCopyable { + template \ + static void TestFunc() + +-#define INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE(Name, Tags, TmplList) \ +- INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, TmplList ) ++ #define INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE(Name, Tags, TmplList) \ ++ INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, TmplList ) + +-#define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( TestNameClass, TestName, ClassName, Name, Tags, Signature, ... ) \ ++ #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( TestNameClass, TestName, ClassName, Name, Tags, Signature, ... ) \ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ + CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ + CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS \ +@@ -1233,22 +1238,22 @@ struct AutoReg : NonCopyable { + INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD(TestName, INTERNAL_CATCH_REMOVE_PARENS(Signature)) + + #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR +-#define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD( ClassName, Name, Tags,... ) \ +- INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____C_L_A_S_S____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ) , ClassName, Name, Tags, typename T, __VA_ARGS__ ) ++ #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD( ClassName, Name, Tags,... ) \ ++ INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_C_L_A_S_S_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ) , ClassName, Name, Tags, typename T, __VA_ARGS__ ) + #else +-#define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD( ClassName, Name, Tags,... ) \ +- INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____C_L_A_S_S____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ) , ClassName, Name, Tags, typename T, __VA_ARGS__ ) ) ++ #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD( ClassName, Name, Tags,... ) \ ++ INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_C_L_A_S_S_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ) , ClassName, Name, Tags, typename T, __VA_ARGS__ ) ) + #endif + + #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR +-#define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_SIG( ClassName, Name, Tags, Signature, ... ) \ +- INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____C_L_A_S_S____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ) , ClassName, Name, Tags, Signature, __VA_ARGS__ ) ++ #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_SIG( ClassName, Name, Tags, Signature, ... ) \ ++ INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_C_L_A_S_S_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ) , ClassName, Name, Tags, Signature, __VA_ARGS__ ) + #else +-#define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_SIG( ClassName, Name, Tags, Signature, ... ) \ +- INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____C_L_A_S_S____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ) , ClassName, Name, Tags, Signature, __VA_ARGS__ ) ) ++ #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_SIG( ClassName, Name, Tags, Signature, ... ) \ ++ INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_C_L_A_S_S_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ) , ClassName, Name, Tags, Signature, __VA_ARGS__ ) ) + #endif + +-#define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2(TestNameClass, TestName, ClassName, Name, Tags, Signature, TmplTypes, TypesList)\ ++ #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2(TestNameClass, TestName, ClassName, Name, Tags, Signature, TmplTypes, TypesList)\ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ + CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ + CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS \ +@@ -1285,22 +1290,22 @@ struct AutoReg : NonCopyable { + void TestName::test() + + #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR +-#define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD( ClassName, Name, Tags, ... )\ +- INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), ClassName, Name, Tags, typename T, __VA_ARGS__ ) ++ #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD( ClassName, Name, Tags, ... )\ ++ INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), ClassName, Name, Tags, typename T, __VA_ARGS__ ) + #else +-#define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD( ClassName, Name, Tags, ... )\ +- INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), ClassName, Name, Tags, typename T,__VA_ARGS__ ) ) ++ #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD( ClassName, Name, Tags, ... )\ ++ INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), ClassName, Name, Tags, typename T,__VA_ARGS__ ) ) + #endif + + #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR +-#define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG( ClassName, Name, Tags, Signature, ... )\ +- INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), ClassName, Name, Tags, Signature, __VA_ARGS__ ) ++ #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG( ClassName, Name, Tags, Signature, ... )\ ++ INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), ClassName, Name, Tags, Signature, __VA_ARGS__ ) + #else +-#define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG( ClassName, Name, Tags, Signature, ... )\ +- INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), ClassName, Name, Tags, Signature,__VA_ARGS__ ) ) ++ #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG( ClassName, Name, Tags, Signature, ... )\ ++ INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), ClassName, Name, Tags, Signature,__VA_ARGS__ ) ) + #endif + +-#define INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_METHOD_2( TestNameClass, TestName, ClassName, Name, Tags, TmplList) \ ++ #define INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_METHOD_2( TestNameClass, TestName, ClassName, Name, Tags, TmplList) \ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ + CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ + CATCH_INTERNAL_SUPPRESS_UNUSED_TEMPLATE_WARNINGS \ +@@ -1331,7 +1336,7 @@ struct AutoReg : NonCopyable { + void TestName::test() + + #define INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_METHOD(ClassName, Name, Tags, TmplList) \ +- INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), ClassName, Name, Tags, TmplList ) ++ INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), ClassName, Name, Tags, TmplList ) + + // end catch_test_registry.h + // start catch_capture.hpp +@@ -1344,61 +1349,61 @@ struct AutoReg : NonCopyable { + + namespace Catch { + +-// ResultWas::OfType enum +-struct ResultWas { enum OfType { +- Unknown = -1, +- Ok = 0, +- Info = 1, +- Warning = 2, ++ // ResultWas::OfType enum ++ struct ResultWas { enum OfType { ++ Unknown = -1, ++ Ok = 0, ++ Info = 1, ++ Warning = 2, + +- FailureBit = 0x10, ++ FailureBit = 0x10, + +- ExpressionFailed = FailureBit | 1, +- ExplicitFailure = FailureBit | 2, ++ ExpressionFailed = FailureBit | 1, ++ ExplicitFailure = FailureBit | 2, + +- Exception = 0x100 | FailureBit, ++ Exception = 0x100 | FailureBit, + +- ThrewException = Exception | 1, +- DidntThrowException = Exception | 2, ++ ThrewException = Exception | 1, ++ DidntThrowException = Exception | 2, + +- FatalErrorCondition = 0x200 | FailureBit ++ FatalErrorCondition = 0x200 | FailureBit + +- }; }; ++ }; }; + +-bool isOk( ResultWas::OfType resultType ); +-bool isJustInfo( int flags ); ++ bool isOk( ResultWas::OfType resultType ); ++ bool isJustInfo( int flags ); + +-// ResultDisposition::Flags enum +-struct ResultDisposition { enum Flags { +- Normal = 0x01, ++ // ResultDisposition::Flags enum ++ struct ResultDisposition { enum Flags { ++ Normal = 0x01, + +- ContinueOnFailure = 0x02, // Failures fail test, but execution continues +- FalseTest = 0x04, // Prefix expression with ! +- SuppressFail = 0x08 // Failures are reported but do not fail the test +- }; }; ++ ContinueOnFailure = 0x02, // Failures fail test, but execution continues ++ FalseTest = 0x04, // Prefix expression with ! ++ SuppressFail = 0x08 // Failures are reported but do not fail the test ++ }; }; + +-ResultDisposition::Flags operator | ( ResultDisposition::Flags lhs, ResultDisposition::Flags rhs ); ++ ResultDisposition::Flags operator | ( ResultDisposition::Flags lhs, ResultDisposition::Flags rhs ); + +-bool shouldContinueOnFailure( int flags ); +-inline bool isFalseTest( int flags ) { return ( flags & ResultDisposition::FalseTest ) != 0; } +-bool shouldSuppressFailure( int flags ); ++ bool shouldContinueOnFailure( int flags ); ++ inline bool isFalseTest( int flags ) { return ( flags & ResultDisposition::FalseTest ) != 0; } ++ bool shouldSuppressFailure( int flags ); + + } // end namespace Catch + + // end catch_result_type.h + namespace Catch { + +-struct AssertionInfo +-{ +- StringRef macroName; +- SourceLineInfo lineInfo; +- StringRef capturedExpression; +- ResultDisposition::Flags resultDisposition; +- +- // We want to delete this constructor but a compiler bug in 4.8 means +- // the struct is then treated as non-aggregate +- //AssertionInfo() = delete; +-}; ++ struct AssertionInfo ++ { ++ StringRef macroName; ++ SourceLineInfo lineInfo; ++ StringRef capturedExpression; ++ ResultDisposition::Flags resultDisposition; ++ ++ // We want to delete this constructor but a compiler bug in 4.8 means ++ // the struct is then treated as non-aggregate ++ //AssertionInfo() = delete; ++ }; + + } // end namespace Catch + +@@ -1419,35 +1424,35 @@ struct AssertionInfo + + namespace Catch { + +-std::ostream& cout(); +-std::ostream& cerr(); +-std::ostream& clog(); ++ std::ostream& cout(); ++ std::ostream& cerr(); ++ std::ostream& clog(); + +-class StringRef; ++ class StringRef; + +-struct IStream { +- virtual ~IStream(); +- virtual std::ostream& stream() const = 0; +-}; ++ struct IStream { ++ virtual ~IStream(); ++ virtual std::ostream& stream() const = 0; ++ }; + +-auto makeStream( StringRef const &filename ) -> IStream const*; ++ auto makeStream( StringRef const &filename ) -> IStream const*; + +-class ReusableStringStream : NonCopyable { +- std::size_t m_index; +- std::ostream* m_oss; +- public: +- ReusableStringStream(); +- ~ReusableStringStream(); ++ class ReusableStringStream : NonCopyable { ++ std::size_t m_index; ++ std::ostream* m_oss; ++ public: ++ ReusableStringStream(); ++ ~ReusableStringStream(); + +- auto str() const -> std::string; ++ auto str() const -> std::string; + +- template +- auto operator << ( T const& value ) -> ReusableStringStream& { +- *m_oss << value; +- return *this; +- } +- auto get() -> std::ostream& { return *m_oss; } +-}; ++ template ++ auto operator << ( T const& value ) -> ReusableStringStream& { ++ *m_oss << value; ++ return *this; ++ } ++ auto get() -> std::ostream& { return *m_oss; } ++ }; + } + + // end catch_stream.h +@@ -1457,32 +1462,32 @@ class ReusableStringStream : NonCopyable { + + namespace Catch { + +-namespace Detail { +-struct EnumInfo { +- StringRef m_name; +- std::vector> m_values; ++ namespace Detail { ++ struct EnumInfo { ++ StringRef m_name; ++ std::vector> m_values; + +- ~EnumInfo(); ++ ~EnumInfo(); + +- StringRef lookup( int value ) const; +-}; +-} // namespace Detail ++ StringRef lookup( int value ) const; ++ }; ++ } // namespace Detail + +-struct IMutableEnumValuesRegistry { +- virtual ~IMutableEnumValuesRegistry(); ++ struct IMutableEnumValuesRegistry { ++ virtual ~IMutableEnumValuesRegistry(); + +- virtual Detail::EnumInfo const& registerEnum( StringRef enumName, StringRef allEnums, std::vector const& values ) = 0; ++ virtual Detail::EnumInfo const& registerEnum( StringRef enumName, StringRef allEnums, std::vector const& values ) = 0; + +- template +- Detail::EnumInfo const& registerEnum( StringRef enumName, StringRef allEnums, std::initializer_list values ) { +- static_assert(sizeof(int) >= sizeof(E), "Cannot serialize enum to int"); +- std::vector intValues; +- intValues.reserve( values.size() ); +- for( auto enumValue : values ) +- intValues.push_back( static_cast( enumValue ) ); +- return registerEnum( enumName, allEnums, intValues ); +- } +-}; ++ template ++ Detail::EnumInfo const& registerEnum( StringRef enumName, StringRef allEnums, std::initializer_list values ) { ++ static_assert(sizeof(int) >= sizeof(E), "Cannot serialize enum to int"); ++ std::vector intValues; ++ intValues.reserve( values.size() ); ++ for( auto enumValue : values ) ++ intValues.push_back( static_cast( enumValue ) ); ++ return registerEnum( enumName, allEnums, intValues ); ++ } ++ }; + + } // Catch + +@@ -1544,55 +1549,55 @@ inline id performOptionalSelector( id obj, SEL sel ) { + #endif + + namespace Catch { +-namespace Detail { ++ namespace Detail { + +-extern const std::string unprintableString; ++ extern const std::string unprintableString; + +-std::string rawMemoryToString( const void *object, std::size_t size ); ++ std::string rawMemoryToString( const void *object, std::size_t size ); + +-template +-std::string rawMemoryToString( const T& object ) { +- return rawMemoryToString( &object, sizeof(object) ); +-} ++ template ++ std::string rawMemoryToString( const T& object ) { ++ return rawMemoryToString( &object, sizeof(object) ); ++ } + +-template +-class IsStreamInsertable { +- template +- static auto test(int) +- -> decltype(std::declval() << std::declval(), std::true_type()); ++ template ++ class IsStreamInsertable { ++ template ++ static auto test(int) ++ -> decltype(std::declval() << std::declval(), std::true_type()); + +- template +- static auto test(...)->std::false_type; ++ template ++ static auto test(...)->std::false_type; + +- public: +- static const bool value = decltype(test(0))::value; +-}; ++ public: ++ static const bool value = decltype(test(0))::value; ++ }; + +-template +-std::string convertUnknownEnumToString( E e ); ++ template ++ std::string convertUnknownEnumToString( E e ); + +-template +-typename std::enable_if< +- !std::is_enum::value && !std::is_base_of::value, +- std::string>::type convertUnstreamable( T const& ) { +- return Detail::unprintableString; +-} +-template +-typename std::enable_if< +- !std::is_enum::value && std::is_base_of::value, +- std::string>::type convertUnstreamable(T const& ex) { +- return ex.what(); +-} ++ template ++ typename std::enable_if< ++ !std::is_enum::value && !std::is_base_of::value, ++ std::string>::type convertUnstreamable( T const& ) { ++ return Detail::unprintableString; ++ } ++ template ++ typename std::enable_if< ++ !std::is_enum::value && std::is_base_of::value, ++ std::string>::type convertUnstreamable(T const& ex) { ++ return ex.what(); ++ } + +-template +-typename std::enable_if< +- std::is_enum::value +- , std::string>::type convertUnstreamable( T const& value ) { +- return convertUnknownEnumToString( value ); +-} ++ template ++ typename std::enable_if< ++ std::is_enum::value ++ , std::string>::type convertUnstreamable( T const& value ) { ++ return convertUnknownEnumToString( value ); ++ } + + #if defined(_MANAGED) +-//! Convert a CLR string to a utf8 std::string ++ //! Convert a CLR string to a utf8 std::string + template + std::string clrReferenceToString( T^ ref ) { + if (ref == nullptr) +@@ -1603,215 +1608,215 @@ typename std::enable_if< + } + #endif + +-} // namespace Detail ++ } // namespace Detail + +-// If we decide for C++14, change these to enable_if_ts +-template +-struct StringMaker { +- template +- static +- typename std::enable_if<::Catch::Detail::IsStreamInsertable::value, std::string>::type +- convert(const Fake& value) { +- ReusableStringStream rss; +- // NB: call using the function-like syntax to avoid ambiguity with +- // user-defined templated operator<< under clang. +- rss.operator<<(value); +- return rss.str(); +- } ++ // If we decide for C++14, change these to enable_if_ts ++ template ++ struct StringMaker { ++ template ++ static ++ typename std::enable_if<::Catch::Detail::IsStreamInsertable::value, std::string>::type ++ convert(const Fake& value) { ++ ReusableStringStream rss; ++ // NB: call using the function-like syntax to avoid ambiguity with ++ // user-defined templated operator<< under clang. ++ rss.operator<<(value); ++ return rss.str(); ++ } + +- template +- static +- typename std::enable_if::value, std::string>::type +- convert( const Fake& value ) { ++ template ++ static ++ typename std::enable_if::value, std::string>::type ++ convert( const Fake& value ) { + #if !defined(CATCH_CONFIG_FALLBACK_STRINGIFIER) +- return Detail::convertUnstreamable(value); ++ return Detail::convertUnstreamable(value); + #else +- return CATCH_CONFIG_FALLBACK_STRINGIFIER(value); ++ return CATCH_CONFIG_FALLBACK_STRINGIFIER(value); + #endif +- } +-}; ++ } ++ }; + +-namespace Detail { ++ namespace Detail { + +-// This function dispatches all stringification requests inside of Catch. +-// Should be preferably called fully qualified, like ::Catch::Detail::stringify +-template +-std::string stringify(const T& e) { +- return ::Catch::StringMaker::type>::type>::convert(e); +-} ++ // This function dispatches all stringification requests inside of Catch. ++ // Should be preferably called fully qualified, like ::Catch::Detail::stringify ++ template ++ std::string stringify(const T& e) { ++ return ::Catch::StringMaker::type>::type>::convert(e); ++ } + +-template +-std::string convertUnknownEnumToString( E e ) { +- return ::Catch::Detail::stringify(static_cast::type>(e)); +-} ++ template ++ std::string convertUnknownEnumToString( E e ) { ++ return ::Catch::Detail::stringify(static_cast::type>(e)); ++ } + + #if defined(_MANAGED) +-template ++ template + std::string stringify( T^ e ) { + return ::Catch::StringMaker::convert(e); + } + #endif + +-} // namespace Detail ++ } // namespace Detail + +-// Some predefined specializations ++ // Some predefined specializations + +-template<> +-struct StringMaker { +- static std::string convert(const std::string& str); +-}; ++ template<> ++ struct StringMaker { ++ static std::string convert(const std::string& str); ++ }; + + #ifdef CATCH_CONFIG_CPP17_STRING_VIEW +-template<> +-struct StringMaker { +- static std::string convert(std::string_view str); +-}; ++ template<> ++ struct StringMaker { ++ static std::string convert(std::string_view str); ++ }; + #endif + +-template<> +-struct StringMaker { +- static std::string convert(char const * str); +-}; +-template<> +-struct StringMaker { +- static std::string convert(char * str); +-}; ++ template<> ++ struct StringMaker { ++ static std::string convert(char const * str); ++ }; ++ template<> ++ struct StringMaker { ++ static std::string convert(char * str); ++ }; + + #ifdef CATCH_CONFIG_WCHAR +-template<> +-struct StringMaker { +- static std::string convert(const std::wstring& wstr); +-}; ++ template<> ++ struct StringMaker { ++ static std::string convert(const std::wstring& wstr); ++ }; + + # ifdef CATCH_CONFIG_CPP17_STRING_VIEW +-template<> +-struct StringMaker { +- static std::string convert(std::wstring_view str); +-}; ++ template<> ++ struct StringMaker { ++ static std::string convert(std::wstring_view str); ++ }; + # endif + +-template<> +-struct StringMaker { +- static std::string convert(wchar_t const * str); +-}; +-template<> +-struct StringMaker { +- static std::string convert(wchar_t * str); +-}; ++ template<> ++ struct StringMaker { ++ static std::string convert(wchar_t const * str); ++ }; ++ template<> ++ struct StringMaker { ++ static std::string convert(wchar_t * str); ++ }; + #endif + +-// TBD: Should we use `strnlen` to ensure that we don't go out of the buffer, +-// while keeping string semantics? +-template +-struct StringMaker { +- static std::string convert(char const* str) { +- return ::Catch::Detail::stringify(std::string{ str }); +- } +-}; +-template +-struct StringMaker { +- static std::string convert(signed char const* str) { +- return ::Catch::Detail::stringify(std::string{ reinterpret_cast(str) }); +- } +-}; +-template +-struct StringMaker { +- static std::string convert(unsigned char const* str) { +- return ::Catch::Detail::stringify(std::string{ reinterpret_cast(str) }); +- } +-}; ++ // TBD: Should we use `strnlen` to ensure that we don't go out of the buffer, ++ // while keeping string semantics? ++ template ++ struct StringMaker { ++ static std::string convert(char const* str) { ++ return ::Catch::Detail::stringify(std::string{ str }); ++ } ++ }; ++ template ++ struct StringMaker { ++ static std::string convert(signed char const* str) { ++ return ::Catch::Detail::stringify(std::string{ reinterpret_cast(str) }); ++ } ++ }; ++ template ++ struct StringMaker { ++ static std::string convert(unsigned char const* str) { ++ return ::Catch::Detail::stringify(std::string{ reinterpret_cast(str) }); ++ } ++ }; + + #if defined(CATCH_CONFIG_CPP17_BYTE) +-template<> +-struct StringMaker { +- static std::string convert(std::byte value); +-}; ++ template<> ++ struct StringMaker { ++ static std::string convert(std::byte value); ++ }; + #endif // defined(CATCH_CONFIG_CPP17_BYTE) +-template<> +-struct StringMaker { +- static std::string convert(int value); +-}; +-template<> +-struct StringMaker { +- static std::string convert(long value); +-}; +-template<> +-struct StringMaker { +- static std::string convert(long long value); +-}; +-template<> +-struct StringMaker { +- static std::string convert(unsigned int value); +-}; +-template<> +-struct StringMaker { +- static std::string convert(unsigned long value); +-}; +-template<> +-struct StringMaker { +- static std::string convert(unsigned long long value); +-}; ++ template<> ++ struct StringMaker { ++ static std::string convert(int value); ++ }; ++ template<> ++ struct StringMaker { ++ static std::string convert(long value); ++ }; ++ template<> ++ struct StringMaker { ++ static std::string convert(long long value); ++ }; ++ template<> ++ struct StringMaker { ++ static std::string convert(unsigned int value); ++ }; ++ template<> ++ struct StringMaker { ++ static std::string convert(unsigned long value); ++ }; ++ template<> ++ struct StringMaker { ++ static std::string convert(unsigned long long value); ++ }; + +-template<> +-struct StringMaker { +- static std::string convert(bool b); +-}; ++ template<> ++ struct StringMaker { ++ static std::string convert(bool b); ++ }; + +-template<> +-struct StringMaker { +- static std::string convert(char c); +-}; +-template<> +-struct StringMaker { +- static std::string convert(signed char c); +-}; +-template<> +-struct StringMaker { +- static std::string convert(unsigned char c); +-}; ++ template<> ++ struct StringMaker { ++ static std::string convert(char c); ++ }; ++ template<> ++ struct StringMaker { ++ static std::string convert(signed char c); ++ }; ++ template<> ++ struct StringMaker { ++ static std::string convert(unsigned char c); ++ }; + +-template<> +-struct StringMaker { +- static std::string convert(std::nullptr_t); +-}; ++ template<> ++ struct StringMaker { ++ static std::string convert(std::nullptr_t); ++ }; + +-template<> +-struct StringMaker { +- static std::string convert(float value); +- static int precision; +-}; ++ template<> ++ struct StringMaker { ++ static std::string convert(float value); ++ static int precision; ++ }; + +-template<> +-struct StringMaker { +- static std::string convert(double value); +- static int precision; +-}; ++ template<> ++ struct StringMaker { ++ static std::string convert(double value); ++ static int precision; ++ }; + +-template +-struct StringMaker { +- template +- static std::string convert(U* p) { +- if (p) { +- return ::Catch::Detail::rawMemoryToString(p); +- } else { +- return "nullptr"; +- } +- } +-}; ++ template ++ struct StringMaker { ++ template ++ static std::string convert(U* p) { ++ if (p) { ++ return ::Catch::Detail::rawMemoryToString(p); ++ } else { ++ return "nullptr"; ++ } ++ } ++ }; + +-template +-struct StringMaker { +- static std::string convert(R C::* p) { +- if (p) { +- return ::Catch::Detail::rawMemoryToString(p); +- } else { +- return "nullptr"; +- } +- } +-}; ++ template ++ struct StringMaker { ++ static std::string convert(R C::* p) { ++ if (p) { ++ return ::Catch::Detail::rawMemoryToString(p); ++ } else { ++ return "nullptr"; ++ } ++ } ++ }; + + #if defined(_MANAGED) +-template ++ template + struct StringMaker { + static std::string convert( T^ ref ) { + return ::Catch::Detail::clrReferenceToString(ref); +@@ -1819,23 +1824,23 @@ template + }; + #endif + +-namespace Detail { +-template +-std::string rangeToString(InputIterator first, Sentinel last) { +- ReusableStringStream rss; +- rss << "{ "; +- if (first != last) { +- rss << ::Catch::Detail::stringify(*first); +- for (++first; first != last; ++first) +- rss << ", " << ::Catch::Detail::stringify(*first); +- } +- rss << " }"; +- return rss.str(); +-} +-} ++ namespace Detail { ++ template ++ std::string rangeToString(InputIterator first, Sentinel last) { ++ ReusableStringStream rss; ++ rss << "{ "; ++ if (first != last) { ++ rss << ::Catch::Detail::stringify(*first); ++ for (++first; first != last; ++first) ++ rss << ", " << ::Catch::Detail::stringify(*first); ++ } ++ rss << " }"; ++ return rss.str(); ++ } ++ } + + #ifdef __OBJC__ +-template<> ++ template<> + struct StringMaker { + static std::string convert(NSString * nsstring) { + if (!nsstring) +@@ -1979,71 +1984,71 @@ namespace Catch { + #endif // CATCH_CONFIG_ENABLE_VARIANT_STRINGMAKER + + namespace Catch { +-// Import begin/ end from std here +-using std::begin; +-using std::end; +- +-namespace detail { +-template +-struct void_type { +- using type = void; +-}; ++ // Import begin/ end from std here ++ using std::begin; ++ using std::end; ++ ++ namespace detail { ++ template ++ struct void_type { ++ using type = void; ++ }; + +-template +-struct is_range_impl : std::false_type { +-}; ++ template ++ struct is_range_impl : std::false_type { ++ }; + +-template +-struct is_range_impl()))>::type> : std::true_type { +-}; +-} // namespace detail ++ template ++ struct is_range_impl()))>::type> : std::true_type { ++ }; ++ } // namespace detail + +-template +-struct is_range : detail::is_range_impl { +-}; ++ template ++ struct is_range : detail::is_range_impl { ++ }; + + #if defined(_MANAGED) // Managed types are never ranges +-template ++ template + struct is_range { + static const bool value = false; + }; + #endif + +-template +-std::string rangeToString( Range const& range ) { +- return ::Catch::Detail::rangeToString( begin( range ), end( range ) ); +-} ++ template ++ std::string rangeToString( Range const& range ) { ++ return ::Catch::Detail::rangeToString( begin( range ), end( range ) ); ++ } + +-// Handle vector specially +-template +-std::string rangeToString( std::vector const& v ) { +- ReusableStringStream rss; +- rss << "{ "; +- bool first = true; +- for( bool b : v ) { +- if( first ) +- first = false; +- else +- rss << ", "; +- rss << ::Catch::Detail::stringify( b ); +- } +- rss << " }"; +- return rss.str(); +-} ++ // Handle vector specially ++ template ++ std::string rangeToString( std::vector const& v ) { ++ ReusableStringStream rss; ++ rss << "{ "; ++ bool first = true; ++ for( bool b : v ) { ++ if( first ) ++ first = false; ++ else ++ rss << ", "; ++ rss << ::Catch::Detail::stringify( b ); ++ } ++ rss << " }"; ++ return rss.str(); ++ } + +-template +-struct StringMaker::value && !::Catch::Detail::IsStreamInsertable::value>::type> { +- static std::string convert( R const& range ) { +- return rangeToString( range ); +- } +-}; ++ template ++ struct StringMaker::value && !::Catch::Detail::IsStreamInsertable::value>::type> { ++ static std::string convert( R const& range ) { ++ return rangeToString( range ); ++ } ++ }; + +-template +-struct StringMaker { +- static std::string convert(T const(&arr)[SZ]) { +- return rangeToString(arr); +- } +-}; ++ template ++ struct StringMaker { ++ static std::string convert(T const(&arr)[SZ]) { ++ return rangeToString(arr); ++ } ++ }; + + } // namespace Catch + +@@ -2194,228 +2199,228 @@ namespace Catch { \ + + namespace Catch { + +-struct ITransientExpression { +- auto isBinaryExpression() const -> bool { return m_isBinaryExpression; } +- auto getResult() const -> bool { return m_result; } +- virtual void streamReconstructedExpression( std::ostream &os ) const = 0; ++ struct ITransientExpression { ++ auto isBinaryExpression() const -> bool { return m_isBinaryExpression; } ++ auto getResult() const -> bool { return m_result; } ++ virtual void streamReconstructedExpression( std::ostream &os ) const = 0; + +- ITransientExpression( bool isBinaryExpression, bool result ) +- : m_isBinaryExpression( isBinaryExpression ), +- m_result( result ) +- {} ++ ITransientExpression( bool isBinaryExpression, bool result ) ++ : m_isBinaryExpression( isBinaryExpression ), ++ m_result( result ) ++ {} + +- // We don't actually need a virtual destructor, but many static analysers +- // complain if it's not here :-( +- virtual ~ITransientExpression(); ++ // We don't actually need a virtual destructor, but many static analysers ++ // complain if it's not here :-( ++ virtual ~ITransientExpression(); + +- bool m_isBinaryExpression; +- bool m_result; ++ bool m_isBinaryExpression; ++ bool m_result; + +-}; ++ }; + +-void formatReconstructedExpression( std::ostream &os, std::string const& lhs, StringRef op, std::string const& rhs ); ++ void formatReconstructedExpression( std::ostream &os, std::string const& lhs, StringRef op, std::string const& rhs ); + +-template +-class BinaryExpr : public ITransientExpression { +- LhsT m_lhs; +- StringRef m_op; +- RhsT m_rhs; ++ template ++ class BinaryExpr : public ITransientExpression { ++ LhsT m_lhs; ++ StringRef m_op; ++ RhsT m_rhs; + +- void streamReconstructedExpression( std::ostream &os ) const override { +- formatReconstructedExpression +- ( os, Catch::Detail::stringify( m_lhs ), m_op, Catch::Detail::stringify( m_rhs ) ); +- } ++ void streamReconstructedExpression( std::ostream &os ) const override { ++ formatReconstructedExpression ++ ( os, Catch::Detail::stringify( m_lhs ), m_op, Catch::Detail::stringify( m_rhs ) ); ++ } + +- public: +- BinaryExpr( bool comparisonResult, LhsT lhs, StringRef op, RhsT rhs ) +- : ITransientExpression{ true, comparisonResult }, +- m_lhs( lhs ), +- m_op( op ), +- m_rhs( rhs ) +- {} +- +- template +- auto operator && ( T ) const -> BinaryExpr const { +- static_assert(always_false::value, +- "chained comparisons are not supported inside assertions, " +- "wrap the expression inside parentheses, or decompose it"); +- } ++ public: ++ BinaryExpr( bool comparisonResult, LhsT lhs, StringRef op, RhsT rhs ) ++ : ITransientExpression{ true, comparisonResult }, ++ m_lhs( lhs ), ++ m_op( op ), ++ m_rhs( rhs ) ++ {} + +- template +- auto operator || ( T ) const -> BinaryExpr const { +- static_assert(always_false::value, +- "chained comparisons are not supported inside assertions, " +- "wrap the expression inside parentheses, or decompose it"); +- } ++ template ++ auto operator && ( T ) const -> BinaryExpr const { ++ static_assert(always_false::value, ++ "chained comparisons are not supported inside assertions, " ++ "wrap the expression inside parentheses, or decompose it"); ++ } + +- template +- auto operator == ( T ) const -> BinaryExpr const { +- static_assert(always_false::value, +- "chained comparisons are not supported inside assertions, " +- "wrap the expression inside parentheses, or decompose it"); +- } ++ template ++ auto operator || ( T ) const -> BinaryExpr const { ++ static_assert(always_false::value, ++ "chained comparisons are not supported inside assertions, " ++ "wrap the expression inside parentheses, or decompose it"); ++ } + +- template +- auto operator != ( T ) const -> BinaryExpr const { +- static_assert(always_false::value, +- "chained comparisons are not supported inside assertions, " +- "wrap the expression inside parentheses, or decompose it"); +- } ++ template ++ auto operator == ( T ) const -> BinaryExpr const { ++ static_assert(always_false::value, ++ "chained comparisons are not supported inside assertions, " ++ "wrap the expression inside parentheses, or decompose it"); ++ } + +- template +- auto operator > ( T ) const -> BinaryExpr const { +- static_assert(always_false::value, +- "chained comparisons are not supported inside assertions, " +- "wrap the expression inside parentheses, or decompose it"); +- } ++ template ++ auto operator != ( T ) const -> BinaryExpr const { ++ static_assert(always_false::value, ++ "chained comparisons are not supported inside assertions, " ++ "wrap the expression inside parentheses, or decompose it"); ++ } + +- template +- auto operator < ( T ) const -> BinaryExpr const { +- static_assert(always_false::value, +- "chained comparisons are not supported inside assertions, " +- "wrap the expression inside parentheses, or decompose it"); +- } ++ template ++ auto operator > ( T ) const -> BinaryExpr const { ++ static_assert(always_false::value, ++ "chained comparisons are not supported inside assertions, " ++ "wrap the expression inside parentheses, or decompose it"); ++ } + +- template +- auto operator >= ( T ) const -> BinaryExpr const { +- static_assert(always_false::value, +- "chained comparisons are not supported inside assertions, " +- "wrap the expression inside parentheses, or decompose it"); +- } ++ template ++ auto operator < ( T ) const -> BinaryExpr const { ++ static_assert(always_false::value, ++ "chained comparisons are not supported inside assertions, " ++ "wrap the expression inside parentheses, or decompose it"); ++ } + +- template +- auto operator <= ( T ) const -> BinaryExpr const { +- static_assert(always_false::value, +- "chained comparisons are not supported inside assertions, " +- "wrap the expression inside parentheses, or decompose it"); +- } +-}; ++ template ++ auto operator >= ( T ) const -> BinaryExpr const { ++ static_assert(always_false::value, ++ "chained comparisons are not supported inside assertions, " ++ "wrap the expression inside parentheses, or decompose it"); ++ } + +-template +-class UnaryExpr : public ITransientExpression { +- LhsT m_lhs; ++ template ++ auto operator <= ( T ) const -> BinaryExpr const { ++ static_assert(always_false::value, ++ "chained comparisons are not supported inside assertions, " ++ "wrap the expression inside parentheses, or decompose it"); ++ } ++ }; + +- void streamReconstructedExpression( std::ostream &os ) const override { +- os << Catch::Detail::stringify( m_lhs ); +- } ++ template ++ class UnaryExpr : public ITransientExpression { ++ LhsT m_lhs; + +- public: +- explicit UnaryExpr( LhsT lhs ) +- : ITransientExpression{ false, static_cast(lhs) }, +- m_lhs( lhs ) +- {} +-}; ++ void streamReconstructedExpression( std::ostream &os ) const override { ++ os << Catch::Detail::stringify( m_lhs ); ++ } + +-// Specialised comparison functions to handle equality comparisons between ints and pointers (NULL deduces as an int) +-template +-auto compareEqual( LhsT const& lhs, RhsT const& rhs ) -> bool { return static_cast(lhs == rhs); } +-template +-auto compareEqual( T* const& lhs, int rhs ) -> bool { return lhs == reinterpret_cast( rhs ); } +-template +-auto compareEqual( T* const& lhs, long rhs ) -> bool { return lhs == reinterpret_cast( rhs ); } +-template +-auto compareEqual( int lhs, T* const& rhs ) -> bool { return reinterpret_cast( lhs ) == rhs; } +-template +-auto compareEqual( long lhs, T* const& rhs ) -> bool { return reinterpret_cast( lhs ) == rhs; } ++ public: ++ explicit UnaryExpr( LhsT lhs ) ++ : ITransientExpression{ false, static_cast(lhs) }, ++ m_lhs( lhs ) ++ {} ++ }; + +-template +-auto compareNotEqual( LhsT const& lhs, RhsT&& rhs ) -> bool { return static_cast(lhs != rhs); } +-template +-auto compareNotEqual( T* const& lhs, int rhs ) -> bool { return lhs != reinterpret_cast( rhs ); } +-template +-auto compareNotEqual( T* const& lhs, long rhs ) -> bool { return lhs != reinterpret_cast( rhs ); } +-template +-auto compareNotEqual( int lhs, T* const& rhs ) -> bool { return reinterpret_cast( lhs ) != rhs; } +-template +-auto compareNotEqual( long lhs, T* const& rhs ) -> bool { return reinterpret_cast( lhs ) != rhs; } ++ // Specialised comparison functions to handle equality comparisons between ints and pointers (NULL deduces as an int) ++ template ++ auto compareEqual( LhsT const& lhs, RhsT const& rhs ) -> bool { return static_cast(lhs == rhs); } ++ template ++ auto compareEqual( T* const& lhs, int rhs ) -> bool { return lhs == reinterpret_cast( rhs ); } ++ template ++ auto compareEqual( T* const& lhs, long rhs ) -> bool { return lhs == reinterpret_cast( rhs ); } ++ template ++ auto compareEqual( int lhs, T* const& rhs ) -> bool { return reinterpret_cast( lhs ) == rhs; } ++ template ++ auto compareEqual( long lhs, T* const& rhs ) -> bool { return reinterpret_cast( lhs ) == rhs; } + +-template +-class ExprLhs { +- LhsT m_lhs; +- public: +- explicit ExprLhs( LhsT lhs ) : m_lhs( lhs ) {} ++ template ++ auto compareNotEqual( LhsT const& lhs, RhsT&& rhs ) -> bool { return static_cast(lhs != rhs); } ++ template ++ auto compareNotEqual( T* const& lhs, int rhs ) -> bool { return lhs != reinterpret_cast( rhs ); } ++ template ++ auto compareNotEqual( T* const& lhs, long rhs ) -> bool { return lhs != reinterpret_cast( rhs ); } ++ template ++ auto compareNotEqual( int lhs, T* const& rhs ) -> bool { return reinterpret_cast( lhs ) != rhs; } ++ template ++ auto compareNotEqual( long lhs, T* const& rhs ) -> bool { return reinterpret_cast( lhs ) != rhs; } + +- template +- auto operator == ( RhsT const& rhs ) -> BinaryExpr const { +- return { compareEqual( m_lhs, rhs ), m_lhs, "==", rhs }; +- } +- auto operator == ( bool rhs ) -> BinaryExpr const { +- return { m_lhs == rhs, m_lhs, "==", rhs }; +- } ++ template ++ class ExprLhs { ++ LhsT m_lhs; ++ public: ++ explicit ExprLhs( LhsT lhs ) : m_lhs( lhs ) {} + +- template +- auto operator != ( RhsT const& rhs ) -> BinaryExpr const { +- return { compareNotEqual( m_lhs, rhs ), m_lhs, "!=", rhs }; +- } +- auto operator != ( bool rhs ) -> BinaryExpr const { +- return { m_lhs != rhs, m_lhs, "!=", rhs }; +- } ++ template ++ auto operator == ( RhsT const& rhs ) -> BinaryExpr const { ++ return { compareEqual( m_lhs, rhs ), m_lhs, "==", rhs }; ++ } ++ auto operator == ( bool rhs ) -> BinaryExpr const { ++ return { m_lhs == rhs, m_lhs, "==", rhs }; ++ } + +- template +- auto operator > ( RhsT const& rhs ) -> BinaryExpr const { +- return { static_cast(m_lhs > rhs), m_lhs, ">", rhs }; +- } +- template +- auto operator < ( RhsT const& rhs ) -> BinaryExpr const { +- return { static_cast(m_lhs < rhs), m_lhs, "<", rhs }; +- } +- template +- auto operator >= ( RhsT const& rhs ) -> BinaryExpr const { +- return { static_cast(m_lhs >= rhs), m_lhs, ">=", rhs }; +- } +- template +- auto operator <= ( RhsT const& rhs ) -> BinaryExpr const { +- return { static_cast(m_lhs <= rhs), m_lhs, "<=", rhs }; +- } +- template +- auto operator | (RhsT const& rhs) -> BinaryExpr const { +- return { static_cast(m_lhs | rhs), m_lhs, "|", rhs }; +- } +- template +- auto operator & (RhsT const& rhs) -> BinaryExpr const { +- return { static_cast(m_lhs & rhs), m_lhs, "&", rhs }; +- } +- template +- auto operator ^ (RhsT const& rhs) -> BinaryExpr const { +- return { static_cast(m_lhs ^ rhs), m_lhs, "^", rhs }; +- } ++ template ++ auto operator != ( RhsT const& rhs ) -> BinaryExpr const { ++ return { compareNotEqual( m_lhs, rhs ), m_lhs, "!=", rhs }; ++ } ++ auto operator != ( bool rhs ) -> BinaryExpr const { ++ return { m_lhs != rhs, m_lhs, "!=", rhs }; ++ } + +- template +- auto operator && ( RhsT const& ) -> BinaryExpr const { +- static_assert(always_false::value, +- "operator&& is not supported inside assertions, " +- "wrap the expression inside parentheses, or decompose it"); +- } ++ template ++ auto operator > ( RhsT const& rhs ) -> BinaryExpr const { ++ return { static_cast(m_lhs > rhs), m_lhs, ">", rhs }; ++ } ++ template ++ auto operator < ( RhsT const& rhs ) -> BinaryExpr const { ++ return { static_cast(m_lhs < rhs), m_lhs, "<", rhs }; ++ } ++ template ++ auto operator >= ( RhsT const& rhs ) -> BinaryExpr const { ++ return { static_cast(m_lhs >= rhs), m_lhs, ">=", rhs }; ++ } ++ template ++ auto operator <= ( RhsT const& rhs ) -> BinaryExpr const { ++ return { static_cast(m_lhs <= rhs), m_lhs, "<=", rhs }; ++ } ++ template ++ auto operator | (RhsT const& rhs) -> BinaryExpr const { ++ return { static_cast(m_lhs | rhs), m_lhs, "|", rhs }; ++ } ++ template ++ auto operator & (RhsT const& rhs) -> BinaryExpr const { ++ return { static_cast(m_lhs & rhs), m_lhs, "&", rhs }; ++ } ++ template ++ auto operator ^ (RhsT const& rhs) -> BinaryExpr const { ++ return { static_cast(m_lhs ^ rhs), m_lhs, "^", rhs }; ++ } + +- template +- auto operator || ( RhsT const& ) -> BinaryExpr const { +- static_assert(always_false::value, +- "operator|| is not supported inside assertions, " +- "wrap the expression inside parentheses, or decompose it"); +- } ++ template ++ auto operator && ( RhsT const& ) -> BinaryExpr const { ++ static_assert(always_false::value, ++ "operator&& is not supported inside assertions, " ++ "wrap the expression inside parentheses, or decompose it"); ++ } + +- auto makeUnaryExpr() const -> UnaryExpr { +- return UnaryExpr{ m_lhs }; +- } +-}; ++ template ++ auto operator || ( RhsT const& ) -> BinaryExpr const { ++ static_assert(always_false::value, ++ "operator|| is not supported inside assertions, " ++ "wrap the expression inside parentheses, or decompose it"); ++ } ++ ++ auto makeUnaryExpr() const -> UnaryExpr { ++ return UnaryExpr{ m_lhs }; ++ } ++ }; + +-void handleExpression( ITransientExpression const& expr ); ++ void handleExpression( ITransientExpression const& expr ); + +-template +-void handleExpression( ExprLhs const& expr ) { +- handleExpression( expr.makeUnaryExpr() ); +-} ++ template ++ void handleExpression( ExprLhs const& expr ) { ++ handleExpression( expr.makeUnaryExpr() ); ++ } + +-struct Decomposer { +- template +- auto operator <= ( T const& lhs ) -> ExprLhs { +- return ExprLhs{ lhs }; +- } ++ struct Decomposer { ++ template ++ auto operator <= ( T const& lhs ) -> ExprLhs { ++ return ExprLhs{ lhs }; ++ } + +- auto operator <=( bool value ) -> ExprLhs { +- return ExprLhs{ value }; +- } +-}; ++ auto operator <=( bool value ) -> ExprLhs { ++ return ExprLhs{ value }; ++ } ++ }; + + } // end namespace Catch + +@@ -2431,155 +2436,155 @@ struct Decomposer { + + namespace Catch { + +-class AssertionResult; +-struct AssertionInfo; +-struct SectionInfo; +-struct SectionEndInfo; +-struct MessageInfo; +-struct MessageBuilder; +-struct Counts; +-struct AssertionReaction; +-struct SourceLineInfo; ++ class AssertionResult; ++ struct AssertionInfo; ++ struct SectionInfo; ++ struct SectionEndInfo; ++ struct MessageInfo; ++ struct MessageBuilder; ++ struct Counts; ++ struct AssertionReaction; ++ struct SourceLineInfo; + +-struct ITransientExpression; +-struct IGeneratorTracker; ++ struct ITransientExpression; ++ struct IGeneratorTracker; + + #if defined(CATCH_CONFIG_ENABLE_BENCHMARKING) +-struct BenchmarkInfo; ++ struct BenchmarkInfo; + template > + struct BenchmarkStats; + #endif // CATCH_CONFIG_ENABLE_BENCHMARKING + +-struct IResultCapture { ++ struct IResultCapture { + +- virtual ~IResultCapture(); ++ virtual ~IResultCapture(); + +- virtual bool sectionStarted( SectionInfo const& sectionInfo, +- Counts& assertions ) = 0; +- virtual void sectionEnded( SectionEndInfo const& endInfo ) = 0; +- virtual void sectionEndedEarly( SectionEndInfo const& endInfo ) = 0; ++ virtual bool sectionStarted( SectionInfo const& sectionInfo, ++ Counts& assertions ) = 0; ++ virtual void sectionEnded( SectionEndInfo const& endInfo ) = 0; ++ virtual void sectionEndedEarly( SectionEndInfo const& endInfo ) = 0; + +- virtual auto acquireGeneratorTracker( StringRef generatorName, SourceLineInfo const& lineInfo ) -> IGeneratorTracker& = 0; ++ virtual auto acquireGeneratorTracker( StringRef generatorName, SourceLineInfo const& lineInfo ) -> IGeneratorTracker& = 0; + + #if defined(CATCH_CONFIG_ENABLE_BENCHMARKING) +- virtual void benchmarkPreparing( std::string const& name ) = 0; ++ virtual void benchmarkPreparing( std::string const& name ) = 0; + virtual void benchmarkStarting( BenchmarkInfo const& info ) = 0; + virtual void benchmarkEnded( BenchmarkStats<> const& stats ) = 0; + virtual void benchmarkFailed( std::string const& error ) = 0; + #endif // CATCH_CONFIG_ENABLE_BENCHMARKING + +- virtual void pushScopedMessage( MessageInfo const& message ) = 0; +- virtual void popScopedMessage( MessageInfo const& message ) = 0; +- +- virtual void emplaceUnscopedMessage( MessageBuilder const& builder ) = 0; +- +- virtual void handleFatalErrorCondition( StringRef message ) = 0; +- +- virtual void handleExpr +- ( AssertionInfo const& info, +- ITransientExpression const& expr, +- AssertionReaction& reaction ) = 0; +- virtual void handleMessage +- ( AssertionInfo const& info, +- ResultWas::OfType resultType, +- StringRef const& message, +- AssertionReaction& reaction ) = 0; +- virtual void handleUnexpectedExceptionNotThrown +- ( AssertionInfo const& info, +- AssertionReaction& reaction ) = 0; +- virtual void handleUnexpectedInflightException +- ( AssertionInfo const& info, +- std::string const& message, +- AssertionReaction& reaction ) = 0; +- virtual void handleIncomplete +- ( AssertionInfo const& info ) = 0; +- virtual void handleNonExpr +- ( AssertionInfo const &info, +- ResultWas::OfType resultType, +- AssertionReaction &reaction ) = 0; +- +- virtual bool lastAssertionPassed() = 0; +- virtual void assertionPassed() = 0; +- +- // Deprecated, do not use: +- virtual std::string getCurrentTestName() const = 0; +- virtual const AssertionResult* getLastResult() const = 0; +- virtual void exceptionEarlyReported() = 0; +-}; ++ virtual void pushScopedMessage( MessageInfo const& message ) = 0; ++ virtual void popScopedMessage( MessageInfo const& message ) = 0; ++ ++ virtual void emplaceUnscopedMessage( MessageBuilder const& builder ) = 0; ++ ++ virtual void handleFatalErrorCondition( StringRef message ) = 0; ++ ++ virtual void handleExpr ++ ( AssertionInfo const& info, ++ ITransientExpression const& expr, ++ AssertionReaction& reaction ) = 0; ++ virtual void handleMessage ++ ( AssertionInfo const& info, ++ ResultWas::OfType resultType, ++ StringRef const& message, ++ AssertionReaction& reaction ) = 0; ++ virtual void handleUnexpectedExceptionNotThrown ++ ( AssertionInfo const& info, ++ AssertionReaction& reaction ) = 0; ++ virtual void handleUnexpectedInflightException ++ ( AssertionInfo const& info, ++ std::string const& message, ++ AssertionReaction& reaction ) = 0; ++ virtual void handleIncomplete ++ ( AssertionInfo const& info ) = 0; ++ virtual void handleNonExpr ++ ( AssertionInfo const &info, ++ ResultWas::OfType resultType, ++ AssertionReaction &reaction ) = 0; ++ ++ virtual bool lastAssertionPassed() = 0; ++ virtual void assertionPassed() = 0; ++ ++ // Deprecated, do not use: ++ virtual std::string getCurrentTestName() const = 0; ++ virtual const AssertionResult* getLastResult() const = 0; ++ virtual void exceptionEarlyReported() = 0; ++ }; + +-IResultCapture& getResultCapture(); ++ IResultCapture& getResultCapture(); + } + + // end catch_interfaces_capture.h + namespace Catch { + +-struct TestFailureException{}; +-struct AssertionResultData; +-struct IResultCapture; +-class RunContext; ++ struct TestFailureException{}; ++ struct AssertionResultData; ++ struct IResultCapture; ++ class RunContext; + +-class LazyExpression { +- friend class AssertionHandler; +- friend struct AssertionStats; +- friend class RunContext; ++ class LazyExpression { ++ friend class AssertionHandler; ++ friend struct AssertionStats; ++ friend class RunContext; + +- ITransientExpression const* m_transientExpression = nullptr; +- bool m_isNegated; +- public: +- LazyExpression( bool isNegated ); +- LazyExpression( LazyExpression const& other ); +- LazyExpression& operator = ( LazyExpression const& ) = delete; ++ ITransientExpression const* m_transientExpression = nullptr; ++ bool m_isNegated; ++ public: ++ LazyExpression( bool isNegated ); ++ LazyExpression( LazyExpression const& other ); ++ LazyExpression& operator = ( LazyExpression const& ) = delete; + +- explicit operator bool() const; ++ explicit operator bool() const; + +- friend auto operator << ( std::ostream& os, LazyExpression const& lazyExpr ) -> std::ostream&; +-}; ++ friend auto operator << ( std::ostream& os, LazyExpression const& lazyExpr ) -> std::ostream&; ++ }; + +-struct AssertionReaction { +- bool shouldDebugBreak = false; +- bool shouldThrow = false; +-}; ++ struct AssertionReaction { ++ bool shouldDebugBreak = false; ++ bool shouldThrow = false; ++ }; + +-class AssertionHandler { +- AssertionInfo m_assertionInfo; +- AssertionReaction m_reaction; +- bool m_completed = false; +- IResultCapture& m_resultCapture; +- +- public: +- AssertionHandler +- ( StringRef const& macroName, +- SourceLineInfo const& lineInfo, +- StringRef capturedExpression, +- ResultDisposition::Flags resultDisposition ); +- ~AssertionHandler() { +- if ( !m_completed ) { +- m_resultCapture.handleIncomplete( m_assertionInfo ); +- } +- } ++ class AssertionHandler { ++ AssertionInfo m_assertionInfo; ++ AssertionReaction m_reaction; ++ bool m_completed = false; ++ IResultCapture& m_resultCapture; + +- template +- void handleExpr( ExprLhs const& expr ) { +- handleExpr( expr.makeUnaryExpr() ); +- } +- void handleExpr( ITransientExpression const& expr ); ++ public: ++ AssertionHandler ++ ( StringRef const& macroName, ++ SourceLineInfo const& lineInfo, ++ StringRef capturedExpression, ++ ResultDisposition::Flags resultDisposition ); ++ ~AssertionHandler() { ++ if ( !m_completed ) { ++ m_resultCapture.handleIncomplete( m_assertionInfo ); ++ } ++ } + +- void handleMessage(ResultWas::OfType resultType, StringRef const& message); ++ template ++ void handleExpr( ExprLhs const& expr ) { ++ handleExpr( expr.makeUnaryExpr() ); ++ } ++ void handleExpr( ITransientExpression const& expr ); + +- void handleExceptionThrownAsExpected(); +- void handleUnexpectedExceptionNotThrown(); +- void handleExceptionNotThrownAsExpected(); +- void handleThrowingCallSkipped(); +- void handleUnexpectedInflightException(); ++ void handleMessage(ResultWas::OfType resultType, StringRef const& message); + +- void complete(); +- void setCompleted(); ++ void handleExceptionThrownAsExpected(); ++ void handleUnexpectedExceptionNotThrown(); ++ void handleExceptionNotThrownAsExpected(); ++ void handleThrowingCallSkipped(); ++ void handleUnexpectedInflightException(); + +- // query +- auto allowThrows() const -> bool; +-}; ++ void complete(); ++ void setCompleted(); + +-void handleExceptionMatchExpr( AssertionHandler& handler, std::string const& str, StringRef const& matcherString ); ++ // query ++ auto allowThrows() const -> bool; ++ }; ++ ++ void handleExceptionMatchExpr( AssertionHandler& handler, std::string const& str, StringRef const& matcherString ); + + } // namespace Catch + +@@ -2591,80 +2596,80 @@ void handleExceptionMatchExpr( AssertionHandler& handler, std::string const& str + + namespace Catch { + +-struct MessageInfo { +- MessageInfo( StringRef const& _macroName, +- SourceLineInfo const& _lineInfo, +- ResultWas::OfType _type ); +- +- StringRef macroName; +- std::string message; +- SourceLineInfo lineInfo; +- ResultWas::OfType type; +- unsigned int sequence; +- +- bool operator == ( MessageInfo const& other ) const; +- bool operator < ( MessageInfo const& other ) const; +- private: +- static unsigned int globalCount; +-}; ++ struct MessageInfo { ++ MessageInfo( StringRef const& _macroName, ++ SourceLineInfo const& _lineInfo, ++ ResultWas::OfType _type ); ++ ++ StringRef macroName; ++ std::string message; ++ SourceLineInfo lineInfo; ++ ResultWas::OfType type; ++ unsigned int sequence; + +-struct MessageStream { ++ bool operator == ( MessageInfo const& other ) const; ++ bool operator < ( MessageInfo const& other ) const; ++ private: ++ static unsigned int globalCount; ++ }; + +- template +- MessageStream& operator << ( T const& value ) { +- m_stream << value; +- return *this; +- } ++ struct MessageStream { + +- ReusableStringStream m_stream; +-}; ++ template ++ MessageStream& operator << ( T const& value ) { ++ m_stream << value; ++ return *this; ++ } + +-struct MessageBuilder : MessageStream { +- MessageBuilder( StringRef const& macroName, +- SourceLineInfo const& lineInfo, +- ResultWas::OfType type ); ++ ReusableStringStream m_stream; ++ }; + +- template +- MessageBuilder& operator << ( T const& value ) { +- m_stream << value; +- return *this; +- } ++ struct MessageBuilder : MessageStream { ++ MessageBuilder( StringRef const& macroName, ++ SourceLineInfo const& lineInfo, ++ ResultWas::OfType type ); + +- MessageInfo m_info; +-}; ++ template ++ MessageBuilder& operator << ( T const& value ) { ++ m_stream << value; ++ return *this; ++ } ++ ++ MessageInfo m_info; ++ }; + +-class ScopedMessage { +- public: +- explicit ScopedMessage( MessageBuilder const& builder ); +- ScopedMessage( ScopedMessage& duplicate ) = delete; +- ScopedMessage( ScopedMessage&& old ); +- ~ScopedMessage(); ++ class ScopedMessage { ++ public: ++ explicit ScopedMessage( MessageBuilder const& builder ); ++ ScopedMessage( ScopedMessage& duplicate ) = delete; ++ ScopedMessage( ScopedMessage&& old ); ++ ~ScopedMessage(); + +- MessageInfo m_info; +- bool m_moved; +-}; ++ MessageInfo m_info; ++ bool m_moved; ++ }; + +-class Capturer { +- std::vector m_messages; +- IResultCapture& m_resultCapture = getResultCapture(); +- size_t m_captured = 0; +- public: +- Capturer( StringRef macroName, SourceLineInfo const& lineInfo, ResultWas::OfType resultType, StringRef names ); +- ~Capturer(); ++ class Capturer { ++ std::vector m_messages; ++ IResultCapture& m_resultCapture = getResultCapture(); ++ size_t m_captured = 0; ++ public: ++ Capturer( StringRef macroName, SourceLineInfo const& lineInfo, ResultWas::OfType resultType, StringRef names ); ++ ~Capturer(); + +- void captureValue( size_t index, std::string const& value ); ++ void captureValue( size_t index, std::string const& value ); + +- template +- void captureValues( size_t index, T const& value ) { +- captureValue( index, Catch::Detail::stringify( value ) ); +- } ++ template ++ void captureValues( size_t index, T const& value ) { ++ captureValue( index, Catch::Detail::stringify( value ) ); ++ } + +- template +- void captureValues( size_t index, T const& value, Ts const&... values ) { +- captureValue( index, Catch::Detail::stringify(value) ); +- captureValues( index+1, values... ); +- } +-}; ++ template ++ void captureValues( size_t index, T const& value, Ts const&... values ) { ++ captureValue( index, Catch::Detail::stringify(value) ); ++ captureValues( index+1, values... ); ++ } ++ }; + + } // end namespace Catch + +@@ -2672,9 +2677,9 @@ class Capturer { + #if !defined(CATCH_CONFIG_DISABLE) + + #if !defined(CATCH_CONFIG_DISABLE_STRINGIFICATION) +-#define CATCH_INTERNAL_STRINGIFY(...) #__VA_ARGS__ ++ #define CATCH_INTERNAL_STRINGIFY(...) #__VA_ARGS__ + #else +-#define CATCH_INTERNAL_STRINGIFY(...) "Disabled by CATCH_CONFIG_DISABLE_STRINGIFICATION" ++ #define CATCH_INTERNAL_STRINGIFY(...) "Disabled by CATCH_CONFIG_DISABLE_STRINGIFICATION" + #endif + + #if defined(CATCH_CONFIG_FAST_COMPILE) || defined(CATCH_CONFIG_DISABLE_EXCEPTIONS) +@@ -2821,30 +2826,30 @@ class Capturer { + + namespace Catch { + +-struct Counts { +- Counts operator - ( Counts const& other ) const; +- Counts& operator += ( Counts const& other ); ++ struct Counts { ++ Counts operator - ( Counts const& other ) const; ++ Counts& operator += ( Counts const& other ); + +- std::size_t total() const; +- bool allPassed() const; +- bool allOk() const; ++ std::size_t total() const; ++ bool allPassed() const; ++ bool allOk() const; + +- std::size_t passed = 0; +- std::size_t failed = 0; +- std::size_t failedButOk = 0; +-}; ++ std::size_t passed = 0; ++ std::size_t failed = 0; ++ std::size_t failedButOk = 0; ++ }; + +-struct Totals { ++ struct Totals { + +- Totals operator - ( Totals const& other ) const; +- Totals& operator += ( Totals const& other ); ++ Totals operator - ( Totals const& other ) const; ++ Totals& operator += ( Totals const& other ); + +- Totals delta( Totals const& prevTotals ) const; ++ Totals delta( Totals const& prevTotals ) const; + +- int error = 0; +- Counts assertions; +- Counts testCases; +-}; ++ int error = 0; ++ Counts assertions; ++ Counts testCases; ++ }; + } + + // end catch_totals.h +@@ -2852,27 +2857,27 @@ struct Totals { + + namespace Catch { + +-struct SectionInfo { +- SectionInfo +- ( SourceLineInfo const& _lineInfo, +- std::string const& _name ); ++ struct SectionInfo { ++ SectionInfo ++ ( SourceLineInfo const& _lineInfo, ++ std::string const& _name ); + +- // Deprecated +- SectionInfo +- ( SourceLineInfo const& _lineInfo, +- std::string const& _name, +- std::string const& ) : SectionInfo( _lineInfo, _name ) {} ++ // Deprecated ++ SectionInfo ++ ( SourceLineInfo const& _lineInfo, ++ std::string const& _name, ++ std::string const& ) : SectionInfo( _lineInfo, _name ) {} + +- std::string name; +- std::string description; // !Deprecated: this will always be empty +- SourceLineInfo lineInfo; +-}; ++ std::string name; ++ std::string description; // !Deprecated: this will always be empty ++ SourceLineInfo lineInfo; ++ }; + +-struct SectionEndInfo { +- SectionInfo sectionInfo; +- Counts prevAssertions; +- double durationInSeconds; +-}; ++ struct SectionEndInfo { ++ SectionInfo sectionInfo; ++ Counts prevAssertions; ++ double durationInSeconds; ++ }; + + } // end namespace Catch + +@@ -2883,18 +2888,18 @@ struct SectionEndInfo { + + namespace Catch { + +-auto getCurrentNanosecondsSinceEpoch() -> uint64_t; +-auto getEstimatedClockResolution() -> uint64_t; +- +-class Timer { +- uint64_t m_nanoseconds = 0; +- public: +- void start(); +- auto getElapsedNanoseconds() const -> uint64_t; +- auto getElapsedMicroseconds() const -> uint64_t; +- auto getElapsedMilliseconds() const -> unsigned int; +- auto getElapsedSeconds() const -> double; +-}; ++ auto getCurrentNanosecondsSinceEpoch() -> uint64_t; ++ auto getEstimatedClockResolution() -> uint64_t; ++ ++ class Timer { ++ uint64_t m_nanoseconds = 0; ++ public: ++ void start(); ++ auto getElapsedNanoseconds() const -> uint64_t; ++ auto getElapsedMicroseconds() const -> uint64_t; ++ auto getElapsedMilliseconds() const -> unsigned int; ++ auto getElapsedSeconds() const -> double; ++ }; + + } // namespace Catch + +@@ -2903,22 +2908,22 @@ class Timer { + + namespace Catch { + +-class Section : NonCopyable { +- public: +- Section( SectionInfo const& info ); +- ~Section(); ++ class Section : NonCopyable { ++ public: ++ Section( SectionInfo const& info ); ++ ~Section(); + +- // This indicates whether the section should be executed or not +- explicit operator bool() const; ++ // This indicates whether the section should be executed or not ++ explicit operator bool() const; + +- private: +- SectionInfo m_info; ++ private: ++ SectionInfo m_info; + +- std::string m_name; +- Counts m_assertions; +- bool m_sectionIncluded; +- Timer m_timer; +-}; ++ std::string m_name; ++ Counts m_assertions; ++ bool m_sectionIncluded; ++ Timer m_timer; ++ }; + + } // end namespace Catch + +@@ -2944,51 +2949,51 @@ class Section : NonCopyable { + + namespace Catch { + +-class TestCase; +-struct ITestCaseRegistry; +-struct IExceptionTranslatorRegistry; +-struct IExceptionTranslator; +-struct IReporterRegistry; +-struct IReporterFactory; +-struct ITagAliasRegistry; +-struct IMutableEnumValuesRegistry; ++ class TestCase; ++ struct ITestCaseRegistry; ++ struct IExceptionTranslatorRegistry; ++ struct IExceptionTranslator; ++ struct IReporterRegistry; ++ struct IReporterFactory; ++ struct ITagAliasRegistry; ++ struct IMutableEnumValuesRegistry; + +-class StartupExceptionRegistry; ++ class StartupExceptionRegistry; + +-using IReporterFactoryPtr = std::shared_ptr; ++ using IReporterFactoryPtr = std::shared_ptr; + +-struct IRegistryHub { +- virtual ~IRegistryHub(); ++ struct IRegistryHub { ++ virtual ~IRegistryHub(); + +- virtual IReporterRegistry const& getReporterRegistry() const = 0; +- virtual ITestCaseRegistry const& getTestCaseRegistry() const = 0; +- virtual ITagAliasRegistry const& getTagAliasRegistry() const = 0; +- virtual IExceptionTranslatorRegistry const& getExceptionTranslatorRegistry() const = 0; ++ virtual IReporterRegistry const& getReporterRegistry() const = 0; ++ virtual ITestCaseRegistry const& getTestCaseRegistry() const = 0; ++ virtual ITagAliasRegistry const& getTagAliasRegistry() const = 0; ++ virtual IExceptionTranslatorRegistry const& getExceptionTranslatorRegistry() const = 0; + +- virtual StartupExceptionRegistry const& getStartupExceptionRegistry() const = 0; +-}; ++ virtual StartupExceptionRegistry const& getStartupExceptionRegistry() const = 0; ++ }; + +-struct IMutableRegistryHub { +- virtual ~IMutableRegistryHub(); +- virtual void registerReporter( std::string const& name, IReporterFactoryPtr const& factory ) = 0; +- virtual void registerListener( IReporterFactoryPtr const& factory ) = 0; +- virtual void registerTest( TestCase const& testInfo ) = 0; +- virtual void registerTranslator( const IExceptionTranslator* translator ) = 0; +- virtual void registerTagAlias( std::string const& alias, std::string const& tag, SourceLineInfo const& lineInfo ) = 0; +- virtual void registerStartupException() noexcept = 0; +- virtual IMutableEnumValuesRegistry& getMutableEnumValuesRegistry() = 0; +-}; ++ struct IMutableRegistryHub { ++ virtual ~IMutableRegistryHub(); ++ virtual void registerReporter( std::string const& name, IReporterFactoryPtr const& factory ) = 0; ++ virtual void registerListener( IReporterFactoryPtr const& factory ) = 0; ++ virtual void registerTest( TestCase const& testInfo ) = 0; ++ virtual void registerTranslator( const IExceptionTranslator* translator ) = 0; ++ virtual void registerTagAlias( std::string const& alias, std::string const& tag, SourceLineInfo const& lineInfo ) = 0; ++ virtual void registerStartupException() noexcept = 0; ++ virtual IMutableEnumValuesRegistry& getMutableEnumValuesRegistry() = 0; ++ }; + +-IRegistryHub const& getRegistryHub(); +-IMutableRegistryHub& getMutableRegistryHub(); +-void cleanUp(); +-std::string translateActiveException(); ++ IRegistryHub const& getRegistryHub(); ++ IMutableRegistryHub& getMutableRegistryHub(); ++ void cleanUp(); ++ std::string translateActiveException(); + + } + + // end catch_interfaces_registry_hub.h + #if defined(CATCH_CONFIG_DISABLE) +-#define INTERNAL_CATCH_TRANSLATE_EXCEPTION_NO_REG( translatorName, signature) \ ++ #define INTERNAL_CATCH_TRANSLATE_EXCEPTION_NO_REG( translatorName, signature) \ + static std::string translatorName( signature ) + #endif + +@@ -2997,58 +3002,58 @@ std::string translateActiveException(); + #include + + namespace Catch { +-using exceptionTranslateFunction = std::string(*)(); ++ using exceptionTranslateFunction = std::string(*)(); + +-struct IExceptionTranslator; +-using ExceptionTranslators = std::vector>; ++ struct IExceptionTranslator; ++ using ExceptionTranslators = std::vector>; + +-struct IExceptionTranslator { +- virtual ~IExceptionTranslator(); +- virtual std::string translate( ExceptionTranslators::const_iterator it, ExceptionTranslators::const_iterator itEnd ) const = 0; +-}; ++ struct IExceptionTranslator { ++ virtual ~IExceptionTranslator(); ++ virtual std::string translate( ExceptionTranslators::const_iterator it, ExceptionTranslators::const_iterator itEnd ) const = 0; ++ }; + +-struct IExceptionTranslatorRegistry { +- virtual ~IExceptionTranslatorRegistry(); ++ struct IExceptionTranslatorRegistry { ++ virtual ~IExceptionTranslatorRegistry(); + +- virtual std::string translateActiveException() const = 0; +-}; ++ virtual std::string translateActiveException() const = 0; ++ }; + +-class ExceptionTranslatorRegistrar { +- template +- class ExceptionTranslator : public IExceptionTranslator { +- public: ++ class ExceptionTranslatorRegistrar { ++ template ++ class ExceptionTranslator : public IExceptionTranslator { ++ public: + +- ExceptionTranslator( std::string(*translateFunction)( T& ) ) +- : m_translateFunction( translateFunction ) +- {} ++ ExceptionTranslator( std::string(*translateFunction)( T& ) ) ++ : m_translateFunction( translateFunction ) ++ {} + +- std::string translate( ExceptionTranslators::const_iterator it, ExceptionTranslators::const_iterator itEnd ) const override { ++ std::string translate( ExceptionTranslators::const_iterator it, ExceptionTranslators::const_iterator itEnd ) const override { + #if defined(CATCH_CONFIG_DISABLE_EXCEPTIONS) +- return ""; ++ return ""; + #else +- try { +- if( it == itEnd ) +- std::rethrow_exception(std::current_exception()); +- else +- return (*it)->translate( it+1, itEnd ); +- } +- catch( T& ex ) { +- return m_translateFunction( ex ); +- } ++ try { ++ if( it == itEnd ) ++ std::rethrow_exception(std::current_exception()); ++ else ++ return (*it)->translate( it+1, itEnd ); ++ } ++ catch( T& ex ) { ++ return m_translateFunction( ex ); ++ } + #endif +- } ++ } + +- protected: +- std::string(*m_translateFunction)( T& ); +- }; ++ protected: ++ std::string(*m_translateFunction)( T& ); ++ }; + +- public: +- template +- ExceptionTranslatorRegistrar( std::string(*translateFunction)( T& ) ) { +- getMutableRegistryHub().registerTranslator +- ( new ExceptionTranslator( translateFunction ) ); +- } +-}; ++ public: ++ template ++ ExceptionTranslatorRegistrar( std::string(*translateFunction)( T& ) ) { ++ getMutableRegistryHub().registerTranslator ++ ( new ExceptionTranslator( translateFunction ) ); ++ } ++ }; + } + + /////////////////////////////////////////////////////////////////////////////// +@@ -3070,115 +3075,115 @@ class ExceptionTranslatorRegistrar { + namespace Catch { + namespace Detail { + +-class Approx { +- private: +- bool equalityComparisonImpl(double other) const; +- // Validates the new margin (margin >= 0) +- // out-of-line to avoid including stdexcept in the header +- void setMargin(double margin); +- // Validates the new epsilon (0 < epsilon < 1) +- // out-of-line to avoid including stdexcept in the header +- void setEpsilon(double epsilon); +- +- public: +- explicit Approx ( double value ); +- +- static Approx custom(); +- +- Approx operator-() const; +- +- template ::value>::type> +- Approx operator()( T const& value ) { +- Approx approx( static_cast(value) ); +- approx.m_epsilon = m_epsilon; +- approx.m_margin = m_margin; +- approx.m_scale = m_scale; +- return approx; +- } ++ class Approx { ++ private: ++ bool equalityComparisonImpl(double other) const; ++ // Validates the new margin (margin >= 0) ++ // out-of-line to avoid including stdexcept in the header ++ void setMargin(double margin); ++ // Validates the new epsilon (0 < epsilon < 1) ++ // out-of-line to avoid including stdexcept in the header ++ void setEpsilon(double epsilon); + +- template ::value>::type> +- explicit Approx( T const& value ): Approx(static_cast(value)) +- {} ++ public: ++ explicit Approx ( double value ); + +- template ::value>::type> +- friend bool operator == ( const T& lhs, Approx const& rhs ) { +- auto lhs_v = static_cast(lhs); +- return rhs.equalityComparisonImpl(lhs_v); +- } ++ static Approx custom(); + +- template ::value>::type> +- friend bool operator == ( Approx const& lhs, const T& rhs ) { +- return operator==( rhs, lhs ); +- } ++ Approx operator-() const; + +- template ::value>::type> +- friend bool operator != ( T const& lhs, Approx const& rhs ) { +- return !operator==( lhs, rhs ); +- } ++ template ::value>::type> ++ Approx operator()( T const& value ) const { ++ Approx approx( static_cast(value) ); ++ approx.m_epsilon = m_epsilon; ++ approx.m_margin = m_margin; ++ approx.m_scale = m_scale; ++ return approx; ++ } + +- template ::value>::type> +- friend bool operator != ( Approx const& lhs, T const& rhs ) { +- return !operator==( rhs, lhs ); +- } ++ template ::value>::type> ++ explicit Approx( T const& value ): Approx(static_cast(value)) ++ {} + +- template ::value>::type> +- friend bool operator <= ( T const& lhs, Approx const& rhs ) { +- return static_cast(lhs) < rhs.m_value || lhs == rhs; +- } ++ template ::value>::type> ++ friend bool operator == ( const T& lhs, Approx const& rhs ) { ++ auto lhs_v = static_cast(lhs); ++ return rhs.equalityComparisonImpl(lhs_v); ++ } + +- template ::value>::type> +- friend bool operator <= ( Approx const& lhs, T const& rhs ) { +- return lhs.m_value < static_cast(rhs) || lhs == rhs; +- } ++ template ::value>::type> ++ friend bool operator == ( Approx const& lhs, const T& rhs ) { ++ return operator==( rhs, lhs ); ++ } + +- template ::value>::type> +- friend bool operator >= ( T const& lhs, Approx const& rhs ) { +- return static_cast(lhs) > rhs.m_value || lhs == rhs; +- } ++ template ::value>::type> ++ friend bool operator != ( T const& lhs, Approx const& rhs ) { ++ return !operator==( lhs, rhs ); ++ } + +- template ::value>::type> +- friend bool operator >= ( Approx const& lhs, T const& rhs ) { +- return lhs.m_value > static_cast(rhs) || lhs == rhs; +- } ++ template ::value>::type> ++ friend bool operator != ( Approx const& lhs, T const& rhs ) { ++ return !operator==( rhs, lhs ); ++ } + +- template ::value>::type> +- Approx& epsilon( T const& newEpsilon ) { +- double epsilonAsDouble = static_cast(newEpsilon); +- setEpsilon(epsilonAsDouble); +- return *this; +- } ++ template ::value>::type> ++ friend bool operator <= ( T const& lhs, Approx const& rhs ) { ++ return static_cast(lhs) < rhs.m_value || lhs == rhs; ++ } + +- template ::value>::type> +- Approx& margin( T const& newMargin ) { +- double marginAsDouble = static_cast(newMargin); +- setMargin(marginAsDouble); +- return *this; +- } ++ template ::value>::type> ++ friend bool operator <= ( Approx const& lhs, T const& rhs ) { ++ return lhs.m_value < static_cast(rhs) || lhs == rhs; ++ } + +- template ::value>::type> +- Approx& scale( T const& newScale ) { +- m_scale = static_cast(newScale); +- return *this; +- } ++ template ::value>::type> ++ friend bool operator >= ( T const& lhs, Approx const& rhs ) { ++ return static_cast(lhs) > rhs.m_value || lhs == rhs; ++ } + +- std::string toString() const; ++ template ::value>::type> ++ friend bool operator >= ( Approx const& lhs, T const& rhs ) { ++ return lhs.m_value > static_cast(rhs) || lhs == rhs; ++ } + +- private: +- double m_epsilon; +- double m_margin; +- double m_scale; +- double m_value; +-}; ++ template ::value>::type> ++ Approx& epsilon( T const& newEpsilon ) { ++ double epsilonAsDouble = static_cast(newEpsilon); ++ setEpsilon(epsilonAsDouble); ++ return *this; ++ } ++ ++ template ::value>::type> ++ Approx& margin( T const& newMargin ) { ++ double marginAsDouble = static_cast(newMargin); ++ setMargin(marginAsDouble); ++ return *this; ++ } ++ ++ template ::value>::type> ++ Approx& scale( T const& newScale ) { ++ m_scale = static_cast(newScale); ++ return *this; ++ } ++ ++ std::string toString() const; ++ ++ private: ++ double m_epsilon; ++ double m_margin; ++ double m_scale; ++ double m_value; ++ }; + } // end namespace Detail + + namespace literals { +-Detail::Approx operator "" _a(long double val); +-Detail::Approx operator "" _a(unsigned long long val); ++ Detail::Approx operator "" _a(long double val); ++ Detail::Approx operator "" _a(unsigned long long val); + } // end namespace literals + + template<> + struct StringMaker { +- static std::string convert(Catch::Detail::Approx const& value); ++ static std::string convert(Catch::Detail::Approx const& value); + }; + + } // end namespace Catch +@@ -3192,30 +3197,30 @@ struct StringMaker { + + namespace Catch { + +-bool startsWith( std::string const& s, std::string const& prefix ); +-bool startsWith( std::string const& s, char prefix ); +-bool endsWith( std::string const& s, std::string const& suffix ); +-bool endsWith( std::string const& s, char suffix ); +-bool contains( std::string const& s, std::string const& infix ); +-void toLowerInPlace( std::string& s ); +-std::string toLower( std::string const& s ); +-//! Returns a new string without whitespace at the start/end +-std::string trim( std::string const& str ); +-//! Returns a substring of the original ref without whitespace. Beware lifetimes! +-StringRef trim(StringRef ref); +- +-// !!! Be aware, returns refs into original string - make sure original string outlives them +-std::vector splitStringRef( StringRef str, char delimiter ); +-bool replaceInPlace( std::string& str, std::string const& replaceThis, std::string const& withThis ); +- +-struct pluralise { +- pluralise( std::size_t count, std::string const& label ); +- +- friend std::ostream& operator << ( std::ostream& os, pluralise const& pluraliser ); +- +- std::size_t m_count; +- std::string m_label; +-}; ++ bool startsWith( std::string const& s, std::string const& prefix ); ++ bool startsWith( std::string const& s, char prefix ); ++ bool endsWith( std::string const& s, std::string const& suffix ); ++ bool endsWith( std::string const& s, char suffix ); ++ bool contains( std::string const& s, std::string const& infix ); ++ void toLowerInPlace( std::string& s ); ++ std::string toLower( std::string const& s ); ++ //! Returns a new string without whitespace at the start/end ++ std::string trim( std::string const& str ); ++ //! Returns a substring of the original ref without whitespace. Beware lifetimes! ++ StringRef trim(StringRef ref); ++ ++ // !!! Be aware, returns refs into original string - make sure original string outlives them ++ std::vector splitStringRef( StringRef str, char delimiter ); ++ bool replaceInPlace( std::string& str, std::string const& replaceThis, std::string const& withThis ); ++ ++ struct pluralise { ++ pluralise( std::size_t count, std::string const& label ); ++ ++ friend std::ostream& operator << ( std::ostream& os, pluralise const& pluraliser ); ++ ++ std::size_t m_count; ++ std::string m_label; ++ }; + } + + // end catch_string_manip.h +@@ -3229,37 +3234,37 @@ struct pluralise { + + namespace Catch { + namespace Matchers { +-namespace Impl { +- +-template struct MatchAllOf; +-template struct MatchAnyOf; +-template struct MatchNotOf; +- +-class MatcherUntypedBase { +- public: +- MatcherUntypedBase() = default; +- MatcherUntypedBase ( MatcherUntypedBase const& ) = default; +- MatcherUntypedBase& operator = ( MatcherUntypedBase const& ) = delete; +- std::string toString() const; +- +- protected: +- virtual ~MatcherUntypedBase(); +- virtual std::string describe() const = 0; +- mutable std::string m_cachedToString; +-}; ++ namespace Impl { ++ ++ template struct MatchAllOf; ++ template struct MatchAnyOf; ++ template struct MatchNotOf; ++ ++ class MatcherUntypedBase { ++ public: ++ MatcherUntypedBase() = default; ++ MatcherUntypedBase ( MatcherUntypedBase const& ) = default; ++ MatcherUntypedBase& operator = ( MatcherUntypedBase const& ) = delete; ++ std::string toString() const; ++ ++ protected: ++ virtual ~MatcherUntypedBase(); ++ virtual std::string describe() const = 0; ++ mutable std::string m_cachedToString; ++ }; + + #ifdef __clang__ + # pragma clang diagnostic push + # pragma clang diagnostic ignored "-Wnon-virtual-dtor" + #endif + +-template +-struct MatcherMethod { +- virtual bool match( ObjectT const& arg ) const = 0; +-}; ++ template ++ struct MatcherMethod { ++ virtual bool match( ObjectT const& arg ) const = 0; ++ }; + + #if defined(__OBJC__) +-// Hack to fix Catch GH issue #1661. Could use id for generic Object support. ++ // Hack to fix Catch GH issue #1661. Could use id for generic Object support. + // use of const for Object pointers is very uncommon and under ARC it causes some kind of signature mismatch that breaks compilation + template<> + struct MatcherMethod { +@@ -3271,111 +3276,111 @@ struct MatcherMethod { + # pragma clang diagnostic pop + #endif + +-template +-struct MatcherBase : MatcherUntypedBase, MatcherMethod { ++ template ++ struct MatcherBase : MatcherUntypedBase, MatcherMethod { + +- MatchAllOf operator && ( MatcherBase const& other ) const; +- MatchAnyOf operator || ( MatcherBase const& other ) const; +- MatchNotOf operator ! () const; +-}; ++ MatchAllOf operator && ( MatcherBase const& other ) const; ++ MatchAnyOf operator || ( MatcherBase const& other ) const; ++ MatchNotOf operator ! () const; ++ }; + +-template +-struct MatchAllOf : MatcherBase { +- bool match( ArgT const& arg ) const override { +- for( auto matcher : m_matchers ) { +- if (!matcher->match(arg)) +- return false; +- } +- return true; +- } +- std::string describe() const override { +- std::string description; +- description.reserve( 4 + m_matchers.size()*32 ); +- description += "( "; +- bool first = true; +- for( auto matcher : m_matchers ) { +- if( first ) +- first = false; +- else +- description += " and "; +- description += matcher->toString(); +- } +- description += " )"; +- return description; +- } ++ template ++ struct MatchAllOf : MatcherBase { ++ bool match( ArgT const& arg ) const override { ++ for( auto matcher : m_matchers ) { ++ if (!matcher->match(arg)) ++ return false; ++ } ++ return true; ++ } ++ std::string describe() const override { ++ std::string description; ++ description.reserve( 4 + m_matchers.size()*32 ); ++ description += "( "; ++ bool first = true; ++ for( auto matcher : m_matchers ) { ++ if( first ) ++ first = false; ++ else ++ description += " and "; ++ description += matcher->toString(); ++ } ++ description += " )"; ++ return description; ++ } + +- MatchAllOf operator && ( MatcherBase const& other ) { +- auto copy(*this); +- copy.m_matchers.push_back( &other ); +- return copy; +- } ++ MatchAllOf operator && ( MatcherBase const& other ) { ++ auto copy(*this); ++ copy.m_matchers.push_back( &other ); ++ return copy; ++ } + +- std::vector const*> m_matchers; +-}; +-template +-struct MatchAnyOf : MatcherBase { ++ std::vector const*> m_matchers; ++ }; ++ template ++ struct MatchAnyOf : MatcherBase { + +- bool match( ArgT const& arg ) const override { +- for( auto matcher : m_matchers ) { +- if (matcher->match(arg)) +- return true; +- } +- return false; +- } +- std::string describe() const override { +- std::string description; +- description.reserve( 4 + m_matchers.size()*32 ); +- description += "( "; +- bool first = true; +- for( auto matcher : m_matchers ) { +- if( first ) +- first = false; +- else +- description += " or "; +- description += matcher->toString(); +- } +- description += " )"; +- return description; +- } ++ bool match( ArgT const& arg ) const override { ++ for( auto matcher : m_matchers ) { ++ if (matcher->match(arg)) ++ return true; ++ } ++ return false; ++ } ++ std::string describe() const override { ++ std::string description; ++ description.reserve( 4 + m_matchers.size()*32 ); ++ description += "( "; ++ bool first = true; ++ for( auto matcher : m_matchers ) { ++ if( first ) ++ first = false; ++ else ++ description += " or "; ++ description += matcher->toString(); ++ } ++ description += " )"; ++ return description; ++ } + +- MatchAnyOf operator || ( MatcherBase const& other ) { +- auto copy(*this); +- copy.m_matchers.push_back( &other ); +- return copy; +- } ++ MatchAnyOf operator || ( MatcherBase const& other ) { ++ auto copy(*this); ++ copy.m_matchers.push_back( &other ); ++ return copy; ++ } + +- std::vector const*> m_matchers; +-}; ++ std::vector const*> m_matchers; ++ }; + +-template +-struct MatchNotOf : MatcherBase { ++ template ++ struct MatchNotOf : MatcherBase { + +- MatchNotOf( MatcherBase const& underlyingMatcher ) : m_underlyingMatcher( underlyingMatcher ) {} ++ MatchNotOf( MatcherBase const& underlyingMatcher ) : m_underlyingMatcher( underlyingMatcher ) {} + +- bool match( ArgT const& arg ) const override { +- return !m_underlyingMatcher.match( arg ); +- } ++ bool match( ArgT const& arg ) const override { ++ return !m_underlyingMatcher.match( arg ); ++ } + +- std::string describe() const override { +- return "not " + m_underlyingMatcher.toString(); +- } +- MatcherBase const& m_underlyingMatcher; +-}; ++ std::string describe() const override { ++ return "not " + m_underlyingMatcher.toString(); ++ } ++ MatcherBase const& m_underlyingMatcher; ++ }; + +-template +-MatchAllOf MatcherBase::operator && ( MatcherBase const& other ) const { +- return MatchAllOf() && *this && other; +-} +-template +-MatchAnyOf MatcherBase::operator || ( MatcherBase const& other ) const { +- return MatchAnyOf() || *this || other; +-} +-template +-MatchNotOf MatcherBase::operator ! () const { +- return MatchNotOf( *this ); +-} ++ template ++ MatchAllOf MatcherBase::operator && ( MatcherBase const& other ) const { ++ return MatchAllOf() && *this && other; ++ } ++ template ++ MatchAnyOf MatcherBase::operator || ( MatcherBase const& other ) const { ++ return MatchAnyOf() || *this || other; ++ } ++ template ++ MatchNotOf MatcherBase::operator ! () const { ++ return MatchNotOf( *this ); ++ } + +-} // namespace Impl ++ } // namespace Impl + + } // namespace Matchers + +@@ -3392,16 +3397,16 @@ namespace Matchers { + namespace Exception { + + class ExceptionMessageMatcher : public MatcherBase { +- std::string m_message; +- public: ++ std::string m_message; ++public: + +- ExceptionMessageMatcher(std::string const& message): +- m_message(message) +- {} ++ ExceptionMessageMatcher(std::string const& message): ++ m_message(message) ++ {} + +- bool match(std::exception const& ex) const override; ++ bool match(std::exception const& ex) const override; + +- std::string describe() const override; ++ std::string describe() const override; + }; + + } // namespace Exception +@@ -3417,57 +3422,57 @@ Exception::ExceptionMessageMatcher Message(std::string const& message); + namespace Catch { + namespace Matchers { + +-namespace Floating { ++ namespace Floating { + +-enum class FloatingPointKind : uint8_t; ++ enum class FloatingPointKind : uint8_t; + +-struct WithinAbsMatcher : MatcherBase { +- WithinAbsMatcher(double target, double margin); +- bool match(double const& matchee) const override; +- std::string describe() const override; +- private: +- double m_target; +- double m_margin; +-}; ++ struct WithinAbsMatcher : MatcherBase { ++ WithinAbsMatcher(double target, double margin); ++ bool match(double const& matchee) const override; ++ std::string describe() const override; ++ private: ++ double m_target; ++ double m_margin; ++ }; + +-struct WithinUlpsMatcher : MatcherBase { +- WithinUlpsMatcher(double target, uint64_t ulps, FloatingPointKind baseType); +- bool match(double const& matchee) const override; +- std::string describe() const override; +- private: +- double m_target; +- uint64_t m_ulps; +- FloatingPointKind m_type; +-}; ++ struct WithinUlpsMatcher : MatcherBase { ++ WithinUlpsMatcher(double target, uint64_t ulps, FloatingPointKind baseType); ++ bool match(double const& matchee) const override; ++ std::string describe() const override; ++ private: ++ double m_target; ++ uint64_t m_ulps; ++ FloatingPointKind m_type; ++ }; + +-// Given IEEE-754 format for floats and doubles, we can assume +-// that float -> double promotion is lossless. Given this, we can +-// assume that if we do the standard relative comparison of +-// |lhs - rhs| <= epsilon * max(fabs(lhs), fabs(rhs)), then we get +-// the same result if we do this for floats, as if we do this for +-// doubles that were promoted from floats. +-struct WithinRelMatcher : MatcherBase { +- WithinRelMatcher(double target, double epsilon); +- bool match(double const& matchee) const override; +- std::string describe() const override; +- private: +- double m_target; +- double m_epsilon; +-}; ++ // Given IEEE-754 format for floats and doubles, we can assume ++ // that float -> double promotion is lossless. Given this, we can ++ // assume that if we do the standard relative comparison of ++ // |lhs - rhs| <= epsilon * max(fabs(lhs), fabs(rhs)), then we get ++ // the same result if we do this for floats, as if we do this for ++ // doubles that were promoted from floats. ++ struct WithinRelMatcher : MatcherBase { ++ WithinRelMatcher(double target, double epsilon); ++ bool match(double const& matchee) const override; ++ std::string describe() const override; ++ private: ++ double m_target; ++ double m_epsilon; ++ }; + +-} // namespace Floating ++ } // namespace Floating + +-// The following functions create the actual matcher objects. +-// This allows the types to be inferred +-Floating::WithinUlpsMatcher WithinULP(double target, uint64_t maxUlpDiff); +-Floating::WithinUlpsMatcher WithinULP(float target, uint64_t maxUlpDiff); +-Floating::WithinAbsMatcher WithinAbs(double target, double margin); +-Floating::WithinRelMatcher WithinRel(double target, double eps); +-// defaults epsilon to 100*numeric_limits::epsilon() +-Floating::WithinRelMatcher WithinRel(double target); +-Floating::WithinRelMatcher WithinRel(float target, float eps); +-// defaults epsilon to 100*numeric_limits::epsilon() +-Floating::WithinRelMatcher WithinRel(float target); ++ // The following functions create the actual matcher objects. ++ // This allows the types to be inferred ++ Floating::WithinUlpsMatcher WithinULP(double target, uint64_t maxUlpDiff); ++ Floating::WithinUlpsMatcher WithinULP(float target, uint64_t maxUlpDiff); ++ Floating::WithinAbsMatcher WithinAbs(double target, double margin); ++ Floating::WithinRelMatcher WithinRel(double target, double eps); ++ // defaults epsilon to 100*numeric_limits::epsilon() ++ Floating::WithinRelMatcher WithinRel(double target); ++ Floating::WithinRelMatcher WithinRel(float target, float eps); ++ // defaults epsilon to 100*numeric_limits::epsilon() ++ Floating::WithinRelMatcher WithinRel(float target); + + } // namespace Matchers + } // namespace Catch +@@ -3483,39 +3488,39 @@ namespace Matchers { + namespace Generic { + + namespace Detail { +-std::string finalizeDescription(const std::string& desc); ++ std::string finalizeDescription(const std::string& desc); + } + + template + class PredicateMatcher : public MatcherBase { +- std::function m_predicate; +- std::string m_description; +- public: ++ std::function m_predicate; ++ std::string m_description; ++public: + +- PredicateMatcher(std::function const& elem, std::string const& descr) +- :m_predicate(std::move(elem)), +- m_description(Detail::finalizeDescription(descr)) +- {} ++ PredicateMatcher(std::function const& elem, std::string const& descr) ++ :m_predicate(std::move(elem)), ++ m_description(Detail::finalizeDescription(descr)) ++ {} + +- bool match( T const& item ) const override { +- return m_predicate(item); +- } ++ bool match( T const& item ) const override { ++ return m_predicate(item); ++ } + +- std::string describe() const override { +- return m_description; +- } ++ std::string describe() const override { ++ return m_description; ++ } + }; + + } // namespace Generic + +-// The following functions create the actual matcher objects. +-// The user has to explicitly specify type to the function, because +-// inferring std::function is hard (but possible) and +-// requires a lot of TMP. +-template +-Generic::PredicateMatcher Predicate(std::function const& predicate, std::string const& description = "") { +- return Generic::PredicateMatcher(predicate, description); +-} ++ // The following functions create the actual matcher objects. ++ // The user has to explicitly specify type to the function, because ++ // inferring std::function is hard (but possible) and ++ // requires a lot of TMP. ++ template ++ Generic::PredicateMatcher Predicate(std::function const& predicate, std::string const& description = "") { ++ return Generic::PredicateMatcher(predicate, description); ++ } + + } // namespace Matchers + } // namespace Catch +@@ -3528,63 +3533,63 @@ Generic::PredicateMatcher Predicate(std::function const& pred + namespace Catch { + namespace Matchers { + +-namespace StdString { ++ namespace StdString { + +-struct CasedString +-{ +- CasedString( std::string const& str, CaseSensitive::Choice caseSensitivity ); +- std::string adjustString( std::string const& str ) const; +- std::string caseSensitivitySuffix() const; ++ struct CasedString ++ { ++ CasedString( std::string const& str, CaseSensitive::Choice caseSensitivity ); ++ std::string adjustString( std::string const& str ) const; ++ std::string caseSensitivitySuffix() const; + +- CaseSensitive::Choice m_caseSensitivity; +- std::string m_str; +-}; ++ CaseSensitive::Choice m_caseSensitivity; ++ std::string m_str; ++ }; + +-struct StringMatcherBase : MatcherBase { +- StringMatcherBase( std::string const& operation, CasedString const& comparator ); +- std::string describe() const override; ++ struct StringMatcherBase : MatcherBase { ++ StringMatcherBase( std::string const& operation, CasedString const& comparator ); ++ std::string describe() const override; + +- CasedString m_comparator; +- std::string m_operation; +-}; ++ CasedString m_comparator; ++ std::string m_operation; ++ }; + +-struct EqualsMatcher : StringMatcherBase { +- EqualsMatcher( CasedString const& comparator ); +- bool match( std::string const& source ) const override; +-}; +-struct ContainsMatcher : StringMatcherBase { +- ContainsMatcher( CasedString const& comparator ); +- bool match( std::string const& source ) const override; +-}; +-struct StartsWithMatcher : StringMatcherBase { +- StartsWithMatcher( CasedString const& comparator ); +- bool match( std::string const& source ) const override; +-}; +-struct EndsWithMatcher : StringMatcherBase { +- EndsWithMatcher( CasedString const& comparator ); +- bool match( std::string const& source ) const override; +-}; ++ struct EqualsMatcher : StringMatcherBase { ++ EqualsMatcher( CasedString const& comparator ); ++ bool match( std::string const& source ) const override; ++ }; ++ struct ContainsMatcher : StringMatcherBase { ++ ContainsMatcher( CasedString const& comparator ); ++ bool match( std::string const& source ) const override; ++ }; ++ struct StartsWithMatcher : StringMatcherBase { ++ StartsWithMatcher( CasedString const& comparator ); ++ bool match( std::string const& source ) const override; ++ }; ++ struct EndsWithMatcher : StringMatcherBase { ++ EndsWithMatcher( CasedString const& comparator ); ++ bool match( std::string const& source ) const override; ++ }; + +-struct RegexMatcher : MatcherBase { +- RegexMatcher( std::string regex, CaseSensitive::Choice caseSensitivity ); +- bool match( std::string const& matchee ) const override; +- std::string describe() const override; ++ struct RegexMatcher : MatcherBase { ++ RegexMatcher( std::string regex, CaseSensitive::Choice caseSensitivity ); ++ bool match( std::string const& matchee ) const override; ++ std::string describe() const override; + +- private: +- std::string m_regex; +- CaseSensitive::Choice m_caseSensitivity; +-}; ++ private: ++ std::string m_regex; ++ CaseSensitive::Choice m_caseSensitivity; ++ }; + +-} // namespace StdString ++ } // namespace StdString + +-// The following functions create the actual matcher objects. +-// This allows the types to be inferred ++ // The following functions create the actual matcher objects. ++ // This allows the types to be inferred + +-StdString::EqualsMatcher Equals( std::string const& str, CaseSensitive::Choice caseSensitivity = CaseSensitive::Yes ); +-StdString::ContainsMatcher Contains( std::string const& str, CaseSensitive::Choice caseSensitivity = CaseSensitive::Yes ); +-StdString::EndsWithMatcher EndsWith( std::string const& str, CaseSensitive::Choice caseSensitivity = CaseSensitive::Yes ); +-StdString::StartsWithMatcher StartsWith( std::string const& str, CaseSensitive::Choice caseSensitivity = CaseSensitive::Yes ); +-StdString::RegexMatcher Matches( std::string const& regex, CaseSensitive::Choice caseSensitivity = CaseSensitive::Yes ); ++ StdString::EqualsMatcher Equals( std::string const& str, CaseSensitive::Choice caseSensitivity = CaseSensitive::Yes ); ++ StdString::ContainsMatcher Contains( std::string const& str, CaseSensitive::Choice caseSensitivity = CaseSensitive::Yes ); ++ StdString::EndsWithMatcher EndsWith( std::string const& str, CaseSensitive::Choice caseSensitivity = CaseSensitive::Yes ); ++ StdString::StartsWithMatcher StartsWith( std::string const& str, CaseSensitive::Choice caseSensitivity = CaseSensitive::Yes ); ++ StdString::RegexMatcher Matches( std::string const& regex, CaseSensitive::Choice caseSensitivity = CaseSensitive::Yes ); + + } // namespace Matchers + } // namespace Catch +@@ -3597,163 +3602,163 @@ StdString::RegexMatcher Matches( std::string const& regex, CaseSensitive::Choice + namespace Catch { + namespace Matchers { + +-namespace Vector { +-template +-struct ContainsElementMatcher : MatcherBase> { ++ namespace Vector { ++ template ++ struct ContainsElementMatcher : MatcherBase> { + +- ContainsElementMatcher(T const &comparator) : m_comparator( comparator) {} ++ ContainsElementMatcher(T const &comparator) : m_comparator( comparator) {} + +- bool match(std::vector const &v) const override { +- for (auto const& el : v) { +- if (el == m_comparator) { +- return true; +- } +- } +- return false; +- } ++ bool match(std::vector const &v) const override { ++ for (auto const& el : v) { ++ if (el == m_comparator) { ++ return true; ++ } ++ } ++ return false; ++ } + +- std::string describe() const override { +- return "Contains: " + ::Catch::Detail::stringify( m_comparator ); +- } ++ std::string describe() const override { ++ return "Contains: " + ::Catch::Detail::stringify( m_comparator ); ++ } + +- T const& m_comparator; +-}; ++ T const& m_comparator; ++ }; + +-template +-struct ContainsMatcher : MatcherBase> { ++ template ++ struct ContainsMatcher : MatcherBase> { + +- ContainsMatcher(std::vector const &comparator) : m_comparator( comparator ) {} ++ ContainsMatcher(std::vector const &comparator) : m_comparator( comparator ) {} + +- bool match(std::vector const &v) const override { +- // !TBD: see note in EqualsMatcher +- if (m_comparator.size() > v.size()) +- return false; +- for (auto const& comparator : m_comparator) { +- auto present = false; +- for (const auto& el : v) { +- if (el == comparator) { +- present = true; +- break; +- } +- } +- if (!present) { +- return false; +- } +- } +- return true; +- } +- std::string describe() const override { +- return "Contains: " + ::Catch::Detail::stringify( m_comparator ); +- } ++ bool match(std::vector const &v) const override { ++ // !TBD: see note in EqualsMatcher ++ if (m_comparator.size() > v.size()) ++ return false; ++ for (auto const& comparator : m_comparator) { ++ auto present = false; ++ for (const auto& el : v) { ++ if (el == comparator) { ++ present = true; ++ break; ++ } ++ } ++ if (!present) { ++ return false; ++ } ++ } ++ return true; ++ } ++ std::string describe() const override { ++ return "Contains: " + ::Catch::Detail::stringify( m_comparator ); ++ } + +- std::vector const& m_comparator; +-}; ++ std::vector const& m_comparator; ++ }; + +-template +-struct EqualsMatcher : MatcherBase> { ++ template ++ struct EqualsMatcher : MatcherBase> { + +- EqualsMatcher(std::vector const &comparator) : m_comparator( comparator ) {} ++ EqualsMatcher(std::vector const &comparator) : m_comparator( comparator ) {} + +- bool match(std::vector const &v) const override { +- // !TBD: This currently works if all elements can be compared using != +- // - a more general approach would be via a compare template that defaults +- // to using !=. but could be specialised for, e.g. std::vector etc +- // - then just call that directly +- if (m_comparator.size() != v.size()) +- return false; +- for (std::size_t i = 0; i < v.size(); ++i) +- if (m_comparator[i] != v[i]) +- return false; +- return true; +- } +- std::string describe() const override { +- return "Equals: " + ::Catch::Detail::stringify( m_comparator ); +- } +- std::vector const& m_comparator; +-}; ++ bool match(std::vector const &v) const override { ++ // !TBD: This currently works if all elements can be compared using != ++ // - a more general approach would be via a compare template that defaults ++ // to using !=. but could be specialised for, e.g. std::vector etc ++ // - then just call that directly ++ if (m_comparator.size() != v.size()) ++ return false; ++ for (std::size_t i = 0; i < v.size(); ++i) ++ if (m_comparator[i] != v[i]) ++ return false; ++ return true; ++ } ++ std::string describe() const override { ++ return "Equals: " + ::Catch::Detail::stringify( m_comparator ); ++ } ++ std::vector const& m_comparator; ++ }; + +-template +-struct ApproxMatcher : MatcherBase> { ++ template ++ struct ApproxMatcher : MatcherBase> { + +- ApproxMatcher(std::vector const& comparator) : m_comparator( comparator ) {} ++ ApproxMatcher(std::vector const& comparator) : m_comparator( comparator ) {} + +- bool match(std::vector const &v) const override { +- if (m_comparator.size() != v.size()) +- return false; +- for (std::size_t i = 0; i < v.size(); ++i) +- if (m_comparator[i] != approx(v[i])) +- return false; +- return true; +- } +- std::string describe() const override { +- return "is approx: " + ::Catch::Detail::stringify( m_comparator ); +- } +- template ::value>::type> +- ApproxMatcher& epsilon( T const& newEpsilon ) { +- approx.epsilon(newEpsilon); +- return *this; +- } +- template ::value>::type> +- ApproxMatcher& margin( T const& newMargin ) { +- approx.margin(newMargin); +- return *this; +- } +- template ::value>::type> +- ApproxMatcher& scale( T const& newScale ) { +- approx.scale(newScale); +- return *this; +- } ++ bool match(std::vector const &v) const override { ++ if (m_comparator.size() != v.size()) ++ return false; ++ for (std::size_t i = 0; i < v.size(); ++i) ++ if (m_comparator[i] != approx(v[i])) ++ return false; ++ return true; ++ } ++ std::string describe() const override { ++ return "is approx: " + ::Catch::Detail::stringify( m_comparator ); ++ } ++ template ::value>::type> ++ ApproxMatcher& epsilon( T const& newEpsilon ) { ++ approx.epsilon(newEpsilon); ++ return *this; ++ } ++ template ::value>::type> ++ ApproxMatcher& margin( T const& newMargin ) { ++ approx.margin(newMargin); ++ return *this; ++ } ++ template ::value>::type> ++ ApproxMatcher& scale( T const& newScale ) { ++ approx.scale(newScale); ++ return *this; ++ } + +- std::vector const& m_comparator; +- mutable Catch::Detail::Approx approx = Catch::Detail::Approx::custom(); +-}; ++ std::vector const& m_comparator; ++ mutable Catch::Detail::Approx approx = Catch::Detail::Approx::custom(); ++ }; + +-template +-struct UnorderedEqualsMatcher : MatcherBase> { +- UnorderedEqualsMatcher(std::vector const& target) : m_target(target) {} +- bool match(std::vector const& vec) const override { +- if (m_target.size() != vec.size()) { +- return false; +- } +- return std::is_permutation(m_target.begin(), m_target.end(), vec.begin()); +- } ++ template ++ struct UnorderedEqualsMatcher : MatcherBase> { ++ UnorderedEqualsMatcher(std::vector const& target) : m_target(target) {} ++ bool match(std::vector const& vec) const override { ++ if (m_target.size() != vec.size()) { ++ return false; ++ } ++ return std::is_permutation(m_target.begin(), m_target.end(), vec.begin()); ++ } + +- std::string describe() const override { +- return "UnorderedEquals: " + ::Catch::Detail::stringify(m_target); +- } +- private: +- std::vector const& m_target; +-}; ++ std::string describe() const override { ++ return "UnorderedEquals: " + ::Catch::Detail::stringify(m_target); ++ } ++ private: ++ std::vector const& m_target; ++ }; + +-} // namespace Vector ++ } // namespace Vector + +-// The following functions create the actual matcher objects. +-// This allows the types to be inferred ++ // The following functions create the actual matcher objects. ++ // This allows the types to be inferred + +-template, typename AllocMatch = AllocComp> +-Vector::ContainsMatcher Contains( std::vector const& comparator ) { +- return Vector::ContainsMatcher( comparator ); +-} ++ template, typename AllocMatch = AllocComp> ++ Vector::ContainsMatcher Contains( std::vector const& comparator ) { ++ return Vector::ContainsMatcher( comparator ); ++ } + +-template> +-Vector::ContainsElementMatcher VectorContains( T const& comparator ) { +- return Vector::ContainsElementMatcher( comparator ); +-} ++ template> ++ Vector::ContainsElementMatcher VectorContains( T const& comparator ) { ++ return Vector::ContainsElementMatcher( comparator ); ++ } + +-template, typename AllocMatch = AllocComp> +-Vector::EqualsMatcher Equals( std::vector const& comparator ) { +- return Vector::EqualsMatcher( comparator ); +-} ++ template, typename AllocMatch = AllocComp> ++ Vector::EqualsMatcher Equals( std::vector const& comparator ) { ++ return Vector::EqualsMatcher( comparator ); ++ } + +-template, typename AllocMatch = AllocComp> +-Vector::ApproxMatcher Approx( std::vector const& comparator ) { +- return Vector::ApproxMatcher( comparator ); +-} ++ template, typename AllocMatch = AllocComp> ++ Vector::ApproxMatcher Approx( std::vector const& comparator ) { ++ return Vector::ApproxMatcher( comparator ); ++ } + +-template, typename AllocMatch = AllocComp> +-Vector::UnorderedEqualsMatcher UnorderedEquals(std::vector const& target) { +- return Vector::UnorderedEqualsMatcher( target ); +-} ++ template, typename AllocMatch = AllocComp> ++ Vector::UnorderedEqualsMatcher UnorderedEquals(std::vector const& target) { ++ return Vector::UnorderedEqualsMatcher( target ); ++ } + + } // namespace Matchers + } // namespace Catch +@@ -3761,39 +3766,39 @@ Vector::UnorderedEqualsMatcher UnorderedEquals(std::ve + // end catch_matchers_vector.h + namespace Catch { + +-template +-class MatchExpr : public ITransientExpression { +- ArgT const& m_arg; +- MatcherT m_matcher; +- StringRef m_matcherString; +- public: +- MatchExpr( ArgT const& arg, MatcherT const& matcher, StringRef const& matcherString ) +- : ITransientExpression{ true, matcher.match( arg ) }, +- m_arg( arg ), +- m_matcher( matcher ), +- m_matcherString( matcherString ) +- {} +- +- void streamReconstructedExpression( std::ostream &os ) const override { +- auto matcherAsString = m_matcher.toString(); +- os << Catch::Detail::stringify( m_arg ) << ' '; +- if( matcherAsString == Detail::unprintableString ) +- os << m_matcherString; +- else +- os << matcherAsString; +- } +-}; ++ template ++ class MatchExpr : public ITransientExpression { ++ ArgT const& m_arg; ++ MatcherT m_matcher; ++ StringRef m_matcherString; ++ public: ++ MatchExpr( ArgT const& arg, MatcherT const& matcher, StringRef const& matcherString ) ++ : ITransientExpression{ true, matcher.match( arg ) }, ++ m_arg( arg ), ++ m_matcher( matcher ), ++ m_matcherString( matcherString ) ++ {} + +-using StringMatcher = Matchers::Impl::MatcherBase; ++ void streamReconstructedExpression( std::ostream &os ) const override { ++ auto matcherAsString = m_matcher.toString(); ++ os << Catch::Detail::stringify( m_arg ) << ' '; ++ if( matcherAsString == Detail::unprintableString ) ++ os << m_matcherString; ++ else ++ os << matcherAsString; ++ } ++ }; + +-void handleExceptionMatchExpr( AssertionHandler& handler, StringMatcher const& matcher, StringRef const& matcherString ); ++ using StringMatcher = Matchers::Impl::MatcherBase; + +-template +-auto makeMatchExpr( ArgT const& arg, MatcherT const& matcher, StringRef const& matcherString ) -> MatchExpr { +- return MatchExpr( arg, matcher, matcherString ); +-} ++ void handleExceptionMatchExpr( AssertionHandler& handler, StringMatcher const& matcher, StringRef const& matcherString ); + +-} // namespace Catch ++ template ++ auto makeMatchExpr( ArgT const& arg, MatcherT const& matcher, StringRef const& matcherString ) -> MatchExpr { ++ return MatchExpr( arg, matcher, matcherString ); ++ } ++ ++} // namespace Catch + + /////////////////////////////////////////////////////////////////////////////// + #define INTERNAL_CHECK_THAT( macroName, matcher, resultDisposition, arg ) \ +@@ -3836,27 +3841,27 @@ auto makeMatchExpr( ArgT const& arg, MatcherT const& matcher, StringRef const& m + + namespace Catch { + +-namespace Generators { +-class GeneratorUntypedBase { +- public: +- GeneratorUntypedBase() = default; +- virtual ~GeneratorUntypedBase(); +- // Attempts to move the generator to the next element +- // +- // Returns true iff the move succeeded (and a valid element +- // can be retrieved). +- virtual bool next() = 0; +-}; +-using GeneratorBasePtr = std::unique_ptr; ++ namespace Generators { ++ class GeneratorUntypedBase { ++ public: ++ GeneratorUntypedBase() = default; ++ virtual ~GeneratorUntypedBase(); ++ // Attempts to move the generator to the next element ++ // ++ // Returns true iff the move succeeded (and a valid element ++ // can be retrieved). ++ virtual bool next() = 0; ++ }; ++ using GeneratorBasePtr = std::unique_ptr; + +-} // namespace Generators ++ } // namespace Generators + +-struct IGeneratorTracker { +- virtual ~IGeneratorTracker(); +- virtual auto hasGenerator() const -> bool = 0; +- virtual auto getGenerator() const -> Generators::GeneratorBasePtr const& = 0; +- virtual void setGenerator( Generators::GeneratorBasePtr&& generator ) = 0; +-}; ++ struct IGeneratorTracker { ++ virtual ~IGeneratorTracker(); ++ virtual auto hasGenerator() const -> bool = 0; ++ virtual auto getGenerator() const -> Generators::GeneratorBasePtr const& = 0; ++ virtual void setGenerator( Generators::GeneratorBasePtr&& generator ) = 0; ++ }; + + } // namespace Catch + +@@ -3867,22 +3872,22 @@ struct IGeneratorTracker { + + namespace Catch { + #if !defined(CATCH_CONFIG_DISABLE_EXCEPTIONS) +-template +-[[noreturn]] +-void throw_exception(Ex const& e) { +- throw e; +-} ++ template ++ [[noreturn]] ++ void throw_exception(Ex const& e) { ++ throw e; ++ } + #else // ^^ Exceptions are enabled // Exceptions are disabled vv +-[[noreturn]] ++ [[noreturn]] + void throw_exception(std::exception const& e); + #endif + +-[[noreturn]] +-void throw_logic_error(std::string const& msg); +-[[noreturn]] +-void throw_domain_error(std::string const& msg); +-[[noreturn]] +-void throw_runtime_error(std::string const& msg); ++ [[noreturn]] ++ void throw_logic_error(std::string const& msg); ++ [[noreturn]] ++ void throw_domain_error(std::string const& msg); ++ [[noreturn]] ++ void throw_runtime_error(std::string const& msg); + + } // namespace Catch; + +@@ -3912,182 +3917,182 @@ void throw_runtime_error(std::string const& msg); + namespace Catch { + + class GeneratorException : public std::exception { +- const char* const m_msg = ""; ++ const char* const m_msg = ""; + +- public: +- GeneratorException(const char* msg): +- m_msg(msg) +- {} ++public: ++ GeneratorException(const char* msg): ++ m_msg(msg) ++ {} + +- const char* what() const noexcept override final; ++ const char* what() const noexcept override final; + }; + + namespace Generators { + +-// !TBD move this into its own location? +-namespace pf{ +-template +-std::unique_ptr make_unique( Args&&... args ) { +- return std::unique_ptr(new T(std::forward(args)...)); +-} +-} ++ // !TBD move this into its own location? ++ namespace pf{ ++ template ++ std::unique_ptr make_unique( Args&&... args ) { ++ return std::unique_ptr(new T(std::forward(args)...)); ++ } ++ } + +-template +-struct IGenerator : GeneratorUntypedBase { +- virtual ~IGenerator() = default; +- +- // Returns the current element of the generator +- // +- // \Precondition The generator is either freshly constructed, +- // or the last call to `next()` returned true +- virtual T const& get() const = 0; +- using type = T; +-}; ++ template ++ struct IGenerator : GeneratorUntypedBase { ++ virtual ~IGenerator() = default; ++ ++ // Returns the current element of the generator ++ // ++ // \Precondition The generator is either freshly constructed, ++ // or the last call to `next()` returned true ++ virtual T const& get() const = 0; ++ using type = T; ++ }; + +-template +-class SingleValueGenerator final : public IGenerator { +- T m_value; +- public: +- SingleValueGenerator(T&& value) : m_value(std::move(value)) {} ++ template ++ class SingleValueGenerator final : public IGenerator { ++ T m_value; ++ public: ++ SingleValueGenerator(T&& value) : m_value(std::move(value)) {} + +- T const& get() const override { +- return m_value; +- } +- bool next() override { +- return false; +- } +-}; ++ T const& get() const override { ++ return m_value; ++ } ++ bool next() override { ++ return false; ++ } ++ }; + +-template +-class FixedValuesGenerator final : public IGenerator { +- static_assert(!std::is_same::value, +- "FixedValuesGenerator does not support bools because of std::vector" +- "specialization, use SingleValue Generator instead."); +- std::vector m_values; +- size_t m_idx = 0; +- public: +- FixedValuesGenerator( std::initializer_list values ) : m_values( values ) {} +- +- T const& get() const override { +- return m_values[m_idx]; +- } +- bool next() override { +- ++m_idx; +- return m_idx < m_values.size(); +- } +-}; ++ template ++ class FixedValuesGenerator final : public IGenerator { ++ static_assert(!std::is_same::value, ++ "FixedValuesGenerator does not support bools because of std::vector" ++ "specialization, use SingleValue Generator instead."); ++ std::vector m_values; ++ size_t m_idx = 0; ++ public: ++ FixedValuesGenerator( std::initializer_list values ) : m_values( values ) {} + +-template +-class GeneratorWrapper final { +- std::unique_ptr> m_generator; +- public: +- GeneratorWrapper(std::unique_ptr> generator): +- m_generator(std::move(generator)) +- {} +- T const& get() const { +- return m_generator->get(); +- } +- bool next() { +- return m_generator->next(); +- } +-}; ++ T const& get() const override { ++ return m_values[m_idx]; ++ } ++ bool next() override { ++ ++m_idx; ++ return m_idx < m_values.size(); ++ } ++ }; + +-template +-GeneratorWrapper value(T&& value) { +- return GeneratorWrapper(pf::make_unique>(std::forward(value))); +-} +-template +-GeneratorWrapper values(std::initializer_list values) { +- return GeneratorWrapper(pf::make_unique>(values)); +-} ++ template ++ class GeneratorWrapper final { ++ std::unique_ptr> m_generator; ++ public: ++ GeneratorWrapper(std::unique_ptr> generator): ++ m_generator(std::move(generator)) ++ {} ++ T const& get() const { ++ return m_generator->get(); ++ } ++ bool next() { ++ return m_generator->next(); ++ } ++ }; + +-template +-class Generators : public IGenerator { +- std::vector> m_generators; +- size_t m_current = 0; ++ template ++ GeneratorWrapper value(T&& value) { ++ return GeneratorWrapper(pf::make_unique>(std::forward(value))); ++ } ++ template ++ GeneratorWrapper values(std::initializer_list values) { ++ return GeneratorWrapper(pf::make_unique>(values)); ++ } + +- void populate(GeneratorWrapper&& generator) { +- m_generators.emplace_back(std::move(generator)); +- } +- void populate(T&& val) { +- m_generators.emplace_back(value(std::forward(val))); +- } +- template +- void populate(U&& val) { +- populate(T(std::forward(val))); +- } +- template +- void populate(U&& valueOrGenerator, Gs &&... moreGenerators) { +- populate(std::forward(valueOrGenerator)); +- populate(std::forward(moreGenerators)...); +- } ++ template ++ class Generators : public IGenerator { ++ std::vector> m_generators; ++ size_t m_current = 0; + +- public: +- template +- Generators(Gs &&... moreGenerators) { +- m_generators.reserve(sizeof...(Gs)); +- populate(std::forward(moreGenerators)...); +- } ++ void populate(GeneratorWrapper&& generator) { ++ m_generators.emplace_back(std::move(generator)); ++ } ++ void populate(T&& val) { ++ m_generators.emplace_back(value(std::forward(val))); ++ } ++ template ++ void populate(U&& val) { ++ populate(T(std::forward(val))); ++ } ++ template ++ void populate(U&& valueOrGenerator, Gs &&... moreGenerators) { ++ populate(std::forward(valueOrGenerator)); ++ populate(std::forward(moreGenerators)...); ++ } + +- T const& get() const override { +- return m_generators[m_current].get(); +- } ++ public: ++ template ++ Generators(Gs &&... moreGenerators) { ++ m_generators.reserve(sizeof...(Gs)); ++ populate(std::forward(moreGenerators)...); ++ } + +- bool next() override { +- if (m_current >= m_generators.size()) { +- return false; +- } +- const bool current_status = m_generators[m_current].next(); +- if (!current_status) { +- ++m_current; +- } +- return m_current < m_generators.size(); +- } +-}; ++ T const& get() const override { ++ return m_generators[m_current].get(); ++ } + +-template +-GeneratorWrapper> table( std::initializer_list::type...>> tuples ) { +- return values>( tuples ); +-} ++ bool next() override { ++ if (m_current >= m_generators.size()) { ++ return false; ++ } ++ const bool current_status = m_generators[m_current].next(); ++ if (!current_status) { ++ ++m_current; ++ } ++ return m_current < m_generators.size(); ++ } ++ }; + +-// Tag type to signal that a generator sequence should convert arguments to a specific type +-template +-struct as {}; ++ template ++ GeneratorWrapper> table( std::initializer_list::type...>> tuples ) { ++ return values>( tuples ); ++ } + +-template +-auto makeGenerators( GeneratorWrapper&& generator, Gs &&... moreGenerators ) -> Generators { +- return Generators(std::move(generator), std::forward(moreGenerators)...); +-} +-template +-auto makeGenerators( GeneratorWrapper&& generator ) -> Generators { +- return Generators(std::move(generator)); +-} +-template +-auto makeGenerators( T&& val, Gs &&... moreGenerators ) -> Generators { +- return makeGenerators( value( std::forward( val ) ), std::forward( moreGenerators )... ); +-} +-template +-auto makeGenerators( as, U&& val, Gs &&... moreGenerators ) -> Generators { +- return makeGenerators( value( T( std::forward( val ) ) ), std::forward( moreGenerators )... ); +-} ++ // Tag type to signal that a generator sequence should convert arguments to a specific type ++ template ++ struct as {}; + +-auto acquireGeneratorTracker( StringRef generatorName, SourceLineInfo const& lineInfo ) -> IGeneratorTracker&; ++ template ++ auto makeGenerators( GeneratorWrapper&& generator, Gs &&... moreGenerators ) -> Generators { ++ return Generators(std::move(generator), std::forward(moreGenerators)...); ++ } ++ template ++ auto makeGenerators( GeneratorWrapper&& generator ) -> Generators { ++ return Generators(std::move(generator)); ++ } ++ template ++ auto makeGenerators( T&& val, Gs &&... moreGenerators ) -> Generators { ++ return makeGenerators( value( std::forward( val ) ), std::forward( moreGenerators )... ); ++ } ++ template ++ auto makeGenerators( as, U&& val, Gs &&... moreGenerators ) -> Generators { ++ return makeGenerators( value( T( std::forward( val ) ) ), std::forward( moreGenerators )... ); ++ } + +-template +-// Note: The type after -> is weird, because VS2015 cannot parse +-// the expression used in the typedef inside, when it is in +-// return type. Yeah. +-auto generate( StringRef generatorName, SourceLineInfo const& lineInfo, L const& generatorExpression ) -> decltype(std::declval().get()) { +- using UnderlyingType = typename decltype(generatorExpression())::type; ++ auto acquireGeneratorTracker( StringRef generatorName, SourceLineInfo const& lineInfo ) -> IGeneratorTracker&; + +- IGeneratorTracker& tracker = acquireGeneratorTracker( generatorName, lineInfo ); +- if (!tracker.hasGenerator()) { +- tracker.setGenerator(pf::make_unique>(generatorExpression())); +- } ++ template ++ // Note: The type after -> is weird, because VS2015 cannot parse ++ // the expression used in the typedef inside, when it is in ++ // return type. Yeah. ++ auto generate( StringRef generatorName, SourceLineInfo const& lineInfo, L const& generatorExpression ) -> decltype(std::declval().get()) { ++ using UnderlyingType = typename decltype(generatorExpression())::type; + +- auto const& generator = static_cast const&>( *tracker.getGenerator() ); +- return generator.get(); +-} ++ IGeneratorTracker& tracker = acquireGeneratorTracker( generatorName, lineInfo ); ++ if (!tracker.hasGenerator()) { ++ tracker.setGenerator(pf::make_unique>(generatorExpression())); ++ } ++ ++ auto const& generator = static_cast const&>( *tracker.getGenerator() ); ++ return generator.get(); ++ } + + } // namespace Generators + } // namespace Catch +@@ -4111,220 +4116,225 @@ auto generate( StringRef generatorName, SourceLineInfo const& lineInfo, L const& + namespace Catch { + namespace Generators { + +-template +-class TakeGenerator : public IGenerator { +- GeneratorWrapper m_generator; +- size_t m_returned = 0; +- size_t m_target; +- public: +- TakeGenerator(size_t target, GeneratorWrapper&& generator): +- m_generator(std::move(generator)), +- m_target(target) +- { +- assert(target != 0 && "Empty generators are not allowed"); +- } +- T const& get() const override { +- return m_generator.get(); +- } +- bool next() override { +- ++m_returned; +- if (m_returned >= m_target) { +- return false; +- } +- +- const auto success = m_generator.next(); +- // If the underlying generator does not contain enough values +- // then we cut short as well +- if (!success) { +- m_returned = m_target; +- } +- return success; +- } +-}; ++ template ++ class TakeGenerator : public IGenerator { ++ GeneratorWrapper m_generator; ++ size_t m_returned = 0; ++ size_t m_target; ++ public: ++ TakeGenerator(size_t target, GeneratorWrapper&& generator): ++ m_generator(std::move(generator)), ++ m_target(target) ++ { ++ assert(target != 0 && "Empty generators are not allowed"); ++ } ++ T const& get() const override { ++ return m_generator.get(); ++ } ++ bool next() override { ++ ++m_returned; ++ if (m_returned >= m_target) { ++ return false; ++ } + +-template +-GeneratorWrapper take(size_t target, GeneratorWrapper&& generator) { +- return GeneratorWrapper(pf::make_unique>(target, std::move(generator))); +-} ++ const auto success = m_generator.next(); ++ // If the underlying generator does not contain enough values ++ // then we cut short as well ++ if (!success) { ++ m_returned = m_target; ++ } ++ return success; ++ } ++ }; + +-template +-class FilterGenerator : public IGenerator { +- GeneratorWrapper m_generator; +- Predicate m_predicate; +- public: +- template +- FilterGenerator(P&& pred, GeneratorWrapper&& generator): +- m_generator(std::move(generator)), +- m_predicate(std::forward

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

(pred)) ++ { ++ if (!m_predicate(m_generator.get())) { ++ // It might happen that there are no values that pass the ++ // filter. In that case we throw an exception. ++ auto has_initial_value = nextImpl(); ++ if (!has_initial_value) { ++ Catch::throw_exception(GeneratorException("No valid value found in filtered generator")); ++ } ++ } ++ } + +- bool next() override { +- bool success = m_generator.next(); +- if (!success) { +- return false; +- } +- while (!m_predicate(m_generator.get()) && (success = m_generator.next())); +- return success; +- } +-}; ++ T const& get() const override { ++ return m_generator.get(); ++ } + +-template +-GeneratorWrapper filter(Predicate&& pred, GeneratorWrapper&& generator) { +- return GeneratorWrapper(std::unique_ptr>(pf::make_unique>(std::forward(pred), std::move(generator)))); +-} ++ bool next() override { ++ return nextImpl(); ++ } + +-template +-class RepeatGenerator : public IGenerator { +- static_assert(!std::is_same::value, +- "RepeatGenerator currently does not support bools" +- "because of std::vector specialization"); +- GeneratorWrapper m_generator; +- mutable std::vector m_returned; +- size_t m_target_repeats; +- size_t m_current_repeat = 0; +- size_t m_repeat_index = 0; +- public: +- RepeatGenerator(size_t repeats, GeneratorWrapper&& generator): +- m_generator(std::move(generator)), +- m_target_repeats(repeats) +- { +- assert(m_target_repeats > 0 && "Repeat generator must repeat at least once"); +- } ++ private: ++ bool nextImpl() { ++ bool success = m_generator.next(); ++ if (!success) { ++ return false; ++ } ++ while (!m_predicate(m_generator.get()) && (success = m_generator.next()) == true); ++ return success; ++ } ++ }; + +- T const& get() const override { +- if (m_current_repeat == 0) { +- m_returned.push_back(m_generator.get()); +- return m_returned.back(); ++ template ++ GeneratorWrapper filter(Predicate&& pred, GeneratorWrapper&& generator) { ++ return GeneratorWrapper(std::unique_ptr>(pf::make_unique>(std::forward(pred), std::move(generator)))); + } +- return m_returned[m_repeat_index]; +- } + +- bool next() override { +- // There are 2 basic cases: +- // 1) We are still reading the generator +- // 2) We are reading our own cache +- +- // In the first case, we need to poke the underlying generator. +- // If it happily moves, we are left in that state, otherwise it is time to start reading from our cache +- if (m_current_repeat == 0) { +- const auto success = m_generator.next(); +- if (!success) { +- ++m_current_repeat; +- } +- return m_current_repeat < m_target_repeats; +- } ++ template ++ class RepeatGenerator : public IGenerator { ++ static_assert(!std::is_same::value, ++ "RepeatGenerator currently does not support bools" ++ "because of std::vector specialization"); ++ GeneratorWrapper m_generator; ++ mutable std::vector m_returned; ++ size_t m_target_repeats; ++ size_t m_current_repeat = 0; ++ size_t m_repeat_index = 0; ++ public: ++ RepeatGenerator(size_t repeats, GeneratorWrapper&& generator): ++ m_generator(std::move(generator)), ++ m_target_repeats(repeats) ++ { ++ assert(m_target_repeats > 0 && "Repeat generator must repeat at least once"); ++ } + +- // In the second case, we need to move indices forward and check that we haven't run up against the end +- ++m_repeat_index; +- if (m_repeat_index == m_returned.size()) { +- m_repeat_index = 0; +- ++m_current_repeat; +- } +- return m_current_repeat < m_target_repeats; +- } +-}; ++ T const& get() const override { ++ if (m_current_repeat == 0) { ++ m_returned.push_back(m_generator.get()); ++ return m_returned.back(); ++ } ++ return m_returned[m_repeat_index]; ++ } + +-template +-GeneratorWrapper repeat(size_t repeats, GeneratorWrapper&& generator) { +- return GeneratorWrapper(pf::make_unique>(repeats, std::move(generator))); +-} ++ bool next() override { ++ // There are 2 basic cases: ++ // 1) We are still reading the generator ++ // 2) We are reading our own cache + +-template +-class MapGenerator : public IGenerator { +- // TBD: provide static assert for mapping function, for friendly error message +- GeneratorWrapper m_generator; +- Func m_function; +- // To avoid returning dangling reference, we have to save the values +- T m_cache; +- public: +- template +- MapGenerator(F2&& function, GeneratorWrapper&& generator) : +- m_generator(std::move(generator)), +- m_function(std::forward(function)), +- m_cache(m_function(m_generator.get())) +- {} +- +- T const& get() const override { +- return m_cache; +- } +- bool next() override { +- const auto success = m_generator.next(); +- if (success) { +- m_cache = m_function(m_generator.get()); ++ // In the first case, we need to poke the underlying generator. ++ // If it happily moves, we are left in that state, otherwise it is time to start reading from our cache ++ if (m_current_repeat == 0) { ++ const auto success = m_generator.next(); ++ if (!success) { ++ ++m_current_repeat; ++ } ++ return m_current_repeat < m_target_repeats; ++ } ++ ++ // In the second case, we need to move indices forward and check that we haven't run up against the end ++ ++m_repeat_index; ++ if (m_repeat_index == m_returned.size()) { ++ m_repeat_index = 0; ++ ++m_current_repeat; ++ } ++ return m_current_repeat < m_target_repeats; ++ } ++ }; ++ ++ template ++ GeneratorWrapper repeat(size_t repeats, GeneratorWrapper&& generator) { ++ return GeneratorWrapper(pf::make_unique>(repeats, std::move(generator))); + } +- return success; +- } +-}; + +-template > +-GeneratorWrapper map(Func&& function, GeneratorWrapper&& generator) { +- return GeneratorWrapper( +- pf::make_unique>(std::forward(function), std::move(generator)) +- ); +-} ++ template ++ class MapGenerator : public IGenerator { ++ // TBD: provide static assert for mapping function, for friendly error message ++ GeneratorWrapper m_generator; ++ Func m_function; ++ // To avoid returning dangling reference, we have to save the values ++ T m_cache; ++ public: ++ template ++ MapGenerator(F2&& function, GeneratorWrapper&& generator) : ++ m_generator(std::move(generator)), ++ m_function(std::forward(function)), ++ m_cache(m_function(m_generator.get())) ++ {} + +-template +-GeneratorWrapper map(Func&& function, GeneratorWrapper&& generator) { +- return GeneratorWrapper( +- pf::make_unique>(std::forward(function), std::move(generator)) +- ); +-} ++ T const& get() const override { ++ return m_cache; ++ } ++ bool next() override { ++ const auto success = m_generator.next(); ++ if (success) { ++ m_cache = m_function(m_generator.get()); ++ } ++ return success; ++ } ++ }; + +-template +-class ChunkGenerator final : public IGenerator> { +- std::vector m_chunk; +- size_t m_chunk_size; +- GeneratorWrapper m_generator; +- bool m_used_up = false; +- public: +- ChunkGenerator(size_t size, GeneratorWrapper generator) : +- m_chunk_size(size), m_generator(std::move(generator)) +- { +- m_chunk.reserve(m_chunk_size); +- if (m_chunk_size != 0) { +- m_chunk.push_back(m_generator.get()); +- for (size_t i = 1; i < m_chunk_size; ++i) { +- if (!m_generator.next()) { +- Catch::throw_exception(GeneratorException("Not enough values to initialize the first chunk")); +- } +- m_chunk.push_back(m_generator.get()); +- } ++ template > ++ GeneratorWrapper map(Func&& function, GeneratorWrapper&& generator) { ++ return GeneratorWrapper( ++ pf::make_unique>(std::forward(function), std::move(generator)) ++ ); + } +- } +- std::vector const& get() const override { +- return m_chunk; +- } +- bool next() override { +- m_chunk.clear(); +- for (size_t idx = 0; idx < m_chunk_size; ++idx) { +- if (!m_generator.next()) { +- return false; +- } +- m_chunk.push_back(m_generator.get()); ++ ++ template ++ GeneratorWrapper map(Func&& function, GeneratorWrapper&& generator) { ++ return GeneratorWrapper( ++ pf::make_unique>(std::forward(function), std::move(generator)) ++ ); + } +- return true; +- } +-}; + +-template +-GeneratorWrapper> chunk(size_t size, GeneratorWrapper&& generator) { +- return GeneratorWrapper>( +- pf::make_unique>(size, std::move(generator)) +- ); +-} ++ template ++ class ChunkGenerator final : public IGenerator> { ++ std::vector m_chunk; ++ size_t m_chunk_size; ++ GeneratorWrapper m_generator; ++ bool m_used_up = false; ++ public: ++ ChunkGenerator(size_t size, GeneratorWrapper generator) : ++ m_chunk_size(size), m_generator(std::move(generator)) ++ { ++ m_chunk.reserve(m_chunk_size); ++ if (m_chunk_size != 0) { ++ m_chunk.push_back(m_generator.get()); ++ for (size_t i = 1; i < m_chunk_size; ++i) { ++ if (!m_generator.next()) { ++ Catch::throw_exception(GeneratorException("Not enough values to initialize the first chunk")); ++ } ++ m_chunk.push_back(m_generator.get()); ++ } ++ } ++ } ++ std::vector const& get() const override { ++ return m_chunk; ++ } ++ bool next() override { ++ m_chunk.clear(); ++ for (size_t idx = 0; idx < m_chunk_size; ++idx) { ++ if (!m_generator.next()) { ++ return false; ++ } ++ m_chunk.push_back(m_generator.get()); ++ } ++ return true; ++ } ++ }; ++ ++ template ++ GeneratorWrapper> chunk(size_t size, GeneratorWrapper&& generator) { ++ return GeneratorWrapper>( ++ pf::make_unique>(size, std::move(generator)) ++ ); ++ } + + } // namespace Generators + } // namespace Catch +@@ -4338,53 +4348,53 @@ GeneratorWrapper> chunk(size_t size, GeneratorWrapper&& genera + + namespace Catch { + +-struct IResultCapture; +-struct IRunner; +-struct IConfig; +-struct IMutableContext; ++ struct IResultCapture; ++ struct IRunner; ++ struct IConfig; ++ struct IMutableContext; + +-using IConfigPtr = std::shared_ptr; ++ using IConfigPtr = std::shared_ptr; + +-struct IContext +-{ +- virtual ~IContext(); ++ struct IContext ++ { ++ virtual ~IContext(); + +- virtual IResultCapture* getResultCapture() = 0; +- virtual IRunner* getRunner() = 0; +- virtual IConfigPtr const& getConfig() const = 0; +-}; ++ virtual IResultCapture* getResultCapture() = 0; ++ virtual IRunner* getRunner() = 0; ++ virtual IConfigPtr const& getConfig() const = 0; ++ }; + +-struct IMutableContext : IContext +-{ +- virtual ~IMutableContext(); +- virtual void setResultCapture( IResultCapture* resultCapture ) = 0; +- virtual void setRunner( IRunner* runner ) = 0; +- virtual void setConfig( IConfigPtr const& config ) = 0; +- +- private: +- static IMutableContext *currentContext; +- friend IMutableContext& getCurrentMutableContext(); +- friend void cleanUpContext(); +- static void createContext(); +-}; ++ struct IMutableContext : IContext ++ { ++ virtual ~IMutableContext(); ++ virtual void setResultCapture( IResultCapture* resultCapture ) = 0; ++ virtual void setRunner( IRunner* runner ) = 0; ++ virtual void setConfig( IConfigPtr const& config ) = 0; + +-inline IMutableContext& getCurrentMutableContext() +-{ +- if( !IMutableContext::currentContext ) +- IMutableContext::createContext(); +- // NOLINTNEXTLINE(clang-analyzer-core.uninitialized.UndefReturn) +- return *IMutableContext::currentContext; +-} ++ private: ++ static IMutableContext *currentContext; ++ friend IMutableContext& getCurrentMutableContext(); ++ friend void cleanUpContext(); ++ static void createContext(); ++ }; + +-inline IContext& getCurrentContext() +-{ +- return getCurrentMutableContext(); +-} ++ inline IMutableContext& getCurrentMutableContext() ++ { ++ if( !IMutableContext::currentContext ) ++ IMutableContext::createContext(); ++ // NOLINTNEXTLINE(clang-analyzer-core.uninitialized.UndefReturn) ++ return *IMutableContext::currentContext; ++ } + +-void cleanUpContext(); ++ inline IContext& getCurrentContext() ++ { ++ return getCurrentMutableContext(); ++ } + +-class SimplePcg32; +-SimplePcg32& rng(); ++ void cleanUpContext(); ++ ++ class SimplePcg32; ++ SimplePcg32& rng(); + } + + // end catch_context.h +@@ -4394,63 +4404,63 @@ SimplePcg32& rng(); + + namespace Catch { + +-// An optional type +-template +-class Option { +- public: +- Option() : nullableValue( nullptr ) {} +- Option( T const& _value ) +- : nullableValue( new( storage ) T( _value ) ) +- {} +- Option( Option const& _other ) +- : nullableValue( _other ? new( storage ) T( *_other ) : nullptr ) +- {} +- +- ~Option() { +- reset(); +- } ++ // An optional type ++ template ++ class Option { ++ public: ++ Option() : nullableValue( nullptr ) {} ++ Option( T const& _value ) ++ : nullableValue( new( storage ) T( _value ) ) ++ {} ++ Option( Option const& _other ) ++ : nullableValue( _other ? new( storage ) T( *_other ) : nullptr ) ++ {} + +- Option& operator= ( Option const& _other ) { +- if( &_other != this ) { +- reset(); +- if( _other ) +- nullableValue = new( storage ) T( *_other ); +- } +- return *this; +- } +- Option& operator = ( T const& _value ) { +- reset(); +- nullableValue = new( storage ) T( _value ); +- return *this; +- } ++ ~Option() { ++ reset(); ++ } + +- void reset() { +- if( nullableValue ) +- nullableValue->~T(); +- nullableValue = nullptr; +- } ++ Option& operator= ( Option const& _other ) { ++ if( &_other != this ) { ++ reset(); ++ if( _other ) ++ nullableValue = new( storage ) T( *_other ); ++ } ++ return *this; ++ } ++ Option& operator = ( T const& _value ) { ++ reset(); ++ nullableValue = new( storage ) T( _value ); ++ return *this; ++ } ++ ++ void reset() { ++ if( nullableValue ) ++ nullableValue->~T(); ++ nullableValue = nullptr; ++ } + +- T& operator*() { return *nullableValue; } +- T const& operator*() const { return *nullableValue; } +- T* operator->() { return nullableValue; } +- const T* operator->() const { return nullableValue; } ++ T& operator*() { return *nullableValue; } ++ T const& operator*() const { return *nullableValue; } ++ T* operator->() { return nullableValue; } ++ const T* operator->() const { return nullableValue; } + +- T valueOr( T const& defaultValue ) const { +- return nullableValue ? *nullableValue : defaultValue; +- } ++ T valueOr( T const& defaultValue ) const { ++ return nullableValue ? *nullableValue : defaultValue; ++ } + +- bool some() const { return nullableValue != nullptr; } +- bool none() const { return nullableValue == nullptr; } ++ bool some() const { return nullableValue != nullptr; } ++ bool none() const { return nullableValue == nullptr; } + +- bool operator !() const { return nullableValue == nullptr; } +- explicit operator bool() const { +- return some(); +- } ++ bool operator !() const { return nullableValue == nullptr; } ++ explicit operator bool() const { ++ return some(); ++ } + +- private: +- T *nullableValue; +- alignas(alignof(T)) char storage[sizeof(T)]; +-}; ++ private: ++ T *nullableValue; ++ alignas(alignof(T)) char storage[sizeof(T)]; ++ }; + + } // end namespace Catch + +@@ -4463,74 +4473,74 @@ class Option { + + namespace Catch { + +-enum class Verbosity { +- Quiet = 0, +- Normal, +- High +-}; ++ enum class Verbosity { ++ Quiet = 0, ++ Normal, ++ High ++ }; + +-struct WarnAbout { enum What { +- Nothing = 0x00, +- NoAssertions = 0x01, +- NoTests = 0x02 +- }; }; +- +-struct ShowDurations { enum OrNot { +- DefaultForReporter, +- Always, +- Never +- }; }; +-struct RunTests { enum InWhatOrder { +- InDeclarationOrder, +- InLexicographicalOrder, +- InRandomOrder +- }; }; +-struct UseColour { enum YesOrNo { +- Auto, +- Yes, +- No +- }; }; +-struct WaitForKeypress { enum When { +- Never, +- BeforeStart = 1, +- BeforeExit = 2, +- BeforeStartAndExit = BeforeStart | BeforeExit +- }; }; +- +-class TestSpec; +- +-struct IConfig : NonCopyable { +- +- virtual ~IConfig(); +- +- virtual bool allowThrows() const = 0; +- virtual std::ostream& stream() const = 0; +- virtual std::string name() const = 0; +- virtual bool includeSuccessfulResults() const = 0; +- virtual bool shouldDebugBreak() const = 0; +- virtual bool warnAboutMissingAssertions() const = 0; +- virtual bool warnAboutNoTests() const = 0; +- virtual int abortAfter() const = 0; +- virtual bool showInvisibles() const = 0; +- virtual ShowDurations::OrNot showDurations() const = 0; +- virtual double minDuration() const = 0; +- virtual TestSpec const& testSpec() const = 0; +- virtual bool hasTestFilters() const = 0; +- virtual std::vector const& getTestsOrTags() const = 0; +- virtual RunTests::InWhatOrder runOrder() const = 0; +- virtual unsigned int rngSeed() const = 0; +- virtual UseColour::YesOrNo useColour() const = 0; +- virtual std::vector const& getSectionsToRun() const = 0; +- virtual Verbosity verbosity() const = 0; +- +- virtual bool benchmarkNoAnalysis() const = 0; +- virtual int benchmarkSamples() const = 0; +- virtual double benchmarkConfidenceInterval() const = 0; +- virtual unsigned int benchmarkResamples() const = 0; +- virtual std::chrono::milliseconds benchmarkWarmupTime() const = 0; +-}; ++ struct WarnAbout { enum What { ++ Nothing = 0x00, ++ NoAssertions = 0x01, ++ NoTests = 0x02 ++ }; }; ++ ++ struct ShowDurations { enum OrNot { ++ DefaultForReporter, ++ Always, ++ Never ++ }; }; ++ struct RunTests { enum InWhatOrder { ++ InDeclarationOrder, ++ InLexicographicalOrder, ++ InRandomOrder ++ }; }; ++ struct UseColour { enum YesOrNo { ++ Auto, ++ Yes, ++ No ++ }; }; ++ struct WaitForKeypress { enum When { ++ Never, ++ BeforeStart = 1, ++ BeforeExit = 2, ++ BeforeStartAndExit = BeforeStart | BeforeExit ++ }; }; ++ ++ class TestSpec; ++ ++ struct IConfig : NonCopyable { ++ ++ virtual ~IConfig(); ++ ++ virtual bool allowThrows() const = 0; ++ virtual std::ostream& stream() const = 0; ++ virtual std::string name() const = 0; ++ virtual bool includeSuccessfulResults() const = 0; ++ virtual bool shouldDebugBreak() const = 0; ++ virtual bool warnAboutMissingAssertions() const = 0; ++ virtual bool warnAboutNoTests() const = 0; ++ virtual int abortAfter() const = 0; ++ virtual bool showInvisibles() const = 0; ++ virtual ShowDurations::OrNot showDurations() const = 0; ++ virtual double minDuration() const = 0; ++ virtual TestSpec const& testSpec() const = 0; ++ virtual bool hasTestFilters() const = 0; ++ virtual std::vector const& getTestsOrTags() const = 0; ++ virtual RunTests::InWhatOrder runOrder() const = 0; ++ virtual unsigned int rngSeed() const = 0; ++ virtual UseColour::YesOrNo useColour() const = 0; ++ virtual std::vector const& getSectionsToRun() const = 0; ++ virtual Verbosity verbosity() const = 0; ++ ++ virtual bool benchmarkNoAnalysis() const = 0; ++ virtual int benchmarkSamples() const = 0; ++ virtual double benchmarkConfidenceInterval() const = 0; ++ virtual unsigned int benchmarkResamples() const = 0; ++ virtual std::chrono::milliseconds benchmarkWarmupTime() const = 0; ++ }; + +-using IConfigPtr = std::shared_ptr; ++ using IConfigPtr = std::shared_ptr; + } + + // end catch_interfaces_config.h +@@ -4540,46 +4550,46 @@ using IConfigPtr = std::shared_ptr; + + namespace Catch { + +-// This is a simple implementation of C++11 Uniform Random Number +-// Generator. It does not provide all operators, because Catch2 +-// does not use it, but it should behave as expected inside stdlib's +-// distributions. +-// The implementation is based on the PCG family (http://pcg-random.org) +-class SimplePcg32 { +- using state_type = std::uint64_t; +- public: +- using result_type = std::uint32_t; +- static constexpr result_type (min)() { +- return 0; +- } +- static constexpr result_type (max)() { +- return static_cast(-1); +- } +- +- // Provide some default initial state for the default constructor +- SimplePcg32():SimplePcg32(0xed743cc4U) {} +- +- explicit SimplePcg32(result_type seed_); ++ // This is a simple implementation of C++11 Uniform Random Number ++ // Generator. It does not provide all operators, because Catch2 ++ // does not use it, but it should behave as expected inside stdlib's ++ // distributions. ++ // The implementation is based on the PCG family (http://pcg-random.org) ++ class SimplePcg32 { ++ using state_type = std::uint64_t; ++ public: ++ using result_type = std::uint32_t; ++ static constexpr result_type (min)() { ++ return 0; ++ } ++ static constexpr result_type (max)() { ++ return static_cast(-1); ++ } + +- void seed(result_type seed_); +- void discard(uint64_t skip); ++ // Provide some default initial state for the default constructor ++ SimplePcg32():SimplePcg32(0xed743cc4U) {} + +- result_type operator()(); ++ explicit SimplePcg32(result_type seed_); + +- private: +- friend bool operator==(SimplePcg32 const& lhs, SimplePcg32 const& rhs); +- friend bool operator!=(SimplePcg32 const& lhs, SimplePcg32 const& rhs); ++ void seed(result_type seed_); ++ void discard(uint64_t skip); + +- // In theory we also need operator<< and operator>> +- // In practice we do not use them, so we will skip them for now ++ result_type operator()(); + +- std::uint64_t m_state; +- // This part of the state determines which "stream" of the numbers +- // is chosen -- we take it as a constant for Catch2, so we only +- // need to deal with seeding the main state. +- // Picked by reading 8 bytes from `/dev/random` :-) +- static const std::uint64_t s_inc = (0x13ed0cc53f939476ULL << 1ULL) | 1ULL; +-}; ++ private: ++ friend bool operator==(SimplePcg32 const& lhs, SimplePcg32 const& rhs); ++ friend bool operator!=(SimplePcg32 const& lhs, SimplePcg32 const& rhs); ++ ++ // In theory we also need operator<< and operator>> ++ // In practice we do not use them, so we will skip them for now ++ ++ std::uint64_t m_state; ++ // This part of the state determines which "stream" of the numbers ++ // is chosen -- we take it as a constant for Catch2, so we only ++ // need to deal with seeding the main state. ++ // Picked by reading 8 bytes from `/dev/random` :-) ++ static const std::uint64_t s_inc = (0x13ed0cc53f939476ULL << 1ULL) | 1ULL; ++ }; + + } // end namespace Catch + +@@ -4591,150 +4601,150 @@ namespace Generators { + + template + class RandomFloatingGenerator final : public IGenerator { +- Catch::SimplePcg32& m_rng; +- std::uniform_real_distribution m_dist; +- Float m_current_number; +- public: +- +- RandomFloatingGenerator(Float a, Float b): +- m_rng(rng()), +- m_dist(a, b) { +- static_cast(next()); +- } ++ Catch::SimplePcg32& m_rng; ++ std::uniform_real_distribution m_dist; ++ Float m_current_number; ++public: + +- Float const& get() const override { +- return m_current_number; +- } +- bool next() override { +- m_current_number = m_dist(m_rng); +- return true; +- } ++ RandomFloatingGenerator(Float a, Float b): ++ m_rng(rng()), ++ m_dist(a, b) { ++ static_cast(next()); ++ } ++ ++ Float const& get() const override { ++ return m_current_number; ++ } ++ bool next() override { ++ m_current_number = m_dist(m_rng); ++ return true; ++ } + }; + + template + class RandomIntegerGenerator final : public IGenerator { +- Catch::SimplePcg32& m_rng; +- std::uniform_int_distribution m_dist; +- Integer m_current_number; +- public: +- +- RandomIntegerGenerator(Integer a, Integer b): +- m_rng(rng()), +- m_dist(a, b) { +- static_cast(next()); +- } ++ Catch::SimplePcg32& m_rng; ++ std::uniform_int_distribution m_dist; ++ Integer m_current_number; ++public: + +- Integer const& get() const override { +- return m_current_number; +- } +- bool next() override { +- m_current_number = m_dist(m_rng); +- return true; +- } ++ RandomIntegerGenerator(Integer a, Integer b): ++ m_rng(rng()), ++ m_dist(a, b) { ++ static_cast(next()); ++ } ++ ++ Integer const& get() const override { ++ return m_current_number; ++ } ++ bool next() override { ++ m_current_number = m_dist(m_rng); ++ return true; ++ } + }; + + // TODO: Ideally this would be also constrained against the various char types, + // but I don't expect users to run into that in practice. + template + typename std::enable_if::value && !std::is_same::value, +- GeneratorWrapper>::type ++GeneratorWrapper>::type + random(T a, T b) { +- return GeneratorWrapper( +- pf::make_unique>(a, b) +- ); ++ return GeneratorWrapper( ++ pf::make_unique>(a, b) ++ ); + } + + template + typename std::enable_if::value, +- GeneratorWrapper>::type ++GeneratorWrapper>::type + random(T a, T b) { +- return GeneratorWrapper( +- pf::make_unique>(a, b) +- ); ++ return GeneratorWrapper( ++ pf::make_unique>(a, b) ++ ); + } + + template + class RangeGenerator final : public IGenerator { +- T m_current; +- T m_end; +- T m_step; +- bool m_positive; +- +- public: +- RangeGenerator(T const& start, T const& end, T const& step): +- m_current(start), +- m_end(end), +- m_step(step), +- m_positive(m_step > T(0)) +- { +- assert(m_current != m_end && "Range start and end cannot be equal"); +- assert(m_step != T(0) && "Step size cannot be zero"); +- assert(((m_positive && m_current <= m_end) || (!m_positive && m_current >= m_end)) && "Step moves away from end"); +- } ++ T m_current; ++ T m_end; ++ T m_step; ++ bool m_positive; ++ ++public: ++ RangeGenerator(T const& start, T const& end, T const& step): ++ m_current(start), ++ m_end(end), ++ m_step(step), ++ m_positive(m_step > T(0)) ++ { ++ assert(m_current != m_end && "Range start and end cannot be equal"); ++ assert(m_step != T(0) && "Step size cannot be zero"); ++ assert(((m_positive && m_current <= m_end) || (!m_positive && m_current >= m_end)) && "Step moves away from end"); ++ } + +- RangeGenerator(T const& start, T const& end): +- RangeGenerator(start, end, (start < end) ? T(1) : T(-1)) +- {} ++ RangeGenerator(T const& start, T const& end): ++ RangeGenerator(start, end, (start < end) ? T(1) : T(-1)) ++ {} + +- T const& get() const override { +- return m_current; +- } ++ T const& get() const override { ++ return m_current; ++ } + +- bool next() override { +- m_current += m_step; +- return (m_positive) ? (m_current < m_end) : (m_current > m_end); +- } ++ bool next() override { ++ m_current += m_step; ++ return (m_positive) ? (m_current < m_end) : (m_current > m_end); ++ } + }; + + template + GeneratorWrapper range(T const& start, T const& end, T const& step) { +- static_assert(std::is_arithmetic::value && !std::is_same::value, "Type must be numeric"); +- return GeneratorWrapper(pf::make_unique>(start, end, step)); ++ static_assert(std::is_arithmetic::value && !std::is_same::value, "Type must be numeric"); ++ return GeneratorWrapper(pf::make_unique>(start, end, step)); + } + + template + GeneratorWrapper range(T const& start, T const& end) { +- static_assert(std::is_integral::value && !std::is_same::value, "Type must be an integer"); +- return GeneratorWrapper(pf::make_unique>(start, end)); ++ static_assert(std::is_integral::value && !std::is_same::value, "Type must be an integer"); ++ return GeneratorWrapper(pf::make_unique>(start, end)); + } + + template + class IteratorGenerator final : public IGenerator { +- static_assert(!std::is_same::value, +- "IteratorGenerator currently does not support bools" +- "because of std::vector specialization"); +- +- std::vector m_elems; +- size_t m_current = 0; +- public: +- template +- IteratorGenerator(InputIterator first, InputSentinel last):m_elems(first, last) { +- if (m_elems.empty()) { +- Catch::throw_exception(GeneratorException("IteratorGenerator received no valid values")); ++ static_assert(!std::is_same::value, ++ "IteratorGenerator currently does not support bools" ++ "because of std::vector specialization"); ++ ++ std::vector m_elems; ++ size_t m_current = 0; ++public: ++ template ++ IteratorGenerator(InputIterator first, InputSentinel last):m_elems(first, last) { ++ if (m_elems.empty()) { ++ Catch::throw_exception(GeneratorException("IteratorGenerator received no valid values")); ++ } + } +- } + +- T const& get() const override { +- return m_elems[m_current]; +- } ++ T const& get() const override { ++ return m_elems[m_current]; ++ } + +- bool next() override { +- ++m_current; +- return m_current != m_elems.size(); +- } ++ bool next() override { ++ ++m_current; ++ return m_current != m_elems.size(); ++ } + }; + + template ::value_type> ++ typename InputSentinel, ++ typename ResultType = typename std::iterator_traits::value_type> + GeneratorWrapper from_range(InputIterator from, InputSentinel to) { +- return GeneratorWrapper(pf::make_unique>(from, to)); ++ return GeneratorWrapper(pf::make_unique>(from, to)); + } + + template ++ typename ResultType = typename Container::value_type> + GeneratorWrapper from_range(Container const& cnt) { +- return GeneratorWrapper(pf::make_unique>(cnt.begin(), cnt.end())); ++ return GeneratorWrapper(pf::make_unique>(cnt.begin(), cnt.end())); + } + + } // namespace Generators +@@ -4757,65 +4767,65 @@ GeneratorWrapper from_range(Container const& cnt) { + + namespace Catch { + +-struct ITestInvoker; +- +-struct TestCaseInfo { +- enum SpecialProperties{ +- None = 0, +- IsHidden = 1 << 1, +- ShouldFail = 1 << 2, +- MayFail = 1 << 3, +- Throws = 1 << 4, +- NonPortable = 1 << 5, +- Benchmark = 1 << 6 +- }; +- +- TestCaseInfo( std::string const& _name, +- std::string const& _className, +- std::string const& _description, +- std::vector const& _tags, +- SourceLineInfo const& _lineInfo ); +- +- friend void setTags( TestCaseInfo& testCaseInfo, std::vector tags ); +- +- bool isHidden() const; +- bool throws() const; +- bool okToFail() const; +- bool expectedToFail() const; +- +- std::string tagsAsString() const; +- +- std::string name; +- std::string className; +- std::string description; +- std::vector tags; +- std::vector lcaseTags; +- SourceLineInfo lineInfo; +- SpecialProperties properties; +-}; ++ struct ITestInvoker; + +-class TestCase : public TestCaseInfo { +- public: ++ struct TestCaseInfo { ++ enum SpecialProperties{ ++ None = 0, ++ IsHidden = 1 << 1, ++ ShouldFail = 1 << 2, ++ MayFail = 1 << 3, ++ Throws = 1 << 4, ++ NonPortable = 1 << 5, ++ Benchmark = 1 << 6 ++ }; + +- TestCase( ITestInvoker* testCase, TestCaseInfo&& info ); ++ TestCaseInfo( std::string const& _name, ++ std::string const& _className, ++ std::string const& _description, ++ std::vector const& _tags, ++ SourceLineInfo const& _lineInfo ); + +- TestCase withName( std::string const& _newName ) const; ++ friend void setTags( TestCaseInfo& testCaseInfo, std::vector tags ); + +- void invoke() const; ++ bool isHidden() const; ++ bool throws() const; ++ bool okToFail() const; ++ bool expectedToFail() const; + +- TestCaseInfo const& getTestCaseInfo() const; ++ std::string tagsAsString() const; + +- bool operator == ( TestCase const& other ) const; +- bool operator < ( TestCase const& other ) const; ++ std::string name; ++ std::string className; ++ std::string description; ++ std::vector tags; ++ std::vector lcaseTags; ++ SourceLineInfo lineInfo; ++ SpecialProperties properties; ++ }; + +- private: +- std::shared_ptr test; +-}; ++ class TestCase : public TestCaseInfo { ++ public: ++ ++ TestCase( ITestInvoker* testCase, TestCaseInfo&& info ); ++ ++ TestCase withName( std::string const& _newName ) const; ++ ++ void invoke() const; ++ ++ TestCaseInfo const& getTestCaseInfo() const; ++ ++ bool operator == ( TestCase const& other ) const; ++ bool operator < ( TestCase const& other ) const; ++ ++ private: ++ std::shared_ptr test; ++ }; + +-TestCase makeTestCase( ITestInvoker* testCase, +- std::string const& className, +- NameAndTags const& nameAndTags, +- SourceLineInfo const& lineInfo ); ++ TestCase makeTestCase( ITestInvoker* testCase, ++ std::string const& className, ++ NameAndTags const& nameAndTags, ++ SourceLineInfo const& lineInfo ); + } + + #ifdef __clang__ +@@ -4827,10 +4837,10 @@ TestCase makeTestCase( ITestInvoker* testCase, + + namespace Catch { + +-struct IRunner { +- virtual ~IRunner(); +- virtual bool aborting() const = 0; +-}; ++ struct IRunner { ++ virtual ~IRunner(); ++ virtual bool aborting() const = 0; ++ }; + } + + // end catch_interfaces_runner.h +@@ -5455,6 +5465,8 @@ namespace Catch { + } // namespace Catch + + // end catch_outlier_classification.hpp ++ ++#include + #endif // CATCH_CONFIG_ENABLE_BENCHMARKING + + #include +@@ -6339,9 +6351,10 @@ namespace Catch { + + void writeTestCase(TestCaseNode const& testCaseNode); + +- void writeSection(std::string const& className, +- std::string const& rootName, +- SectionNode const& sectionNode); ++ void writeSection( std::string const& className, ++ std::string const& rootName, ++ SectionNode const& sectionNode, ++ bool testOkToFail ); + + void writeAssertions(SectionNode const& sectionNode); + void writeAssertion(AssertionStats const& stats); +@@ -6876,7 +6889,7 @@ namespace Catch { + } + iters *= 2; + } +- throw optimized_away_error{}; ++ Catch::throw_exception(optimized_away_error{}); + } + } // namespace Detail + } // namespace Benchmark +@@ -6884,6 +6897,7 @@ namespace Catch { + + // end catch_run_for_at_least.hpp + #include ++#include + + namespace Catch { + namespace Benchmark { +@@ -7054,8 +7068,8 @@ namespace Catch { + double b2 = bias - z1; + double a1 = a(b1); + double a2 = a(b2); +- auto lo = std::max(cumn(a1), 0); +- auto hi = std::min(cumn(a2), n - 1); ++ auto lo = (std::max)(cumn(a1), 0); ++ auto hi = (std::min)(cumn(a2), n - 1); + + return { point, resample[lo], resample[hi], confidence_level }; + } +@@ -7124,7 +7138,9 @@ namespace Catch { + } + template + EnvironmentEstimate> estimate_clock_cost(FloatDuration resolution) { +- auto time_limit = std::min(resolution * clock_cost_estimation_tick_limit, FloatDuration(clock_cost_estimation_time_limit)); ++ auto time_limit = (std::min)( ++ resolution * clock_cost_estimation_tick_limit, ++ FloatDuration(clock_cost_estimation_time_limit)); + auto time_clock = [](int k) { + return Detail::measure([k] { + for (int i = 0; i < k; ++i) { +@@ -7379,8 +7395,6 @@ namespace Catch { + template + struct ObjectStorage + { +- using TStorage = typename std::aligned_storage::value>::type; +- + ObjectStorage() : data() {} + + ObjectStorage(const ObjectStorage& other) +@@ -7423,7 +7437,7 @@ namespace Catch { + return *static_cast(static_cast(&data)); + } + +- TStorage data; ++ struct { alignas(T) unsigned char data[sizeof(T)]; } data; + }; + } + +@@ -7771,7 +7785,7 @@ namespace Catch { + double sb = stddev.point; + double mn = mean.point / n; + double mg_min = mn / 2.; +- double sg = std::min(mg_min / 4., sb / std::sqrt(n)); ++ double sg = (std::min)(mg_min / 4., sb / std::sqrt(n)); + double sg2 = sg * sg; + double sb2 = sb * sb; + +@@ -7790,7 +7804,7 @@ namespace Catch { + return (nc / n) * (sb2 - nc * sg2); + }; + +- return std::min(var_out(1), var_out(std::min(c_max(0.), c_max(mg_min)))) / sb2; ++ return (std::min)(var_out(1), var_out((std::min)(c_max(0.), c_max(mg_min)))) / sb2; + } + + bootstrap_analysis analyse_samples(double confidence_level, int n_resamples, std::vector::iterator first, std::vector::iterator last) { +@@ -7933,7 +7947,7 @@ namespace Catch { + #if defined(__i386__) || defined(__x86_64__) + #define CATCH_TRAP() __asm__("int $3\n" : : ) /* NOLINT */ + #elif defined(__aarch64__) +- #define CATCH_TRAP() __asm__(".inst 0xd4200000") ++ #define CATCH_TRAP() __asm__(".inst 0xd43e0000") + #endif + + #elif defined(CATCH_PLATFORM_IPHONE) +@@ -7980,86 +7994,58 @@ namespace Catch { + + // start catch_fatal_condition.h + +-// start catch_windows_h_proxy.h +- +- +-#if defined(CATCH_PLATFORM_WINDOWS) +- +-#if !defined(NOMINMAX) && !defined(CATCH_CONFIG_NO_NOMINMAX) +-# define CATCH_DEFINED_NOMINMAX +-# define NOMINMAX +-#endif +-#if !defined(WIN32_LEAN_AND_MEAN) && !defined(CATCH_CONFIG_NO_WIN32_LEAN_AND_MEAN) +-# define CATCH_DEFINED_WIN32_LEAN_AND_MEAN +-# define WIN32_LEAN_AND_MEAN +-#endif +- +-#ifdef __AFXDLL +-#include +-#else +-#include +-#endif +- +-#ifdef CATCH_DEFINED_NOMINMAX +-# undef NOMINMAX +-#endif +-#ifdef CATCH_DEFINED_WIN32_LEAN_AND_MEAN +-# undef WIN32_LEAN_AND_MEAN +-#endif +- +-#endif // defined(CATCH_PLATFORM_WINDOWS) +- +-// end catch_windows_h_proxy.h +-#if defined( CATCH_CONFIG_WINDOWS_SEH ) ++#include + + namespace Catch { + +- struct FatalConditionHandler { +- +- static LONG CALLBACK handleVectoredException(PEXCEPTION_POINTERS ExceptionInfo); ++ // Wrapper for platform-specific fatal error (signals/SEH) handlers ++ // ++ // Tries to be cooperative with other handlers, and not step over ++ // other handlers. This means that unknown structured exceptions ++ // are passed on, previous signal handlers are called, and so on. ++ // ++ // Can only be instantiated once, and assumes that once a signal ++ // is caught, the binary will end up terminating. Thus, there ++ class FatalConditionHandler { ++ bool m_started = false; ++ ++ // Install/disengage implementation for specific platform. ++ // Should be if-defed to work on current platform, can assume ++ // engage-disengage 1:1 pairing. ++ void engage_platform(); ++ void disengage_platform(); ++ public: ++ // Should also have platform-specific implementations as needed + FatalConditionHandler(); +- static void reset(); + ~FatalConditionHandler(); + +- private: +- static bool isSet; +- static ULONG guaranteeSize; +- static PVOID exceptionHandlerHandle; +- }; +- +-} // namespace Catch +- +-#elif defined ( CATCH_CONFIG_POSIX_SIGNALS ) +- +-#include +- +-namespace Catch { +- +- struct FatalConditionHandler { +- +- static bool isSet; +- static struct sigaction oldSigActions[]; +- static stack_t oldSigStack; +- static char altStackMem[]; +- +- static void handleSignal( int sig ); ++ void engage() { ++ assert(!m_started && "Handler cannot be installed twice."); ++ m_started = true; ++ engage_platform(); ++ } + +- FatalConditionHandler(); +- ~FatalConditionHandler(); +- static void reset(); ++ void disengage() { ++ assert(m_started && "Handler cannot be uninstalled without being installed first"); ++ m_started = false; ++ disengage_platform(); ++ } + }; + +-} // namespace Catch +- +-#else +- +-namespace Catch { +- struct FatalConditionHandler { +- void reset(); ++ //! Simple RAII guard for (dis)engaging the FatalConditionHandler ++ class FatalConditionHandlerGuard { ++ FatalConditionHandler* m_handler; ++ public: ++ FatalConditionHandlerGuard(FatalConditionHandler* handler): ++ m_handler(handler) { ++ m_handler->engage(); ++ } ++ ~FatalConditionHandlerGuard() { ++ m_handler->disengage(); ++ } + }; +-} + +-#endif ++} // end namespace Catch + + // end catch_fatal_condition.h + #include +@@ -8185,6 +8171,7 @@ namespace Catch { + std::vector m_unfinishedSections; + std::vector m_activeSections; + TrackerContext m_trackerContext; ++ FatalConditionHandler m_fatalConditionhandler; + bool m_lastAssertionPassed = false; + bool m_shouldReportUnexpected = true; + bool m_includeSuccessfulResults; +@@ -10057,6 +10044,36 @@ namespace Catch { + } + + // end catch_errno_guard.h ++// start catch_windows_h_proxy.h ++ ++ ++#if defined(CATCH_PLATFORM_WINDOWS) ++ ++#if !defined(NOMINMAX) && !defined(CATCH_CONFIG_NO_NOMINMAX) ++# define CATCH_DEFINED_NOMINMAX ++# define NOMINMAX ++#endif ++#if !defined(WIN32_LEAN_AND_MEAN) && !defined(CATCH_CONFIG_NO_WIN32_LEAN_AND_MEAN) ++# define CATCH_DEFINED_WIN32_LEAN_AND_MEAN ++# define WIN32_LEAN_AND_MEAN ++#endif ++ ++#ifdef __AFXDLL ++#include ++#else ++#include ++#endif ++ ++#ifdef CATCH_DEFINED_NOMINMAX ++# undef NOMINMAX ++#endif ++#ifdef CATCH_DEFINED_WIN32_LEAN_AND_MEAN ++# undef WIN32_LEAN_AND_MEAN ++#endif ++ ++#endif // defined(CATCH_PLATFORM_WINDOWS) ++ ++// end catch_windows_h_proxy.h + #include + + namespace Catch { +@@ -10573,7 +10590,7 @@ namespace Catch { + // Extracts the actual name part of an enum instance + // In other words, it returns the Blue part of Bikeshed::Colour::Blue + StringRef extractInstanceName(StringRef enumInstance) { +- // Find last occurence of ":" ++ // Find last occurrence of ":" + size_t name_start = enumInstance.size(); + while (name_start > 0 && enumInstance[name_start - 1] != ':') { + --name_start; +@@ -10735,25 +10752,47 @@ namespace Catch { + // end catch_exception_translator_registry.cpp + // start catch_fatal_condition.cpp + +-#if defined(__GNUC__) +-# pragma GCC diagnostic push +-# pragma GCC diagnostic ignored "-Wmissing-field-initializers" +-#endif ++#include ++ ++#if !defined( CATCH_CONFIG_WINDOWS_SEH ) && !defined( CATCH_CONFIG_POSIX_SIGNALS ) ++ ++namespace Catch { ++ ++ // If neither SEH nor signal handling is required, the handler impls ++ // do not have to do anything, and can be empty. ++ void FatalConditionHandler::engage_platform() {} ++ void FatalConditionHandler::disengage_platform() {} ++ FatalConditionHandler::FatalConditionHandler() = default; ++ FatalConditionHandler::~FatalConditionHandler() = default; ++ ++} // end namespace Catch ++ ++#endif // !CATCH_CONFIG_WINDOWS_SEH && !CATCH_CONFIG_POSIX_SIGNALS ++ ++#if defined( CATCH_CONFIG_WINDOWS_SEH ) && defined( CATCH_CONFIG_POSIX_SIGNALS ) ++#error "Inconsistent configuration: Windows' SEH handling and POSIX signals cannot be enabled at the same time" ++#endif // CATCH_CONFIG_WINDOWS_SEH && CATCH_CONFIG_POSIX_SIGNALS + + #if defined( CATCH_CONFIG_WINDOWS_SEH ) || defined( CATCH_CONFIG_POSIX_SIGNALS ) + + namespace { +- // Report the error condition ++ //! Signals fatal error message to the run context + void reportFatal( char const * const message ) { + Catch::getCurrentContext().getResultCapture()->handleFatalErrorCondition( message ); + } +-} + +-#endif // signals/SEH handling ++ //! Minimal size Catch2 needs for its own fatal error handling. ++ //! Picked anecdotally, so it might not be sufficient on all ++ //! platforms, and for all configurations. ++ constexpr std::size_t minStackSizeForErrors = 32 * 1024; ++} // end unnamed namespace ++ ++#endif // CATCH_CONFIG_WINDOWS_SEH || CATCH_CONFIG_POSIX_SIGNALS + + #if defined( CATCH_CONFIG_WINDOWS_SEH ) + + namespace Catch { ++ + struct SignalDefs { DWORD id; const char* name; }; + + // There is no 1-1 mapping between signals and windows exceptions. +@@ -10766,7 +10805,7 @@ namespace Catch { + { static_cast(EXCEPTION_INT_DIVIDE_BY_ZERO), "Divide by zero error" }, + }; + +- LONG CALLBACK FatalConditionHandler::handleVectoredException(PEXCEPTION_POINTERS ExceptionInfo) { ++ static LONG CALLBACK handleVectoredException(PEXCEPTION_POINTERS ExceptionInfo) { + for (auto const& def : signalDefs) { + if (ExceptionInfo->ExceptionRecord->ExceptionCode == def.id) { + reportFatal(def.name); +@@ -10777,38 +10816,50 @@ namespace Catch { + return EXCEPTION_CONTINUE_SEARCH; + } + ++ // Since we do not support multiple instantiations, we put these ++ // into global variables and rely on cleaning them up in outlined ++ // constructors/destructors ++ static PVOID exceptionHandlerHandle = nullptr; ++ ++ // For MSVC, we reserve part of the stack memory for handling ++ // memory overflow structured exception. + FatalConditionHandler::FatalConditionHandler() { +- isSet = true; +- // 32k seems enough for Catch to handle stack overflow, +- // but the value was found experimentally, so there is no strong guarantee +- guaranteeSize = 32 * 1024; +- exceptionHandlerHandle = nullptr; ++ ULONG guaranteeSize = static_cast(minStackSizeForErrors); ++ if (!SetThreadStackGuarantee(&guaranteeSize)) { ++ // We do not want to fully error out, because needing ++ // the stack reserve should be rare enough anyway. ++ Catch::cerr() ++ << "Failed to reserve piece of stack." ++ << " Stack overflows will not be reported successfully."; ++ } ++ } ++ ++ // We do not attempt to unset the stack guarantee, because ++ // Windows does not support lowering the stack size guarantee. ++ FatalConditionHandler::~FatalConditionHandler() = default; ++ ++ void FatalConditionHandler::engage_platform() { + // Register as first handler in current chain + exceptionHandlerHandle = AddVectoredExceptionHandler(1, handleVectoredException); +- // Pass in guarantee size to be filled +- SetThreadStackGuarantee(&guaranteeSize); ++ if (!exceptionHandlerHandle) { ++ CATCH_RUNTIME_ERROR("Could not register vectored exception handler"); ++ } + } + +- void FatalConditionHandler::reset() { +- if (isSet) { +- RemoveVectoredExceptionHandler(exceptionHandlerHandle); +- SetThreadStackGuarantee(&guaranteeSize); +- exceptionHandlerHandle = nullptr; +- isSet = false; ++ void FatalConditionHandler::disengage_platform() { ++ if (!RemoveVectoredExceptionHandler(exceptionHandlerHandle)) { ++ CATCH_RUNTIME_ERROR("Could not unregister vectored exception handler"); + } ++ exceptionHandlerHandle = nullptr; + } + +- FatalConditionHandler::~FatalConditionHandler() { +- reset(); +- } ++} // end namespace Catch + +-bool FatalConditionHandler::isSet = false; +-ULONG FatalConditionHandler::guaranteeSize = 0; +-PVOID FatalConditionHandler::exceptionHandlerHandle = nullptr; ++#endif // CATCH_CONFIG_WINDOWS_SEH + +-} // namespace Catch ++#if defined( CATCH_CONFIG_POSIX_SIGNALS ) + +-#elif defined( CATCH_CONFIG_POSIX_SIGNALS ) ++#include + + namespace Catch { + +@@ -10817,10 +10868,6 @@ namespace Catch { + const char* name; + }; + +- // 32kb for the alternate stack seems to be sufficient. However, this value +- // is experimentally determined, so that's not guaranteed. +- static constexpr std::size_t sigStackSize = 32768 >= MINSIGSTKSZ ? 32768 : MINSIGSTKSZ; +- + static SignalDefs signalDefs[] = { + { SIGINT, "SIGINT - Terminal interrupt signal" }, + { SIGILL, "SIGILL - Illegal instruction signal" }, +@@ -10830,7 +10877,32 @@ namespace Catch { + { SIGABRT, "SIGABRT - Abort (abnormal termination) signal" } + }; + +- void FatalConditionHandler::handleSignal( int sig ) { ++// Older GCCs trigger -Wmissing-field-initializers for T foo = {} ++// which is zero initialization, but not explicit. We want to avoid ++// that. ++#if defined(__GNUC__) ++# pragma GCC diagnostic push ++# pragma GCC diagnostic ignored "-Wmissing-field-initializers" ++#endif ++ ++ static char* altStackMem = nullptr; ++ static std::size_t altStackSize = 0; ++ static stack_t oldSigStack{}; ++ static struct sigaction oldSigActions[sizeof(signalDefs) / sizeof(SignalDefs)]{}; ++ ++ static void restorePreviousSignalHandlers() { ++ // We set signal handlers back to the previous ones. Hopefully ++ // nobody overwrote them in the meantime, and doesn't expect ++ // their signal handlers to live past ours given that they ++ // installed them after ours.. ++ for (std::size_t i = 0; i < sizeof(signalDefs) / sizeof(SignalDefs); ++i) { ++ sigaction(signalDefs[i].id, &oldSigActions[i], nullptr); ++ } ++ // Return the old stack ++ sigaltstack(&oldSigStack, nullptr); ++ } ++ ++ static void handleSignal( int sig ) { + char const * name = ""; + for (auto const& def : signalDefs) { + if (sig == def.id) { +@@ -10838,16 +10910,33 @@ namespace Catch { + break; + } + } +- reset(); +- reportFatal(name); ++ // We need to restore previous signal handlers and let them do ++ // their thing, so that the users can have the debugger break ++ // when a signal is raised, and so on. ++ restorePreviousSignalHandlers(); ++ reportFatal( name ); + raise( sig ); + } + + FatalConditionHandler::FatalConditionHandler() { +- isSet = true; ++ assert(!altStackMem && "Cannot initialize POSIX signal handler when one already exists"); ++ if (altStackSize == 0) { ++ altStackSize = std::max(static_cast(SIGSTKSZ), minStackSizeForErrors); ++ } ++ altStackMem = new char[altStackSize](); ++ } ++ ++ FatalConditionHandler::~FatalConditionHandler() { ++ delete[] altStackMem; ++ // We signal that another instance can be constructed by zeroing ++ // out the pointer. ++ altStackMem = nullptr; ++ } ++ ++ void FatalConditionHandler::engage_platform() { + stack_t sigStack; + sigStack.ss_sp = altStackMem; +- sigStack.ss_size = sigStackSize; ++ sigStack.ss_size = altStackSize; + sigStack.ss_flags = 0; + sigaltstack(&sigStack, &oldSigStack); + struct sigaction sa = { }; +@@ -10859,40 +10948,17 @@ namespace Catch { + } + } + +- FatalConditionHandler::~FatalConditionHandler() { +- reset(); +- } ++#if defined(__GNUC__) ++# pragma GCC diagnostic pop ++#endif + +- void FatalConditionHandler::reset() { +- if( isSet ) { +- // Set signals back to previous values -- hopefully nobody overwrote them in the meantime +- for( std::size_t i = 0; i < sizeof(signalDefs)/sizeof(SignalDefs); ++i ) { +- sigaction(signalDefs[i].id, &oldSigActions[i], nullptr); +- } +- // Return the old stack +- sigaltstack(&oldSigStack, nullptr); +- isSet = false; +- } ++ void FatalConditionHandler::disengage_platform() { ++ restorePreviousSignalHandlers(); + } + +- bool FatalConditionHandler::isSet = false; +- struct sigaction FatalConditionHandler::oldSigActions[sizeof(signalDefs)/sizeof(SignalDefs)] = {}; +- stack_t FatalConditionHandler::oldSigStack = {}; +- char FatalConditionHandler::altStackMem[sigStackSize] = {}; +- +-} // namespace Catch +- +-#else +- +-namespace Catch { +- void FatalConditionHandler::reset() {} +-} +- +-#endif // signals/SEH handling ++} // end namespace Catch + +-#if defined(__GNUC__) +-# pragma GCC diagnostic pop +-#endif ++#endif // CATCH_CONFIG_POSIX_SIGNALS + // end catch_fatal_condition.cpp + // start catch_generators.cpp + +@@ -11447,7 +11513,8 @@ namespace { + return lhs == rhs; + } + +- auto ulpDiff = std::abs(lc - rc); ++ // static cast as a workaround for IBM XLC ++ auto ulpDiff = std::abs(static_cast(lc - rc)); + return static_cast(ulpDiff) <= maxUlpDiff; + } + +@@ -11621,7 +11688,6 @@ Floating::WithinRelMatcher WithinRel(float target) { + + } // namespace Matchers + } // namespace Catch +- + // end catch_matchers_floating.cpp + // start catch_matchers_generic.cpp + +@@ -12955,9 +13021,8 @@ namespace Catch { + } + + void RunContext::invokeActiveTestCase() { +- FatalConditionHandler fatalConditionHandler; // Handle signals ++ FatalConditionHandlerGuard _(&m_fatalConditionhandler); + m_activeTestCase->invoke(); +- fatalConditionHandler.reset(); + } + + void RunContext::handleUnfinishedSections() { +@@ -13325,6 +13390,10 @@ namespace Catch { + filename.erase(0, lastSlash); + filename[0] = '#'; + } ++ else ++ { ++ filename.insert(0, "#"); ++ } + + auto lastDot = filename.find_last_of('.'); + if (lastDot != std::string::npos) { +@@ -13487,7 +13556,7 @@ namespace Catch { + + // Handle list request + if( Option listed = list( m_config ) ) +- return static_cast( *listed ); ++ return (std::min) (MaxExitCode, static_cast(*listed)); + + TestGroup tests { m_config }; + auto const totals = tests.execute(); +@@ -15320,7 +15389,7 @@ namespace Catch { + } + + Version const& libraryVersion() { +- static Version version( 2, 13, 4, "", 0 ); ++ static Version version( 2, 13, 10, "", 0 ); + return version; + } + +@@ -16733,6 +16802,7 @@ CATCH_REGISTER_REPORTER("console", ConsoleReporter) + #include + #include + #include ++#include + + namespace Catch { + +@@ -16760,7 +16830,7 @@ namespace Catch { + #else + std::strftime(timeStamp, timeStampSize, fmt, timeInfo); + #endif +- return std::string(timeStamp); ++ return std::string(timeStamp, timeStampSize-1); + } + + std::string fileNameTag(const std::vector &tags) { +@@ -16771,6 +16841,17 @@ namespace Catch { + return it->substr(1); + return std::string(); + } ++ ++ // Formats the duration in seconds to 3 decimal places. ++ // This is done because some genius defined Maven Surefire schema ++ // in a way that only accepts 3 decimal places, and tools like ++ // Jenkins use that schema for validation JUnit reporter output. ++ std::string formatDuration( double seconds ) { ++ ReusableStringStream rss; ++ rss << std::fixed << std::setprecision( 3 ) << seconds; ++ return rss.str(); ++ } ++ + } // anonymous namespace + + JunitReporter::JunitReporter( ReporterConfig const& _config ) +@@ -16840,7 +16921,7 @@ namespace Catch { + if( m_config->showDurations() == ShowDurations::Never ) + xml.writeAttribute( "time", "" ); + else +- xml.writeAttribute( "time", suiteTime ); ++ xml.writeAttribute( "time", formatDuration( suiteTime ) ); + xml.writeAttribute( "timestamp", getCurrentTimestamp() ); + + // Write properties if there are any +@@ -16885,12 +16966,13 @@ namespace Catch { + if ( !m_config->name().empty() ) + className = m_config->name() + "." + className; + +- writeSection( className, "", rootSection ); ++ writeSection( className, "", rootSection, stats.testInfo.okToFail() ); + } + +- void JunitReporter::writeSection( std::string const& className, +- std::string const& rootName, +- SectionNode const& sectionNode ) { ++ void JunitReporter::writeSection( std::string const& className, ++ std::string const& rootName, ++ SectionNode const& sectionNode, ++ bool testOkToFail) { + std::string name = trim( sectionNode.stats.sectionInfo.name ); + if( !rootName.empty() ) + name = rootName + '/' + name; +@@ -16907,13 +16989,18 @@ namespace Catch { + xml.writeAttribute( "classname", className ); + xml.writeAttribute( "name", name ); + } +- xml.writeAttribute( "time", ::Catch::Detail::stringify( sectionNode.stats.durationInSeconds ) ); ++ xml.writeAttribute( "time", formatDuration( sectionNode.stats.durationInSeconds ) ); + // This is not ideal, but it should be enough to mimic gtest's + // junit output. + // Ideally the JUnit reporter would also handle `skipTest` + // events and write those out appropriately. + xml.writeAttribute( "status", "run" ); + ++ if (sectionNode.stats.assertions.failedButOk) { ++ xml.scopedElement("skipped") ++ .writeAttribute("message", "TEST_CASE tagged with !mayfail"); ++ } ++ + writeAssertions( sectionNode ); + + if( !sectionNode.stdOut.empty() ) +@@ -16923,9 +17010,9 @@ namespace Catch { + } + for( auto const& childNode : sectionNode.childSections ) + if( className.empty() ) +- writeSection( name, "", *childNode ); ++ writeSection( name, "", *childNode, testOkToFail ); + else +- writeSection( className, name, *childNode ); ++ writeSection( className, name, *childNode, testOkToFail ); + } + + void JunitReporter::writeAssertions( SectionNode const& sectionNode ) { +@@ -17437,12 +17524,20 @@ namespace Catch { + + #ifndef __OBJC__ + ++#ifndef CATCH_INTERNAL_CDECL ++#ifdef _MSC_VER ++#define CATCH_INTERNAL_CDECL __cdecl ++#else ++#define CATCH_INTERNAL_CDECL ++#endif ++#endif ++ + #if defined(CATCH_CONFIG_WCHAR) && defined(CATCH_PLATFORM_WINDOWS) && defined(_UNICODE) && !defined(DO_NOT_USE_WMAIN) + // Standard C/C++ Win32 Unicode wmain entry point +-extern "C" int wmain (int argc, wchar_t * argv[], wchar_t * []) { ++extern "C" int CATCH_INTERNAL_CDECL wmain (int argc, wchar_t * argv[], wchar_t * []) { + #else + // Standard C/C++ main entry point +-int main (int argc, char * argv[]) { ++int CATCH_INTERNAL_CDECL main (int argc, char * argv[]) { + #endif + + return Catch::Session().run( argc, argv ); +@@ -17570,9 +17665,9 @@ int main (int argc, char * const argv[]) { + + #if defined(CATCH_CONFIG_ENABLE_BENCHMARKING) + #define CATCH_BENCHMARK(...) \ +- INTERNAL_CATCH_BENCHMARK(INTERNAL_CATCH_UNIQUE_NAME(____C_A_T_C_H____B_E_N_C_H____), INTERNAL_CATCH_GET_1_ARG(__VA_ARGS__,,), INTERNAL_CATCH_GET_2_ARG(__VA_ARGS__,,)) ++ INTERNAL_CATCH_BENCHMARK(INTERNAL_CATCH_UNIQUE_NAME(C_A_T_C_H_B_E_N_C_H_), INTERNAL_CATCH_GET_1_ARG(__VA_ARGS__,,), INTERNAL_CATCH_GET_2_ARG(__VA_ARGS__,,)) + #define CATCH_BENCHMARK_ADVANCED(name) \ +- INTERNAL_CATCH_BENCHMARK_ADVANCED(INTERNAL_CATCH_UNIQUE_NAME(____C_A_T_C_H____B_E_N_C_H____), name) ++ INTERNAL_CATCH_BENCHMARK_ADVANCED(INTERNAL_CATCH_UNIQUE_NAME(C_A_T_C_H_B_E_N_C_H_), name) + #endif // CATCH_CONFIG_ENABLE_BENCHMARKING + + // If CATCH_CONFIG_PREFIX_ALL is not defined then the CATCH_ prefix is not required +@@ -17674,9 +17769,9 @@ int main (int argc, char * const argv[]) { + + #if defined(CATCH_CONFIG_ENABLE_BENCHMARKING) + #define BENCHMARK(...) \ +- INTERNAL_CATCH_BENCHMARK(INTERNAL_CATCH_UNIQUE_NAME(____C_A_T_C_H____B_E_N_C_H____), INTERNAL_CATCH_GET_1_ARG(__VA_ARGS__,,), INTERNAL_CATCH_GET_2_ARG(__VA_ARGS__,,)) ++ INTERNAL_CATCH_BENCHMARK(INTERNAL_CATCH_UNIQUE_NAME(C_A_T_C_H_B_E_N_C_H_), INTERNAL_CATCH_GET_1_ARG(__VA_ARGS__,,), INTERNAL_CATCH_GET_2_ARG(__VA_ARGS__,,)) + #define BENCHMARK_ADVANCED(name) \ +- INTERNAL_CATCH_BENCHMARK_ADVANCED(INTERNAL_CATCH_UNIQUE_NAME(____C_A_T_C_H____B_E_N_C_H____), name) ++ INTERNAL_CATCH_BENCHMARK_ADVANCED(INTERNAL_CATCH_UNIQUE_NAME(C_A_T_C_H_B_E_N_C_H_), name) + #endif // CATCH_CONFIG_ENABLE_BENCHMARKING + + using Catch::Detail::Approx; +@@ -17723,8 +17818,8 @@ using Catch::Detail::Approx; + #define CATCH_WARN( msg ) (void)(0) + #define CATCH_CAPTURE( msg ) (void)(0) + +-#define CATCH_TEST_CASE( ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ )) +-#define CATCH_TEST_CASE_METHOD( className, ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ )) ++#define CATCH_TEST_CASE( ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ )) ++#define CATCH_TEST_CASE_METHOD( className, ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ )) + #define CATCH_METHOD_AS_TEST_CASE( method, ... ) + #define CATCH_REGISTER_TEST_CASE( Function, ... ) (void)(0) + #define CATCH_SECTION( ... ) +@@ -17733,7 +17828,7 @@ using Catch::Detail::Approx; + #define CATCH_FAIL_CHECK( ... ) (void)(0) + #define CATCH_SUCCEED( ... ) (void)(0) + +-#define CATCH_ANON_TEST_CASE() INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ )) ++#define CATCH_ANON_TEST_CASE() INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ )) + + #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR + #define CATCH_TEMPLATE_TEST_CASE( ... ) INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION(__VA_ARGS__) +@@ -17756,8 +17851,8 @@ using Catch::Detail::Approx; + #endif + + // "BDD-style" convenience wrappers +-#define CATCH_SCENARIO( ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ )) +-#define CATCH_SCENARIO_METHOD( className, ... ) INTERNAL_CATCH_TESTCASE_METHOD_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ ), className ) ++#define CATCH_SCENARIO( ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ )) ++#define CATCH_SCENARIO_METHOD( className, ... ) INTERNAL_CATCH_TESTCASE_METHOD_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ ), className ) + #define CATCH_GIVEN( desc ) + #define CATCH_AND_GIVEN( desc ) + #define CATCH_WHEN( desc ) +@@ -17805,10 +17900,10 @@ using Catch::Detail::Approx; + #define INFO( msg ) (void)(0) + #define UNSCOPED_INFO( msg ) (void)(0) + #define WARN( msg ) (void)(0) +-#define CAPTURE( msg ) (void)(0) ++#define CAPTURE( ... ) (void)(0) + +-#define TEST_CASE( ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ )) +-#define TEST_CASE_METHOD( className, ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ )) ++#define TEST_CASE( ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ )) ++#define TEST_CASE_METHOD( className, ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ )) + #define METHOD_AS_TEST_CASE( method, ... ) + #define REGISTER_TEST_CASE( Function, ... ) (void)(0) + #define SECTION( ... ) +@@ -17816,7 +17911,7 @@ using Catch::Detail::Approx; + #define FAIL( ... ) (void)(0) + #define FAIL_CHECK( ... ) (void)(0) + #define SUCCEED( ... ) (void)(0) +-#define ANON_TEST_CASE() INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ )) ++#define ANON_TEST_CASE() INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ )) + + #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR + #define TEMPLATE_TEST_CASE( ... ) INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION(__VA_ARGS__) +@@ -17846,8 +17941,8 @@ using Catch::Detail::Approx; + #define CATCH_TRANSLATE_EXCEPTION( signature ) INTERNAL_CATCH_TRANSLATE_EXCEPTION_NO_REG( INTERNAL_CATCH_UNIQUE_NAME( catch_internal_ExceptionTranslator ), signature ) + + // "BDD-style" convenience wrappers +-#define SCENARIO( ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ ) ) +-#define SCENARIO_METHOD( className, ... ) INTERNAL_CATCH_TESTCASE_METHOD_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ ), className ) ++#define SCENARIO( ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ ) ) ++#define SCENARIO_METHOD( className, ... ) INTERNAL_CATCH_TESTCASE_METHOD_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ ), className ) + + #define GIVEN( desc ) + #define AND_GIVEN( desc ) +@@ -17878,3 +17973,4 @@ using Catch::Detail::Approx; + // end catch_reenable_warnings.h + // end catch.hpp + #endif // TWOBLUECUBES_SINGLE_INCLUDE_CATCH_HPP_INCLUDED ++ From 89ff16711b51e4246fca0e2b303967761640267f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Fri, 19 Apr 2024 09:04:26 +0200 Subject: [PATCH 442/889] add sanity check path --- .../easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2022a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2022a.eb b/easybuild/easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2022a.eb index cfc1979e658..ad0b2f74a9d 100644 --- a/easybuild/easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2022a.eb +++ b/easybuild/easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2022a.eb @@ -40,7 +40,7 @@ parallel = 1 sanity_check_paths = { 'files': ["include/portaudio.h", "lib/libportaudio.a", "lib/libportaudio.so"], - 'dirs': ['include', 'lib'], + 'dirs': ['include', 'lib', 'lib/python%(pyshortver)s/site-packages'], } sanity_check_commands = [ From 2180d73d84eeb49624eb8ab45e983c85d86be4c7 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 19 Apr 2024 10:18:05 +0200 Subject: [PATCH 443/889] adding easyconfigs: likwid-5.3.0-GCC-13.2.0.eb --- .../l/likwid/likwid-5.3.0-GCC-13.2.0.eb | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 easybuild/easyconfigs/l/likwid/likwid-5.3.0-GCC-13.2.0.eb diff --git a/easybuild/easyconfigs/l/likwid/likwid-5.3.0-GCC-13.2.0.eb b/easybuild/easyconfigs/l/likwid/likwid-5.3.0-GCC-13.2.0.eb new file mode 100644 index 00000000000..d46a451886d --- /dev/null +++ b/easybuild/easyconfigs/l/likwid/likwid-5.3.0-GCC-13.2.0.eb @@ -0,0 +1,54 @@ +easyblock = 'ConfigureMake' + +name = 'likwid' +version = '5.3.0' + +homepage = 'https://github.com/RRZE-HPC/likwid' + +description = """ +Likwid stands for Like I knew what I am doing. This project contributes easy +to use command line tools for Linux to support programmers in developing high +performance multi threaded programs. +""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/RRZE-HPC/likwid/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c290e554c4253124ac2ab8b056e14ee4d23966b8c9fbfa10ba81f75ae543ce4e'] + +builddependencies = [ + ('Perl', '5.38.0'), +] + +dependencies = [ + ('hwloc', '2.9.2'), +] + +skipsteps = ['configure'] + +# include_GCC.mk is using ifort by default. +# Changing it to gfortran, to be consistent with GCC toolchain +prebuildopts = """sed -i 's@FC = ifort@FC = gfortran@g' make/include_GCC.mk && """ +prebuildopts += """sed -i 's@FCFLAGS = -module ./ # ifort@FCFLAGS = -J ./ -fsyntax-only #gfortran@g' """ +prebuildopts += """ make/include_GCC.mk && """ + +buildopts = 'CC="$CC" CFLAGS="$CFLAGS -std=c99" PREFIX=%(installdir)s BUILDFREQ="" ACCESSMODE=perf_event ' +buildopts += 'FORTRAN_INTERFACE=true ' +buildopts += 'CFG_FILE_PATH=%(installdir)s/etc/likwid.cfg TOPO_FILE_PATH=%(installdir)s/etc/likwid_topo.cfg ' +buildopts += 'HWLOC_INCLUDE_DIR=$EBROOTHWLOC/include HWLOC_LIB_DIR=$EBROOTHWLOC/lib HWLOC_LIB_NAME=hwloc ' + +maxparallel = 1 + +installopts = buildopts + 'INSTALL_CHOWN="" ' + +sanity_check_paths = { + 'files': ['bin/likwid-memsweeper', 'bin/likwid-mpirun', 'bin/likwid-perfctr', + 'bin/likwid-perfscope', 'bin/likwid-pin', 'bin/likwid-powermeter', + 'bin/likwid-topology', 'lib/liblikwidpin.%s' % SHLIB_EXT, + 'lib/liblikwid.%s' % SHLIB_EXT, 'include/likwid.mod'], + 'dirs': ['man/man1'] +} + +moduleclass = 'tools' From d8610c6994191bc6c37377d8596b3fa17f392b1b Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 19 Apr 2024 13:38:43 +0200 Subject: [PATCH 444/889] don't hardcode mediapipe extension version in name of wheel in EasyMocap easyconfig --- easybuild/easyconfigs/e/EasyMocap/EasyMocap-0.2-foss-2022a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/e/EasyMocap/EasyMocap-0.2-foss-2022a.eb b/easybuild/easyconfigs/e/EasyMocap/EasyMocap-0.2-foss-2022a.eb index 426f73fcd2c..b3ea4435687 100644 --- a/easybuild/easyconfigs/e/EasyMocap/EasyMocap-0.2-foss-2022a.eb +++ b/easybuild/easyconfigs/e/EasyMocap/EasyMocap-0.2-foss-2022a.eb @@ -62,7 +62,7 @@ exts_list = [ }), # Building from source fails. See https://github.com/google/mediapipe/issues/5247 ('mediapipe', '0.10.11', { - 'sources': ['mediapipe-0.10.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl'], + 'sources': ['mediapipe-%(version)s-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl'], 'checksums': ['fc5283a50227a93d7755fd0f83d0d6daeb0f1c841df1ac9101e96e32e7e03ba1'], }), ('sounddevice', '0.4.6', { From b0f099c1396c8b3e367d1e7fd1691d2779be7b12 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Fri, 19 Apr 2024 14:13:36 +0200 Subject: [PATCH 445/889] adding easyconfigs: CheckM2-1.0.2-foss-2022a.eb --- .../c/CheckM2/CheckM2-1.0.2-foss-2022a.eb | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022a.eb diff --git a/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022a.eb b/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022a.eb new file mode 100644 index 00000000000..bb17e6c2713 --- /dev/null +++ b/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022a.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'CheckM2' +version = '1.0.2' + +homepage = 'https://github.com/chklovski/CheckM2/' +description = "Assessing the quality of metagenome-derived genome bins using machine learning" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [('CMake', '3.24.3')] +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('DIAMOND', '2.1.0'), + ('TensorFlow', '2.11.0'), + ('prodigal', '2.6.3'), + ('h5py', '3.7.0'), + ('tqdm', '4.64.0'), +] + +exts_list = [ + ('scikit-learn', '0.23.2', { + 'modulename': 'sklearn', + 'checksums': ['20766f515e6cd6f954554387dfae705d93c7b544ec0e6c6a5d8e006f6f7ef480'], + }), + ('lightgbm', '3.2.1', { + 'checksums': ['bd98e3b501b4c24dc127f4ad93e467f42923fe3eefa99e143b5b93158f024395'], + }), + (name, version, { + 'source_urls': ['https://github.com/chklovski/CheckM2/archive/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['9d3129e4d0b53acc38519a259cc1e20a215dff0cbce51cef874545ca2fff005a'], + }), +] + +postinstallcmds = [ + 'sed -i "s/np.float/float/g" %(installdir)s/lib/python%(pyshortver)s/site-packages/checkm2/predictQuality.py', + # '%(installdir)s/bin/checkm2 database --download --path %(installdir)s', + # 'export CHECKM2DB="$EBROOTCHECKM2/CheckM2_database/uniref100.KO.1.dmnd"', +] + +# modextrapaths = {'CHECKM2DB': 'CheckM2_database/uniref100.KO.1.dmnd', 'PYTHONPATH': ''} + +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' From fd6c88881302d4923cb7641ea502ba3b5a47b5c8 Mon Sep 17 00:00:00 2001 From: WilleBell Date: Fri, 19 Apr 2024 16:09:51 +0200 Subject: [PATCH 446/889] adding easyconfigs: MuJoCo-3.1.4-foss-2023a.eb, glew-2.2.0-GCCcore-12.3.0-osmesa.eb, GLFW-3.4-GCCcore-12.3.0.eb --- .../g/GLFW/GLFW-3.4-GCCcore-12.3.0.eb | 39 ++++++++ .../glew/glew-2.2.0-GCCcore-12.3.0-osmesa.eb | 43 +++++++++ .../m/MuJoCo/MuJoCo-3.1.4-foss-2023a.eb | 89 +++++++++++++++++++ 3 files changed, 171 insertions(+) create mode 100644 easybuild/easyconfigs/g/GLFW/GLFW-3.4-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-12.3.0-osmesa.eb create mode 100644 easybuild/easyconfigs/m/MuJoCo/MuJoCo-3.1.4-foss-2023a.eb diff --git a/easybuild/easyconfigs/g/GLFW/GLFW-3.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/GLFW/GLFW-3.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..dda659e47c2 --- /dev/null +++ b/easybuild/easyconfigs/g/GLFW/GLFW-3.4-GCCcore-12.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'GLFW' +version = '3.4' + +homepage = 'https://www.glfw.org' +description = """GLFW is an Open Source, multi-platform library for OpenGL, +OpenGL ES and Vulkan development on the desktop""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['c038d34200234d071fae9345bc455e4a8f2f544ab60150765d7704e08f3dac01'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] +dependencies = [ + ('Wayland', '1.22.0'), + ('X11', '20230603'), +] + +# build both static and shared libraries +configopts = [ + '-DBUILD_SHARED_LIBS=OFF', + '-DBUILD_SHARED_LIBS=ON', +] + + +sanity_check_paths = { + 'files': ['include/%(name)s/glfw3.h', 'include/%(name)s/glfw3native.h'] + + ['lib/libglfw3.a', 'lib/libglfw.%s' % SHLIB_EXT, 'lib/pkgconfig/glfw3.pc'], + 'dirs': ['include/%(name)s', 'lib/cmake/glfw3', 'lib/pkgconfig'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-12.3.0-osmesa.eb b/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-12.3.0-osmesa.eb new file mode 100644 index 00000000000..64045ea6e21 --- /dev/null +++ b/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-12.3.0-osmesa.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' +versionsuffix = '-osmesa' +# available: -glx, -osmesa, -egl +# GLEW does support GLX (onscreen or requiring VirtualGL), EGL (technically can do both onscreen and +# offscreen), and OSMESA (offscreen software only). + +name = 'glew' +version = '2.2.0' + +homepage = 'https://github.com/nigels-com/glew' +description = """The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source +C/C++ extension loading library. GLEW provides efficient run-time mechanisms +for determining which OpenGL extensions are supported on the target platform.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/nigels-com/glew/releases/download/%(name)s-%(version)s/'] +sources = ['%(name)s-%(version)s.tgz'] +checksums = ['d4fc82893cfb00109578d0a1a2337fb8ca335b3ceccf97b97e5cc7f08e4353e1'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Mesa', '23.1.4'), + ('X11', '20230603'), +] + +local_system = 'SYSTEM=linux`echo %(versionsuffix)s|sed -e "s/-glx//g"`' +buildopts = local_system + +skipsteps = ['configure'] + +preinstallopts = 'GLEW_PREFIX=%(installdir)s GLEW_DEST=%(installdir)s ' +install_cmd = 'make install.all ' + local_system + +sanity_check_paths = { + 'files': ['lib/libGLEW.a', 'lib/libGLEW.%s' % SHLIB_EXT] + + ['bin/glewinfo', 'bin/visualinfo'] + + ['include/GL/%s.h' % h for h in ['glew', 'glxew', 'wglew']], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/MuJoCo/MuJoCo-3.1.4-foss-2023a.eb b/easybuild/easyconfigs/m/MuJoCo/MuJoCo-3.1.4-foss-2023a.eb new file mode 100644 index 00000000000..95ca0016134 --- /dev/null +++ b/easybuild/easyconfigs/m/MuJoCo/MuJoCo-3.1.4-foss-2023a.eb @@ -0,0 +1,89 @@ +easyblock = 'PackedBinary' + +name = 'MuJoCo' +version = '3.1.4' + +homepage = 'https://mujoco.org/' +description = """MuJoCo stands for Multi-Joint dynamics with Contact. It is a general purpose +physics engine that aims to facilitate research and development in robotics, +biomechanics, graphics and animation, machine learning, and other areas which +demand fast and accurate simulation of articulated structures interacting with +their environment.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/deepmind/mujoco/releases/download/%(version)s'] +sources = ['%(namelower)s-%(version)s-linux-%(arch)s.tar.gz'] +checksums = ['3bb373e081daaf6bf179d7f83dd8fa39e491a6daa4250a1b7ac42850309cb313'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), # for Python Bindings + ('Eigen', '3.4.0'), # for Python Bindings + ('pybind11', '2.11.1'), # for Python Bindings +] + +# MuJoCo bundles 3 variants of glew using non-standard sonames: +# - libglew with GLX +# - libglewegl with EGL +# - libglewosmesa with OSMESA +# - Software depending on MuJoCo expect these non-standard sonames, so they should not be removed +# - libglew and libglewegl seem to work with Mesa and X11 for toolchain GCCcore/11.2.0 +# - libglewosmesa has to be replaced as it links to an old libOSMesa + +dependencies = [ + ('glew', '2.2.0', '-osmesa'), + ('Python', '3.11.3'), # for Python Bindings + ('SciPy-bundle', '2023.07'), # for Python Bindings + ('Abseil', '20230125.3'), # for Python Bindings + ('GLFW', '3.4'), # for Python Bindings + ('PyOpenGL', '3.1.7'), # for Python Bindings +] + +# MuJoCo Python Bindings +exts_defaultclass = 'PythonPackage' + +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, +} + +exts_list = [ + ('absl-py', '2.1.0', { + 'modulename': 'absl', + 'checksums': ['7820790efbb316739cde8b4e19357243fc3608a152024288513dd968d7d959ff'], + }), + ('glfw', '2.7.0', { + 'checksums': ['0e209ad38fa8c5be67ca590d7b17533d95ad1eb57d0a3f07b98131db69b79000'], + }), + ('etils', '1.8.0', { + 'checksums': ['fb478f57fec202e260e54c9192b317692fd63db2d11d993e70bcdffa29cccd58'], + }), + ('mujoco', version, { + 'patches': ['python-mujoco-3.1.4_use_eb_deps.patch'], + 'preinstallopts': 'MUJOCO_PATH="$EBROOTMUJOCO" MUJOCO_PLUGIN_PATH="$EBROOTMUJOCO/mujoco_plugin"', + 'checksums': [ + {'mujoco-3.1.4.tar.gz': '19d78bd7332b8bf02b8d7ca35d381a9f8f1654f4c70c0d7f499c6d4d807c4059'}, + {'python-mujoco-3.1.4_use_eb_deps.patch': + '2160f00996011ff31faaf566d1cb0c0ae4fe49b3c36c29e860b34a61fa732b55'}, + ], + }), +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +postinstallcmds = [ + # replace bundled libglewosmesa.so with glew libs from EB + "ln -sf $EBROOTGLEW/lib64/libGLEW.so %(installdir)s/lib/libglewosmesa.so", +] + +sanity_check_paths = { + 'files': ['bin/basic', 'bin/record', 'bin/simulate', + 'lib/libmujoco.%s' % SHLIB_EXT], + 'dirs': ['include', 'model', 'sample', 'bin/mujoco_plugin'], +} + +sanity_check_commands = ['basic', 'record', 'testspeed', 'compile'] + +moduleclass = 'phys' From d1a2af0d2aa930d962b4a35fa4ac8eaf147df8fa Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 19 Apr 2024 16:34:11 +0200 Subject: [PATCH 447/889] adding easyconfigs: chromVARmotifs-0.2.0-foss-2023a-R-4.3.2.eb --- ...chromVARmotifs-0.2.0-foss-2023a-R-4.3.2.eb | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 easybuild/easyconfigs/c/chromVARmotifs/chromVARmotifs-0.2.0-foss-2023a-R-4.3.2.eb diff --git a/easybuild/easyconfigs/c/chromVARmotifs/chromVARmotifs-0.2.0-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/c/chromVARmotifs/chromVARmotifs-0.2.0-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..2fd44772901 --- /dev/null +++ b/easybuild/easyconfigs/c/chromVARmotifs/chromVARmotifs-0.2.0-foss-2023a-R-4.3.2.eb @@ -0,0 +1,32 @@ +easyblock = 'RPackage' + +name = 'chromVARmotifs' +local_commit = '38bed55' +# see DESCRIPTION file +version = '0.2.0' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/GreenleafLab/chromVARmotifs' +description = """The goal of chromVARmotifs is to make it easy to use several different motif collections in R, + particularly for use with motifmatchr and chromVAR packages.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-CRAN', '2023.12'), + ('R-bundle-Bioconductor', '3.18', versionsuffix), +] + +source_urls = ['https://github.com/GreenleafLab/chromVARmotifs/archive'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['6bc0894e1ffc9aa51d7eefce71ca0a586b271e7c6fd60211b179862eb51e4f1b'] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'bio' From 861369ca6310880bd666ef316205525de9b60e64 Mon Sep 17 00:00:00 2001 From: WilleBell Date: Fri, 19 Apr 2024 16:52:57 +0200 Subject: [PATCH 448/889] add missing patch --- .../python-mujoco-3.1.4_use_eb_deps.patch | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 easybuild/easyconfigs/m/MuJoCo/python-mujoco-3.1.4_use_eb_deps.patch diff --git a/easybuild/easyconfigs/m/MuJoCo/python-mujoco-3.1.4_use_eb_deps.patch b/easybuild/easyconfigs/m/MuJoCo/python-mujoco-3.1.4_use_eb_deps.patch new file mode 100644 index 00000000000..2a57ac16ec8 --- /dev/null +++ b/easybuild/easyconfigs/m/MuJoCo/python-mujoco-3.1.4_use_eb_deps.patch @@ -0,0 +1,30 @@ +Use EasyBuild provided dependencies +Author: Cintia Willemyns (Vrije Universiteit Brussel) +--- mujoco-3.1.4.orig/mujoco/CMakeLists.txt 2024-04-17 15:42:21.449694000 +0200 ++++ mujoco-3.1.4/mujoco/CMakeLists.txt 2024-04-17 15:43:56.347482395 +0200 +@@ -132,7 +132,7 @@ + set(MUJOCO_PYTHON_ABSL_TARGETS absl::core_headers absl::flat_hash_map absl::span) + findorfetch( + USE_SYSTEM_PACKAGE +- OFF ++ ON + PACKAGE_NAME + absl + LIBRARY_NAME +@@ -165,7 +165,7 @@ + add_compile_definitions(EIGEN_MPL2_ONLY) + findorfetch( + USE_SYSTEM_PACKAGE +- OFF ++ ON + PACKAGE_NAME + Eigen3 + LIBRARY_NAME +@@ -183,6 +183,7 @@ + option(MUJOCO_PYTHON_USE_SYSTEM_PYBIND11 "Use installed pybind11 version." OFF) + findorfetch( + USE_SYSTEM_PACKAGE ++ ON + MUJOCO_PYTHON_USE_SYSTEM_PYBIND11 + PACKAGE_NAME + pybind11 From 009785d092c5043c63292a6822b998e7b36e674f Mon Sep 17 00:00:00 2001 From: crivella Date: Fri, 19 Apr 2024 16:53:31 +0200 Subject: [PATCH 449/889] Added EC for f90wrap and MetalWalls --- .../f/f90wrap/f90wrap-0.2.13-foss-2023a.eb | 44 +++++++++++++++++ .../f90wrap-0.2.13_fix_old_typing.patch | 36 ++++++++++++++ .../MetalWalls-21.06.1-foss-2023a.eb | 49 +++++++++++++++++++ 3 files changed, 129 insertions(+) create mode 100644 easybuild/easyconfigs/f/f90wrap/f90wrap-0.2.13-foss-2023a.eb create mode 100644 easybuild/easyconfigs/f/f90wrap/f90wrap-0.2.13_fix_old_typing.patch create mode 100644 easybuild/easyconfigs/m/MetalWalls/MetalWalls-21.06.1-foss-2023a.eb diff --git a/easybuild/easyconfigs/f/f90wrap/f90wrap-0.2.13-foss-2023a.eb b/easybuild/easyconfigs/f/f90wrap/f90wrap-0.2.13-foss-2023a.eb new file mode 100644 index 00000000000..be0a3da763d --- /dev/null +++ b/easybuild/easyconfigs/f/f90wrap/f90wrap-0.2.13-foss-2023a.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonPackage' + +name = 'f90wrap' +version = '0.2.13' + +homepage = 'https://github.com/jameskermode/f90wrap' +description = """f90wrap is a tool to automatically generate Python extension modules which +interface to Fortran code that makes use of derived types. It builds on the +capabilities of the popular f2py utility by generating a simpler Fortran 90 +interface to the original Fortran code which is then suitable for wrapping with +f2py, together with a higher-level Pythonic wrapper that makes the existance of +an additional layer transparent to the final user.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCE_TAR_GZ] +patches = ['f90wrap-0.2.13_fix_old_typing.patch'] +checksums = [ + 'a61b73bb1cf028db54ad4b0c48627080d88e14463803dd55713c70f3e88b911e', # f90wrap-0.2.13.tar.gz + 'da8b6e551a486f42182773fa4b4d852317c5d240e930183fa5e1fa84aeab825b', # f90wrap-0.2.13_fix_old_typing.patch +] + +builddependencies = [ + ('meson-python', '0.15.0') +] +dependencies = [ + ('Python', '3.11.3'), + ("SciPy-bundle", "2023.07"), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/f2py-f90wrap', 'bin/f90doc', 'bin/f90wrap'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'], +} + +sanity_check_commands = [ + ('f90wrap', '--help'), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/f/f90wrap/f90wrap-0.2.13_fix_old_typing.patch b/easybuild/easyconfigs/f/f90wrap/f90wrap-0.2.13_fix_old_typing.patch new file mode 100644 index 00000000000..58bc5bdbf9f --- /dev/null +++ b/easybuild/easyconfigs/f/f90wrap/f90wrap-0.2.13_fix_old_typing.patch @@ -0,0 +1,36 @@ +--- f90wrap/arraydatamodule.c.orig 2024-04-19 14:22:57.488265190 +0200 ++++ f90wrap/arraydatamodule.c 2024-04-19 14:30:08.923493156 +0200 +@@ -59,13 +59,13 @@ + /* Processing variable this */ + this_Dims[0]=sizeof_fortran_t; + capi_this_intent |= F2PY_INTENT_IN; +- capi_this_tmp = array_from_pyobj(PyArray_INT,this_Dims,this_Rank,capi_this_intent,this_capi); ++ capi_this_tmp = array_from_pyobj(NPY_INT,this_Dims,this_Rank,capi_this_intent,this_capi); + if (capi_this_tmp == NULL) { + if (!PyErr_Occurred()) + PyErr_SetString(PyExc_TypeError,"failed in converting 1st argument `this' of get_array to C/Fortran array" ); + goto fail; + } else { +- this = (int *)(capi_this_tmp->data); ++ this = (int *)(PyArray_DATA(capi_this_tmp)); + } + + /* Processing variable arrayfunc */ +@@ -107,7 +107,7 @@ + /* Construct array */ + descr = PyArray_DescrNewFromType(typenum); + array = (PyArrayObject*) PyArray_NewFromDescr(&PyArray_Type, descr, nd, dimensions, NULL, +- data, NPY_FORTRAN | NPY_WRITEABLE | NPY_ALIGNED, NULL); ++ data, NPY_ARRAY_F_CONTIGUOUS | NPY_ARRAY_WRITEABLE | NPY_ARRAY_ALIGNED, NULL); + free(dimensions); + if((PyObject *)capi_this_tmp!=this_capi) { + Py_XDECREF(capi_this_tmp); +@@ -125,7 +125,7 @@ + + static PyMethodDef arraydata_methods[] = { + {"get_array", get_array, METH_VARARGS, +- "Make an array from integer(sizeof_fortran_t) array containing reference to derived type object,\n and fortran array function.\n\get_array(sizeof_fortran_t, fpointer,array_fobj[,key]) -> array"}, ++ "Make an array from integer(sizeof_fortran_t) array containing reference to derived type object,\n and fortran array function.\n\\get_array(sizeof_fortran_t, fpointer,array_fobj[,key]) -> array"}, + {NULL, NULL} + }; + diff --git a/easybuild/easyconfigs/m/MetalWalls/MetalWalls-21.06.1-foss-2023a.eb b/easybuild/easyconfigs/m/MetalWalls/MetalWalls-21.06.1-foss-2023a.eb new file mode 100644 index 00000000000..f996d0b7ea5 --- /dev/null +++ b/easybuild/easyconfigs/m/MetalWalls/MetalWalls-21.06.1-foss-2023a.eb @@ -0,0 +1,49 @@ +name = 'MetalWalls' +version = '21.06.1' + +homepage = 'https://gitlab.com/ampere2/metalwalls' +description = """MetalWalls (MW) is a molecular dynamics code dedicated to the modelling of electrochemical systems. +Its main originality is the inclusion of a series of methods allowing to apply a constant potential within the +electrode materials.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True} + +sources = [ + { + "filename": "metalwalls-%(version)s.tar.gz", + "git_config": { + "url": "https://gitlab.com/ampere2", + "repo_name": "metalwalls", + "tag": '%(version)s', + + }, + }, +] +checksums = [ + '8852bf5bd3591868cc2af6be378ac4dbfcd209d53acc176536038dbe69892b3d', +] + +builddependencies = [ + ("Python", "3.11.3"), + ("SciPy-bundle", "2023.07"), +] +dependencies = [ + ("PLUMED", "2.9.0"), + ("f90wrap", "0.2.13"), + ("mpi4py", "3.1.4") +] + +files_to_copy = [ + (['mw'], 'bin'), + 'build/python' +] + +sanity_check_paths = { + 'files': ['bin/mw', 'python/mw.py', 'python/metalwalls.py'], + 'dirs': ['python'] +} + +runtest = 'test' + +moduleclass = 'chem' From 2f54aff5874202f388bd5ce278f3926396c445be Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Fri, 19 Apr 2024 17:16:59 +0200 Subject: [PATCH 450/889] move boost,eigen, tbb, cgal to builddeps --- .../s/SimNIBS/SimNIBS-4.0.1-foss-2023a.eb | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/easybuild/easyconfigs/s/SimNIBS/SimNIBS-4.0.1-foss-2023a.eb b/easybuild/easyconfigs/s/SimNIBS/SimNIBS-4.0.1-foss-2023a.eb index 18e5dbf0152..38ee484e258 100644 --- a/easybuild/easyconfigs/s/SimNIBS/SimNIBS-4.0.1-foss-2023a.eb +++ b/easybuild/easyconfigs/s/SimNIBS/SimNIBS-4.0.1-foss-2023a.eb @@ -8,7 +8,13 @@ description = "SimNIBS is a free and open source software package for the Simula toolchain = {'name': 'foss', 'version': '2023a'} -builddependencies = [('CMake', '3.26.3')] +builddependencies = [ + ('CMake', '3.26.3'), + ('Eigen', '3.4.0'), + ('Boost', '1.74.0'), + ('CGAL', '5.4'), + ('tbb', '2020.1'), +] dependencies = [ ('Python', '3.11.3'), ('Python-bundle-PyPI', '2023.06'), @@ -18,15 +24,11 @@ dependencies = [ ('h5py', '3.9.0'), ('PyOpenGL', '3.1.7'), ('freeglut', '3.4.0'), - ('Boost', '1.74.0'), - ('tbb', '2020.1'), ('libwebp', '1.3.1'), ('NiBabel', '5.2.0'), ('PyQt5', '5.15.10'), ('FMM3D', '1.0.4'), ('charm-gems', '1.3.3'), - ('CGAL', '5.4'), - ('Eigen', '3.3.7', '', SYSTEM), ] exts_list = [ From 7bfd69c35adb8d22f52c351e5ff92f2f4ae12428 Mon Sep 17 00:00:00 2001 From: crivella Date: Fri, 19 Apr 2024 17:21:13 +0200 Subject: [PATCH 451/889] Fixes for building without deps --- .../m/MetalWalls/MetalWalls-21.06.1-foss-2023a.eb | 6 ------ 1 file changed, 6 deletions(-) diff --git a/easybuild/easyconfigs/m/MetalWalls/MetalWalls-21.06.1-foss-2023a.eb b/easybuild/easyconfigs/m/MetalWalls/MetalWalls-21.06.1-foss-2023a.eb index f996d0b7ea5..befc9d08b76 100644 --- a/easybuild/easyconfigs/m/MetalWalls/MetalWalls-21.06.1-foss-2023a.eb +++ b/easybuild/easyconfigs/m/MetalWalls/MetalWalls-21.06.1-foss-2023a.eb @@ -36,14 +36,8 @@ dependencies = [ files_to_copy = [ (['mw'], 'bin'), - 'build/python' ] -sanity_check_paths = { - 'files': ['bin/mw', 'python/mw.py', 'python/metalwalls.py'], - 'dirs': ['python'] -} - runtest = 'test' moduleclass = 'chem' From 3a27c481e410e951f8b3c8197f57dfd891c07e61 Mon Sep 17 00:00:00 2001 From: Andrew Keen Date: Fri, 19 Apr 2024 13:04:15 -0400 Subject: [PATCH 452/889] Changing test invocation from sh to bash to support the pipefail option for systems that link sh to dash --- easybuild/easyconfigs/p/PLINK/PLINK-2.00a3.7-gfbf-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/PLINK/PLINK-2.00a3.7-gfbf-2023a.eb b/easybuild/easyconfigs/p/PLINK/PLINK-2.00a3.7-gfbf-2023a.eb index c6d897b040b..7c69a0665b6 100644 --- a/easybuild/easyconfigs/p/PLINK/PLINK-2.00a3.7-gfbf-2023a.eb +++ b/easybuild/easyconfigs/p/PLINK/PLINK-2.00a3.7-gfbf-2023a.eb @@ -48,7 +48,7 @@ components = [ ] # run tests (<1h) -postinstallcmds = ["cd Tests && sh run_tests.sh %(installdir)s/bin"] +postinstallcmds = ["cd Tests && bash run_tests.sh %(installdir)s/bin"] sanity_check_paths = { 'files': ['bin/plink', 'bin/plink2', 'bin/pgen_compress'], From b84addb1c8b787d2b28e781f98d75de325424826 Mon Sep 17 00:00:00 2001 From: Simon Branford Date: Sat, 20 Apr 2024 16:27:39 +0100 Subject: [PATCH 453/889] install pkg-config files for GCCcore builds of `ncurses` 6.4 --- .../n/ncurses/ncurses-6.4-GCCcore-12.3.0.eb | 10 ++++++++-- .../n/ncurses/ncurses-6.4-GCCcore-13.1.0.eb | 10 ++++++++-- .../n/ncurses/ncurses-6.4-GCCcore-13.2.0.eb | 10 ++++++++-- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.4-GCCcore-12.3.0.eb index b1731393710..868596ebe86 100644 --- a/easybuild/easyconfigs/n/ncurses/ncurses-6.4-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.4-GCCcore-12.3.0.eb @@ -18,9 +18,13 @@ source_urls = [GNU_SOURCE] sources = [SOURCE_TAR_GZ] checksums = ['6931283d9ac87c5073f30b6290c4c75f21632bb4fc3603ac8100812bed248159'] -builddependencies = [('binutils', '2.40')] +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5') +] local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks --with-versioned-syms " +local_common_configopts += "--enable-pc-files " configopts = [ # build ncurses: serial build in default paths with shared libraries local_common_configopts, @@ -35,12 +39,14 @@ postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln _target_suffix = ['', 'w'] # '': ncurses, 'w': ncursesw _lib_suffix = ['%s%s' % (x, y) for x in _target_suffix for y in ['.a', '_g.a', '.' + SHLIB_EXT]] _lib_names = ['form', 'menu', 'ncurses', 'panel', 'tinfo'] +_pc_names = ['form', 'menu', 'ncurses++', 'ncurses', 'panel'] sanity_check_paths = { 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config", "reset", "tabs", "tic", "toe", "tput", "tset"]] + ['lib/lib%s%s' % (x, y) for x in _lib_names for y in _lib_suffix] + - ['lib/libncurses++%s.a' % x for x in _target_suffix], + ['lib/libncurses++%s.a' % x for x in _target_suffix] + + ['lib/pkgconfig/%s%s.pc' % (x, y) for x in _pc_names for y in _target_suffix], 'dirs': ['include', 'include/ncursesw'], } diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.4-GCCcore-13.1.0.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.4-GCCcore-13.1.0.eb index edca9ab5954..40a35192762 100644 --- a/easybuild/easyconfigs/n/ncurses/ncurses-6.4-GCCcore-13.1.0.eb +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.4-GCCcore-13.1.0.eb @@ -18,9 +18,13 @@ source_urls = [GNU_SOURCE] sources = [SOURCE_TAR_GZ] checksums = ['6931283d9ac87c5073f30b6290c4c75f21632bb4fc3603ac8100812bed248159'] -builddependencies = [('binutils', '2.40')] +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.4'), +] local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks --with-versioned-syms " +local_common_configopts += "--enable-pc-files " configopts = [ # build ncurses: serial build in default paths with shared libraries local_common_configopts, @@ -35,12 +39,14 @@ postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln _target_suffix = ['', 'w'] # '': ncurses, 'w': ncursesw _lib_suffix = ['%s%s' % (x, y) for x in _target_suffix for y in ['.a', '_g.a', '.' + SHLIB_EXT]] _lib_names = ['form', 'menu', 'ncurses', 'panel', 'tinfo'] +_pc_names = ['form', 'menu', 'ncurses++', 'ncurses', 'panel'] sanity_check_paths = { 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config", "reset", "tabs", "tic", "toe", "tput", "tset"]] + ['lib/lib%s%s' % (x, y) for x in _lib_names for y in _lib_suffix] + - ['lib/libncurses++%s.a' % x for x in _target_suffix], + ['lib/libncurses++%s.a' % x for x in _target_suffix] + + ['lib/pkgconfig/%s%s.pc' % (x, y) for x in _pc_names for y in _target_suffix], 'dirs': ['include', 'include/ncursesw'], } diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.4-GCCcore-13.2.0.eb index 0bda2c35075..4c46e083143 100644 --- a/easybuild/easyconfigs/n/ncurses/ncurses-6.4-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.4-GCCcore-13.2.0.eb @@ -18,9 +18,13 @@ source_urls = [GNU_SOURCE] sources = [SOURCE_TAR_GZ] checksums = ['6931283d9ac87c5073f30b6290c4c75f21632bb4fc3603ac8100812bed248159'] -builddependencies = [('binutils', '2.40')] +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), +] local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks --with-versioned-syms " +local_common_configopts += "--enable-pc-files " configopts = [ # build ncurses: serial build in default paths with shared libraries local_common_configopts, @@ -35,12 +39,14 @@ postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln _target_suffix = ['', 'w'] # '': ncurses, 'w': ncursesw _lib_suffix = ['%s%s' % (x, y) for x in _target_suffix for y in ['.a', '_g.a', '.' + SHLIB_EXT]] _lib_names = ['form', 'menu', 'ncurses', 'panel', 'tinfo'] +_pc_names = ['form', 'menu', 'ncurses++', 'ncurses', 'panel'] sanity_check_paths = { 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config", "reset", "tabs", "tic", "toe", "tput", "tset"]] + ['lib/lib%s%s' % (x, y) for x in _lib_names for y in _lib_suffix] + - ['lib/libncurses++%s.a' % x for x in _target_suffix], + ['lib/libncurses++%s.a' % x for x in _target_suffix] + + ['lib/pkgconfig/%s%s.pc' % (x, y) for x in _pc_names for y in _target_suffix], 'dirs': ['include', 'include/ncursesw'], } From 82b242920ef61b576af272a772a7d2833fbf9267 Mon Sep 17 00:00:00 2001 From: Louwrens van Dellen Date: Sat, 20 Apr 2024 18:29:55 +0200 Subject: [PATCH 454/889] adding easyconfigs: texlive-20230313-GCC-13.2.0.eb, poppler-24.04.0-GCC-13.2.0.eb --- .../p/poppler/poppler-24.04.0-GCC-13.2.0.eb | 59 ++++++++++++++ .../t/texlive/texlive-20230313-GCC-13.2.0.eb | 78 +++++++++++++++++++ 2 files changed, 137 insertions(+) create mode 100644 easybuild/easyconfigs/p/poppler/poppler-24.04.0-GCC-13.2.0.eb create mode 100644 easybuild/easyconfigs/t/texlive/texlive-20230313-GCC-13.2.0.eb diff --git a/easybuild/easyconfigs/p/poppler/poppler-24.04.0-GCC-13.2.0.eb b/easybuild/easyconfigs/p/poppler/poppler-24.04.0-GCC-13.2.0.eb new file mode 100644 index 00000000000..a25a8747b34 --- /dev/null +++ b/easybuild/easyconfigs/p/poppler/poppler-24.04.0-GCC-13.2.0.eb @@ -0,0 +1,59 @@ +easyblock = 'Bundle' + +name = 'poppler' +version = '24.04.0' + +homepage = 'https://poppler.freedesktop.org' +description = "Poppler is a PDF rendering library" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +builddependencies = [ + ('CMake', '3.27.6'), + ('pkgconf', '2.0.3'), + ('Python', '3.11.5'), +] + +dependencies = [ + ('freetype', '2.13.2'), + ('fontconfig', '2.14.2'), + ('libjpeg-turbo', '3.0.1'), + ('libpng', '1.6.40'), + ('NSS', '3.94'), + ('LibTIFF', '4.6.0'), + ('Qt6', '6.6.3'), + ('Boost', '1.83.0'), + ('cairo', '1.18.0'), + ('OpenJPEG', '2.5.0'), + ('zlib', '1.2.13'), +] + +default_easyblock = 'CMakeMake' + +default_component_specs = { + 'start_dir': '%(name)s-%(version)s', +} + +components = [ + (name, version, { + 'source_urls': ['https://poppler.freedesktop.org/'], + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['1e804ec565acf7126eb2e9bb3b56422ab2039f7e05863a5dfabdd1ffd1bb77a7'], + 'configopts': "-DENABLE_BOOST=ON", + }), + ('poppler-data', '0.4.12', { + 'source_urls': ['https://poppler.freedesktop.org/'], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['c835b640a40ce357e1b83666aabd95edffa24ddddd49b8daff63adb851cdab74'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pdfinfo', 'lib/libpoppler.%s' % SHLIB_EXT, 'lib/libpoppler-cpp.%s' % SHLIB_EXT, + 'lib/libpoppler-glib.%s' % SHLIB_EXT, 'lib/libpoppler-qt5.%s' % SHLIB_EXT], + 'dirs': ['include/poppler', 'lib/pkgconfig', 'share'], +} + +sanity_check_commands = ["pdfinfo --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/texlive/texlive-20230313-GCC-13.2.0.eb b/easybuild/easyconfigs/t/texlive/texlive-20230313-GCC-13.2.0.eb new file mode 100644 index 00000000000..81f1a04bb93 --- /dev/null +++ b/easybuild/easyconfigs/t/texlive/texlive-20230313-GCC-13.2.0.eb @@ -0,0 +1,78 @@ +# Based off the 2017 version by John Dey jfdey@fredhutch.org +# https://github.com/easybuilders/easybuild-easyconfigs/pull/5085 +easyblock = 'Tarball' + +name = 'texlive' +version = '20230313' +local_ver_year = version[:4] + +homepage = 'https://tug.org' +description = """TeX is a typesetting language. Instead of visually formatting your text, you enter your manuscript + text intertwined with TeX commands in a plain text file. You then run TeX to produce formatted output, such as a + PDF file. Thus, in contrast to standard word processors, your document is a separate file that does not pretend to + be a representation of the final typeset output, and so can be easily edited and manipulated.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = [ + 'ftp://tug.org/texlive/historic/%s/' % local_ver_year, + 'https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/%s/' % local_ver_year, +] +sources = [ + { + 'download_filename': 'install-tl-unx.tar.gz', + 'filename': 'install-tl-unx-%(version)s.tar.gz' + } +] +checksums = ['d97bdb3b1903428e56373e70861b24db448243d74d950cdff96f4e888f008605'] + +dependencies = [ + ('X11', '20231019'), + ('libpng', '1.6.40'), + ('libGLU', '9.0.3'), + ('Perl', '5.38.0'), + ('HarfBuzz', '8.2.2'), + # TODO ('poppler', '23.09.0'), + ('cairo', '1.18.0'), + ('fontconfig', '2.14.2'), + ('zlib', '1.2.13'), + ('graphite2', '1.3.14'), +] + +# For the latest release, the tlnet-final repository isn't available yet, so we use the default +# But, the default can _not_ be used for the historic releases. The only way to write an EasyConfig +# that will work today and in the future, is to try one by one. +# Similarly, ftp is not available on all HPC systems, hence providing fallback to https +# See https://github.com/easybuilders/easybuild-easyconfigs/issues/17871 +local_install_tl = "%%(builddir)s/install-tl-%%(version)s/install-tl -profile %%(installdir)s/texlive.profile %s" +local_ftp = '-repository ftp://ftp.math.utah.edu/pub/tex/historic/systems/textlive/%s/tlnet-final' % local_ver_year +local_https = '-repository https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/%s/tlnet-final' % local_ver_year +local_install_tl_or = ( + ' || '.join([ + local_install_tl % '', + local_install_tl % local_ftp, + local_install_tl % local_https, + ]) +) +postinstallcmds = [ + 'echo "TEXDIR %%(installdir)s/" > %%(installdir)s/texlive.profile && ' + 'echo "TEXMFLOCAL %%(installdir)s/texmf-local" >> %%(installdir)s/texlive.profile && ' + 'echo "TEXMFSYSCONFIG %%(installdir)s/texmf-config" >> %%(installdir)s/texlive.profile && ' + 'echo "TEXMFSYSVAR %%(installdir)s/texmf-var" >> %%(installdir)s/texlive.profile && ' + '%s' % local_install_tl_or +] + +sanity_check_paths = { + 'files': ['bin/%(arch)s-linux/tex', 'bin/%(arch)s-linux/latex'], + 'dirs': ['bin/%(arch)s-linux', 'texmf-dist'], +} + +modextrapaths = { + 'INFOPATH': 'texmf-dist/doc/info', + 'MANPATH': 'texmf-dist/doc/man', + 'PATH': 'bin/%(arch)s-linux', +} + +modextravars = {'TEXMFHOME': '%(installdir)s/texmf-dist'} + +moduleclass = 'devel' From ab27c93841612492806ec8fdaf7d930006f1fc19 Mon Sep 17 00:00:00 2001 From: WilleBell Date: Mon, 22 Apr 2024 22:42:34 +0200 Subject: [PATCH 455/889] Make separate easyconfigs for MuJoCo and bindings as (in PR#18253) --- .../m/MuJoCo/MuJoCo-3.1.4-GCCcore-12.3.0.eb | 48 ++++++++++ .../m/MuJoCo/MuJoCo-3.1.4-foss-2023a.eb | 89 ------------------- .../python-mujoco-3.1.4-foss-2023a.eb | 57 ++++++++++++ 3 files changed, 105 insertions(+), 89 deletions(-) create mode 100644 easybuild/easyconfigs/m/MuJoCo/MuJoCo-3.1.4-GCCcore-12.3.0.eb delete mode 100644 easybuild/easyconfigs/m/MuJoCo/MuJoCo-3.1.4-foss-2023a.eb create mode 100644 easybuild/easyconfigs/p/python-mujoco/python-mujoco-3.1.4-foss-2023a.eb diff --git a/easybuild/easyconfigs/m/MuJoCo/MuJoCo-3.1.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/MuJoCo/MuJoCo-3.1.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..fe1f93209e0 --- /dev/null +++ b/easybuild/easyconfigs/m/MuJoCo/MuJoCo-3.1.4-GCCcore-12.3.0.eb @@ -0,0 +1,48 @@ +easyblock = 'PackedBinary' + +name = 'MuJoCo' +version = '3.1.4' + +homepage = 'https://mujoco.org/' +description = """MuJoCo stands for Multi-Joint dynamics with Contact. It is a general purpose +physics engine that aims to facilitate research and development in robotics, +biomechanics, graphics and animation, machine learning, and other areas which +demand fast and accurate simulation of articulated structures interacting with +their environment.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/deepmind/mujoco/releases/download/%(version)s'] +sources = ['%(namelower)s-%(version)s-linux-%(arch)s.tar.gz'] +checksums = ['3bb373e081daaf6bf179d7f83dd8fa39e491a6daa4250a1b7ac42850309cb313'] + +builddependencies = [ + ('binutils', '2.40'), +] + +# MuJoCo bundles 3 variants of glew using non-standard sonames: +# - libglew with GLX +# - libglewegl with EGL +# - libglewosmesa with OSMESA +# - Software depending on MuJoCo expect these non-standard sonames, so they should not be removed +# - libglew and libglewegl seem to work with Mesa and X11 for toolchain GCCcore/11.2.0 +# - libglewosmesa has to be replaced as it links to an old libOSMesa + +dependencies = [ + ('glew', '2.2.0', '-osmesa'), +] + +postinstallcmds = [ + # replace bundled libglewosmesa.so with glew libs from EB + "ln -sf $EBROOTGLEW/lib64/libGLEW.so %(installdir)s/lib/libglewosmesa.so", +] + +sanity_check_paths = { + 'files': ['bin/basic', 'bin/record', 'bin/simulate', + 'lib/libmujoco.%s' % SHLIB_EXT], + 'dirs': ['include', 'model', 'sample'], +} + +sanity_check_commands = ['basic'] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/m/MuJoCo/MuJoCo-3.1.4-foss-2023a.eb b/easybuild/easyconfigs/m/MuJoCo/MuJoCo-3.1.4-foss-2023a.eb deleted file mode 100644 index 95ca0016134..00000000000 --- a/easybuild/easyconfigs/m/MuJoCo/MuJoCo-3.1.4-foss-2023a.eb +++ /dev/null @@ -1,89 +0,0 @@ -easyblock = 'PackedBinary' - -name = 'MuJoCo' -version = '3.1.4' - -homepage = 'https://mujoco.org/' -description = """MuJoCo stands for Multi-Joint dynamics with Contact. It is a general purpose -physics engine that aims to facilitate research and development in robotics, -biomechanics, graphics and animation, machine learning, and other areas which -demand fast and accurate simulation of articulated structures interacting with -their environment.""" - -toolchain = {'name': 'foss', 'version': '2023a'} - -source_urls = ['https://github.com/deepmind/mujoco/releases/download/%(version)s'] -sources = ['%(namelower)s-%(version)s-linux-%(arch)s.tar.gz'] -checksums = ['3bb373e081daaf6bf179d7f83dd8fa39e491a6daa4250a1b7ac42850309cb313'] - -builddependencies = [ - ('binutils', '2.40'), - ('CMake', '3.26.3'), # for Python Bindings - ('Eigen', '3.4.0'), # for Python Bindings - ('pybind11', '2.11.1'), # for Python Bindings -] - -# MuJoCo bundles 3 variants of glew using non-standard sonames: -# - libglew with GLX -# - libglewegl with EGL -# - libglewosmesa with OSMESA -# - Software depending on MuJoCo expect these non-standard sonames, so they should not be removed -# - libglew and libglewegl seem to work with Mesa and X11 for toolchain GCCcore/11.2.0 -# - libglewosmesa has to be replaced as it links to an old libOSMesa - -dependencies = [ - ('glew', '2.2.0', '-osmesa'), - ('Python', '3.11.3'), # for Python Bindings - ('SciPy-bundle', '2023.07'), # for Python Bindings - ('Abseil', '20230125.3'), # for Python Bindings - ('GLFW', '3.4'), # for Python Bindings - ('PyOpenGL', '3.1.7'), # for Python Bindings -] - -# MuJoCo Python Bindings -exts_defaultclass = 'PythonPackage' - -exts_default_options = { - 'source_urls': [PYPI_SOURCE], - 'download_dep_fail': True, - 'use_pip': True, -} - -exts_list = [ - ('absl-py', '2.1.0', { - 'modulename': 'absl', - 'checksums': ['7820790efbb316739cde8b4e19357243fc3608a152024288513dd968d7d959ff'], - }), - ('glfw', '2.7.0', { - 'checksums': ['0e209ad38fa8c5be67ca590d7b17533d95ad1eb57d0a3f07b98131db69b79000'], - }), - ('etils', '1.8.0', { - 'checksums': ['fb478f57fec202e260e54c9192b317692fd63db2d11d993e70bcdffa29cccd58'], - }), - ('mujoco', version, { - 'patches': ['python-mujoco-3.1.4_use_eb_deps.patch'], - 'preinstallopts': 'MUJOCO_PATH="$EBROOTMUJOCO" MUJOCO_PLUGIN_PATH="$EBROOTMUJOCO/mujoco_plugin"', - 'checksums': [ - {'mujoco-3.1.4.tar.gz': '19d78bd7332b8bf02b8d7ca35d381a9f8f1654f4c70c0d7f499c6d4d807c4059'}, - {'python-mujoco-3.1.4_use_eb_deps.patch': - '2160f00996011ff31faaf566d1cb0c0ae4fe49b3c36c29e860b34a61fa732b55'}, - ], - }), -] - -modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} - -postinstallcmds = [ - # replace bundled libglewosmesa.so with glew libs from EB - "ln -sf $EBROOTGLEW/lib64/libGLEW.so %(installdir)s/lib/libglewosmesa.so", -] - -sanity_check_paths = { - 'files': ['bin/basic', 'bin/record', 'bin/simulate', - 'lib/libmujoco.%s' % SHLIB_EXT], - 'dirs': ['include', 'model', 'sample', 'bin/mujoco_plugin'], -} - -sanity_check_commands = ['basic', 'record', 'testspeed', 'compile'] - -moduleclass = 'phys' diff --git a/easybuild/easyconfigs/p/python-mujoco/python-mujoco-3.1.4-foss-2023a.eb b/easybuild/easyconfigs/p/python-mujoco/python-mujoco-3.1.4-foss-2023a.eb new file mode 100644 index 00000000000..ea4591a1783 --- /dev/null +++ b/easybuild/easyconfigs/p/python-mujoco/python-mujoco-3.1.4-foss-2023a.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'python-mujoco' +version = '3.1.4' + +homepage = 'https://www.mujoco.org' +description = """ +This package is the canonical Python bindings for the MuJoCo physics engine. +The mujoco package provides direct access to raw MuJoCo C API functions, structs, +constants, and enumerations. Structs are provided as Python classes, with +Pythonic initialization and deletion semantics. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('CMake', '3.26.3'), + ('Eigen', '3.4.0'), + ('pybind11', '2.11.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Abseil', '20230125.3'), + ('MuJoCo', '3.1.4'), + ('GLFW', '3.4'), + ('PyOpenGL', '3.1.7'), +] + +use_pip = True + +exts_list = [ + ('absl-py', '2.1.0', { + 'modulename': 'absl', + 'checksums': ['7820790efbb316739cde8b4e19357243fc3608a152024288513dd968d7d959ff'], + }), + ('glfw', '2.7.0', { + 'checksums': ['0e209ad38fa8c5be67ca590d7b17533d95ad1eb57d0a3f07b98131db69b79000'], + }), + ('etils', '1.8.0', { + 'checksums': ['fb478f57fec202e260e54c9192b317692fd63db2d11d993e70bcdffa29cccd58'], + }), + ('mujoco', version, { + 'patches': ['python-mujoco-3.1.4_use_eb_deps.patch'], + 'preinstallopts': 'MUJOCO_PATH="$EBROOTMUJOCO" MUJOCO_PLUGIN_PATH="$EBROOTMUJOCO/bin/mujoco_plugin"', + 'checksums': [ + {'mujoco-3.1.4.tar.gz': '19d78bd7332b8bf02b8d7ca35d381a9f8f1654f4c70c0d7f499c6d4d807c4059'}, + {'python-mujoco-3.1.4_use_eb_deps.patch': + '2160f00996011ff31faaf566d1cb0c0ae4fe49b3c36c29e860b34a61fa732b55'}, + ], + }), +] + +sanity_pip_check = True + +moduleclass = 'phys' From 4dcae6159148254300e14b200586e711c6af8465 Mon Sep 17 00:00:00 2001 From: Cintia Willemyns <115622907+WilleBell@users.noreply.github.com> Date: Mon, 22 Apr 2024 22:57:03 +0200 Subject: [PATCH 456/889] Move python-mujoco patch under python-mujoco dir --- .../python-mujoco}/python-mujoco-3.1.4_use_eb_deps.patch | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/{m/MuJoCo => p/python-mujoco}/python-mujoco-3.1.4_use_eb_deps.patch (100%) diff --git a/easybuild/easyconfigs/m/MuJoCo/python-mujoco-3.1.4_use_eb_deps.patch b/easybuild/easyconfigs/p/python-mujoco/python-mujoco-3.1.4_use_eb_deps.patch similarity index 100% rename from easybuild/easyconfigs/m/MuJoCo/python-mujoco-3.1.4_use_eb_deps.patch rename to easybuild/easyconfigs/p/python-mujoco/python-mujoco-3.1.4_use_eb_deps.patch From 904ea13c5a58a28d058bf44664c4496550712f9c Mon Sep 17 00:00:00 2001 From: Louwrens van Dellen Date: Mon, 22 Apr 2024 23:57:54 +0200 Subject: [PATCH 457/889] fixup texlive-20230313-GCC-13.2.0.eb --- easybuild/easyconfigs/t/texlive/texlive-20230313-GCC-13.2.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/t/texlive/texlive-20230313-GCC-13.2.0.eb b/easybuild/easyconfigs/t/texlive/texlive-20230313-GCC-13.2.0.eb index 81f1a04bb93..5d21ba5f6d1 100644 --- a/easybuild/easyconfigs/t/texlive/texlive-20230313-GCC-13.2.0.eb +++ b/easybuild/easyconfigs/t/texlive/texlive-20230313-GCC-13.2.0.eb @@ -32,7 +32,7 @@ dependencies = [ ('libGLU', '9.0.3'), ('Perl', '5.38.0'), ('HarfBuzz', '8.2.2'), - # TODO ('poppler', '23.09.0'), + ('poppler', '24.04.0'), ('cairo', '1.18.0'), ('fontconfig', '2.14.2'), ('zlib', '1.2.13'), From 81f82c947a4aed150343477c3f786bd95d5ef675 Mon Sep 17 00:00:00 2001 From: Adam Huffman <12435+verdurin@users.noreply.github.com> Date: Tue, 23 Apr 2024 09:14:34 +0000 Subject: [PATCH 458/889] adding easyconfigs: RAxML-8.2.12-gompi-2022b-avx2.eb, RAxML-NG-1.2.0-GCC-12.2.0.eb --- .../r/RAxML-NG/RAxML-NG-1.2.0-GCC-12.2.0.eb | 43 +++++++++++++++++++ .../r/RAxML/RAxML-8.2.12-gompi-2022b-avx2.eb | 35 +++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-1.2.0-GCC-12.2.0.eb create mode 100644 easybuild/easyconfigs/r/RAxML/RAxML-8.2.12-gompi-2022b-avx2.eb diff --git a/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-1.2.0-GCC-12.2.0.eb b/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-1.2.0-GCC-12.2.0.eb new file mode 100644 index 00000000000..1ca43f33fd7 --- /dev/null +++ b/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-1.2.0-GCC-12.2.0.eb @@ -0,0 +1,43 @@ +# EasyBuild easyconfig +# +# Contributed from Fred Hutchinson Cancer Research Center, Seattle WA, US +# John Dey jfdey@fredhutch.org +# +easyblock = 'CMakeMake' + +name = 'RAxML-NG' +version = '1.2.0' + +homepage = 'https://github.com/amkozlov/raxml-ng' +description = """RAxML-NG is a phylogenetic tree inference tool which uses maximum-likelihood (ML) + optimality criterion. Its search heuristic is based on iteratively performing a series of Subtree + Pruning and Regrafting (SPR) moves, which allows to quickly navigate to the best-known ML tree.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +sources = [{ + 'filename': '%(name)s-%(version)s.tar.gz', + 'git_config': { + 'url': 'https://github.com/amkozlov', + 'repo_name': '%(namelower)s', + 'tag': '%(version)s', + 'recursive': True, + 'keep_git_dir': True, + } +}] +checksums = [None] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), +] + +sanity_check_paths = { + 'files': ['bin/raxml-ng'], + 'dirs': [], +} + +sanity_check_commands = ["raxml-ng --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RAxML/RAxML-8.2.12-gompi-2022b-avx2.eb b/easybuild/easyconfigs/r/RAxML/RAxML-8.2.12-gompi-2022b-avx2.eb new file mode 100644 index 00000000000..8b13f18b2d6 --- /dev/null +++ b/easybuild/easyconfigs/r/RAxML/RAxML-8.2.12-gompi-2022b-avx2.eb @@ -0,0 +1,35 @@ +easyblock = 'MakeCp' + +name = 'RAxML' +version = '8.2.12' +versionsuffix = '-avx2' + +homepage = 'https://github.com/stamatak/standard-RAxML' +description = "RAxML search algorithm for maximum likelihood based inference of phylogenetic trees." + +toolchain = {'name': 'gompi', 'version': '2022b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/stamatak/standard-RAxML/archive/'] +sources = ['v%(version)s.zip'] +checksums = ['abe6978c6027e897ebed67066836e4eadd57ecd0d042045634424dd001e86105'] + +buildopts = '-f Makefile.AVX2.gcc CC="$CC" && rm *.o && ' +buildopts += 'make -j %(parallel)s -f Makefile.AVX2.PTHREADS.gcc CC="$CC" && rm *.o && ' +buildopts += 'make -j %(parallel)s -f Makefile.AVX2.HYBRID.gcc CC="$CC"' + +files_to_copy = [ + (["raxmlHPC-AVX2", "raxmlHPC-PTHREADS-AVX2", "raxmlHPC-HYBRID-AVX2"], "bin"), + "usefulScripts", "README", "manual" +] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s raxmlHPC-AVX2 raxmlHPC"] + +sanity_check_paths = { + 'files': ['bin/raxmlHPC'], + 'dirs': [], +} + +sanity_check_commands = ["raxmlHPC -%s" % x for x in ['h', 'v']] + +moduleclass = 'bio' From 6ad57de3563d54a1bd22c27f8be50a04fdd17b3e Mon Sep 17 00:00:00 2001 From: Adam Huffman <12435+verdurin@users.noreply.github.com> Date: Tue, 23 Apr 2024 09:16:33 +0000 Subject: [PATCH 459/889] adding easyconfigs: subunit-1.4.3-GCCcore-12.2.0.eb, Check-0.15.2-GCCcore-12.2.0.eb --- .../c/Check/Check-0.15.2-GCCcore-12.2.0.eb | 37 ++++++++++++ .../s/subunit/subunit-1.4.3-GCCcore-12.2.0.eb | 59 +++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 easybuild/easyconfigs/c/Check/Check-0.15.2-GCCcore-12.2.0.eb create mode 100644 easybuild/easyconfigs/s/subunit/subunit-1.4.3-GCCcore-12.2.0.eb diff --git a/easybuild/easyconfigs/c/Check/Check-0.15.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/Check/Check-0.15.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..80669a6c261 --- /dev/null +++ b/easybuild/easyconfigs/c/Check/Check-0.15.2-GCCcore-12.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'Check' +version = '0.15.2' + +homepage = 'https://libcheck.github.io/check/' +description = """ +Check is a unit testing framework for C. It features a simple interface for +defining unit tests, putting little in the way of the developer. Tests are +run in a separate address space, so both assertion failures and code errors +that cause segmentation faults or other signals can be caught. Test results +are reportable in the following: Subunit, TAP, XML, and a generic logging +format.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +github_account = 'libcheck' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['998d355294bb94072f40584272cf4424571c396c631620ce463f6ea97aa67d2e'] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), + ('pkgconf', '1.9.3'), +] + +preconfigopts = "autoreconf -f -i && " +configopts = "--disable-build-docs" + +sanity_check_paths = { + 'files': ['bin/checkmk', 'lib/libcheck.a', 'lib/libcheck.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/subunit/subunit-1.4.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/s/subunit/subunit-1.4.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..129a6a8974c --- /dev/null +++ b/easybuild/easyconfigs/s/subunit/subunit-1.4.3-GCCcore-12.2.0.eb @@ -0,0 +1,59 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'ConfigureMake' + +name = 'subunit' +version = '1.4.3' + +homepage = "https://github.com/testing-cabal/subunit" +description = """Subunit is a streaming protocol for test results.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/testing-cabal/subunit/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['dc4bf970521d3382eb33cd58aff8b5b65a0d86e1fe8d5d97abb969413909907c'] + +builddependencies = [ + ('Autotools', '20220317'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('Check', '0.15.2'), + ('CppUnit', '1.15.1'), + ('Python', '3.10.8'), +] + +preconfigopts = "autoreconf -vi &&" + +exts_defaultclass = 'PythonPackage' + +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'use_pip': True, + 'download_dep_fail': True, + 'sanity_pip_check': True, +} + +exts_list = [ + ('iso8601', '1.1.0', { + 'checksums': ['32811e7b81deee2063ea6d2e94f8819a86d1f3811e49d23623a41fa832bef03f'], + }), + ('fixtures', '4.1.0', { + 'checksums': ['82b1c5e69f615526ef6c067188a1e6c6067df7f88332509c99f8b8fdbb9776f3'], + }), + ('testtools', '2.6.0', { + 'checksums': ['28b65e14c0f2d3ecbbfb5f55c9dcde5e4faa80ac16a37a823909a1fe3cbcb30a'], + }), +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_paths = { + 'files': ['lib/libsubunit.a', 'lib/libsubunit.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ['python -c "import subunit"'] + +moduleclass = 'tools' From 2eeb119ddc684d2b9908a5705743b963bec46707 Mon Sep 17 00:00:00 2001 From: Adam Huffman <12435+verdurin@users.noreply.github.com> Date: Tue, 23 Apr 2024 10:03:57 +0000 Subject: [PATCH 460/889] Add missing binutils build-dep --- easybuild/easyconfigs/s/subunit/subunit-1.4.3-GCCcore-12.2.0.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/s/subunit/subunit-1.4.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/s/subunit/subunit-1.4.3-GCCcore-12.2.0.eb index 129a6a8974c..804bf9518bd 100644 --- a/easybuild/easyconfigs/s/subunit/subunit-1.4.3-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/s/subunit/subunit-1.4.3-GCCcore-12.2.0.eb @@ -14,6 +14,7 @@ sources = ['%(version)s.tar.gz'] checksums = ['dc4bf970521d3382eb33cd58aff8b5b65a0d86e1fe8d5d97abb969413909907c'] builddependencies = [ + ('binutils', '2.39'), ('Autotools', '20220317'), ('pkgconf', '1.9.3'), ] From 1c205b277db4f222b4464b3fbc23e1e1cde41ee3 Mon Sep 17 00:00:00 2001 From: Adam Huffman <12435+verdurin@users.noreply.github.com> Date: Tue, 23 Apr 2024 10:07:34 +0000 Subject: [PATCH 461/889] Add missing CppUnit --- .../CppUnit/CppUnit-1.15.1-GCCcore-12.2.0.eb | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 easybuild/easyconfigs/c/CppUnit/CppUnit-1.15.1-GCCcore-12.2.0.eb diff --git a/easybuild/easyconfigs/c/CppUnit/CppUnit-1.15.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/CppUnit/CppUnit-1.15.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..404431b947f --- /dev/null +++ b/easybuild/easyconfigs/c/CppUnit/CppUnit-1.15.1-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'CppUnit' +version = '1.15.1' + +homepage = 'https://freedesktop.org/wiki/Software/cppunit/' + +description = """ + CppUnit is the C++ port of the famous JUnit framework for unit testing. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://dev-www.libreoffice.org/src'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7'] + +builddependencies = [ + ('binutils', '2.39'), +] + +sanity_check_paths = { + 'files': ['lib/libcppunit.a', 'lib/libcppunit.%s' % SHLIB_EXT, + 'lib/pkgconfig/cppunit.pc'], + 'dirs': ['bin', 'include/cppunit', 'share'], +} + +moduleclass = 'tools' From 9bbb7ebc8cbd16f72060be8f81776b2ce73c72d0 Mon Sep 17 00:00:00 2001 From: Jordi Date: Tue, 23 Apr 2024 14:28:16 +0200 Subject: [PATCH 462/889] Apply suggestions from code review Co-authored-by: Jasper Grimm <65227842+jfgrimm@users.noreply.github.com> --- easybuild/easyconfigs/f/fgbio/fgbio-2.2.1.eb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/f/fgbio/fgbio-2.2.1.eb b/easybuild/easyconfigs/f/fgbio/fgbio-2.2.1.eb index a1867277c47..5d1388be1f1 100644 --- a/easybuild/easyconfigs/f/fgbio/fgbio-2.2.1.eb +++ b/easybuild/easyconfigs/f/fgbio/fgbio-2.2.1.eb @@ -2,6 +2,7 @@ easyblock = 'CmdCp' name = 'fgbio' version = '2.2.1' +versionsuffix = '-Java-%(javaver)s homepage = 'https://fulcrumgenomics.github.io/fgbio' description = "A set of tools to analyze genomic data with a focus on Next Generation Sequencing." @@ -13,7 +14,7 @@ sources = ['%(version)s.zip'] checksums = ['0810b10365f501bcba1e00e02bd4543270bc8eb8bfb18cca07e89bafedbc2a79'] builddependencies = [ - ('sbt', '1.3.13', '-Java-%(javaver)s'), + ('sbt', '1.3.13', versionsuffix), ] dependencies = [('Java', '8')] From 13dc28dee2f0b61d8d1c3899fd3eaceb7e26d809 Mon Sep 17 00:00:00 2001 From: ocaisa Date: Tue, 23 Apr 2024 14:45:59 +0200 Subject: [PATCH 463/889] Update easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2023a.eb Co-authored-by: Alexander Grund --- easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2023a.eb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2023a.eb b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2023a.eb index 3d4cbd10978..08b8a8ddb8f 100644 --- a/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2023a.eb +++ b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2023a.eb @@ -12,10 +12,14 @@ toolchain = {'name': 'foss', 'version': '2023a'} source_urls = ['https://github.com/molmod/tamkin/releases/download/%(version)s'] sources = [SOURCE_TAR_GZ] -patches = ['TAMkin-1.2.6_fix-python38.patch'] +patches = [ + 'TAMkin-1.2.6_fix-python38.patch', + 'TAMkin-1.2.6_fix-test_vsa_no_mass.patch', +] checksums = [ {'TAMkin-1.2.6.tar.gz': '1bde275a09be91e5241616aaa9fedc60cb359a263f5c5909bb14431c3a4ed5fd'}, {'TAMkin-1.2.6_fix-python38.patch': '1633d5b24b012f8c4b6731491e4072c819ebbba65574966b7185ecca52eeac9b'}, + {'TAMkin-1.2.6_fix-test_vsa_no_mass.patch': '67d8b8671d7c71123e8ee9a7b9ebea6562e9711edb41555d1926b1b51d549066'}, ] dependencies = [ From b63f81bc8022ee8a4a5056dc358511e24db6cfb5 Mon Sep 17 00:00:00 2001 From: ocaisa Date: Tue, 23 Apr 2024 14:51:26 +0200 Subject: [PATCH 464/889] Update PyTables-3.8.0-foss-2023a.eb --- .../easyconfigs/p/PyTables/PyTables-3.8.0-foss-2023a.eb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2023a.eb b/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2023a.eb index c55635bd696..aa0f5688a79 100644 --- a/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2023a.eb +++ b/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2023a.eb @@ -47,13 +47,13 @@ exts_list = [ }), ('tables', version, { 'patches': [ - 'PyTables-%(version)s_fix-libs.patch', - 'PyTables-%(version)s_fix-find-blosc2-library-path.patch', + 'PyTables-3.8.0_fix-libs.patch', + 'PyTables-3.8.0_fix-find-blosc2-library-path.patch', ], 'checksums': [ {'tables-%(version)s.tar.gz': '34f3fa2366ce20b18f1df573a77c1d27306ce1f2a41d9f9eff621b5192ea8788'}, - {'PyTables-%(version)s_fix-libs.patch': '7a1e6fa1f9169e52293e2b433a4302fa13c5d31e7709cd4fe0e087199b9e3f8a'}, - {'PyTables-%(version)s_fix-find-blosc2-library-path.patch': + {'PyTables-3.8.0_fix-libs.patch': '7a1e6fa1f9169e52293e2b433a4302fa13c5d31e7709cd4fe0e087199b9e3f8a'}, + {'PyTables-3.8.0_fix-find-blosc2-library-path.patch': 'dcf6c3a16a138454296161e99cf6470620755d4c26303186a744f09a11e6013b'}, ], }), From bb6e4d6ceb47405607ddd224599172c6f0fe7c11 Mon Sep 17 00:00:00 2001 From: jfgrimm Date: Tue, 23 Apr 2024 13:56:50 +0100 Subject: [PATCH 465/889] fix missing quote, and rename file --- .../f/fgbio/{fgbio-2.2.1.eb => fgbio-2.2.1-Java-8.eb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename easybuild/easyconfigs/f/fgbio/{fgbio-2.2.1.eb => fgbio-2.2.1-Java-8.eb} (97%) diff --git a/easybuild/easyconfigs/f/fgbio/fgbio-2.2.1.eb b/easybuild/easyconfigs/f/fgbio/fgbio-2.2.1-Java-8.eb similarity index 97% rename from easybuild/easyconfigs/f/fgbio/fgbio-2.2.1.eb rename to easybuild/easyconfigs/f/fgbio/fgbio-2.2.1-Java-8.eb index 5d1388be1f1..56e28293e92 100644 --- a/easybuild/easyconfigs/f/fgbio/fgbio-2.2.1.eb +++ b/easybuild/easyconfigs/f/fgbio/fgbio-2.2.1-Java-8.eb @@ -2,7 +2,7 @@ easyblock = 'CmdCp' name = 'fgbio' version = '2.2.1' -versionsuffix = '-Java-%(javaver)s +versionsuffix = '-Java-%(javaver)s' homepage = 'https://fulcrumgenomics.github.io/fgbio' description = "A set of tools to analyze genomic data with a focus on Next Generation Sequencing." From 4983022ec6c696a7f42d5bad2af6bc6326da1562 Mon Sep 17 00:00:00 2001 From: Jasper Grimm <65227842+jfgrimm@users.noreply.github.com> Date: Tue, 23 Apr 2024 15:08:45 +0200 Subject: [PATCH 466/889] fix sbt 1.6.2 checksum --- easybuild/easyconfigs/s/sbt/sbt-1.6.2-Java-8.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/s/sbt/sbt-1.6.2-Java-8.eb b/easybuild/easyconfigs/s/sbt/sbt-1.6.2-Java-8.eb index 0064c01d1e3..b873f927a57 100644 --- a/easybuild/easyconfigs/s/sbt/sbt-1.6.2-Java-8.eb +++ b/easybuild/easyconfigs/s/sbt/sbt-1.6.2-Java-8.eb @@ -11,7 +11,7 @@ toolchain = SYSTEM source_urls = ['https://github.com/sbt/sbt/releases/download/v%(version)s'] sources = [SOURCE_TGZ] -checksums = ['854154de27a7d8c13b5a0f9a297cd1f254cc13b44588dae507e5d4fb2741bd22'] +checksums = ['637637b6c4e6fa04ab62cd364061e32b12480b09001cd23303df62b36fadd440'] dependencies = [('Java', '8')] From dcfb0cc2af6c406d594a5f868ee9ad13c884b42a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 23 Apr 2024 15:24:39 +0200 Subject: [PATCH 467/889] add `include/subunit` dir to sanity_check_paths --- easybuild/easyconfigs/s/subunit/subunit-1.4.3-GCCcore-12.2.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/s/subunit/subunit-1.4.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/s/subunit/subunit-1.4.3-GCCcore-12.2.0.eb index 804bf9518bd..059b784a9fb 100644 --- a/easybuild/easyconfigs/s/subunit/subunit-1.4.3-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/s/subunit/subunit-1.4.3-GCCcore-12.2.0.eb @@ -52,7 +52,7 @@ modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} sanity_check_paths = { 'files': ['lib/libsubunit.a', 'lib/libsubunit.%s' % SHLIB_EXT], - 'dirs': [], + 'dirs': ['include/subunit'], } sanity_check_commands = ['python -c "import subunit"'] From cd59a691d5039b90c07d02c3ec4f802083df083c Mon Sep 17 00:00:00 2001 From: Louwrens van Dellen Date: Wed, 24 Apr 2024 00:28:40 +0200 Subject: [PATCH 468/889] add gnupg-bundle-20240306-GCCcore-13.2.0.eb, fixup poppler-24.04.0-GCC-13.2.0.eb --- .../gnupg-bundle-20240306-GCCcore-13.2.0.eb | 58 +++++++++++++++++++ .../p/poppler/poppler-24.04.0-GCC-13.2.0.eb | 5 +- 2 files changed, 61 insertions(+), 2 deletions(-) create mode 100644 easybuild/easyconfigs/g/gnupg-bundle/gnupg-bundle-20240306-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/g/gnupg-bundle/gnupg-bundle-20240306-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/gnupg-bundle/gnupg-bundle-20240306-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..bb6d16f9f7e --- /dev/null +++ b/easybuild/easyconfigs/g/gnupg-bundle/gnupg-bundle-20240306-GCCcore-13.2.0.eb @@ -0,0 +1,58 @@ +easyblock = 'Bundle' + +name = 'gnupg-bundle' +version = '20240306' + +homepage = 'https://www.gnupg.org/software/index.html' +description = """GnuPG — The Universal Crypto Engine""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [('binutils', '2.40')] + +default_easyblock = 'ConfigureMake' + +default_component_specs = { + 'sources': [SOURCE_TAR_BZ2], + 'start_dir': '%(name)s-%(version)s', +} + +components = [ + ('libgpg-error', '1.48', { # 2024-02-23 + 'source_urls': ['https://www.gnupg.org/ftp/gcrypt/libgpg-error/'], + 'checksums': ['89ce1ae893e122924b858de84dc4f67aae29ffa610ebf668d5aa539045663d6f'], + }), + ('libassuan', '2.5.7', { # 2024-03-06 + 'source_urls': ['https://www.gnupg.org/ftp/gcrypt/libassuan/'], + 'checksums': ['0103081ffc27838a2e50479153ca105e873d3d65d8a9593282e9c94c7e6afb76'], + }), + ('libgcrypt', '1.10.3', { # 2023-11-14 + 'source_urls': ['https://www.gnupg.org/ftp/gcrypt/libgcrypt/'], + 'checksums': ['8b0870897ac5ac67ded568dcfadf45969cfa8a6beb0fd60af2a9eadc2a3272aa'], + }), + ('libksba', '1.6.6', { # 2024-02-23 + 'source_urls': ['https://www.gnupg.org/ftp/gcrypt/libksba/'], + 'checksums': ['5dec033d211559338838c0c4957c73dfdc3ee86f73977d6279640c9cd08ce6a4'], + }), + ('npth', '1.7', { # 2024-02-23 + 'source_urls': ['https://www.gnupg.org/ftp/gcrypt/npth/'], + 'checksums': ['8589f56937b75ce33b28d312fccbf302b3b71ec3f3945fde6aaa74027914ad05'], + }), + ('gnupg', '2.4.5', { # 2024-03-07 + 'source_urls': ['https://www.gnupg.org/ftp/gcrypt/gnupg/'], + 'checksums': ['f68f7d75d06cb1635c336d34d844af97436c3f64ea14bcb7c869782f96f44277'], + }), + ('gpgme', '1.23.2', { # 2023-11-28 + 'source_urls': ['https://www.gnupg.org/ftp/gcrypt/gpgme/'], + 'checksums': ['9499e8b1f33cccb6815527a1bc16049d35a6198a6c5fae0185f2bd561bce5224'], + }), +] + +sanity_check_paths = { + 'files': ['bin/gpgrt-config','bin/libassuan-config','bin/libgcrypt-config', + 'include/gpg-error.h', 'include/gcrypt.h', 'include/gpgrt.h', + 'include/gpgme.h', 'include/npth.h', 'include/assuan.h'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/p/poppler/poppler-24.04.0-GCC-13.2.0.eb b/easybuild/easyconfigs/p/poppler/poppler-24.04.0-GCC-13.2.0.eb index a25a8747b34..b87358a52ff 100644 --- a/easybuild/easyconfigs/p/poppler/poppler-24.04.0-GCC-13.2.0.eb +++ b/easybuild/easyconfigs/p/poppler/poppler-24.04.0-GCC-13.2.0.eb @@ -26,6 +26,7 @@ dependencies = [ ('cairo', '1.18.0'), ('OpenJPEG', '2.5.0'), ('zlib', '1.2.13'), + ('gnupg-bundle', '20240306'), ] default_easyblock = 'CMakeMake' @@ -39,7 +40,7 @@ components = [ 'source_urls': ['https://poppler.freedesktop.org/'], 'sources': [SOURCE_TAR_XZ], 'checksums': ['1e804ec565acf7126eb2e9bb3b56422ab2039f7e05863a5dfabdd1ffd1bb77a7'], - 'configopts': "-DENABLE_BOOST=ON", + 'configopts': "-DENABLE_BOOST=ON -DENABLE_QT5=OFF -DENABLE_LCMS=OFF", }), ('poppler-data', '0.4.12', { 'source_urls': ['https://poppler.freedesktop.org/'], @@ -50,7 +51,7 @@ components = [ sanity_check_paths = { 'files': ['bin/pdfinfo', 'lib/libpoppler.%s' % SHLIB_EXT, 'lib/libpoppler-cpp.%s' % SHLIB_EXT, - 'lib/libpoppler-glib.%s' % SHLIB_EXT, 'lib/libpoppler-qt5.%s' % SHLIB_EXT], + 'lib/libpoppler-glib.%s' % SHLIB_EXT, 'lib/libpoppler-qt6.%s' % SHLIB_EXT], 'dirs': ['include/poppler', 'lib/pkgconfig', 'share'], } From 03de03d3d0db982ba6863ec34aa49a7b8811945c Mon Sep 17 00:00:00 2001 From: Louwrens van Dellen Date: Wed, 24 Apr 2024 08:00:34 +0200 Subject: [PATCH 469/889] fixup style gnupg-bundle-20240306-GCCcore-13.2.0.eb --- .../gnupg-bundle-20240306-GCCcore-13.2.0.eb | 56 +++++++++++-------- 1 file changed, 32 insertions(+), 24 deletions(-) diff --git a/easybuild/easyconfigs/g/gnupg-bundle/gnupg-bundle-20240306-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/gnupg-bundle/gnupg-bundle-20240306-GCCcore-13.2.0.eb index bb6d16f9f7e..67d7657a048 100644 --- a/easybuild/easyconfigs/g/gnupg-bundle/gnupg-bundle-20240306-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/g/gnupg-bundle/gnupg-bundle-20240306-GCCcore-13.2.0.eb @@ -18,40 +18,48 @@ default_component_specs = { } components = [ - ('libgpg-error', '1.48', { # 2024-02-23 - 'source_urls': ['https://www.gnupg.org/ftp/gcrypt/libgpg-error/'], + ('libgpg-error', '1.48', { # 2024-02-23 + 'source_urls': ['https://www.gnupg.org/ftp/gcrypt/libgpg-error/'], 'checksums': ['89ce1ae893e122924b858de84dc4f67aae29ffa610ebf668d5aa539045663d6f'], - }), - ('libassuan', '2.5.7', { # 2024-03-06 - 'source_urls': ['https://www.gnupg.org/ftp/gcrypt/libassuan/'], + }), + ('libassuan', '2.5.7', { # 2024-03-06 + 'source_urls': ['https://www.gnupg.org/ftp/gcrypt/libassuan/'], 'checksums': ['0103081ffc27838a2e50479153ca105e873d3d65d8a9593282e9c94c7e6afb76'], - }), - ('libgcrypt', '1.10.3', { # 2023-11-14 - 'source_urls': ['https://www.gnupg.org/ftp/gcrypt/libgcrypt/'], + }), + ('libgcrypt', '1.10.3', { # 2023-11-14 + 'source_urls': ['https://www.gnupg.org/ftp/gcrypt/libgcrypt/'], 'checksums': ['8b0870897ac5ac67ded568dcfadf45969cfa8a6beb0fd60af2a9eadc2a3272aa'], - }), - ('libksba', '1.6.6', { # 2024-02-23 - 'source_urls': ['https://www.gnupg.org/ftp/gcrypt/libksba/'], + }), + ('libksba', '1.6.6', { # 2024-02-23 + 'source_urls': ['https://www.gnupg.org/ftp/gcrypt/libksba/'], 'checksums': ['5dec033d211559338838c0c4957c73dfdc3ee86f73977d6279640c9cd08ce6a4'], - }), - ('npth', '1.7', { # 2024-02-23 - 'source_urls': ['https://www.gnupg.org/ftp/gcrypt/npth/'], + }), + ('npth', '1.7', { # 2024-02-23 + 'source_urls': ['https://www.gnupg.org/ftp/gcrypt/npth/'], 'checksums': ['8589f56937b75ce33b28d312fccbf302b3b71ec3f3945fde6aaa74027914ad05'], - }), - ('gnupg', '2.4.5', { # 2024-03-07 - 'source_urls': ['https://www.gnupg.org/ftp/gcrypt/gnupg/'], + }), + ('gnupg', '2.4.5', { # 2024-03-07 + 'source_urls': ['https://www.gnupg.org/ftp/gcrypt/gnupg/'], 'checksums': ['f68f7d75d06cb1635c336d34d844af97436c3f64ea14bcb7c869782f96f44277'], - }), - ('gpgme', '1.23.2', { # 2023-11-28 - 'source_urls': ['https://www.gnupg.org/ftp/gcrypt/gpgme/'], + }), + ('gpgme', '1.23.2', { # 2023-11-28 + 'source_urls': ['https://www.gnupg.org/ftp/gcrypt/gpgme/'], 'checksums': ['9499e8b1f33cccb6815527a1bc16049d35a6198a6c5fae0185f2bd561bce5224'], - }), + }), ] sanity_check_paths = { - 'files': ['bin/gpgrt-config','bin/libassuan-config','bin/libgcrypt-config', - 'include/gpg-error.h', 'include/gcrypt.h', 'include/gpgrt.h', - 'include/gpgme.h', 'include/npth.h', 'include/assuan.h'], + 'files': [ + 'bin/gpgrt-config', + 'bin/libassuan-config', + 'bin/libgcrypt-config', + 'include/gpg-error.h', + 'include/gcrypt.h', + 'include/gpgrt.h', + 'include/gpgme.h', + 'include/npth.h', + 'include/assuan.h', + ], 'dirs': ['lib/pkgconfig'], } From 6ffb9280bcaace7a804349605a6960b0d51b80a4 Mon Sep 17 00:00:00 2001 From: crivella Date: Wed, 24 Apr 2024 11:06:06 +0200 Subject: [PATCH 470/889] Hashes from git sources are not fixed --- .../m/MetalWalls/MetalWalls-21.06.1-foss-2023a.eb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/m/MetalWalls/MetalWalls-21.06.1-foss-2023a.eb b/easybuild/easyconfigs/m/MetalWalls/MetalWalls-21.06.1-foss-2023a.eb index befc9d08b76..432ac83e890 100644 --- a/easybuild/easyconfigs/m/MetalWalls/MetalWalls-21.06.1-foss-2023a.eb +++ b/easybuild/easyconfigs/m/MetalWalls/MetalWalls-21.06.1-foss-2023a.eb @@ -21,7 +21,10 @@ sources = [ }, ] checksums = [ - '8852bf5bd3591868cc2af6be378ac4dbfcd209d53acc176536038dbe69892b3d', + # # Holding off checksum checks untill 5.0.x + # # https://github.com/easybuilders/easybuild-framework/pull/4248 + # '8852bf5bd3591868cc2af6be378ac4dbfcd209d53acc176536038dbe69892b3d', + None ] builddependencies = [ From db42074d49859a217cf556239444006c757574da Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Wed, 24 Apr 2024 11:33:40 +0200 Subject: [PATCH 471/889] adding easyconfigs: VSCode-1.88.1.eb --- .../easyconfigs/v/VSCode/VSCode-1.88.1.eb | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 easybuild/easyconfigs/v/VSCode/VSCode-1.88.1.eb diff --git a/easybuild/easyconfigs/v/VSCode/VSCode-1.88.1.eb b/easybuild/easyconfigs/v/VSCode/VSCode-1.88.1.eb new file mode 100644 index 00000000000..5eb26c94f86 --- /dev/null +++ b/easybuild/easyconfigs/v/VSCode/VSCode-1.88.1.eb @@ -0,0 +1,30 @@ +easyblock = 'Tarball' + +name = 'VSCode' +version = '1.88.1' +local_version_id = '1712770462' + +homepage = 'https://code.visualstudio.com/' +description = ''' + Visual Studio Code is a lightweight but powerful source code editor + which runs on your desktop and is available for Windows, macOS and + Linux. It comes with built-in support for JavaScript, TypeScript and + Node.js and has a rich ecosystem of extensions for other languages + and runtimes (such as C++, C#, Java, Python, PHP, Go, .NET). Begin + your journey with VS Code with these introductory videos. +''' + +toolchain = {'name': 'system', 'version': 'system'} + +source_urls = ['https://code.visualstudio.com/sha/download?build=stable&os=linux-x64&'] +sources = ['code-stable-x64-%s.tar.gz' % local_version_id] +checksums = [None] # the tarballs are not stable + +modaliases = {'vscode': '%(installdir)s/bin/code'} + +sanity_check_paths = { + 'files': ['code', 'bin/code'], + 'dirs': ['bin', 'locales', 'resources'] +} + +moduleclass = 'devel' From e9a8f9daca49db349d23b775bd9583b5cc13ea74 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Wed, 24 Apr 2024 14:33:16 +0200 Subject: [PATCH 472/889] add 2022b version and patch for fileManager.py --- .../c/CheckM2/CheckM2-1.0.2-foss-2022a.eb | 48 --- .../c/CheckM2/CheckM2-1.0.2-foss-2022b.eb | 67 +++ ...M2-1.0.2_fileManager.py-database-fix.patch | 405 ++++++++++++++++++ 3 files changed, 472 insertions(+), 48 deletions(-) delete mode 100644 easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022a.eb create mode 100644 easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022b.eb create mode 100644 easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2_fileManager.py-database-fix.patch diff --git a/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022a.eb b/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022a.eb deleted file mode 100644 index bb17e6c2713..00000000000 --- a/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022a.eb +++ /dev/null @@ -1,48 +0,0 @@ -easyblock = 'PythonBundle' - -name = 'CheckM2' -version = '1.0.2' - -homepage = 'https://github.com/chklovski/CheckM2/' -description = "Assessing the quality of metagenome-derived genome bins using machine learning" - -toolchain = {'name': 'foss', 'version': '2022a'} - -builddependencies = [('CMake', '3.24.3')] -dependencies = [ - ('Python', '3.10.4'), - ('SciPy-bundle', '2022.05'), - ('DIAMOND', '2.1.0'), - ('TensorFlow', '2.11.0'), - ('prodigal', '2.6.3'), - ('h5py', '3.7.0'), - ('tqdm', '4.64.0'), -] - -exts_list = [ - ('scikit-learn', '0.23.2', { - 'modulename': 'sklearn', - 'checksums': ['20766f515e6cd6f954554387dfae705d93c7b544ec0e6c6a5d8e006f6f7ef480'], - }), - ('lightgbm', '3.2.1', { - 'checksums': ['bd98e3b501b4c24dc127f4ad93e467f42923fe3eefa99e143b5b93158f024395'], - }), - (name, version, { - 'source_urls': ['https://github.com/chklovski/CheckM2/archive/'], - 'sources': ['%(version)s.tar.gz'], - 'checksums': ['9d3129e4d0b53acc38519a259cc1e20a215dff0cbce51cef874545ca2fff005a'], - }), -] - -postinstallcmds = [ - 'sed -i "s/np.float/float/g" %(installdir)s/lib/python%(pyshortver)s/site-packages/checkm2/predictQuality.py', - # '%(installdir)s/bin/checkm2 database --download --path %(installdir)s', - # 'export CHECKM2DB="$EBROOTCHECKM2/CheckM2_database/uniref100.KO.1.dmnd"', -] - -# modextrapaths = {'CHECKM2DB': 'CheckM2_database/uniref100.KO.1.dmnd', 'PYTHONPATH': ''} - -use_pip = True -sanity_pip_check = True - -moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022b.eb b/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022b.eb new file mode 100644 index 00000000000..f1401f4dcdb --- /dev/null +++ b/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022b.eb @@ -0,0 +1,67 @@ +easyblock = 'PythonBundle' + +name = 'CheckM2' +version = '1.0.2' + +homepage = 'https://github.com/chklovski/CheckM2/' +description = "Assessing the quality of metagenome-derived genome bins using machine learning" + +toolchain = {'name': 'foss', 'version': '2022b'} #12.2.0 + +builddependencies = [('CMake', '3.24.3')] +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('DIAMOND', '2.1.8'), + ('TensorFlow', '2.13.0'), + ('prodigal', '2.6.3'), + ('h5py', '3.8.0'), + ('tqdm', '4.64.1'), +] + +exts_list = [ + ('scikit-learn', '0.23.2', { + 'modulename': 'sklearn', + 'checksums': ['20766f515e6cd6f954554387dfae705d93c7b544ec0e6c6a5d8e006f6f7ef480'], + }), + ('lightgbm', '3.2.1', { + 'checksums': ['bd98e3b501b4c24dc127f4ad93e467f42923fe3eefa99e143b5b93158f024395'], + }), + (name, version, { + 'patches': ['%(name)s-%(version)s_fileManager.py-database-fix.patch'], + 'source_urls': ['https://github.com/chklovski/CheckM2/archive/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': [ + {'1.0.2.tar.gz': '9d3129e4d0b53acc38519a259cc1e20a215dff0cbce51cef874545ca2fff005a'}, + {'CheckM2-1.0.2_fileManager.py-database-fix.patch': + '72f3f7cfebe7a8f550eb165b91bdcfb225ef71cedde2433f28a3e34dfca024aa'}, + ], + }), +] + +postinstallcmds = [ + # np.float is depreciated in newer numpy + 'sed -i "s/np.float/float/g" %(installdir)s/lib/python%(pyshortver)s/site-packages/checkm2/predictQuality.py', + # update DB_LOCATION_DEFINITION in defaultValues.py to env CHECKM2DB + 'sed -i "31d" %(installdir)s/lib/python%(pyshortver)s/site-packages/checkm2/defaultValues.py', + "sed -i '30 a\ DB_LOCATION_DEFINITION = os.environ.get(\"CHECKM2DB\", \"Not Set\")' " + + "%(installdir)s/lib/python%(pyshortver)s/site-packages/checkm2/defaultValues.py", + # convert defaultsValues.py to dos style + "unix2dos %(installdir)s/lib/python%(pyshortver)s/site-packages/checkm2/defaultValues.py", +] + +modloadmsg = """You need download a diamond database now and setup a path to this db: +First you need to setup $CHECKM2DB as: +$ export CHECKM2DB="path/to/database/CheckM2_database/uniref100.KO.1.dmnd" +Next, download the database (/CheckM2_database/uniref100.KO.1.dmnd will be created): +$ checkm2 database --download --path path/to/database +You can check path to the database by: +$ checkm2 database --current +You can either test if everything is setup properly by: +$ checkm2 testrun +""" + +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2_fileManager.py-database-fix.patch b/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2_fileManager.py-database-fix.patch new file mode 100644 index 00000000000..3f460c3b6a3 --- /dev/null +++ b/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2_fileManager.py-database-fix.patch @@ -0,0 +1,405 @@ +--- checkm2/fileManager.py.orig 2024-04-23 14:17:24.825732872 +0200 ++++ checkm2/fileManager.py 2024-04-24 11:23:05.737180000 +0200 +@@ -1,228 +1,173 @@ +-import os +-import errno +-import sys +-import logging +-import shutil +-import requests +-import json +-import gzip +-import tempfile +- +-from checkm2 import versionControl +-from checkm2.defaultValues import DefaultValues +-from checkm2 import zenodo_backpack +- +-class DiamondDB: +- def __init__(self): +- if DefaultValues.DB_VAR in os.environ: +- self.DATABASE_DIR = os.environ[DefaultValues.DB_VAR] +- #Check if it's still there and if not, unset variable +- if not os.path.exists(self.DATABASE_DIR): +- logging.warning('Database not found using the environmental variable: {}. Please fix your $PATH. Using internal database path instead.'.format(DefaultValues.DB_VAR)) +- +- diamond_definition = self.__get_db_file() +- +- if diamond_definition['DBPATH'] == 'Not Set': +- self.DATABASE_DIR = 'Not Set' +- else: +- self.DATABASE_DIR = diamond_definition['DBPATH'] +- else: +- diamond_definition = self.__get_db_file() +- +- if diamond_definition['DBPATH'] == 'Not Set': +- self.DATABASE_DIR = 'Not Set' +- else: +- self.DATABASE_DIR = diamond_definition['DBPATH'] +- +- +- def __get_db_file(self): +- diamond_location = DefaultValues.DB_LOCATION_DEFINITION +- try: +- with open(diamond_location) as f: +- diamond_definition = json.load(f) +- return diamond_definition +- except: +- logging.warning('Could not open DIAMOND location definition file. Creating new file.') +- db_ref_file = {"Type": "DIAMONDDB", "DBPATH": "Not Set"} +- with open(diamond_location, 'w') as dl: +- json.dump(db_ref_file, dl) +- try: +- with open(diamond_location) as f: +- diamond_definition = json.load(f) +- return diamond_definition +- except Exception as e: +- logging.error('Could not create new file: {}'.format(e)) +- sys.exit(1) +- +- +- def get_DB_location(self): +- if self.DATABASE_DIR == 'Not Set': +- logging.error('DIAMOND database not found. Please download database using ') +- sys.exit(1) +- else: +- return self.DATABASE_DIR +- +- def set_DB_location(self, provided_location): +- logging.info('Checking provided DIAMOND database location') +- if versionControl.VersionControl().checksum_version_validate_DIAMOND(provided_location): +- #great - let's set it +- diamond_definition = self.__get_db_file() +- +- diamond_definition['DBPATH'] = os.path.abspath(provided_location) +- with open(DefaultValues.DB_LOCATION_DEFINITION, 'w') as dd: +- json.dump(diamond_definition, dd) +- +- logging.info("Database check successful! Database path successfully added.") +- +- else: +- logging.error("Checksum in CheckM2 reference doesn't match provided database. Please check your files.") +- sys.exit(1) +- +- +- def download_database(self, download_location): +- +- '''Uses a DOI link to automatically download, unpack and verify from zenodo.org''' +- +- logging.info("Command: Download database. Checking internal path information.") +- +- diamond_location = DefaultValues.DB_LOCATION_DEFINITION +- +- try: +- with open(diamond_location) as f: +- diamond_definition = json.load(f) +- except: +- logging.warning('Could not open DIAMOND location definition file. Creating new file.') +- x = {"Type": "DIAMONDDB", "DBPATH": "Not Set"} +- with open(diamond_location, 'w') as dl: +- json.dump(x, dl) +- try: +- with open(diamond_location) as f: +- diamond_definition = json.load(f) +- except Exception as e: +- logging.error('Could not create new file: {}'.format(e)) +- sys.exit(1) +- if diamond_definition['DBPATH'] != 'Not Set': +- logging.warning('DIAMOND database found at {}. Overwriting previous database.'.format(diamond_definition['DBPATH'])) +- +- +- make_sure_path_exists(os.path.join(download_location, 'CheckM2_database')) +- +- backpack_downloader = zenodo_backpack.zenodo_backpack_downloader('INFO') +- highest_compatible_version, DOI = versionControl.VersionControl().return_highest_compatible_DB_version() +- +- +- diamond_loc_final = os.path.join(download_location, 'CheckM2_database', 'uniref100.KO.1.dmnd') +- +- if download_location is not None: +- #check we have writing permission +- try: +- os.makedirs(download_location, exist_ok=True) +- with tempfile.TemporaryDirectory(dir=download_location): +- pass +- except OSError: +- logging.error("You do not appear to have permission to write to {}. Please choose a different directory" +- .format(download_location)) +- sys.exit(1) +- +- backpack_downloader.download_and_extract(download_location, DOI, progress_bar=True, no_check_version=False) +- +- diamond_definition['DBPATH'] = os.path.abspath(diamond_loc_final) +- +- with open(diamond_location, 'w') as dd: +- json.dump(diamond_definition, dd) +- +- +- else: +- logging.info('Failed to determine download location') +- sys.exit(1) +- +- #do checksum +- if versionControl.VersionControl().checksum_version_validate_DIAMOND(): +- logging.info('Diamond DATABASE downloaded successfully! Consider running to verify everything works.') +- else: +- logging.error('Could not verify successfull installation of reference database.') +- +- +- def update_database(self): +- pass +- +-def update_checkm2(): +- pass +- +- +-def check_empty_dir(input_dir, overwrite=False): +- """Check the the specified directory is empty and create it if necessary.""" +- if not os.path.exists(input_dir): +- make_sure_path_exists(input_dir) +- else: +- # check if directory is empty +- files = os.listdir(input_dir) +- if len(files) != 0: +- if overwrite: +- for root, dirs, files in os.walk(input_dir): +- for f in files: +- os.unlink(os.path.join(root, f)) +- for d in dirs: +- shutil.rmtree(os.path.join(root, d)) +- else: +- logging.error('Output directory must be empty: ' + input_dir + ' Use --force if you wish to overwrite ' +- 'existing directory. \n') +- sys.exit(1) +- +-def verify_prodigal_output(prodigal_dir, ttable_dict, bin_extension): +- """Check the prodigal process was successful, matches internal list of genomes, and return list of protein files.""" +- if not os.path.exists(prodigal_dir): +- # check if directory is empty +- logging.error('Error: Protein directory {} does not exist: ' + prodigal_dir + '\n') +- sys.exit(1) +- +- else: +- files = os.listdir(prodigal_dir) +- #check if files were generated +- if len(files) == 0: +- logging.error('Error: No protein files were generated in {}'.format(prodigal_dir)) +- sys.exit(1) +- +- prodigal_files = [] +- +- for f in files: +- if f.endswith('.faa'): +- protein_file = os.path.join(prodigal_dir, f) +- if os.stat(protein_file).st_size == 0: +- logging.warning("Skipping protein file {} as it was empty.".format(protein_file)) +- del ttable_dict[f[:-4]] +- elif os.path.splitext(os.path.basename(f))[0] not in ttable_dict: +- logging.warning("Skipping protein file {} as it was not generated by Checkm2.".format(protein_file)) +- else: +- prodigal_files.append(protein_file) +- if len(prodigal_files) == len(ttable_dict.keys()): +- return prodigal_files, ttable_dict +- else: +- logging.error('Error: List of protein files does not match internal reference.') +- sys.exit(1) +- +-def check_if_file_exists(inputFile): +- """Check if file exists.""" +- if not os.path.exists(inputFile): +- logging.error('File does not exist: ' + inputFile + '\n') +- sys.exit(1) +- +- +-def check_if_dir_exists(inputDir): +- """Check if directory exists.""" +- if not os.path.exists(inputDir): +- logging.error('Input directory does not exists: ' + inputDir + '\n') +- sys.exit(1) +- +- +-def make_sure_path_exists(path): +- """Create directory if it does not exist.""" +- if not path: +- return +- +- try: +- os.makedirs(path) +- except OSError as exception: +- if exception.errno != errno.EEXIST: +- logging.error('Specified path does not exist: ' + path + '\n') +- sys.exit(1) ++import os ++import errno ++import sys ++import logging ++import shutil ++import requests ++import json ++import gzip ++import tempfile ++ ++from checkm2 import versionControl ++from checkm2.defaultValues import DefaultValues ++from checkm2 import zenodo_backpack ++ ++class DiamondDB: ++ def __init__(self): ++ if DefaultValues.DB_VAR in os.environ: ++ self.DATABASE_DIR = os.environ[DefaultValues.DB_VAR] ++ #Check if it's still there and if not, unset variable ++ if not os.path.exists(self.DATABASE_DIR): ++ logging.warning('Database not found using the environmental variable: {}. Please fix your $PATH. Using internal database path instead.'.format(DefaultValues.DB_VAR)) ++ ++ diamond_definition = self.__get_db_file() ++ ++ if diamond_definition == 'Not Set': ++ self.DATABASE_DIR = 'Not Set' ++ else: ++ self.DATABASE_DIR = diamond_definition ++ else: ++ diamond_definition = self.__get_db_file() ++ ++ if diamond_definition == 'Not Set': ++ self.DATABASE_DIR = 'Not Set' ++ else: ++ self.DATABASE_DIR = diamond_definition ++ ++ ++ def __get_db_file(self): ++ return DefaultValues.DB_LOCATION_DEFINITION ++ ++ def get_DB_location(self): ++ if self.DATABASE_DIR == 'Not Set': ++ logging.error( ++ 'DIAMOND database not found. Please download database using $ checkm2 database --download --path /path/to/database ' ++ + ',but FIRST set CHECKM2DB to PATH by $ export CHECKM2DB=\"/path/to/database/CheckM2_database/uniref100.KO.1.dmnd\"' ++ ) ++ sys.exit(1) ++ else: ++ return self.DATABASE_DIR ++ ++ def set_DB_location(self, provided_location): ++ logging.info("Set path to database location by: $ export CHECKM2DB=path/to/database/CheckM2_database/uniref100.KO.1.dmnd") ++ ++ def download_database(self, download_location): ++ ++ '''Uses a DOI link to automatically download, unpack and verify from zenodo.org''' ++ ++ logging.info("Command: Download database. Checking internal path information.") ++ ++ diamond_location = DefaultValues.DB_LOCATION_DEFINITION ++ ++ make_sure_path_exists(os.path.join(download_location, 'CheckM2_database')) ++ ++ backpack_downloader = zenodo_backpack.zenodo_backpack_downloader('INFO') ++ highest_compatible_version, DOI = versionControl.VersionControl().return_highest_compatible_DB_version() ++ ++ if download_location is not None: ++ #check we have writing permission ++ try: ++ os.makedirs(download_location, exist_ok=True) ++ with tempfile.TemporaryDirectory(dir=download_location): ++ pass ++ except OSError: ++ logging.error("You do not appear to have permission to write to {}. Please choose a different directory" ++ .format(download_location)) ++ sys.exit(1) ++ ++ backpack_downloader.download_and_extract(download_location, DOI, progress_bar=True, no_check_version=False) ++ ++ else: ++ logging.info('Failed to determine download location') ++ sys.exit(1) ++ ++ #do checksum ++ if versionControl.VersionControl().checksum_version_validate_DIAMOND(): ++ logging.info('Diamond DATABASE downloaded successfully! Consider running to verify everything works.') ++ else: ++ logging.error('Could not verify successfull installation of reference database.') ++ ++ ++ def update_database(self): ++ pass ++ ++def update_checkm2(): ++ pass ++ ++ ++def check_empty_dir(input_dir, overwrite=False): ++ """Check the the specified directory is empty and create it if necessary.""" ++ if not os.path.exists(input_dir): ++ make_sure_path_exists(input_dir) ++ else: ++ # check if directory is empty ++ files = os.listdir(input_dir) ++ if len(files) != 0: ++ if overwrite: ++ for root, dirs, files in os.walk(input_dir): ++ for f in files: ++ os.unlink(os.path.join(root, f)) ++ for d in dirs: ++ shutil.rmtree(os.path.join(root, d)) ++ else: ++ logging.error('Output directory must be empty: ' + input_dir + ' Use --force if you wish to overwrite ' ++ 'existing directory. \n') ++ sys.exit(1) ++ ++def verify_prodigal_output(prodigal_dir, ttable_dict, bin_extension): ++ """Check the prodigal process was successful, matches internal list of genomes, and return list of protein files.""" ++ if not os.path.exists(prodigal_dir): ++ # check if directory is empty ++ logging.error('Error: Protein directory {} does not exist: ' + prodigal_dir + '\n') ++ sys.exit(1) ++ ++ else: ++ files = os.listdir(prodigal_dir) ++ #check if files were generated ++ if len(files) == 0: ++ logging.error('Error: No protein files were generated in {}'.format(prodigal_dir)) ++ sys.exit(1) ++ ++ prodigal_files = [] ++ ++ for f in files: ++ if f.endswith('.faa'): ++ protein_file = os.path.join(prodigal_dir, f) ++ if os.stat(protein_file).st_size == 0: ++ logging.warning("Skipping protein file {} as it was empty.".format(protein_file)) ++ del ttable_dict[f[:-4]] ++ elif os.path.splitext(os.path.basename(f))[0] not in ttable_dict: ++ logging.warning("Skipping protein file {} as it was not generated by Checkm2.".format(protein_file)) ++ else: ++ prodigal_files.append(protein_file) ++ if len(prodigal_files) == len(ttable_dict.keys()): ++ return prodigal_files, ttable_dict ++ else: ++ logging.error('Error: List of protein files does not match internal reference.') ++ sys.exit(1) ++ ++def check_if_file_exists(inputFile): ++ """Check if file exists.""" ++ if not os.path.exists(inputFile): ++ logging.error('File does not exist: ' + inputFile + '\n') ++ sys.exit(1) ++ ++ ++def check_if_dir_exists(inputDir): ++ """Check if directory exists.""" ++ if not os.path.exists(inputDir): ++ logging.error('Input directory does not exists: ' + inputDir + '\n') ++ sys.exit(1) ++ ++ ++def make_sure_path_exists(path): ++ """Create directory if it does not exist.""" ++ if not path: ++ return ++ ++ try: ++ os.makedirs(path) ++ except OSError as exception: ++ if exception.errno != errno.EEXIST: ++ logging.error('Specified path does not exist: ' + path + '\n') ++ sys.exit(1) +\ No newline at end of file From 5463882745652a9fe760a9ead17df8bf37ba508a Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Wed, 24 Apr 2024 14:37:04 +0200 Subject: [PATCH 473/889] clenup easyconfig --- easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022b.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022b.eb b/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022b.eb index f1401f4dcdb..c77a19c2483 100644 --- a/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022b.eb +++ b/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022b.eb @@ -6,7 +6,7 @@ version = '1.0.2' homepage = 'https://github.com/chklovski/CheckM2/' description = "Assessing the quality of metagenome-derived genome bins using machine learning" -toolchain = {'name': 'foss', 'version': '2022b'} #12.2.0 +toolchain = {'name': 'foss', 'version': '2022b'} builddependencies = [('CMake', '3.24.3')] dependencies = [ From 50be12d692c3db45779eca0cad00e1f50a306663 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Wed, 24 Apr 2024 16:13:17 +0200 Subject: [PATCH 474/889] update checksum for checkm2 --- easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022b.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022b.eb b/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022b.eb index c77a19c2483..bd35a141653 100644 --- a/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022b.eb +++ b/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022b.eb @@ -34,7 +34,7 @@ exts_list = [ 'checksums': [ {'1.0.2.tar.gz': '9d3129e4d0b53acc38519a259cc1e20a215dff0cbce51cef874545ca2fff005a'}, {'CheckM2-1.0.2_fileManager.py-database-fix.patch': - '72f3f7cfebe7a8f550eb165b91bdcfb225ef71cedde2433f28a3e34dfca024aa'}, + '67a58b4169a013eac6587af1cc12cdc8297ea2685046af780096cec5b88b7001'}, ], }), ] From e27901fba1368838ec7373fd1a4625fe8f88c5da Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Wed, 24 Apr 2024 18:23:09 +0200 Subject: [PATCH 475/889] adding easyconfigs: pdf2docx-0.5.8-foss-2023a.eb --- .../p/pdf2docx/pdf2docx-0.5.8-foss-2023a.eb | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 easybuild/easyconfigs/p/pdf2docx/pdf2docx-0.5.8-foss-2023a.eb diff --git a/easybuild/easyconfigs/p/pdf2docx/pdf2docx-0.5.8-foss-2023a.eb b/easybuild/easyconfigs/p/pdf2docx/pdf2docx-0.5.8-foss-2023a.eb new file mode 100644 index 00000000000..6033270a677 --- /dev/null +++ b/easybuild/easyconfigs/p/pdf2docx/pdf2docx-0.5.8-foss-2023a.eb @@ -0,0 +1,52 @@ +easyblock = "PythonBundle" + +name = 'pdf2docx' +version = '0.5.8' + +homepage = 'https://github.com/ArtifexSoftware/pdf2docx' +description = """Open source Python library converting pdf to docx.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('hatchling', '1.18.0'), + ('SWIG', '4.1.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Python-bundle-PyPI', '2023.06'), + ('OpenCV', '4.8.1', '-contrib'), + ('lxml', '4.9.2'), # for python-docx +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('PyMuPDF', '1.20.2', { + 'modulename': 'fitz', + 'checksums': ['02eedf01f57c6bafb5e8667cea0088a2d2522643c47100f1908bec3a68a84888'], + }), + ('python-docx', '1.1.0', { + 'modulename': 'docx', + 'checksums': ['5829b722141cf1ab79aedf0c34d9fe9924b29764584c0f2164eb2b02dcdf17c9'], + }), + ('termcolor', '2.3.0', { + 'checksums': ['b5b08f68937f138fe92f6c089b99f1e2da0ae56c52b78bf7075fd95420fd9a5a'], + }), + ('fire', '0.5.0', { + 'checksums': ['a6b0d49e98c8963910021f92bba66f65ab440da2982b78eb1bbf95a0a34aacc6'], + }), + ('fonttools', '4.47.2', { + 'modulename': 'fontTools', + 'checksums': ['7df26dd3650e98ca45f1e29883c96a0b9f5bb6af8d632a6a108bc744fa0bd9b3'], + }), + (name, version, { + 'preinstallopts': "sed -i 's/opencv-python-headless/opencv-contrib-python/g' requirements.txt && ", + 'checksums': ['e723f639728193468602b69eade2fe62df5f5d339d2630228e325f4cc61c1918'], + }), +] + +moduleclass = 'tools' From 2d220bcbc885fadb892555c730901d2be26d69f6 Mon Sep 17 00:00:00 2001 From: Cintia Willemyns <115622907+WilleBell@users.noreply.github.com> Date: Thu, 25 Apr 2024 16:02:45 +0200 Subject: [PATCH 476/889] Delete easybuild/easyconfigs/p/pdf2docx/pdf2docx-0.5.8-foss-2023a-CUDA-12.1.1.eb pdf2docx can be removed (not CUDA). Superseded by #20416 --- .../pdf2docx-0.5.8-foss-2023a-CUDA-12.1.1.eb | 56 ------------------- 1 file changed, 56 deletions(-) delete mode 100644 easybuild/easyconfigs/p/pdf2docx/pdf2docx-0.5.8-foss-2023a-CUDA-12.1.1.eb diff --git a/easybuild/easyconfigs/p/pdf2docx/pdf2docx-0.5.8-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/pdf2docx/pdf2docx-0.5.8-foss-2023a-CUDA-12.1.1.eb deleted file mode 100644 index a56b90228c8..00000000000 --- a/easybuild/easyconfigs/p/pdf2docx/pdf2docx-0.5.8-foss-2023a-CUDA-12.1.1.eb +++ /dev/null @@ -1,56 +0,0 @@ -easyblock = "PythonBundle" - -name = 'pdf2docx' -version = '0.5.8' -versionsuffix = '-CUDA-%(cudaver)s' - -homepage = 'https://github.com/ArtifexSoftware/pdf2docx' -description = """Open source Python library converting pdf to docx.""" - -toolchain = {'name': 'foss', 'version': '2023a'} - -builddependencies = [ - ('hatchling', '1.18.0'), # for termcolor -] - -dependencies = [ - ('CUDA', '12.1.1', '', SYSTEM), - ('Python', '3.11.3'), - ('SciPy-bundle', '2023.07'), - ('Python-bundle-PyPI', '2023.06'), - ('SWIG', '4.1.1'), - ('OpenCV', '4.8.1', versionsuffix + '-contrib'), - ('lxml', '4.9.2'), # for python-docx -] - -use_pip = True -sanity_pip_check = True - -maxparallel = 1 - -exts_list = [ - ('PyMuPDF', '1.20.2', { - 'modulename': 'fitz', - 'checksums': ['02eedf01f57c6bafb5e8667cea0088a2d2522643c47100f1908bec3a68a84888'], - }), - ('python-docx', '1.1.0', { - 'modulename': 'docx', - 'checksums': ['5829b722141cf1ab79aedf0c34d9fe9924b29764584c0f2164eb2b02dcdf17c9'], - }), - ('termcolor', '2.3.0', { - 'checksums': ['b5b08f68937f138fe92f6c089b99f1e2da0ae56c52b78bf7075fd95420fd9a5a'], - }), - ('fire', '0.5.0', { - 'checksums': ['a6b0d49e98c8963910021f92bba66f65ab440da2982b78eb1bbf95a0a34aacc6'], - }), - ('fonttools', '4.47.2', { - 'modulename': 'fontTools', - 'checksums': ['7df26dd3650e98ca45f1e29883c96a0b9f5bb6af8d632a6a108bc744fa0bd9b3'], - }), - (name, version, { - 'preinstallopts': "sed -i 's/opencv-python-headless/opencv-contrib-python/g' requirements.txt && ", - 'checksums': ['e723f639728193468602b69eade2fe62df5f5d339d2630228e325f4cc61c1918'], - }), -] - -moduleclass = 'tools' From 35ff88c1b713ef2709815f702e63b2fd1e07fd44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20F=C3=BCrst?= Date: Thu, 25 Apr 2024 20:30:11 +0200 Subject: [PATCH 477/889] Fix bug in openmpi 4.1.5, see https://github.com/open-mpi/ompi/issues/11749 --- .../o/OpenMPI/OpenMPI-4.1.5-GCC-12.3.0.eb | 3 + ...enMPI-4.1.5_fix_opal_unsupported_key.patch | 73 +++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5_fix_opal_unsupported_key.patch diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-GCC-12.3.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-GCC-12.3.0.eb index 797e9c0f0de..e415d495156 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-GCC-12.3.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-GCC-12.3.0.eb @@ -13,6 +13,7 @@ patches = [ 'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch', 'OpenMPI-4.1.5_fix-pmix3x.patch', 'OpenMPI-4.1.x_add_atomic_wmb.patch', + 'OpenMPI-4.1.5_fix_opal_unsupported_key.patch', ] checksums = [ {'openmpi-4.1.5.tar.bz2': 'a640986bc257389dd379886fdae6264c8cfa56bc98b71ce3ae3dfbd8ce61dbe3'}, @@ -22,6 +23,8 @@ checksums = [ 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e'}, {'OpenMPI-4.1.5_fix-pmix3x.patch': '46edac3dbf32f2a611d45e8a3c8edd3ae2f430eec16a1373b510315272115c40'}, {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, + {'OpenMPI-4.1.5_fix_opal_unsupported_key.patch': + '4375a58a18c8bced14cc5978f98a7f2395cc6a9c07dd65b1c28f53294cad4385'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5_fix_opal_unsupported_key.patch b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5_fix_opal_unsupported_key.patch new file mode 100644 index 00000000000..c6e998a1127 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5_fix_opal_unsupported_key.patch @@ -0,0 +1,73 @@ +# Fix: "UNPACK-OPAL-VALUE: UNSUPPORTED TYPE 33 FOR KEY" error +# See: https://github.com/open-mpi/ompi/issues/11749 +# Original patch by Gilles Gouaillardet +# Note: the patch is already included in openmpi 4.1.6 + +--- orig/openmpi-4.1.5/opal/mca/pmix/pmix3x/pmix3x.c 2023-06-14 21:45:40.159479390 +0900 ++++ openmpi-4.1.5/opal/mca/pmix/pmix3x/pmix3x.c 2023-06-14 21:48:02.469473048 +0900 +@@ -807,14 +807,17 @@ + PMIX_INFO_LOAD(i, kv->key, &kv->data.time, PMIX_TIME); + break; + case OPAL_STATUS: ++ PMIX_LOAD_KEY(i->key, kv->key); + i->value.type = PMIX_STATUS; + i->value.data.status = pmix3x_convert_opalrc(kv->data.status); + break; + case OPAL_VPID: ++ PMIX_LOAD_KEY(i->key, kv->key); + i->value.type = PMIX_PROC_RANK; + i->value.data.rank = pmix3x_convert_opalrank(kv->data.name.vpid); + break; + case OPAL_NAME: ++ PMIX_LOAD_KEY(i->key, kv->key); + i->value.type = PMIX_PROC; + /* have to stringify the jobid */ + PMIX_PROC_CREATE(i->value.data.proc, 1); +@@ -833,6 +836,7 @@ + i->value.data.proc->rank = pmix3x_convert_opalrank(kv->data.name.vpid); + break; + case OPAL_BYTE_OBJECT: ++ PMIX_LOAD_KEY(i->key, kv->key); + i->value.type = PMIX_BYTE_OBJECT; + if (NULL != kv->data.bo.bytes) { + i->value.data.bo.bytes = (char*)malloc(kv->data.bo.size); +@@ -844,18 +848,22 @@ + } + break; + case OPAL_PERSIST: ++ PMIX_LOAD_KEY(i->key, kv->key); + i->value.type = PMIX_PERSIST; + i->value.data.persist = pmix3x_convert_opalpersist((opal_pmix_persistence_t)kv->data.uint8); + break; + case OPAL_SCOPE: ++ PMIX_LOAD_KEY(i->key, kv->key); + i->value.type = PMIX_SCOPE; + i->value.data.scope = pmix3x_convert_opalscope((opal_pmix_scope_t)kv->data.uint8); + break; + case OPAL_DATA_RANGE: ++ PMIX_LOAD_KEY(i->key, kv->key); + i->value.type = PMIX_DATA_RANGE; + i->value.data.range = pmix3x_convert_opalrange((opal_pmix_data_range_t)kv->data.uint8); + break; + case OPAL_PROC_STATE: ++ PMIX_LOAD_KEY(i->key, kv->key); + i->value.type = PMIX_PROC_STATE; + /* the OPAL layer doesn't have any concept of proc state, + * so the ORTE layer is responsible for converting it */ +@@ -873,6 +881,7 @@ + * opal_value_t's that we need to convert to a pmix_data_array + * of pmix_info_t structures */ + list = (opal_list_t*)kv->data.ptr; ++ PMIX_LOAD_KEY(i->key, kv->key); + i->value.type = PMIX_DATA_ARRAY; + i->value.data.darray = (pmix_data_array_t*)malloc(sizeof(pmix_data_array_t)); + i->value.data.darray->type = PMIX_INFO; +@@ -893,6 +902,7 @@ + } + break; + case OPAL_PROC_INFO: ++ PMIX_LOAD_KEY(i->key, kv->key); + i->value.type = PMIX_PROC_INFO; + PMIX_PROC_INFO_CREATE(i->value.data.pinfo, 1); + /* see if this job is in our list of known nspaces */ + From edc68dab14ca98c5e911a3bf9b720c6f5634fd3f Mon Sep 17 00:00:00 2001 From: Fokke Dijkstra Date: Fri, 26 Apr 2024 09:31:14 +0200 Subject: [PATCH 478/889] adding easyconfigs: pauvre-0.2.3-foss-2023a.eb --- .../p/pauvre/pauvre-0.2.3-foss-2023a.eb | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2023a.eb diff --git a/easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2023a.eb b/easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2023a.eb new file mode 100644 index 00000000000..b1b09a6411d --- /dev/null +++ b/easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2023a.eb @@ -0,0 +1,40 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'pauvre' +version = '0.2.3' + +homepage = 'https://github.com/conchoecia/pauvre' +description = "Tools for plotting Oxford Nanopore and other long-read data" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['ba756bc9025ae7edafd91092d12a57864f018958fd46b548e9eeda7167ee197d'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Biopython', '1.83'), + ('scikit-learn', '1.3.1'), + ('matplotlib', '3.7.2'), +] + +download_dep_fail = True +use_pip = True + +# fix incorrect requirement, correct name is 'scikit-learn' +preinstallopts = "sed -i 's/sklearn/scikit-learn/g' setup.py && " + +sanity_check_paths = { + 'files': ['bin/pauvre'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["pauvre --help"] + +sanity_pip_check = True + +moduleclass = 'math' From b955c331ac5c3072236025b23c44060665a76d47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Fri, 26 Apr 2024 14:55:49 +0200 Subject: [PATCH 479/889] add sanity check command Co-authored-by: Adam Huffman --- easybuild/easyconfigs/p/pigz/pigz-2.8-GCCcore-13.2.0.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/p/pigz/pigz-2.8-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/pigz/pigz-2.8-GCCcore-13.2.0.eb index 40aa5ad094d..29c59095d0a 100644 --- a/easybuild/easyconfigs/p/pigz/pigz-2.8-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/p/pigz/pigz-2.8-GCCcore-13.2.0.eb @@ -42,4 +42,6 @@ sanity_check_paths = { 'dirs': [], } +sanity_check_commands = ['pigs -V'] + moduleclass = 'tools' From 679c03b8cbc89476e4ef08e3a02d141daa04f142 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Fri, 26 Apr 2024 14:57:15 +0200 Subject: [PATCH 480/889] fix typo in sanity check command --- easybuild/easyconfigs/p/pigz/pigz-2.8-GCCcore-13.2.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/pigz/pigz-2.8-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/pigz/pigz-2.8-GCCcore-13.2.0.eb index 29c59095d0a..1639902aa17 100644 --- a/easybuild/easyconfigs/p/pigz/pigz-2.8-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/p/pigz/pigz-2.8-GCCcore-13.2.0.eb @@ -42,6 +42,6 @@ sanity_check_paths = { 'dirs': [], } -sanity_check_commands = ['pigs -V'] +sanity_check_commands = ['pigz -V'] moduleclass = 'tools' From ced6b7519f515eb38b06d45747bea5dea7635eac Mon Sep 17 00:00:00 2001 From: Ehsan Moravveji Date: Fri, 26 Apr 2024 15:13:53 +0200 Subject: [PATCH 481/889] bump up nanoget version from 1.18.1 to 1.19.1 in NanoStat-1.6.0-foss-2022a.eb to help building NanoPlot for 2022a --- easybuild/easyconfigs/n/NanoStat/NanoStat-1.6.0-foss-2022a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/n/NanoStat/NanoStat-1.6.0-foss-2022a.eb b/easybuild/easyconfigs/n/NanoStat/NanoStat-1.6.0-foss-2022a.eb index 40c1f10d183..c09007f4644 100644 --- a/easybuild/easyconfigs/n/NanoStat/NanoStat-1.6.0-foss-2022a.eb +++ b/easybuild/easyconfigs/n/NanoStat/NanoStat-1.6.0-foss-2022a.eb @@ -11,7 +11,7 @@ toolchain = {'name': 'foss', 'version': '2022a'} dependencies = [ ('Python', '3.10.4'), - ('nanoget', '1.18.1'), + ('nanoget', '1.19.1'), ('nanomath', '1.3.0'), ] From 04fa39db331ad07155c5b76c6320624a8b07b384 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Fri, 26 Apr 2024 17:13:31 +0200 Subject: [PATCH 482/889] add flags from contrib/configure-release to configopts, remove configure_cmd --- easybuild/easyconfigs/u/UCX/UCX-1.13.1-GCCcore-12.2.0.eb | 4 ++-- easybuild/easyconfigs/u/UCX/UCX-1.14.0-GCCcore-12.2.0.eb | 4 ++-- easybuild/easyconfigs/u/UCX/UCX-1.14.1-GCCcore-12.3.0.eb | 4 ++-- easybuild/easyconfigs/u/UCX/UCX-1.15.0-GCCcore-13.2.0.eb | 4 ++-- easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-11.2.0.eb | 4 ++-- easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-11.3.0.eb | 4 ++-- easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-12.2.0.eb | 4 ++-- easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-12.3.0.eb | 4 ++-- easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-13.2.0.eb | 4 ++-- 9 files changed, 18 insertions(+), 18 deletions(-) diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.13.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.13.1-GCCcore-12.2.0.eb index 00fb55690cd..18bdf44c47d 100644 --- a/easybuild/easyconfigs/u/UCX/UCX-1.13.1-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/u/UCX/UCX-1.13.1-GCCcore-12.2.0.eb @@ -40,10 +40,10 @@ dependencies = [ ('numactl', '2.0.16'), ] -configure_cmd = "contrib/configure-release" - configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' configopts += '--without-java --without-go --disable-doxygen-doc ' +# include the configure options from contrib/configure-release +configopts += '--disable-logging --disable-debug --disable-assertions --disable-params-check ' buildopts = 'V=1' diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.14.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.14.0-GCCcore-12.2.0.eb index 0bf2334b18f..b8ea3f98832 100644 --- a/easybuild/easyconfigs/u/UCX/UCX-1.14.0-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/u/UCX/UCX-1.14.0-GCCcore-12.2.0.eb @@ -37,10 +37,10 @@ dependencies = [ ('numactl', '2.0.16'), ] -configure_cmd = "contrib/configure-release" - configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' configopts += '--without-java --without-go --disable-doxygen-doc ' +# include the configure options from contrib/configure-release +configopts += '--disable-logging --disable-debug --disable-assertions --disable-params-check ' buildopts = 'V=1' diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.14.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.14.1-GCCcore-12.3.0.eb index af30595f9c5..1705ab53f4d 100644 --- a/easybuild/easyconfigs/u/UCX/UCX-1.14.1-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/u/UCX/UCX-1.14.1-GCCcore-12.3.0.eb @@ -37,10 +37,10 @@ dependencies = [ ('numactl', '2.0.16'), ] -configure_cmd = "contrib/configure-release" - configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' configopts += '--without-java --without-go --disable-doxygen-doc ' +# include the configure options from contrib/configure-release +configopts += '--disable-logging --disable-debug --disable-assertions --disable-params-check ' buildopts = 'V=1' diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.15.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.15.0-GCCcore-13.2.0.eb index 6380530f16c..d13c64341ab 100644 --- a/easybuild/easyconfigs/u/UCX/UCX-1.15.0-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/u/UCX/UCX-1.15.0-GCCcore-13.2.0.eb @@ -37,10 +37,10 @@ dependencies = [ ('numactl', '2.0.16'), ] -configure_cmd = "contrib/configure-release" - configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' configopts += '--without-java --without-go --disable-doxygen-doc ' +# include the configure options from contrib/configure-release +configopts += '--disable-logging --disable-debug --disable-assertions --disable-params-check ' buildopts = 'V=1' diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-11.2.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-11.2.0.eb index 42f38528005..59c23e605c9 100644 --- a/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-11.2.0.eb @@ -35,10 +35,10 @@ dependencies = [ ('numactl', '2.0.14'), ] -configure_cmd = "contrib/configure-release" - configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' configopts += '--without-java --without-go --disable-doxygen-doc ' +# include the configure options from contrib/configure-release +configopts += '--disable-logging --disable-debug --disable-assertions --disable-params-check ' buildopts = 'V=1' diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-11.3.0.eb index 3627a39308c..3547fe01346 100644 --- a/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-11.3.0.eb @@ -35,10 +35,10 @@ dependencies = [ ('numactl', '2.0.14'), ] -configure_cmd = "contrib/configure-release" - configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' configopts += '--without-java --without-go --disable-doxygen-doc ' +# include the configure options from contrib/configure-release +configopts += '--disable-logging --disable-debug --disable-assertions --disable-params-check ' buildopts = 'V=1' diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-12.2.0.eb index b49c37a93ed..ecf466624e0 100644 --- a/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-12.2.0.eb @@ -35,10 +35,10 @@ dependencies = [ ('numactl', '2.0.16'), ] -configure_cmd = "contrib/configure-release" - configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' configopts += '--without-java --without-go --disable-doxygen-doc ' +# include the configure options from contrib/configure-release +configopts += '--disable-logging --disable-debug --disable-assertions --disable-params-check ' buildopts = 'V=1' diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-12.3.0.eb index b4530aa124a..e9aad758fa0 100644 --- a/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-12.3.0.eb @@ -35,10 +35,10 @@ dependencies = [ ('numactl', '2.0.16'), ] -configure_cmd = "contrib/configure-release" - configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' configopts += '--without-java --without-go --disable-doxygen-doc ' +# include the configure options from contrib/configure-release +configopts += '--disable-logging --disable-debug --disable-assertions --disable-params-check ' buildopts = 'V=1' diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-13.2.0.eb index 66faa507c27..ce7ac056ed5 100644 --- a/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-13.2.0.eb @@ -35,10 +35,10 @@ dependencies = [ ('numactl', '2.0.16'), ] -configure_cmd = "contrib/configure-release" - configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' configopts += '--without-java --without-go --disable-doxygen-doc ' +# include the configure options from contrib/configure-release +configopts += '--disable-logging --disable-debug --disable-assertions --disable-params-check ' buildopts = 'V=1' From 885f82a27ef7e8bb7f1cf65806f628747fa50ae7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Fri, 26 Apr 2024 17:38:41 +0200 Subject: [PATCH 483/889] patch for backporting RISC-V support to 1.15.0 --- .../u/UCX/UCX-1.15.0-add_riscv_support.patch | 792 ++++++++++++++++++ 1 file changed, 792 insertions(+) create mode 100644 easybuild/easyconfigs/u/UCX/UCX-1.15.0-add_riscv_support.patch diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.15.0-add_riscv_support.patch b/easybuild/easyconfigs/u/UCX/UCX-1.15.0-add_riscv_support.patch new file mode 100644 index 00000000000..99fc1fcc298 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX/UCX-1.15.0-add_riscv_support.patch @@ -0,0 +1,792 @@ +Backport RISC-V support to 1.15.0, based on https://github.com/openucx/ucx/pull/9168. + +Author: Bob Dröge (University of Groningen) + +diff -Nru ucx-1.15.0.orig/src/tools/info/sys_info.c ucx-1.15.0/src/tools/info/sys_info.c +--- ucx-1.15.0.orig/src/tools/info/sys_info.c 2023-09-29 12:31:02.000000000 +0200 ++++ ucx-1.15.0/src/tools/info/sys_info.c 2024-04-25 16:22:29.633087861 +0200 +@@ -1,6 +1,7 @@ + /** + * Copyright (c) NVIDIA CORPORATION & AFFILIATES, 2001-2015. ALL RIGHTS RESERVED. + * Copyright (C) Shanghai Zhaoxin Semiconductor Co., Ltd. 2020. ALL RIGHTS RESERVED. ++* Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. + * + * See file LICENSE for terms. + */ +@@ -37,7 +38,8 @@ + [UCS_CPU_MODEL_AMD_MILAN] = "Milan", + [UCS_CPU_MODEL_ZHAOXIN_ZHANGJIANG] = "Zhangjiang", + [UCS_CPU_MODEL_ZHAOXIN_WUDAOKOU] = "Wudaokou", +- [UCS_CPU_MODEL_ZHAOXIN_LUJIAZUI] = "Lujiazui" ++ [UCS_CPU_MODEL_ZHAOXIN_LUJIAZUI] = "Lujiazui", ++ [UCS_CPU_MODEL_RV64G] = "RV64G", + }; + + static const char* cpu_vendor_names[] = { +@@ -46,6 +48,7 @@ + [UCS_CPU_VENDOR_AMD] = "AMD", + [UCS_CPU_VENDOR_GENERIC_ARM] = "Generic ARM", + [UCS_CPU_VENDOR_GENERIC_PPC] = "Generic PPC", ++ [UCS_CPU_VENDOR_GENERIC_RV64G] = "Generic RV64G", + [UCS_CPU_VENDOR_FUJITSU_ARM] = "Fujitsu ARM", + [UCS_CPU_VENDOR_ZHAOXIN] = "Zhaoxin" + }; +diff -Nru ucx-1.15.0.orig/src/ucm/bistro/bistro.c ucx-1.15.0/src/ucm/bistro/bistro.c +--- ucx-1.15.0.orig/src/ucm/bistro/bistro.c 2023-09-29 12:31:02.000000000 +0200 ++++ ucx-1.15.0/src/ucm/bistro/bistro.c 2024-04-25 16:20:49.604417755 +0200 +@@ -1,5 +1,6 @@ + /** + * Copyright (c) NVIDIA CORPORATION & AFFILIATES, 2018. ALL RIGHTS RESERVED. ++ * Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. + * + * See file LICENSE for terms. + */ +@@ -63,7 +64,7 @@ + return status; + } + +-#if defined(__x86_64__) || defined (__aarch64__) ++#if defined(__x86_64__) || defined (__aarch64__) || defined (__riscv) + struct ucm_bistro_restore_point { + void *addr; /* address of function to restore */ + size_t patch_len; /* patch length */ +diff -Nru ucx-1.15.0.orig/src/ucm/bistro/bistro.h ucx-1.15.0/src/ucm/bistro/bistro.h +--- ucx-1.15.0.orig/src/ucm/bistro/bistro.h 2023-09-29 12:31:02.000000000 +0200 ++++ ucx-1.15.0/src/ucm/bistro/bistro.h 2024-04-25 16:20:49.604417755 +0200 +@@ -1,5 +1,6 @@ + /** + * Copyright (c) NVIDIA CORPORATION & AFFILIATES, 2018. ALL RIGHTS RESERVED. ++ * Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. + * + * See file LICENSE for terms. + */ +@@ -20,6 +21,8 @@ + # include "bistro_aarch64.h" + #elif defined(__x86_64__) + # include "bistro_x86_64.h" ++#elif defined(__riscv) ++# include "bistro_rv64.h" + #else + # error "Unsupported architecture" + #endif +diff -Nru ucx-1.15.0.orig/src/ucm/bistro/bistro_rv64.c ucx-1.15.0/src/ucm/bistro/bistro_rv64.c +--- ucx-1.15.0.orig/src/ucm/bistro/bistro_rv64.c 1970-01-01 01:00:00.000000000 +0100 ++++ ucx-1.15.0/src/ucm/bistro/bistro_rv64.c 2024-04-25 16:20:49.604417755 +0200 +@@ -0,0 +1,108 @@ ++/** ++ * Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. ++ * ++ * See file LICENSE for terms. ++ */ ++ ++#ifdef HAVE_CONFIG_H ++# include "config.h" ++#endif ++ ++#if defined(__riscv) ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#define X31 31 ++#define X0 0 ++ ++/** ++ * @brief JALR - Add 12 bit immediate to source register, save to destination ++ * register, jump and link from destination register ++ * ++ * @param[in] _regs source register number (0-31) ++ * @param[in] _regd destination register number (0-31) ++ * @param[in] _imm 12 bit immmediate value ++ */ ++#define JALR(_regs, _regd, _imm) \ ++ (((_imm) << 20) | ((_regs) << 15) | (0b000 << 12) | ((_regd) << 7) | (0x67)) ++ ++/** ++ * @brief C_J - Indirect jump (using compressed instruction) ++ * ++ * @param[in] _imm 12 bit immmediate value ++ */ ++#define C_J(_imm) \ ++ ((0b101) << 13 | ((_imm >> 1) << 2) | (0b01)) ++ ++/** ++ * @brief AUIPIC - Add upper intermediate to PC ++ * ++ * @param[in] _regd register number (0-31) ++ * @param[in] _imm 12 bit immmediate value ++ */ ++#define AUIPC(_regd, _imm) (((_imm) << 12) | ((_regd) << 7) | (0x17)) ++ ++/** ++ * @brief LD - Load from memory with address from register plus immediate ++ * ++ * @param[in] _regs source register number (0-31) ++ * @param[in] _regd destination register number (0-31) ++ * @param[in] _imm 12 bit immmediate value ++ */ ++#define LD(_regs, _regd, _imm) \ ++ (((_imm) << 20) | ((_regs) << 15) | (0b011 << 12) | ((_regd) << 7) | (0x3)) ++ ++/* void ucm_bistro_patch_lock(void *dst) ++{ ++ static const ucm_bistro_lock_t self_jmp = { ++ .j = C_J(0) ++ }; ++ ucm_bistro_modify_code(dst, &self_jmp); ++} */ ++ ++ucs_status_t ucm_bistro_patch(void *func_ptr, void *hook, const char *symbol, ++ void **orig_func_p, ++ ucm_bistro_restore_point_t **rp) ++{ ++ ucs_status_t status; ++ ucm_bistro_patch_t patch; ++ ++ patch = (ucm_bistro_patch_t) { ++ .auipc = AUIPC(X31, 0), ++ .ld = LD(31, 31, 0x10), ++ .jalr = JALR(X31, X0, 0), ++ .spare = 0, ++ .address = (uintptr_t)hook ++ }; ++ ++ if (orig_func_p != NULL) { ++ return UCS_ERR_UNSUPPORTED; ++ } ++ ++ status = ucm_bistro_create_restore_point(func_ptr, sizeof(patch), rp); ++ if (UCS_STATUS_IS_ERR(status)) { ++ return status; ++ } ++ ++ return ucm_bistro_apply_patch(func_ptr, &patch, sizeof(patch)); ++} ++ ++ucs_status_t ucm_bistro_relocate_one(ucm_bistro_relocate_context_t *ctx) ++{ ++ return UCS_ERR_UNSUPPORTED; ++} ++ ++#endif +diff -Nru ucx-1.15.0.orig/src/ucm/bistro/bistro_rv64.h ucx-1.15.0/src/ucm/bistro/bistro_rv64.h +--- ucx-1.15.0.orig/src/ucm/bistro/bistro_rv64.h 1970-01-01 01:00:00.000000000 +0100 ++++ ucx-1.15.0/src/ucm/bistro/bistro_rv64.h 2024-04-25 16:20:49.604417755 +0200 +@@ -0,0 +1,58 @@ ++/** ++ * Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. ++ * ++ * See file LICENSE for terms. ++ */ ++ ++ ++#ifndef UCM_BISTRO_BISTRO_RV64_H_ ++#define UCM_BISTRO_BISTRO_RV64_H_ ++ ++#include ++#include ++ ++#include ++#include ++ ++#define UCM_BISTRO_PROLOGUE ++#define UCM_BISTRO_EPILOGUE ++ ++typedef struct ucm_bistro_patch { ++ uint32_t auipc; ++ uint32_t ld; ++ uint32_t jalr; ++ uint32_t spare; ++ uint64_t address; ++} UCS_S_PACKED ucm_bistro_patch_t; ++ ++ ++/** ++ * Set library function call hook using Binary Instrumentation ++ * method (BISTRO): replace function body by user defined call ++ * ++ * @param func_ptr Pointer to function to patch. ++ * @param hook User-defined function-replacer. ++ * @param symbol Function name to replace. ++ * @param orig_func_p Unsupported on this architecture and must be NULL. ++ * If set to a non-NULL value, this function returns ++ * @ref UCS_ERR_UNSUPPORTED. ++ * @param rp Restore point used to restore original function. ++ * Optional, may be NULL. ++ * ++ * @return Error code as defined by @ref ucs_status_t ++ */ ++ucs_status_t ucm_bistro_patch(void *func_ptr, void *hook, const char *symbol, ++ void **orig_func_p, ++ ucm_bistro_restore_point_t **rp); ++ ++/* Lock implementation */ ++typedef struct { ++ uint16_t j; /* jump to self */ ++} UCS_S_PACKED ucm_bistro_lock_t; ++ ++/** ++ * Helper functions to improve atomicity of function patching ++ */ ++// void ucm_bistro_patch_lock(void *dst); ++ ++#endif +diff -Nru ucx-1.15.0.orig/src/ucm/Makefile.am ucx-1.15.0/src/ucm/Makefile.am +--- ucx-1.15.0.orig/src/ucm/Makefile.am 2023-09-29 12:31:02.000000000 +0200 ++++ ucx-1.15.0/src/ucm/Makefile.am 2024-04-25 16:20:49.604417755 +0200 +@@ -31,7 +31,8 @@ + bistro/bistro.h \ + bistro/bistro_x86_64.h \ + bistro/bistro_aarch64.h \ +- bistro/bistro_ppc64.h ++ bistro/bistro_ppc64.h \ ++ bistro/bistro_rv64.h + + libucm_la_SOURCES = \ + event/event.c \ +@@ -44,7 +45,8 @@ + bistro/bistro.c \ + bistro/bistro_x86_64.c \ + bistro/bistro_aarch64.c \ +- bistro/bistro_ppc64.c ++ bistro/bistro_ppc64.c \ ++ bistro/bistro_rv64.c + + if HAVE_UCM_PTMALLOC286 + libucm_la_CPPFLAGS += \ +diff -Nru ucx-1.15.0.orig/src/ucm/util/reloc.c ucx-1.15.0/src/ucm/util/reloc.c +--- ucx-1.15.0.orig/src/ucm/util/reloc.c 2023-09-29 12:31:02.000000000 +0200 ++++ ucx-1.15.0/src/ucm/util/reloc.c 2024-04-25 16:20:49.604417755 +0200 +@@ -91,6 +91,19 @@ + return 0; + } + ++static void * ++ucm_reloc_get_pointer(ElfW(Addr) base, const ElfW(Phdr) *dphdr, ElfW(Sxword) tag) ++{ ++ uintptr_t entry = ucm_reloc_get_entry(base, dphdr, tag); ++ ++#if defined(__riscv) ++ /* On RISC-V these are not pointers but offsets */ ++ return UCS_PTR_BYTE_OFFSET(base, entry); ++#else ++ return (void *)entry; ++#endif ++} ++ + static void ucm_reloc_file_lock(int fd, int l_type) + { + struct flock fl = { l_type, SEEK_SET, 0, 0}; +@@ -358,8 +371,8 @@ + } + + /* Get ELF tables pointers */ +- symtab = (void*)ucm_reloc_get_entry(dlpi_addr, dphdr, DT_SYMTAB); +- strtab = (void*)ucm_reloc_get_entry(dlpi_addr, dphdr, DT_STRTAB); ++ symtab = ucm_reloc_get_pointer(dlpi_addr, dphdr, DT_SYMTAB); ++ strtab = ucm_reloc_get_pointer(dlpi_addr, dphdr, DT_STRTAB); + if ((symtab == NULL) || (strtab == NULL)) { + /* no DT_SYMTAB or DT_STRTAB sections are defined */ + ucm_debug("%s has no dynamic symbols - skipping", dl_name) +@@ -369,7 +382,7 @@ + num_symbols = 0; + + /* populate .got.plt */ +- jmprel = (void*)ucm_reloc_get_entry(dlpi_addr, dphdr, DT_JMPREL); ++ jmprel = ucm_reloc_get_pointer(dlpi_addr, dphdr, DT_JMPREL); + if (jmprel != NULL) { + pltrelsz = ucm_reloc_get_entry(dlpi_addr, dphdr, DT_PLTRELSZ); + num_symbols += ucm_dl_populate_symbols(dl_info, dlpi_addr, jmprel, +@@ -377,7 +390,7 @@ + } + + /* populate .got */ +- rela = (void*)ucm_reloc_get_entry(dlpi_addr, dphdr, DT_RELA); ++ rela = ucm_reloc_get_pointer(dlpi_addr, dphdr, DT_RELA); + if (rela != NULL) { + relasz = ucm_reloc_get_entry(dlpi_addr, dphdr, DT_RELASZ); + num_symbols += ucm_dl_populate_symbols(dl_info, dlpi_addr, rela, relasz, +diff -Nru ucx-1.15.0.orig/src/ucm/util/reloc.h ucx-1.15.0/src/ucm/util/reloc.h +--- ucx-1.15.0.orig/src/ucm/util/reloc.h 2023-09-29 12:31:02.000000000 +0200 ++++ ucx-1.15.0/src/ucm/util/reloc.h 2024-04-25 16:20:49.604417755 +0200 +@@ -54,13 +54,33 @@ + static UCS_F_MAYBE_UNUSED + void* ucm_reloc_get_orig(const char *symbol, void *replacement) + { ++ static const int flags = RTLD_LOCAL | RTLD_NODELETE | RTLD_LAZY; + const char *error; +- void *func_ptr; ++ void *func_ptr = NULL; ++ int ret; ++ void *dl; ++ Dl_info info; ++ ++ (void)dlerror(); ++ ret = dladdr((void*)ucm_reloc_get_orig, &info); ++ if (ret == 0) { ++ ucm_warn("could not find address of current library: %s", dlerror()); ++ return NULL; ++ } ++ ++ (void)dlerror(); ++ dl = dlopen(info.dli_fname, flags); ++ if (dl != NULL) { ++ (void)dlerror(); ++ func_ptr = dlsym(dl, symbol); ++ ucm_trace("(libucm) found symbol %s at %p", symbol, func_ptr); ++ dlclose(dl); ++ } + +- func_ptr = dlsym(RTLD_NEXT, symbol); + if (func_ptr == NULL) { + (void)dlerror(); + func_ptr = dlsym(RTLD_DEFAULT, symbol); ++ ucm_trace("(default) found symbol %s at %p", symbol, func_ptr); + if (func_ptr == replacement) { + error = dlerror(); + ucm_fatal("could not find address of original %s(): %s", symbol, +diff -Nru ucx-1.15.0.orig/src/ucs/arch/atomic.h ucx-1.15.0/src/ucs/arch/atomic.h +--- ucx-1.15.0.orig/src/ucs/arch/atomic.h 2023-09-29 12:31:02.000000000 +0200 ++++ ucx-1.15.0/src/ucs/arch/atomic.h 2024-04-25 16:20:49.604417755 +0200 +@@ -1,5 +1,6 @@ + /** + * Copyright (c) NVIDIA CORPORATION & AFFILIATES, 2001-2015. ALL RIGHTS RESERVED. ++* Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. + * + * See file LICENSE for terms. + */ +@@ -15,6 +16,8 @@ + # include "generic/atomic.h" + #elif defined(__aarch64__) + # include "generic/atomic.h" ++#elif defined(__riscv) ++# include "generic/atomic.h" + #else + # error "Unsupported architecture" + #endif +diff -Nru ucx-1.15.0.orig/src/ucs/arch/bitops.h ucx-1.15.0/src/ucs/arch/bitops.h +--- ucx-1.15.0.orig/src/ucs/arch/bitops.h 2023-09-29 12:31:02.000000000 +0200 ++++ ucx-1.15.0/src/ucs/arch/bitops.h 2024-04-25 16:20:49.604417755 +0200 +@@ -1,6 +1,7 @@ + /** + * Copyright (c) NVIDIA CORPORATION & AFFILIATES, 2001-2015. ALL RIGHTS RESERVED. + * Copyright (C) Huawei Technologies Co., Ltd. 2020. ALL RIGHTS RESERVED. ++* Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. + * + * See file LICENSE for terms. + */ +@@ -20,6 +21,8 @@ + # include "ppc64/bitops.h" + #elif defined(__aarch64__) + # include "aarch64/bitops.h" ++#elif defined(__riscv) ++# include "rv64/bitops.h" + #else + # error "Unsupported architecture" + #endif +diff -Nru ucx-1.15.0.orig/src/ucs/arch/cpu.c ucx-1.15.0/src/ucs/arch/cpu.c +--- ucx-1.15.0.orig/src/ucs/arch/cpu.c 2023-09-29 12:31:02.000000000 +0200 ++++ ucx-1.15.0/src/ucs/arch/cpu.c 2024-04-25 16:25:29.290421918 +0200 +@@ -1,6 +1,7 @@ + /** + * Copyright (c) NVIDIA CORPORATION & AFFILIATES, 2019. ALL RIGHTS RESERVED. + * Copyright (C) Shanghai Zhaoxin Semiconductor Co., Ltd. 2020. ALL RIGHTS RESERVED. ++* Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. + * + * See file LICENSE for terms. + */ +@@ -70,17 +71,22 @@ + [UCS_CPU_VENDOR_ZHAOXIN] = { + .min = UCS_MEMUNITS_INF, + .max = UCS_MEMUNITS_INF ++ }, ++ [UCS_CPU_VENDOR_GENERIC_RV64G] = { ++ .min = UCS_MEMUNITS_INF, ++ .max = UCS_MEMUNITS_INF + } + }; + + const size_t ucs_cpu_est_bcopy_bw[UCS_CPU_VENDOR_LAST] = { +- [UCS_CPU_VENDOR_UNKNOWN] = UCS_CPU_EST_BCOPY_BW_DEFAULT, +- [UCS_CPU_VENDOR_INTEL] = UCS_CPU_EST_BCOPY_BW_DEFAULT, +- [UCS_CPU_VENDOR_AMD] = UCS_CPU_EST_BCOPY_BW_AMD, +- [UCS_CPU_VENDOR_GENERIC_ARM] = UCS_CPU_EST_BCOPY_BW_DEFAULT, +- [UCS_CPU_VENDOR_GENERIC_PPC] = UCS_CPU_EST_BCOPY_BW_DEFAULT, +- [UCS_CPU_VENDOR_FUJITSU_ARM] = UCS_CPU_EST_BCOPY_BW_FUJITSU_ARM, +- [UCS_CPU_VENDOR_ZHAOXIN] = UCS_CPU_EST_BCOPY_BW_DEFAULT ++ [UCS_CPU_VENDOR_UNKNOWN] = UCS_CPU_EST_BCOPY_BW_DEFAULT, ++ [UCS_CPU_VENDOR_INTEL] = UCS_CPU_EST_BCOPY_BW_DEFAULT, ++ [UCS_CPU_VENDOR_AMD] = UCS_CPU_EST_BCOPY_BW_AMD, ++ [UCS_CPU_VENDOR_GENERIC_ARM] = UCS_CPU_EST_BCOPY_BW_DEFAULT, ++ [UCS_CPU_VENDOR_GENERIC_PPC] = UCS_CPU_EST_BCOPY_BW_DEFAULT, ++ [UCS_CPU_VENDOR_GENERIC_RV64G] = UCS_CPU_EST_BCOPY_BW_DEFAULT, ++ [UCS_CPU_VENDOR_FUJITSU_ARM] = UCS_CPU_EST_BCOPY_BW_FUJITSU_ARM, ++ [UCS_CPU_VENDOR_ZHAOXIN] = UCS_CPU_EST_BCOPY_BW_DEFAULT + }; + + static void ucs_sysfs_get_cache_size() +diff -Nru ucx-1.15.0.orig/src/ucs/arch/cpu.h ucx-1.15.0/src/ucs/arch/cpu.h +--- ucx-1.15.0.orig/src/ucs/arch/cpu.h 2023-09-29 12:31:02.000000000 +0200 ++++ ucx-1.15.0/src/ucs/arch/cpu.h 2024-04-25 16:20:49.604417755 +0200 +@@ -2,6 +2,7 @@ + * Copyright (c) NVIDIA CORPORATION & AFFILIATES, 2001-2015. ALL RIGHTS RESERVED. + * Copyright (C) ARM Ltd. 2016. ALL RIGHTS RESERVED. + * Copyright (C) Shanghai Zhaoxin Semiconductor Co., Ltd. 2020. ALL RIGHTS RESERVED. ++* Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. + * + * See file LICENSE for terms. + */ +@@ -36,6 +37,7 @@ + UCS_CPU_MODEL_ZHAOXIN_ZHANGJIANG, + UCS_CPU_MODEL_ZHAOXIN_WUDAOKOU, + UCS_CPU_MODEL_ZHAOXIN_LUJIAZUI, ++ UCS_CPU_MODEL_RV64G, + UCS_CPU_MODEL_LAST + } ucs_cpu_model_t; + +@@ -66,6 +68,7 @@ + UCS_CPU_VENDOR_GENERIC_PPC, + UCS_CPU_VENDOR_FUJITSU_ARM, + UCS_CPU_VENDOR_ZHAOXIN, ++ UCS_CPU_VENDOR_GENERIC_RV64G, + UCS_CPU_VENDOR_LAST + } ucs_cpu_vendor_t; + +@@ -99,6 +102,8 @@ + # include "ppc64/cpu.h" + #elif defined(__aarch64__) + # include "aarch64/cpu.h" ++#elif defined(__riscv) ++# include "rv64/cpu.h" + #else + # error "Unsupported architecture" + #endif +diff -Nru ucx-1.15.0.orig/src/ucs/arch/global_opts.h ucx-1.15.0/src/ucs/arch/global_opts.h +--- ucx-1.15.0.orig/src/ucs/arch/global_opts.h 2023-09-29 12:31:02.000000000 +0200 ++++ ucx-1.15.0/src/ucs/arch/global_opts.h 2024-04-25 16:20:49.604417755 +0200 +@@ -1,5 +1,6 @@ + /** + * Copyright (c) NVIDIA CORPORATION & AFFILIATES, 2019. ALL RIGHTS RESERVED. ++* Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. + * + * See file LICENSE for terms. + */ +@@ -15,6 +16,8 @@ + # include "ppc64/global_opts.h" + #elif defined(__aarch64__) + # include "aarch64/global_opts.h" ++#elif defined(__riscv) ++# include "rv64/global_opts.h" + #else + # error "Unsupported architecture" + #endif +diff -Nru ucx-1.15.0.orig/src/ucs/arch/rv64/bitops.h ucx-1.15.0/src/ucs/arch/rv64/bitops.h +--- ucx-1.15.0.orig/src/ucs/arch/rv64/bitops.h 1970-01-01 01:00:00.000000000 +0100 ++++ ucx-1.15.0/src/ucs/arch/rv64/bitops.h 2024-04-25 16:20:49.608417782 +0200 +@@ -0,0 +1,33 @@ ++/** ++* Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. ++* ++* See file LICENSE for terms. ++*/ ++ ++#ifndef UCS_ARCH_RV64_BITOPS_H_ ++#define UCS_ARCH_RV64_BITOPS_H_ ++ ++#include ++#include ++ ++static UCS_F_ALWAYS_INLINE unsigned __ucs_ilog2_u32(uint32_t n) ++{ ++ return 31 - __builtin_clz(n); ++} ++ ++static UCS_F_ALWAYS_INLINE unsigned __ucs_ilog2_u64(uint64_t n) ++{ ++ return 63 - __builtin_clzll(n); ++} ++ ++static UCS_F_ALWAYS_INLINE unsigned ucs_ffs32(uint32_t n) ++{ ++ return __ucs_ilog2_u32(n & -n); ++} ++ ++static UCS_F_ALWAYS_INLINE unsigned ucs_ffs64(uint64_t n) ++{ ++ return __ucs_ilog2_u64(n & -n); ++} ++ ++#endif +diff -Nru ucx-1.15.0.orig/src/ucs/arch/rv64/cpu.c ucx-1.15.0/src/ucs/arch/rv64/cpu.c +--- ucx-1.15.0.orig/src/ucs/arch/rv64/cpu.c 1970-01-01 01:00:00.000000000 +0100 ++++ ucx-1.15.0/src/ucs/arch/rv64/cpu.c 2024-04-25 16:20:49.608417782 +0200 +@@ -0,0 +1,20 @@ ++/** ++* Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. ++* ++* See file LICENSE for terms. ++*/ ++ ++#if defined(__riscv) ++ ++#ifdef HAVE_CONFIG_H ++# include "config.h" ++#endif ++ ++#include ++ ++ucs_cpu_vendor_t ucs_arch_get_cpu_vendor() ++{ ++ return UCS_CPU_VENDOR_GENERIC_RV64G; ++} ++ ++#endif +diff -Nru ucx-1.15.0.orig/src/ucs/arch/rv64/cpu.h ucx-1.15.0/src/ucs/arch/rv64/cpu.h +--- ucx-1.15.0.orig/src/ucs/arch/rv64/cpu.h 1970-01-01 01:00:00.000000000 +0100 ++++ ucx-1.15.0/src/ucs/arch/rv64/cpu.h 2024-04-25 16:20:49.608417782 +0200 +@@ -0,0 +1,113 @@ ++/** ++* Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. ++* Copyright (C) Rivos Inc. 2023 ++* ++* See file LICENSE for terms. ++*/ ++ ++#ifndef UCS_ARCH_RV64_CPU_H_ ++#define UCS_ARCH_RV64_CPU_H_ ++ ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++BEGIN_C_DECLS ++ ++/** @file cpu.h */ ++ ++#define UCS_ARCH_CACHE_LINE_SIZE 64 ++ ++/* ++ * System call for flushing the instruction caches. ++ * ++ * Need to pass zero to lead to all HARTs (CPUs) to update their caches. ++ */ ++#define ucs_rv64_icache_flush(_start, _end) \ ++ syscall(SYS_riscv_flush_icache, _start, _end, 0) ++ ++#define ucs_memory_bus_store_fence() asm volatile("fence ow, ow" ::: "memory") ++#define ucs_memory_bus_load_fence() asm volatile("fence ir, ir" ::: "memory") ++ ++/** ++ * The RISC-V memory model is mostly weak. The fence instruction ensures that all ++ * HARTs (CPUs) see any stores or loads before the fence before any stores or ++ * loads after the fence. ++ */ ++ ++#define ucs_memory_cpu_fence() asm volatile("fence rw, rw" ::: "memory") ++#define ucs_memory_bus_cacheline_wc_flush() ucs_memory_cpu_fence() ++#define ucs_memory_cpu_store_fence() asm volatile("fence rw, w" ::: "memory") ++#define ucs_memory_cpu_load_fence() asm volatile("fence r, rw" ::: "memory") ++#define ucs_memory_cpu_wc_fence() ucs_memory_cpu_fence() ++ ++static inline double ucs_arch_get_clocks_per_sec() ++{ ++ return ucs_arch_generic_get_clocks_per_sec(); ++} ++ ++static inline ucs_cpu_model_t ucs_arch_get_cpu_model() ++{ ++ return UCS_CPU_MODEL_RV64G; ++} ++ ++static inline int ucs_arch_get_cpu_flag() ++{ ++ return UCS_CPU_FLAG_UNKNOWN; ++} ++ ++static inline void ucs_cpu_init() ++{ ++} ++ ++ucs_cpu_vendor_t ucs_arch_get_cpu_vendor(); ++ ++static inline ucs_status_t ucs_arch_get_cache_size(size_t *cache_sizes) ++{ ++ return UCS_ERR_UNSUPPORTED; ++} ++ ++static inline uint64_t ucs_arch_read_hres_clock() ++{ ++ return ucs_arch_generic_read_hres_clock(); ++} ++ ++#define ucs_arch_wait_mem ucs_arch_generic_wait_mem ++ ++#if !HAVE___CLEAR_CACHE ++static inline void ucs_arch_clear_cache(void *start, void *end) ++{ ++ /* ++ * The syscall will cause all other HARTs (CPUs) to invalidate their ++ * instruction caches. This is the equivalent of the glibc __clear_cache() ++ * implementation that ucs_clear_cache() will use if HAVE_CLEAR_CACHE is ++ * defined. ++ */ ++ ucs_rv64_icache_flush(start, end); ++} ++#endif ++ ++static inline void *ucs_memcpy_relaxed(void *dst, const void *src, size_t len) ++{ ++ return memcpy(dst, src, len); ++} ++ ++static UCS_F_ALWAYS_INLINE void ++ucs_memcpy_nontemporal(void *dst, const void *src, size_t len) ++{ ++ memcpy(dst, src, len); ++} ++ ++END_C_DECLS ++ ++#endif +diff -Nru ucx-1.15.0.orig/src/ucs/arch/rv64/global_opts.c ucx-1.15.0/src/ucs/arch/rv64/global_opts.c +--- ucx-1.15.0.orig/src/ucs/arch/rv64/global_opts.c 1970-01-01 01:00:00.000000000 +0100 ++++ ucx-1.15.0/src/ucs/arch/rv64/global_opts.c 2024-04-25 16:20:49.608417782 +0200 +@@ -0,0 +1,24 @@ ++/** ++* Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. ++* ++* See file LICENSE for terms. ++*/ ++ ++#if defined(__riscv) ++ ++#ifdef HAVE_CONFIG_H ++# include "config.h" ++#endif ++ ++#include ++#include ++ ++ucs_config_field_t ucs_arch_global_opts_table[] = { ++ {NULL} ++}; ++ ++void ucs_arch_print_memcpy_limits(ucs_arch_global_opts_t *config) ++{ ++} ++ ++#endif +diff -Nru ucx-1.15.0.orig/src/ucs/arch/rv64/global_opts.h ucx-1.15.0/src/ucs/arch/rv64/global_opts.h +--- ucx-1.15.0.orig/src/ucs/arch/rv64/global_opts.h 1970-01-01 01:00:00.000000000 +0100 ++++ ucx-1.15.0/src/ucs/arch/rv64/global_opts.h 2024-04-25 16:20:49.608417782 +0200 +@@ -0,0 +1,25 @@ ++/** ++* Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. ++* ++* See file LICENSE for terms. ++*/ ++ ++#ifndef UCS_ARCH_RV64_GLOBAL_OPTS_H_ ++#define UCS_ARCH_RV64_GLOBAL_OPTS_H_ ++ ++#include ++ ++#include ++ ++BEGIN_C_DECLS ++ ++#define UCS_ARCH_GLOBAL_OPTS_INITALIZER {} ++ ++/* built-in memcpy config */ ++typedef struct ucs_arch_global_opts { ++ char dummy; ++} ucs_arch_global_opts_t; ++ ++END_C_DECLS ++ ++#endif +diff -Nru ucx-1.15.0.orig/src/ucs/configure.m4 ucx-1.15.0/src/ucs/configure.m4 +--- ucx-1.15.0.orig/src/ucs/configure.m4 2023-09-29 12:31:02.000000000 +0200 ++++ ucx-1.15.0/src/ucs/configure.m4 2024-04-25 16:20:49.608417782 +0200 +@@ -2,6 +2,7 @@ + # Copyright (c) NVIDIA CORPORATION & AFFILIATES, 2001-2014. ALL RIGHTS RESERVED. + # Copyright (C) UT-Battelle, LLC. 2015. ALL RIGHTS RESERVED. + # Copyright (C) ARM, Ltd. 2016. ALL RIGHTS RESERVED. ++# Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. + # See file LICENSE for terms. + # + +@@ -238,7 +239,7 @@ + [AS_HELP_STRING([--with-cache-line-size=SIZE], + [Build UCX with cache line size defined by user. This parameter + overwrites default cache line sizes defines in +- UCX (x86-64: 64, Power: 128, ARMv8: 64/128). The supported values are: 64, 128])], ++ UCX (x86-64: 64, Power: 128, ARMv8: 64/128, RISCV: 64). The supported values are: 64, 128])], + [], + [with_cache_line_size=no]) + +diff -Nru ucx-1.15.0.orig/src/ucs/Makefile.am ucx-1.15.0/src/ucs/Makefile.am +--- ucx-1.15.0.orig/src/ucs/Makefile.am 2023-09-29 12:31:02.000000000 +0200 ++++ ucx-1.15.0/src/ucs/Makefile.am 2024-04-25 16:20:49.604417755 +0200 +@@ -2,6 +2,7 @@ + # Copyright (c) NVIDIA CORPORATION & AFFILIATES, 2001-2014. ALL RIGHTS RESERVED. + # Copyright (C) UT-Battelle, LLC. 2014-2017. ALL RIGHTS RESERVED. + # Copyright (C) ARM Ltd. 2016-2017. ALL RIGHTS RESERVED. ++# Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. + # See file LICENSE for terms. + # + +@@ -22,6 +23,7 @@ + nobase_dist_libucs_la_HEADERS = \ + arch/aarch64/bitops.h \ + arch/ppc64/bitops.h \ ++ arch/rv64/bitops.h \ + arch/x86_64/bitops.h \ + arch/bitops.h \ + algorithm/crc.h \ +@@ -82,12 +84,14 @@ + arch/aarch64/global_opts.h \ + arch/generic/atomic.h \ + arch/ppc64/global_opts.h \ ++ arch/rv64/global_opts.h \ + arch/global_opts.h + + noinst_HEADERS = \ + arch/aarch64/cpu.h \ + arch/generic/cpu.h \ + arch/ppc64/cpu.h \ ++ arch/rv64/cpu.h \ + arch/x86_64/cpu.h \ + arch/cpu.h \ + config/ucm_opts.h \ +@@ -140,6 +144,8 @@ + arch/aarch64/global_opts.c \ + arch/ppc64/timebase.c \ + arch/ppc64/global_opts.c \ ++ arch/rv64/cpu.c \ ++ arch/rv64/global_opts.c \ + arch/x86_64/cpu.c \ + arch/x86_64/global_opts.c \ + arch/cpu.c \ From a458d4bbd67e007a7fdbd0ee45f009bf4a74766e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Fri, 26 Apr 2024 17:39:06 +0200 Subject: [PATCH 484/889] apply additional patch for RISC-V and run autoreconf --- easybuild/easyconfigs/u/UCX/UCX-1.15.0-GCCcore-13.2.0.eb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.15.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.15.0-GCCcore-13.2.0.eb index 6380530f16c..e437df771c9 100644 --- a/easybuild/easyconfigs/u/UCX/UCX-1.15.0-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/u/UCX/UCX-1.15.0-GCCcore-13.2.0.eb @@ -37,6 +37,12 @@ dependencies = [ ('numactl', '2.0.16'), ] +if ARCH == "riscv64": + patches += ['UCX-1.15.0-add_riscv_support.patch'] + checksums += [{'UCX-1.15.0-add_riscv_support.patch': + '700640d469f441f3ee2c9d42e3a533f78f0c892c1d3c221aebd41279668d118e'}] + preconfigopts = 'autoreconf -fi && ' + configure_cmd = "contrib/configure-release" configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' From 74cf5b00080ff40609a065b32494c1e164425274 Mon Sep 17 00:00:00 2001 From: Bob Droge Date: Sun, 28 Apr 2024 07:29:47 +0000 Subject: [PATCH 485/889] adding easyconfigs: UCX-1.16.0-GCCcore-13.2.0.eb --- .../u/UCX/UCX-1.16.0-GCCcore-13.2.0.eb | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..437ea8cb766 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.2.0.eb @@ -0,0 +1,54 @@ +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.16.0' + +homepage = 'https://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = ['%(namelower)s-%(version)s.tar.gz'] +patches = [ + 'UCX-1.13.1-dynamic_modules.patch', +] +checksums = [ + {'ucx-1.16.0.tar.gz': 'f73770d3b583c91aba5fb07557e655ead0786e057018bfe42f0ebe8716e9d28c'}, + {'UCX-1.13.1-dynamic_modules.patch': '00874687bd90b795fff61aaa183f6c6bea2210aa1003b28f23d9ebf7066f8782'}, +] + +# Uncomment when updating to final release +# sources = ['%(namelower)s-%(version)s.tar.gz'] +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), + ('pkgconf', '2.0.3'), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +dependencies = [ + ('zlib', '1.2.13'), + ('numactl', '2.0.16'), +] + +configure_cmd = "contrib/configure-release" + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' +configopts += '--without-java --without-go --disable-doxygen-doc ' + +buildopts = 'V=1' + +sanity_check_paths = { + 'files': ['bin/ucx_info', 'bin/ucx_perftest', 'bin/ucx_read_profile'], + 'dirs': ['include', 'lib', 'share'] +} + +sanity_check_commands = ["ucx_info -d"] + +moduleclass = 'lib' From e37c90b5e27eaf1971d95ca0bf4cf782c56ddc3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Sun, 28 Apr 2024 09:35:18 +0200 Subject: [PATCH 486/889] now use the regular configure (see #20428) --- easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.2.0.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.2.0.eb index 437ea8cb766..c184001f87c 100644 --- a/easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.2.0.eb @@ -37,10 +37,10 @@ dependencies = [ ('numactl', '2.0.16'), ] -configure_cmd = "contrib/configure-release" - configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' configopts += '--without-java --without-go --disable-doxygen-doc ' +# include the configure options from contrib/configure-release +configopts += '--disable-logging --disable-debug --disable-assertions --disable-params-check ' buildopts = 'V=1' From 532e8cd8dbadda3e2186f377012569e9127e9b9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Sun, 28 Apr 2024 15:28:42 +0200 Subject: [PATCH 487/889] patch for adding RISC-V support to UCC 1.2.0 --- .../u/UCC/UCC-1.2.0_add-riscv-support.patch | 91 +++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 easybuild/easyconfigs/u/UCC/UCC-1.2.0_add-riscv-support.patch diff --git a/easybuild/easyconfigs/u/UCC/UCC-1.2.0_add-riscv-support.patch b/easybuild/easyconfigs/u/UCC/UCC-1.2.0_add-riscv-support.patch new file mode 100644 index 00000000000..1aa1e5fa331 --- /dev/null +++ b/easybuild/easyconfigs/u/UCC/UCC-1.2.0_add-riscv-support.patch @@ -0,0 +1,91 @@ +Add RISC-V support to UCC 1.2.0 using https://github.com/openucx/ucc/pull/829. + +diff --git a/src/Makefile.am b/src/Makefile.am +index b3fe5ed1c2..85496f83dd 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -50,6 +50,7 @@ noinst_HEADERS = \ + coll_score/ucc_coll_score.h \ + utils/arch/aarch64/cpu.h \ + utils/arch/ppc64/cpu.h \ ++ utils/arch/riscv64/cpu.h \ + utils/arch/x86_64/cpu.h \ + utils/arch/cpu.h \ + utils/arch/cuda_def.h \ +diff --git a/src/utils/arch/cpu.h b/src/utils/arch/cpu.h +index 8025f7a9d8..17a74195b7 100644 +--- a/src/utils/arch/cpu.h ++++ b/src/utils/arch/cpu.h +@@ -2,6 +2,7 @@ + * Copyright (c) NVIDIA CORPORATION & AFFILIATES, 2001-2023. ALL RIGHTS RESERVED. + * Copyright (C) ARM Ltd. 2016. ALL RIGHTS RESERVED. + * Copyright (C) Shanghai Zhaoxin Semiconductor Co., Ltd. 2020. ALL RIGHTS RESERVED. ++* Copyright (C) Rivos Inc. 2023 + * + * See file LICENSE for terms. + */ +@@ -44,6 +45,7 @@ typedef enum ucc_cpu_vendor { + UCC_CPU_VENDOR_AMD, + UCC_CPU_VENDOR_GENERIC_ARM, + UCC_CPU_VENDOR_GENERIC_PPC, ++ UCC_CPU_VENDOR_GENERIC_RISCV, + UCC_CPU_VENDOR_FUJITSU_ARM, + UCC_CPU_VENDOR_ZHAOXIN, + UCC_CPU_VENDOR_LAST +@@ -59,6 +61,8 @@ static inline ucc_cpu_vendor_t ucc_get_vendor_from_str(const char *v_name) + return UCC_CPU_VENDOR_GENERIC_ARM; + if (strcasecmp(v_name, "ppc") == 0) + return UCC_CPU_VENDOR_GENERIC_PPC; ++ if (strcasecmp(v_name, "riscv") == 0) ++ return UCC_CPU_VENDOR_GENERIC_RISCV; + if (strcasecmp(v_name, "fujitsu") == 0) + return UCC_CPU_VENDOR_FUJITSU_ARM; + if (strcasecmp(v_name, "zhaoxin") == 0) +@@ -107,6 +111,8 @@ static inline ucc_cpu_model_t ucc_get_model_from_str(const char *m_name) + # include "ppc64/cpu.h" + #elif defined(__aarch64__) + # include "aarch64/cpu.h" ++#elif defined(__riscv) && (__riscv_xlen == 64) ++# include "riscv64/cpu.h" + #else + # error "Unsupported architecture" + #endif +diff --git a/src/utils/arch/riscv64/cpu.h b/src/utils/arch/riscv64/cpu.h +new file mode 100644 +index 0000000000..c93cdb3db1 +--- /dev/null ++++ b/src/utils/arch/riscv64/cpu.h +@@ -0,0 +1,33 @@ ++/** ++* Copyright (c) 2001-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. ++* Copyright (C) ARM Ltd. 2016-2017. ALL RIGHTS RESERVED. ++* Copyright (C) Rivos Inc. 2023 ++* ++* See file LICENSE for terms. ++*/ ++ ++#ifndef UCC_UTILS_ARCH_RISCV64_CPU_H_ ++#define UCC_UTILS_ARCH_RISCV64_CPU_H_ ++ ++#define UCC_ARCH_CACHE_LINE_SIZE 64 ++ ++/* RVWMO rules */ ++#define ucc_memory_bus_fence() asm volatile("fence iorw, iorw" ::: "memory") ++#define ucc_memory_bus_store_fence() asm volatile("fence ow, ow" ::: "memory") ++#define ucc_memory_bus_load_fence() asm volatile("fence ir, ir" ::: "memory") ++ ++#define ucc_memory_cpu_fence() asm volatile("fence rw, rw" ::: "memory") ++#define ucc_memory_cpu_store_fence() asm volatile("fence rw, w" ::: "memory") ++#define ucc_memory_cpu_load_fence() asm volatile("fence r, rw" ::: "memory") ++ ++static inline ucc_cpu_model_t ucc_arch_get_cpu_model() ++{ ++ return UCC_CPU_MODEL_UNKNOWN; ++} ++ ++static inline ucc_cpu_vendor_t ucc_arch_get_cpu_vendor() ++{ ++ return UCC_CPU_VENDOR_GENERIC_RISCV; ++} ++ ++#endif From 751ad839cabbb196ac6e84e8a55cf701c310315a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Sun, 28 Apr 2024 15:28:59 +0200 Subject: [PATCH 488/889] apply UCC-1.2.0_add-riscv-support.patch when building for RISC-V --- easybuild/easyconfigs/u/UCC/UCC-1.2.0-GCCcore-13.2.0.eb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/easybuild/easyconfigs/u/UCC/UCC-1.2.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/u/UCC/UCC-1.2.0-GCCcore-13.2.0.eb index 45727a0c4bc..287370022c2 100644 --- a/easybuild/easyconfigs/u/UCC/UCC-1.2.0-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/u/UCC/UCC-1.2.0-GCCcore-13.2.0.eb @@ -20,6 +20,10 @@ checksums = [ {'UCC-1.1.0-multiple_component_paths.patch': '3081d0f694331daa4a88a0fa3fb54b9a918015248ae5eb7b3157b924abd31bee'}, ] +if ARCH == "riscv64": + patches += ['UCC-1.2.0_add-riscv-support.patch'] + checksums += [{'UCC-1.2.0_add-riscv-support.patch': 'e9e2a4c206dad2367af97d92c12b796b454992cfce23984b132e9e78a07ff55b'}] + builddependencies = [ ('binutils', '2.40'), ('Autotools', '20220317'), From 595cb6a9ac6cdd9e6d3f6261c754e968423ff908 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Sun, 28 Apr 2024 21:05:04 +0200 Subject: [PATCH 489/889] fix long line Co-authored-by: SebastianAchilles --- easybuild/easyconfigs/u/UCC/UCC-1.2.0-GCCcore-13.2.0.eb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/u/UCC/UCC-1.2.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/u/UCC/UCC-1.2.0-GCCcore-13.2.0.eb index 287370022c2..4904e32fb53 100644 --- a/easybuild/easyconfigs/u/UCC/UCC-1.2.0-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/u/UCC/UCC-1.2.0-GCCcore-13.2.0.eb @@ -22,7 +22,8 @@ checksums = [ if ARCH == "riscv64": patches += ['UCC-1.2.0_add-riscv-support.patch'] - checksums += [{'UCC-1.2.0_add-riscv-support.patch': 'e9e2a4c206dad2367af97d92c12b796b454992cfce23984b132e9e78a07ff55b'}] + checksums += [{'UCC-1.2.0_add-riscv-support.patch': + 'e9e2a4c206dad2367af97d92c12b796b454992cfce23984b132e9e78a07ff55b'}] builddependencies = [ ('binutils', '2.40'), From c7f07c7a5c7f5fb1adf19658d0ddf6634a62dda2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Sun, 28 Apr 2024 21:25:04 +0200 Subject: [PATCH 490/889] remove trailing space Co-authored-by: SebastianAchilles --- easybuild/easyconfigs/u/UCC/UCC-1.2.0-GCCcore-13.2.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/u/UCC/UCC-1.2.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/u/UCC/UCC-1.2.0-GCCcore-13.2.0.eb index 4904e32fb53..2c50c82b7d8 100644 --- a/easybuild/easyconfigs/u/UCC/UCC-1.2.0-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/u/UCC/UCC-1.2.0-GCCcore-13.2.0.eb @@ -22,7 +22,7 @@ checksums = [ if ARCH == "riscv64": patches += ['UCC-1.2.0_add-riscv-support.patch'] - checksums += [{'UCC-1.2.0_add-riscv-support.patch': + checksums += [{'UCC-1.2.0_add-riscv-support.patch': 'e9e2a4c206dad2367af97d92c12b796b454992cfce23984b132e9e78a07ff55b'}] builddependencies = [ From c0e32c47b49d78125be0d5851473abcc81340b03 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Mon, 29 Apr 2024 10:58:08 +0200 Subject: [PATCH 491/889] move build from exts_list to deps --- easybuild/easyconfigs/n/napari/napari-0.4.18-foss-2023a.eb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/n/napari/napari-0.4.18-foss-2023a.eb b/easybuild/easyconfigs/n/napari/napari-0.4.18-foss-2023a.eb index 713e2ef6492..46fb74f0d2b 100644 --- a/easybuild/easyconfigs/n/napari/napari-0.4.18-foss-2023a.eb +++ b/easybuild/easyconfigs/n/napari/napari-0.4.18-foss-2023a.eb @@ -34,6 +34,7 @@ dependencies = [ ('Qtconsole', '5.5.1'), ('Pint', '0.23'), ('wrapt', '1.15.0'), + ('build', '1.0.3'), ] use_pip = True @@ -85,9 +86,6 @@ exts_list = [ ('pyproject_hooks', '1.0.0', { 'checksums': ['f271b298b97f5955d53fb12b72c1fb1948c22c1a6b70b315c54cedaca0264ef5'], }), - ('build', '1.0.3', { - 'checksums': ['538aab1b64f9828977f84bc63ae570b060a8ed1be419e7870b8b4fc5e6ea553b'], - }), ('mdurl', '0.1.2', { 'checksums': ['bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba'], }), From f511f85b29055f27745d5123df619f3e7f8dee97 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Mon, 29 Apr 2024 15:26:34 +0200 Subject: [PATCH 492/889] increase compatibility with AVX512 platforms of bwa-mem2 v2.2.1 --- .../bwa-mem2-2.2.1-intel-compilers-2023.1.0.eb | 6 +++++- .../bwa-mem2-2.2.1_common_avx512_flags.patch | 15 +++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 easybuild/easyconfigs/b/bwa-mem2/bwa-mem2-2.2.1_common_avx512_flags.patch diff --git a/easybuild/easyconfigs/b/bwa-mem2/bwa-mem2-2.2.1-intel-compilers-2023.1.0.eb b/easybuild/easyconfigs/b/bwa-mem2/bwa-mem2-2.2.1-intel-compilers-2023.1.0.eb index 74c175b5994..0393ac9b6d5 100644 --- a/easybuild/easyconfigs/b/bwa-mem2/bwa-mem2-2.2.1-intel-compilers-2023.1.0.eb +++ b/easybuild/easyconfigs/b/bwa-mem2/bwa-mem2-2.2.1-intel-compilers-2023.1.0.eb @@ -15,10 +15,14 @@ toolchainopts = {'pic': True, 'oneapi': False} github_account = 'bwa-mem2' source_urls = [GITHUB_SOURCE] sources = ['v%(version)s.tar.gz'] -patches = ['%(name)s-%(version)s_use_external_deps.patch'] +patches = [ + 'bwa-mem2-%(version)s_use_external_deps.patch', + 'bwa-mem2-%(version)s_use_common_avx512flags.patch', +] checksums = [ {'v2.2.1.tar.gz': '36ddd28ce7020d5a036ddeffa00e692296fd40c80380671bd4ea5757bd28841b'}, {'bwa-mem2-2.2.1_use_external_deps.patch': '0a9d7f7b3289029e19cf7dbab1778448097b9e0f92fa41a74a8cf81c9e114967'}, + {'bwa-mem2-2.2.1_common_avx512_flags.patch': '1a784bca167c6e3576a83c11715cbf6f8dced09d46021c0d283f7a1b185d6569'}, ] dependencies = [('safestringlib', '20240228')] diff --git a/easybuild/easyconfigs/b/bwa-mem2/bwa-mem2-2.2.1_common_avx512_flags.patch b/easybuild/easyconfigs/b/bwa-mem2/bwa-mem2-2.2.1_common_avx512_flags.patch new file mode 100644 index 00000000000..b7e55ecf1f1 --- /dev/null +++ b/easybuild/easyconfigs/b/bwa-mem2/bwa-mem2-2.2.1_common_avx512_flags.patch @@ -0,0 +1,15 @@ +Use common AVX512 flagset to increase compatibility of bwa-mem2.avx512bw binary +across platforms supporting AVX512 +see https://github.com/bwa-mem2/bwa-mem2/issues/236 +author: Alex Domingo (Vrije Universiteit Brussel) +--- Makefile.orig 2024-04-29 14:52:21.634066000 +0200 ++++ Makefile 2024-04-29 14:52:48.590282000 +0200 +@@ -76,7 +76,7 @@ + endif + else ifeq ($(arch),avx512) + ifeq ($(CXX), icpc) +- ARCH_FLAGS=-xCORE-AVX512 ++ ARCH_FLAGS=-march=common-avx512 #-xCORE-AVX512 + else + ARCH_FLAGS=-mavx512bw + endif From 553097e209230e781b69d84e95e3f9c8e2a0b589 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Mon, 29 Apr 2024 17:32:49 +0200 Subject: [PATCH 493/889] fix patch file name in bwa-mem2 v2.2.1 Co-authored-by: Adam Huffman --- .../b/bwa-mem2/bwa-mem2-2.2.1-intel-compilers-2023.1.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/b/bwa-mem2/bwa-mem2-2.2.1-intel-compilers-2023.1.0.eb b/easybuild/easyconfigs/b/bwa-mem2/bwa-mem2-2.2.1-intel-compilers-2023.1.0.eb index 0393ac9b6d5..e4edd8be316 100644 --- a/easybuild/easyconfigs/b/bwa-mem2/bwa-mem2-2.2.1-intel-compilers-2023.1.0.eb +++ b/easybuild/easyconfigs/b/bwa-mem2/bwa-mem2-2.2.1-intel-compilers-2023.1.0.eb @@ -17,7 +17,7 @@ source_urls = [GITHUB_SOURCE] sources = ['v%(version)s.tar.gz'] patches = [ 'bwa-mem2-%(version)s_use_external_deps.patch', - 'bwa-mem2-%(version)s_use_common_avx512flags.patch', + 'bwa-mem2-%(version)s_common_avx512_flags.patch', ] checksums = [ {'v2.2.1.tar.gz': '36ddd28ce7020d5a036ddeffa00e692296fd40c80380671bd4ea5757bd28841b'}, From 51359948ef32dd21477c2b1373f517120779eb8f Mon Sep 17 00:00:00 2001 From: Ake Sandgren Date: Tue, 30 Apr 2024 10:49:08 +0200 Subject: [PATCH 494/889] updated checksum for jsonpath_lib to match new reproducible tar file creation in EB 5.x --- easybuild/easyconfigs/p/polars/polars-0.20.2-gfbf-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/polars/polars-0.20.2-gfbf-2023a.eb b/easybuild/easyconfigs/p/polars/polars-0.20.2-gfbf-2023a.eb index 0253798f8d6..a3d7ab5fd0d 100644 --- a/easybuild/easyconfigs/p/polars/polars-0.20.2-gfbf-2023a.eb +++ b/easybuild/easyconfigs/p/polars/polars-0.20.2-gfbf-2023a.eb @@ -193,7 +193,7 @@ checksums = [ {'jemallocator-0.5.4.tar.gz': 'a0de374a9f8e63150e6f5e8a60cc14c668226d7a347d8aee1a45766e3c4dd3bc'}, {'jobserver-0.1.27.tar.gz': '8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d'}, {'js-sys-0.3.66.tar.gz': 'cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca'}, - {'jsonpath_lib-0.3.0.tar.gz': 'ae7f51d58613783097caa5281dc7f45b541975ab6067be49945119dae27cf5b3'}, + {'jsonpath_lib-0.3.0.tar.gz': 'dfb5eb7f47b5b5a7b35262f7b41787a785958001a23ff039cdae926396c6af96'}, {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, {'lexical-core-0.8.5.tar.gz': '2cde5de06e8d4c2faabc400238f9ae1c74d5412d03a7bd067645ccbc47070e46'}, {'lexical-parse-float-0.8.5.tar.gz': '683b3a5ebd0130b8fb52ba0bdc718cc56815b6a097e28ae5a6997d0ad17dc05f'}, From 31c96e14ab921061d2780055ea0960708a652c01 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 30 Apr 2024 11:01:26 +0200 Subject: [PATCH 495/889] add patch for GROMACS 2024.1 to fix filesystem race in tests --- .../g/GROMACS/GROMACS-2024.1-foss-2023b.eb | 6 +- ...ACS-2024.1_fix-tests-filesystem-race.patch | 152 ++++++++++++++++++ 2 files changed, 156 insertions(+), 2 deletions(-) create mode 100644 easybuild/easyconfigs/g/GROMACS/GROMACS-2024.1_fix-tests-filesystem-race.patch diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.1-foss-2023b.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.1-foss-2023b.eb index 20a40cd3952..3e0b1f6a87e 100644 --- a/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.1-foss-2023b.eb +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.1-foss-2023b.eb @@ -40,6 +40,7 @@ sources = [SOURCELOWER_TAR_GZ] patches = [ 'GROMACS-2023.1_set_omp_num_threads_env_for_ntomp_tests.patch', 'GROMACS-2023.1_fix_tests_for_gmx_thread_mpi.patch', + 'GROMACS-2024.1_fix-tests-filesystem-race.patch', ] checksums = [ {'gromacs-2024.1.tar.gz': '937d8f12a36fffbf2af7add71adbb5aa5c5537892d46c9a76afbecab1aa0aac7'}, @@ -47,6 +48,8 @@ checksums = [ '7f41bda16c9c2837624265dda4be252f655d1288ddc4486b1a2422af30d5d199'}, {'GROMACS-2023.1_fix_tests_for_gmx_thread_mpi.patch': '6df844bb3bbc51180446a3595c61a4ef195e5f975533a04cef76841aa763aec1'}, + {'GROMACS-2024.1_fix-tests-filesystem-race.patch': + '25b933b37bc40576ee25ebae24442ae15fafe7cd5ac4b066e1dc8de488d58b4c'}, ] builddependencies = [ @@ -72,8 +75,7 @@ exts_default_options = { exts_list = [ ('gmxapi', '0.4.2', { - 'preinstallopts': 'export CMAKE_ARGS="-Dgmxapi_ROOT=%(installdir)s ' + - '-C %(installdir)s/share/cmake/gromacs_mpi/gromacs-hints_mpi.cmake" && ', + 'preinstallopts': 'export CMAKE_ARGS="-Dgmxapi_ROOT=%(installdir)s -C %(installdir)s/share/cmake/gromacs_mpi/gromacs-hints_mpi.cmake" && ', 'source_tmpl': 'gromacs-2023.3.tar.gz', 'start_dir': 'python_packaging/gmxapi', 'checksums': ['4ec8f8d0c7af76b13f8fd16db8e2c120e749de439ae9554d9f653f812d78d1cb'], diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.1_fix-tests-filesystem-race.patch b/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.1_fix-tests-filesystem-race.patch new file mode 100644 index 00000000000..f32de88e608 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.1_fix-tests-filesystem-race.patch @@ -0,0 +1,152 @@ +diff --git a/api/gmxapi/cpp/tests/CMakeLists.txt b/api/gmxapi/cpp/tests/CMakeLists.txt +index ca741dc930b4ed9cbde2ba4c84e50d4579e1adc6..7c00e390a32e92926d08b006df4ad335273143fb 100644 +--- a/api/gmxapi/cpp/tests/CMakeLists.txt ++++ b/api/gmxapi/cpp/tests/CMakeLists.txt +@@ -107,4 +107,10 @@ if (GMX_MPI) + set_tests_properties(GmxapiMpiTests PROPERTIES + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + endif () ++ if (TEST GmxapiExternalInterfaceTests AND TEST GmxapiMpiTests) ++ # Because the gmxapi tests depend on writing files whose names are not ++ # unique across test cases, prevent CTest from running these tests ++ # concurrently. See #4654 ++ set_tests_properties(GmxapiMpiTests PROPERTIES DEPENDS GmxapiExternalInterfaceTests) ++ endif() + endif () +diff --git a/src/programs/mdrun/tests/CMakeLists.txt b/src/programs/mdrun/tests/CMakeLists.txt +index 23dc2840aed9660f6fb84a4d5a295a2cb36feace..e24ae102d511b735257d60ce2c59e6a1d1956400 100644 +--- a/src/programs/mdrun/tests/CMakeLists.txt ++++ b/src/programs/mdrun/tests/CMakeLists.txt +@@ -113,6 +113,12 @@ gmx_add_gtest_executable(${exename} MPI + target_link_libraries(${exename} PRIVATE mdrun_test_infrastructure) + gmx_register_gtest_test(MdrunTestsOneRank ${exename} MPI_RANKS 1 OPENMP_THREADS 2 INTEGRATION_TEST SLOW_TEST IGNORE_LEAKS SLOW_GPU_TEST) + gmx_register_gtest_test(MdrunTestsTwoRanks ${exename} MPI_RANKS 2 OPENMP_THREADS 2 INTEGRATION_TEST SLOW_TEST IGNORE_LEAKS SLOW_GPU_TEST) ++# Because the mdrun tests depend on writing files whose names are not ++# unique across test cases, prevent CTest from running these tests ++# concurrently. See #4654 ++if (TEST MdrunTestsTwoRanks AND TEST MdrunTestsOneRank) ++ set_tests_properties(MdrunTestsTwoRanks PROPERTIES DEPENDS MdrunTestsOneRank) ++endif() + + # The orires test is separate, as it supports only a single MPI rank + set(testname "MdrunSingleRankAlgorithmsTests") +@@ -129,13 +135,31 @@ gmx_add_gtest_executable(${exename} + target_link_libraries(${exename} PRIVATE mdrun_test_infrastructure) + gmx_register_gtest_test(${testname} ${exename} OPENMP_THREADS 2 INTEGRATION_TEST IGNORE_LEAKS SLOW_GPU_TEST) + ++set(exename "minimize-test") ++ ++gmx_add_gtest_executable(${exename} MPI ++ CPP_SOURCE_FILES ++ # files with code for tests ++ minimize.cpp ++ # pseudo-library for code for mdrun ++ $ ++ ) ++target_link_libraries(${exename} PRIVATE mdrun_test_infrastructure) ++gmx_register_gtest_test(Minimize1RankTests ${exename} MPI_RANKS 1 OPENMP_THREADS 2 INTEGRATION_TEST IGNORE_LEAKS QUICK_GPU_TEST) ++gmx_register_gtest_test(Minimize2RankTests ${exename} MPI_RANKS 2 OPENMP_THREADS 2 INTEGRATION_TEST IGNORE_LEAKS QUICK_GPU_TEST) ++# Because the minimizer tests depend on writing files whose names are not ++# unique across test cases, prevent CTest from running these tests ++# concurrently. See #4654 ++if (TEST Minimize2RankTests AND TEST Minimize1RankTests) ++ set_tests_properties(Minimize2RankTests PROPERTIES DEPENDS Minimize1RankTests) ++endif() ++ + set(testname "MdrunNonIntegratorTests") + set(exename "mdrun-non-integrator-test") + + gmx_add_gtest_executable(${exename} + CPP_SOURCE_FILES + # files with code for tests +- minimize.cpp + nonbonded_bench.cpp + normalmodes.cpp + rerun.cpp +@@ -169,7 +193,6 @@ gmx_add_gtest_executable(${exename} MPI + CPP_SOURCE_FILES + # files with code for tests + domain_decomposition.cpp +- minimize.cpp + mimic.cpp + # pseudo-library for code for mdrun + $ +@@ -177,6 +200,13 @@ gmx_add_gtest_executable(${exename} MPI + target_link_libraries(${exename} PRIVATE mdrun_test_infrastructure) + gmx_register_gtest_test(${testname} ${exename} MPI_RANKS 2 OPENMP_THREADS 2 INTEGRATION_TEST IGNORE_LEAKS QUICK_GPU_TEST) + ++# Because the mdrun tests depend on writing files whose names are not ++# unique across test cases, prevent CTest from running these tests ++# concurrently. See #4654. These test binaries both test aspects of MiMiC. ++if (TEST MdrunMpiTests AND TEST MdrunModulesTests) ++ set_tests_properties(MdrunMpiTests PROPERTIES DEPENDS MdrunModulesTests) ++endif() ++ + # Multi sim only makes sense with real MPI, and ideally at least 4 ranks, + # to allow for multiple simulations (>= 2 sims) each using DD (>= 2 ranks per sim) + set(testname "MdrunMultiSimTests") +@@ -235,6 +265,12 @@ gmx_add_gtest_executable(${exename} MPI + target_link_libraries(${exename} PRIVATE mdrun_test_infrastructure) + gmx_register_gtest_test(MdrunMpi1RankPmeTests ${exename} MPI_RANKS 1 OPENMP_THREADS 2 INTEGRATION_TEST IGNORE_LEAKS SLOW_GPU_TEST) + gmx_register_gtest_test(MdrunMpi2RankPmeTests ${exename} MPI_RANKS 2 OPENMP_THREADS 2 INTEGRATION_TEST IGNORE_LEAKS SLOW_GPU_TEST) ++# Because the mdrun tests depend on writing files whose names are not ++# unique across test cases, prevent CTest from running these tests ++# concurrently. See #4654 ++if (TEST MdrunMpi2RankPmeTests AND TEST MdrunMpi1RankPmeTests) ++ set_tests_properties(MdrunMpi2RankPmeTests PROPERTIES DEPENDS MdrunMpi1RankPmeTests) ++endif() + + # Slow-running tests that target testing multiple-rank coordination behaviors + # These tests are extremely slow without optimization or OpenMP, so only run them for +@@ -256,6 +292,12 @@ if (CMAKE_BUILD_TYPE MATCHES "Rel" AND GMX_OPENMP) + gmx_register_gtest_test(${testname} ${exename} MPI_RANKS 1 SLOW_TEST IGNORE_LEAKS QUICK_GPU_TEST) + set(testname "MdrunCoordinationBasicTests2Ranks") + gmx_register_gtest_test(${testname} ${exename} MPI_RANKS 2 SLOW_TEST IGNORE_LEAKS QUICK_GPU_TEST) ++ # Because the mdrun tests depend on writing files whose names are not ++ # unique across test cases, prevent CTest from running these tests ++ # concurrently. See #4654 ++ if (TEST MdrunCoordinationBasicTests2Ranks AND TEST MdrunCoordinationBasicTests1Rank) ++ set_tests_properties(MdrunCoordinationBasicTests2Ranks PROPERTIES DEPENDS MdrunCoordinationBasicTests1Rank) ++ endif() + endif() + + set(exename "mdrun-coordination-coupling-test") +@@ -274,6 +316,12 @@ if (CMAKE_BUILD_TYPE MATCHES "Rel" AND GMX_OPENMP) + gmx_register_gtest_test(${testname} ${exename} MPI_RANKS 1 SLOW_TEST IGNORE_LEAKS SLOW_GPU_TEST) + set(testname "MdrunCoordinationCouplingTests2Ranks") + gmx_register_gtest_test(${testname} ${exename} MPI_RANKS 2 SLOW_TEST IGNORE_LEAKS SLOW_GPU_TEST) ++ # Because the mdrun tests depend on writing files whose names are not ++ # unique across test cases, prevent CTest from running these tests ++ # concurrently. See #4654 ++ if (TEST MdrunCoordinationCouplingTests2Ranks AND TEST MdrunCoordinationCouplingTests1Rank) ++ set_tests_properties(MdrunCoordinationCouplingTests2Ranks PROPERTIES DEPENDS MdrunCoordinationCouplingTests1Rank) ++ endif() + endif() + + set(exename "mdrun-coordination-constraints-test") +@@ -292,6 +340,12 @@ if (CMAKE_BUILD_TYPE MATCHES "Rel" AND GMX_OPENMP) + gmx_register_gtest_test(${testname} ${exename} MPI_RANKS 1 SLOW_TEST IGNORE_LEAKS SLOW_GPU_TEST) + set(testname "MdrunCoordinationConstraintsTests2Ranks") + gmx_register_gtest_test(${testname} ${exename} MPI_RANKS 2 SLOW_TEST IGNORE_LEAKS SLOW_GPU_TEST) ++ # Because the mdrun tests depend on writing files whose names are not ++ # unique across test cases, prevent CTest from running these tests ++ # concurrently. See #4654 ++ if (TEST MdrunCoordinationConstraintsTests2Ranks AND TEST MdrunCoordinationConstraintsTests1Rank) ++ set_tests_properties(MdrunCoordinationConstraintsTests2Ranks PROPERTIES DEPENDS MdrunCoordinationConstraintsTests1Rank) ++ endif() + endif() + + # Keeping the FEP tests separate for now to be able to judge runtime more easily +diff --git a/src/testutils/testinit.cpp b/src/testutils/testinit.cpp +index ca3ed8db2c52940a128701e2e5ae4999904a2802..5db9bb1af05631eab768c259e4e4f328e0efa7ff 100644 +--- a/src/testutils/testinit.cpp ++++ b/src/testutils/testinit.cpp +@@ -191,7 +191,7 @@ void initTestUtils(const std::filesystem::path& dataPath, + { + fprintf(stderr, + "NOTE: You are running %s on %d MPI ranks, " +- "but it is does not contain MPI-enabled tests. " ++ "but it does not contain MPI-enabled tests. " + "The test will now exit.\n", + context.programName(), + gmx_node_num()); From 265a229d5bd0562848efc2b3aa91b87a30efc472 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Tue, 30 Apr 2024 15:38:22 +0200 Subject: [PATCH 496/889] Update hddm with optional dep PyTorch to make LAN function works --- .../h/HDDM/HDDM-0.9.9-foss-2021b.eb | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 easybuild/easyconfigs/h/HDDM/HDDM-0.9.9-foss-2021b.eb diff --git a/easybuild/easyconfigs/h/HDDM/HDDM-0.9.9-foss-2021b.eb b/easybuild/easyconfigs/h/HDDM/HDDM-0.9.9-foss-2021b.eb new file mode 100644 index 00000000000..1846b7a77b8 --- /dev/null +++ b/easybuild/easyconfigs/h/HDDM/HDDM-0.9.9-foss-2021b.eb @@ -0,0 +1,54 @@ +easyblock = 'PythonBundle' + +name = 'HDDM' +version = '0.9.9' + +homepage = 'https://hddm.readthedocs.io/' +description = """HDDM is a Python toolbox for hierarchical Bayesian parameter estimation + of the Drift Diffusion Model (via PyMC).""" + +toolchain = {'name': 'foss', 'version': '2021b'} +# toolchainopts = {'usempi': False} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('Seaborn', '0.11.2'), + ('statsmodels', '0.13.1'), + ('scikit-learn', '1.0.1'), + ('tqdm', '4.62.3'), + ('PyMC', '2.3.8'), + ('ArviZ', '0.11.4'), + ('PyTorch', '1.12.1'), +] + +use_pip = True + +exts_list = [ + ('kabuki', '0.6.5', { + 'checksums': ['ffd8aabba4355a6ee55287120c02e8fb6300482970e3dbe615e07ed8102dba69'], + }), + ('cloudpickle', '3.0.0', { + 'checksums': ['996d9a482c6fb4f33c1a35335cf8afd065d2a56e973270364840712d9131a882'], + }), + ('ssm-simulators', '0.3.0', { + 'modulename': 'ssms', + 'checksums': ['5477025d0c2a6a7f8aa3aa336a1368ff3256d86956f1bb93d7cc507a5651a860'], + }), + ('patsy', '0.5.6', { + 'checksums': ['95c6d47a7222535f84bff7f63d7303f2e297747a598db89cf5c67f0c0c7d2cdb'], + }), + (name, version, { + 'checksums': ['2ed64db2be7acb5ef4c8b07dcf8ea4680fdfd168876be19db9cf885dd490fe5f'], + }), +] + +sanity_check_paths = { + 'files': ['bin/hddm_demo.py'], + 'dirs': [], +} + +sanity_pip_check = True + +moduleclass = 'bio' From 0bc72f0d539777924cfbba8467cc8d2bd7eccfde Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Tue, 30 Apr 2024 15:42:20 +0200 Subject: [PATCH 497/889] add PyMC for foss/2021b --- .../p/PyMC/PyMC-2.3.8-foss-2021b.eb | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 easybuild/easyconfigs/p/PyMC/PyMC-2.3.8-foss-2021b.eb diff --git a/easybuild/easyconfigs/p/PyMC/PyMC-2.3.8-foss-2021b.eb b/easybuild/easyconfigs/p/PyMC/PyMC-2.3.8-foss-2021b.eb new file mode 100644 index 00000000000..d48a78b467f --- /dev/null +++ b/easybuild/easyconfigs/p/PyMC/PyMC-2.3.8-foss-2021b.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'PyMC' +version = '2.3.8' + +homepage = 'https://www.pymc.io' +description = """PyMC is a probabilistic programming library for Python that allows users to build Bayesian models + with a simple Python API and fit them using Markov chain Monte Carlo (MCMC) methods.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'extra_fflags': '-fallow-argument-mismatch'} +# toolchainopts = {'optarch': 'madx'} +# toolchainopts = {'optarch': 'march=native', 'pic': True} +# toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pymc', version, { + 'checksums': ['1dfef8e06d9773f2b0fd44b38d5187d6f4b3393726bb2a5723ca2d3bce1934ab'], + }), +] + +moduleclass = 'math' From 7df11f9795510af4473957e98624bb601b79de32 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Tue, 30 Apr 2024 15:45:00 +0200 Subject: [PATCH 498/889] clenup easyconfig for PyMC --- easybuild/easyconfigs/p/PyMC/PyMC-2.3.8-foss-2021b.eb | 3 --- 1 file changed, 3 deletions(-) diff --git a/easybuild/easyconfigs/p/PyMC/PyMC-2.3.8-foss-2021b.eb b/easybuild/easyconfigs/p/PyMC/PyMC-2.3.8-foss-2021b.eb index d48a78b467f..0476f993de5 100644 --- a/easybuild/easyconfigs/p/PyMC/PyMC-2.3.8-foss-2021b.eb +++ b/easybuild/easyconfigs/p/PyMC/PyMC-2.3.8-foss-2021b.eb @@ -9,9 +9,6 @@ description = """PyMC is a probabilistic programming library for Python that all toolchain = {'name': 'foss', 'version': '2021b'} toolchainopts = {'extra_fflags': '-fallow-argument-mismatch'} -# toolchainopts = {'optarch': 'madx'} -# toolchainopts = {'optarch': 'march=native', 'pic': True} -# toolchainopts = {'pic': True} dependencies = [ ('Python', '3.9.6'), From 08ab5746f6dadbff6a3af1859b4072e592811c20 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Tue, 30 Apr 2024 15:46:00 +0200 Subject: [PATCH 499/889] clenup easyconfig for HDDM --- easybuild/easyconfigs/h/HDDM/HDDM-0.9.9-foss-2021b.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/h/HDDM/HDDM-0.9.9-foss-2021b.eb b/easybuild/easyconfigs/h/HDDM/HDDM-0.9.9-foss-2021b.eb index 1846b7a77b8..315d8227b8f 100644 --- a/easybuild/easyconfigs/h/HDDM/HDDM-0.9.9-foss-2021b.eb +++ b/easybuild/easyconfigs/h/HDDM/HDDM-0.9.9-foss-2021b.eb @@ -8,7 +8,6 @@ description = """HDDM is a Python toolbox for hierarchical Bayesian parameter es of the Drift Diffusion Model (via PyMC).""" toolchain = {'name': 'foss', 'version': '2021b'} -# toolchainopts = {'usempi': False} toolchainopts = {'pic': True} dependencies = [ From e81fefba03d96b544b1b24eefb543dba4c654ae4 Mon Sep 17 00:00:00 2001 From: u0090231 Date: Tue, 30 Apr 2024 15:58:04 +0200 Subject: [PATCH 500/889] removing Seaborn and pauvre from builddependencies --- easybuild/easyconfigs/n/NanoPlot/NanoPlot-1.42.0-foss-2022a.eb | 2 -- 1 file changed, 2 deletions(-) diff --git a/easybuild/easyconfigs/n/NanoPlot/NanoPlot-1.42.0-foss-2022a.eb b/easybuild/easyconfigs/n/NanoPlot/NanoPlot-1.42.0-foss-2022a.eb index 5b82a42cd67..7dbb7c29aba 100644 --- a/easybuild/easyconfigs/n/NanoPlot/NanoPlot-1.42.0-foss-2022a.eb +++ b/easybuild/easyconfigs/n/NanoPlot/NanoPlot-1.42.0-foss-2022a.eb @@ -21,9 +21,7 @@ dependencies = [ ('Pysam', '0.19.1'), ('nanomath', '1.3.0'), ('nanoget', '1.19.1'), - ('Seaborn', '0.12.1'), ('plotly.py', '5.12.0'), - ('pauvre', '0.2.3'), ('statsmodels', '0.13.1'), ('Arrow', '8.0.0'), # for pyarrow ('Kaleido', '0.2.1'), From 4ff6b5c5b96d5443973776a4250edde66ab55b7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Tue, 30 Apr 2024 15:19:22 +0000 Subject: [PATCH 501/889] adding easyconfigs: PyAMG-5.1.0-foss-2023a.eb --- .../p/PyAMG/PyAMG-5.1.0-foss-2023a.eb | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 easybuild/easyconfigs/p/PyAMG/PyAMG-5.1.0-foss-2023a.eb diff --git a/easybuild/easyconfigs/p/PyAMG/PyAMG-5.1.0-foss-2023a.eb b/easybuild/easyconfigs/p/PyAMG/PyAMG-5.1.0-foss-2023a.eb new file mode 100644 index 00000000000..1f2a605396f --- /dev/null +++ b/easybuild/easyconfigs/p/PyAMG/PyAMG-5.1.0-foss-2023a.eb @@ -0,0 +1,25 @@ +easyblock = "PythonPackage" + +name = 'PyAMG' +version = '5.1.0' + +homepage = 'https://pyamg.github.io' +description = """PyAMG is a library of Algebraic Multigrid (AMG) solvers with a convenient Python interface.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f90f9de795b4e29589edd2eb446d11ddb466678ebe823ed329fcf35759ea390c'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +options = {'modulename': 'pyamg'} + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'math' From 2b3403424f2dabff10d6b32a7a2dfb4220f35ed3 Mon Sep 17 00:00:00 2001 From: Bart Oldeman Date: Tue, 30 Apr 2024 15:22:23 +0000 Subject: [PATCH 502/889] Bump to OpenMPI to 5.0.3, PMIx to 5.0.2 `OpenMPI-5.0.x_add_atomic_wmb.patch` is obsolete now --- ...-13.2.0.eb => OpenMPI-5.0.3-GCC-13.2.0.eb} | 12 +++---- .../OpenMPI-5.0.x_add_atomic_wmb.patch | 35 ------------------- ...13.2.0.eb => PMIx-5.0.2-GCCcore-13.2.0.eb} | 4 +-- 3 files changed, 6 insertions(+), 45 deletions(-) rename easybuild/easyconfigs/o/OpenMPI/{OpenMPI-5.0.2-GCC-13.2.0.eb => OpenMPI-5.0.3-GCC-13.2.0.eb} (76%) delete mode 100644 easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.x_add_atomic_wmb.patch rename easybuild/easyconfigs/p/PMIx/{PMIx-5.0.1-GCCcore-13.2.0.eb => PMIx-5.0.2-GCCcore-13.2.0.eb} (93%) diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.2-GCC-13.2.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.3-GCC-13.2.0.eb similarity index 76% rename from easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.2-GCC-13.2.0.eb rename to easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.3-GCC-13.2.0.eb index 956b36afc2e..dc7d83d6230 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.2-GCC-13.2.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.3-GCC-13.2.0.eb @@ -1,5 +1,5 @@ name = 'OpenMPI' -version = '5.0.2' +version = '5.0.3' homepage = 'https://www.open-mpi.org/' description = """The Open MPI Project is an open source MPI-3 implementation.""" @@ -8,15 +8,11 @@ toolchain = {'name': 'GCC', 'version': '13.2.0'} source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] sources = [SOURCELOWER_TAR_BZ2] -patches = [ - ('OpenMPI-5.0.2_build-with-internal-cuda-header.patch', 1), - 'OpenMPI-5.0.x_add_atomic_wmb.patch' -] +patches = [('OpenMPI-5.0.2_build-with-internal-cuda-header.patch', 1)] checksums = [ - {'openmpi-5.0.2.tar.bz2': 'ee46ad8eeee2c3ff70772160bff877cbf38c330a0bc3b3ddc811648b3396698f'}, + {'openmpi-5.0.3.tar.bz2': '990582f206b3ab32e938aa31bbf07c639368e4405dca196fabe7f0f76eeda90b'}, {'OpenMPI-5.0.2_build-with-internal-cuda-header.patch': 'f52dc470543f35efef10d651dd159c771ae25f8f76a420d20d87abf4dc769ed7'}, - {'OpenMPI-5.0.x_add_atomic_wmb.patch': '23989c1998bd89c64b23e4fc101aa68748543c90f3c79bdedda38a5933a5ef44'}, ] builddependencies = [ @@ -30,7 +26,7 @@ dependencies = [ ('libevent', '2.1.12'), ('UCX', '1.15.0'), ('libfabric', '1.19.0'), - ('PMIx', '5.0.1'), + ('PMIx', '5.0.2'), ('UCC', '1.2.0'), ] diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.x_add_atomic_wmb.patch b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.x_add_atomic_wmb.patch deleted file mode 100644 index 044ec75cdb5..00000000000 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.x_add_atomic_wmb.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 0ebea598a5023200bcae8a647478e2f297bc1a41 Mon Sep 17 00:00:00 2001 -From: Luke Robison -Date: Wed, 14 Feb 2024 21:14:29 +0000 -Subject: [PATCH] btl/smcuda: Add atomic_wmb() before sm_fifo_write - -This change fixes https://github.com/open-mpi/ompi/issues/12270 - -Testing on c7g instance type (arm64) confirms this change elminates -hangs and crashes that were previously observed in 1 in 30 runs of -IMB alltoall benchmark. Tested with over 300 runs and no failures. - -The write memory barrier prevents other CPUs from observing the fifo -get updated before they observe the updated contents of the header -itself. Without the barrier, uninitialized header contents caused -the crashes and invalid data. - -Signed-off-by: Luke Robison -(cherry picked from commit 71f378d28cb89dd80379dbad570849b297594cde) ---- - opal/mca/btl/smcuda/btl_smcuda_fifo.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/opal/mca/btl/smcuda/btl_smcuda_fifo.h b/opal/mca/btl/smcuda/btl_smcuda_fifo.h -index ca1257b5c56..56369dba9b3 100644 ---- a/opal/mca/btl/smcuda/btl_smcuda_fifo.h -+++ b/opal/mca/btl/smcuda/btl_smcuda_fifo.h -@@ -85,6 +85,8 @@ static void add_pending(struct mca_btl_base_endpoint_t *ep, void *data, bool res - #define MCA_BTL_SMCUDA_FIFO_WRITE(endpoint_peer, my_smp_rank, peer_smp_rank, hdr, resend, \ - retry_pending_sends, rc) \ - do { \ -+ /* memory barrier: ensure writes to the hdr have completed */ \ -+ opal_atomic_wmb(); \ - sm_fifo_t *fifo = &(mca_btl_smcuda_component.fifo[peer_smp_rank][FIFO_MAP(my_smp_rank)]); \ - \ - if (retry_pending_sends) { \ diff --git a/easybuild/easyconfigs/p/PMIx/PMIx-5.0.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PMIx/PMIx-5.0.2-GCCcore-13.2.0.eb similarity index 93% rename from easybuild/easyconfigs/p/PMIx/PMIx-5.0.1-GCCcore-13.2.0.eb rename to easybuild/easyconfigs/p/PMIx/PMIx-5.0.2-GCCcore-13.2.0.eb index fc786b047a8..b4059ce4241 100644 --- a/easybuild/easyconfigs/p/PMIx/PMIx-5.0.1-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/p/PMIx/PMIx-5.0.2-GCCcore-13.2.0.eb @@ -1,7 +1,7 @@ easyblock = 'ConfigureMake' name = 'PMIx' -version = '5.0.1' +version = '5.0.2' homepage = 'https://pmix.org/' description = """Process Management for Exascale Environments @@ -21,7 +21,7 @@ toolchainopts = {'pic': True} source_urls = ['https://github.com/openpmix/openpmix/releases/download/v%(version)s'] sources = ['%(namelower)s-%(version)s.tar.bz2'] -checksums = ['d4371792d4ba4c791e1010100b4bf9a65500ababaf5ff25d681f938527a67d4a'] +checksums = ['28227ff2ba925da2c3fece44502f23a91446017de0f5a58f5cea9370c514b83c'] builddependencies = [('binutils', '2.40')] From 6686db518281b734fc3e728bae9e6fd377dd74d8 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 30 Apr 2024 19:19:21 +0200 Subject: [PATCH 503/889] add cmna extension to R-bundle-CRAN v2023.12 --- .../r/R-bundle-CRAN/R-bundle-CRAN-2023.12-foss-2023a.eb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/easybuild/easyconfigs/r/R-bundle-CRAN/R-bundle-CRAN-2023.12-foss-2023a.eb b/easybuild/easyconfigs/r/R-bundle-CRAN/R-bundle-CRAN-2023.12-foss-2023a.eb index 82ab85aec92..fbd245a622f 100644 --- a/easybuild/easyconfigs/r/R-bundle-CRAN/R-bundle-CRAN-2023.12-foss-2023a.eb +++ b/easybuild/easyconfigs/r/R-bundle-CRAN/R-bundle-CRAN-2023.12-foss-2023a.eb @@ -3416,6 +3416,9 @@ exts_list = [ ('fixest', '0.11.2', { 'checksums': ['2dee113a0689e5c4dd842c451d35c9a94a5b37536f9484611a877c1ea10e2b65'], }), + ('cmna', '1.0.5', { + 'checksums': ['7cf99880cb70e8fd0b022184167888b1ad32dca503e0250c1d552a84f0613898'], + }), ] modextrapaths = {'R_LIBS_SITE': ''} From 0e5ee8967376a22e4dc71dd3b83e270740dc198b Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 30 Apr 2024 19:22:45 +0200 Subject: [PATCH 504/889] adding easyconfigs: EasyMocap-0.2-foss-2022a-CUDA-11.7.0.eb --- .../EasyMocap-0.2-foss-2022a-CUDA-11.7.0.eb | 81 +++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 easybuild/easyconfigs/e/EasyMocap/EasyMocap-0.2-foss-2022a-CUDA-11.7.0.eb diff --git a/easybuild/easyconfigs/e/EasyMocap/EasyMocap-0.2-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/e/EasyMocap/EasyMocap-0.2-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..f5a93adc6f7 --- /dev/null +++ b/easybuild/easyconfigs/e/EasyMocap/EasyMocap-0.2-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,81 @@ +easyblock = 'PythonBundle' + +name = 'EasyMocap' +version = '0.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://chingswy.github.io/easymocap-public-doc/' +description = """EasyMoCap is an open-source toolbox designed for markerless + human motion capture from RGB videos. This project offers a wide range of motion + capture methods across various settings.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('PyTorch', '1.12.0', versionsuffix), + ('torchvision', '0.13.1', versionsuffix), + ('tqdm', '4.64.0'), + ('OpenCV', '4.6.0', '-CUDA-%(cudaver)s-contrib'), + ('flatbuffers', '2.0.7'), + ('matplotlib', '3.5.2'), + ('PortAudio', '19.7.0'), + # for pyrender + ('freetype-py', '2.4.0'), + ('imageio', '2.22.2'), + ('networkx', '2.8.4'), + ('PyOpenGL', '3.1.6'), + ('trimesh', '3.17.1'), + # for ipdb + ('IPython', '8.5.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('chumpy', '0.70', { + 'checksums': ['a0275c2018784ca1302875567dc81761f5fd469fab9f3ac0f3e7c39e9180350a'], + }), + ('func_timeout', '4.3.5', { + 'checksums': ['74cd3c428ec94f4edfba81f9b2f14904846d5ffccc27c92433b8b5939b5575dd'], + }), + ('ipdb', '0.13.13', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['45529994741c4ab6d2388bfa5d7b725c2cf7fe9deffabdb8a6113aa5ed449ed4'], + }), + ('termcolor', '2.4.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['9297c0df9c99445c2412e832e882a7884038a25617c60cea2ad69488d4040d63'], + }), + ('yacs', '0.1.8', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['99f893e30497a4b66842821bac316386f7bd5c4f47ad35c9073ef089aa33af32'], + }), + ('pyglet', '2.0.15', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['9e4cc16efc308106fd3a9ff8f04e7a6f4f6a807c6ac8a331375efbbac8be85af'], + }), + ('pyrender', '0.1.45', { + # PyOpenGL requirement is too strict + 'preinstallopts': "sed -i 's/PyOpenGL==3.1.0/PyOpenGL>=3.1.0/g' setup.py && ", + 'checksums': ['284b2432bf6832f05c5216c4b979ceb514ea78163bf53b8ce2bdf0069cb3b92e'], + }), + # Building from source fails. See https://github.com/google/mediapipe/issues/5247 + ('mediapipe', '0.10.11', { + 'sources': ['mediapipe-%(version)s-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl'], + 'checksums': ['fc5283a50227a93d7755fd0f83d0d6daeb0f1c841df1ac9101e96e32e7e03ba1'], + }), + ('sounddevice', '0.4.6', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['5de768ba6fe56ad2b5aaa2eea794b76b73e427961c95acad2ee2ed7f866a4b20'], + }), + (name, version, { + 'source_urls': ['https://github.com/zju3dv/EasyMocap/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['d4c42b82ea8a53662354ff70b775e505c654ca4fd51524029214acbc16aa9773'], + }), +] + +moduleclass = 'vis' From 231b705ab06fdc6fc777d2c53667c483cdc6fc79 Mon Sep 17 00:00:00 2001 From: ocaisa Date: Tue, 30 Apr 2024 21:51:36 +0200 Subject: [PATCH 505/889] Update easybuild/easyconfigs/g/GROMACS/GROMACS-2024.1-foss-2023b.eb --- easybuild/easyconfigs/g/GROMACS/GROMACS-2024.1-foss-2023b.eb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.1-foss-2023b.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.1-foss-2023b.eb index 3e0b1f6a87e..241ca8a7b98 100644 --- a/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.1-foss-2023b.eb +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.1-foss-2023b.eb @@ -75,7 +75,8 @@ exts_default_options = { exts_list = [ ('gmxapi', '0.4.2', { - 'preinstallopts': 'export CMAKE_ARGS="-Dgmxapi_ROOT=%(installdir)s -C %(installdir)s/share/cmake/gromacs_mpi/gromacs-hints_mpi.cmake" && ', + 'preinstallopts': 'export CMAKE_ARGS="-Dgmxapi_ROOT=%(installdir)s ' + + '-C %(installdir)s/share/cmake/gromacs_mpi/gromacs-hints_mpi.cmake" && ', 'source_tmpl': 'gromacs-2023.3.tar.gz', 'start_dir': 'python_packaging/gmxapi', 'checksums': ['4ec8f8d0c7af76b13f8fd16db8e2c120e749de439ae9554d9f653f812d78d1cb'], From b9e3717ec11f72e206eda3ceeb0a645518254b6a Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Wed, 1 May 2024 18:19:48 +0200 Subject: [PATCH 506/889] adding easyconfigs: python-xxhash-3.4.1-GCCcore-13.2.0.eb --- .../python-xxhash-3.4.1-GCCcore-13.2.0.eb | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 easybuild/easyconfigs/p/python-xxhash/python-xxhash-3.4.1-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/p/python-xxhash/python-xxhash-3.4.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/python-xxhash/python-xxhash-3.4.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..9f43a8f2759 --- /dev/null +++ b/easybuild/easyconfigs/p/python-xxhash/python-xxhash-3.4.1-GCCcore-13.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'python-xxhash' +version = '3.4.1' + +homepage = 'https://github.com/ifduyue/python-xxhash' +description = 'xxhash is a Python binding for the xxHash library by Yann Collet.' + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('xxHash', '0.8.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('xxhash', version, { + 'preinstallopts': 'XXHASH_LINK_SO=1', + 'checksums': ['0379d6cf1ff987cd421609a264ce025e74f346e3e145dd106c0cc2e3ec3f99a9'], + }), +] + +moduleclass = 'lib' From db99ba29809b23ef2ae8ebfc6c4fbc28a3ba3822 Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Wed, 1 May 2024 18:24:39 +0200 Subject: [PATCH 507/889] xxHash/0.8.2-GCCcore-13.2.0 --- .../x/xxHash/xxHash-0.8.2-GCCcore-13.2.0.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/x/xxHash/xxHash-0.8.2-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/x/xxHash/xxHash-0.8.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/x/xxHash/xxHash-0.8.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..75ee3c66d79 --- /dev/null +++ b/easybuild/easyconfigs/x/xxHash/xxHash-0.8.2-GCCcore-13.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'xxHash' +version = '0.8.2' + +homepage = 'https://cyan4973.github.io/xxHash' +description = "xxHash is an extremely fast non-cryptographic hash algorithm, working at RAM speed limit." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/Cyan4973/xxHash/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['baee0c6afd4f03165de7a4e67988d16f0f2b257b51d0e3cb91909302a26a79c4'] + +builddependencies = [ + ('binutils', '2.40'), +] + +skipsteps = ['configure'] + +installopts = "PREFIX=%(installdir)s" + +sanity_check_paths = { + 'files': ['bin/xxhsum', 'include/xxh3.h', 'include/xxhash.h', + 'lib/libxxhash.a', 'lib/libxxhash.%s' % SHLIB_EXT, 'lib/pkgconfig/libxxhash.pc'], + 'dirs': ['share/man'], +} + +sanity_check_commands = ["xxhsum --help"] + +moduleclass = 'tools' From 5848bc5ef82bb42479e9675ec1d530e52f05c4e8 Mon Sep 17 00:00:00 2001 From: WilleBell Date: Thu, 2 May 2024 10:49:00 +0200 Subject: [PATCH 508/889] adding easyconfigs: Wannier90-3.1.0-gomkl-2022a.eb --- .../Wannier90/Wannier90-3.1.0-gomkl-2022a.eb | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-gomkl-2022a.eb diff --git a/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-gomkl-2022a.eb b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-gomkl-2022a.eb new file mode 100644 index 00000000000..ebd44e2a159 --- /dev/null +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-gomkl-2022a.eb @@ -0,0 +1,35 @@ +easyblock = 'MakeCp' + +name = 'Wannier90' +version = '3.1.0' + +homepage = 'http://www.wannier.org' +description = """A tool for obtaining maximally-localised Wannier functions""" + +toolchain = {'name': 'gomkl', 'version': '2022a'} +toolchainopts = {'usempi': True} + +github_account = 'wannier-developers' +source_urls = [GITHUB_LOWER_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCELOWER_TAR_GZ}] +patches = ['Wannier90_3x_ignore_makeinc.patch'] +checksums = [ + '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz + '561c0d296e0e30b8bb303702cd6e41ded54c153d9b9e6cd9cab73858e5e2945e', # Wannier90_3x_ignore_makeinc.patch +] + +# The -fallow-argument-mismatch allows MPI communication calls to be +# called with arrays of different types at different places in the +# code. This otherwise cause an error in GCC 10.X +buildopts = 'all F90=$F90 MPIF90=$MPIF90 FCOPTS="$FFLAGS -fallow-argument-mismatch" LDOPTS="$FFLAGS" ' +buildopts += 'LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK" ' +buildopts += 'COMMS=mpi' + +files_to_copy = [(['wannier90.x', 'postw90.x'], 'bin'), (['libwannier.a'], 'lib')] + +sanity_check_paths = { + 'files': ['bin/wannier90.x', 'bin/postw90.x', 'lib/libwannier.a'], + 'dirs': [] +} + +moduleclass = 'chem' From 6c85c87ed0e916143efd5765dad3a05d7a4820b6 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 2 May 2024 12:03:03 +0200 Subject: [PATCH 509/889] demote poetry to build dependency for nanocompore --- .../nanocompore-1.0.0rc3-2-intel-2020a-Python-3.8.2.eb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/n/nanocompore/nanocompore-1.0.0rc3-2-intel-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/n/nanocompore/nanocompore-1.0.0rc3-2-intel-2020a-Python-3.8.2.eb index a043ce37c6f..516ddbc5043 100644 --- a/easybuild/easyconfigs/n/nanocompore/nanocompore-1.0.0rc3-2-intel-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/n/nanocompore/nanocompore-1.0.0rc3-2-intel-2020a-Python-3.8.2.eb @@ -10,6 +10,10 @@ description += "sequencing raw signal corresponding to RNA modifications by comp toolchain = {'name': 'intel', 'version': '2020a'} +builddependencies = [ + ('poetry', '1.0.9', versionsuffix), +] + dependencies = [ ('Python', '3.8.2'), ('SciPy-bundle', '2020.03', versionsuffix), @@ -18,7 +22,6 @@ dependencies = [ ('Seaborn', '0.10.1', versionsuffix), ('scikit-learn', '0.23.1', versionsuffix), ('statsmodels', '0.11.1', versionsuffix), - ('poetry', '1.0.9', versionsuffix), ('PyYAML', '5.3'), ] From 58d5c64d50e309be15367800bd175a6f332c4f97 Mon Sep 17 00:00:00 2001 From: Sam Moors Date: Thu, 2 May 2024 13:12:14 +0200 Subject: [PATCH 510/889] use https --- .../easyconfigs/w/Wannier90/Wannier90-3.1.0-gomkl-2022a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-gomkl-2022a.eb b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-gomkl-2022a.eb index ebd44e2a159..3b0e4c6c179 100644 --- a/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-gomkl-2022a.eb +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-gomkl-2022a.eb @@ -3,7 +3,7 @@ easyblock = 'MakeCp' name = 'Wannier90' version = '3.1.0' -homepage = 'http://www.wannier.org' +homepage = 'https://www.wannier.org' description = """A tool for obtaining maximally-localised Wannier functions""" toolchain = {'name': 'gomkl', 'version': '2022a'} From df557e74afad7dd416b4531b4abf5a1448382925 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Thu, 2 May 2024 14:00:57 +0200 Subject: [PATCH 511/889] adding easyconfigs: SCReadCounts-1.4.0-foss-2023b.eb --- .../SCReadCounts-1.4.0-foss-2023b.eb | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 easybuild/easyconfigs/s/SCReadCounts/SCReadCounts-1.4.0-foss-2023b.eb diff --git a/easybuild/easyconfigs/s/SCReadCounts/SCReadCounts-1.4.0-foss-2023b.eb b/easybuild/easyconfigs/s/SCReadCounts/SCReadCounts-1.4.0-foss-2023b.eb new file mode 100644 index 00000000000..cf50cd37f15 --- /dev/null +++ b/easybuild/easyconfigs/s/SCReadCounts/SCReadCounts-1.4.0-foss-2023b.eb @@ -0,0 +1,40 @@ +easyblock = 'Tarball' + +name = 'SCReadCounts' +version = '1.4.0' + +homepage = 'https://horvathlab.github.io/NGS/SCReadCounts/' +description = """SCReadCounts is a computational tool for a cell-level assessment of the read counts + bearing a particular nucleotide at genomic positions of interest from single cell RNA sequencing (scRNA-seq) data.""" + +toolchain = {'name': 'foss', 'version': '2023b'} + +source_urls = ['https://github.com/HorvathLab/NGS/releases/download/SCReadCounts-%(version)s'] +sources = ['%(name)s-%(version)s.Python-3.7.tgz'] + +checksums = ['61856534dc5c578e9d12bcb397dc696747685b33ef056c49d1ff766960676c30'] + +# There is also an optional dependency wxPython for GUI +# which is not included in this easyconfig. +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), + ('Pysam', '0.22.0'), +] + +modextrapaths = { + 'PATH': '', + 'PYTHONPATH': '', +} + +sanity_check_paths = { + 'files': ['bin/scReadCounts'], + 'dirs': [], +} + +sanity_check_commands = [ + "scReadCounts --help", + "cd %(installdir)s/data && ./singlecell.sh", +] + +moduleclass = 'bio' From 7e44c8b94ef77f7157a79439af6e2002402325ed Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 2 May 2024 21:56:49 +0200 Subject: [PATCH 512/889] adding easyconfigs: Bio-FeatureIO-1.6.905-GCCcore-12.3.0.eb --- .../Bio-FeatureIO-1.6.905-GCCcore-12.3.0.eb | 55 +++++++++++++++++++ .../XML-DOM-XPath-0.14_fix-test.patch | 16 ++++++ 2 files changed, 71 insertions(+) create mode 100644 easybuild/easyconfigs/b/Bio-FeatureIO/Bio-FeatureIO-1.6.905-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/b/Bio-FeatureIO/XML-DOM-XPath-0.14_fix-test.patch diff --git a/easybuild/easyconfigs/b/Bio-FeatureIO/Bio-FeatureIO-1.6.905-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/Bio-FeatureIO/Bio-FeatureIO-1.6.905-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..703507a8069 --- /dev/null +++ b/easybuild/easyconfigs/b/Bio-FeatureIO/Bio-FeatureIO-1.6.905-GCCcore-12.3.0.eb @@ -0,0 +1,55 @@ +easyblock = 'PerlModule' + +name = 'Bio-FeatureIO' +version = '1.6.905' + +homepage = 'https://metacpan.org/pod/Bio::FeatureIO' +description = "An I/O iterator subsystem for genomic sequence features" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Perl', '5.36.1'), + ('Perl-bundle-CPAN', '5.36.1'), + ('BioPerl', '1.7.8'), +] + +exts_defaultclass = 'PerlModule' +exts_filter = ("perldoc -lm %(ext_name)s ", "") + +exts_list = [ + ('XML::XPathEngine', '0.14', { + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIROD/'], + 'sources': ['XML-XPathEngine-%(version)s.tar.gz'], + 'checksums': ['d2fe7bcbbd0beba1444f4a733401e7b8aa5282fad4266d42735dd74582b2e264'], + }), + ('XML::DOM::XPath', '0.14', { + 'patches': ['XML-DOM-XPath-0.14_fix-test.patch'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIROD'], + 'sources': ['XML-DOM-XPath-%(version)s.tar.gz'], + 'checksums': [ + {'XML-DOM-XPath-0.14.tar.gz': '0173a74a515211997a3117a47e7b9ea43594a04b865b69da5a71c0886fa829ea'}, + {'XML-DOM-XPath-0.14_fix-test.patch': 'c93f3e4bf3ead76dd1a167cee963cc81cd5409ea95d3c6a01d93369f4267648e'}, + ], + }), + ('Bio::FeatureIO', version, { + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS/'], + 'sources': ['Bio-FeatureIO-%(version)s.tar.gz'], + 'checksums': ['322e5757b374f2fb90b8f20bdbdc75631f5cb4d122f81a4d35c3a177cf950c7a'], + }), +] + +options = {'modulename': 'Bio::FeatureIO'} + +modextrapaths = { + 'PERL5LIB': 'lib/perl5/site_perl/%(perlver)s/', +} + +sanity_check_paths = { + 'files': ['lib/perl5/site_perl/%(perlver)s/Bio/FeatureIO.pm'], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/Bio/FeatureIO'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bio-FeatureIO/XML-DOM-XPath-0.14_fix-test.patch b/easybuild/easyconfigs/b/Bio-FeatureIO/XML-DOM-XPath-0.14_fix-test.patch new file mode 100644 index 00000000000..164f74f9cc3 --- /dev/null +++ b/easybuild/easyconfigs/b/Bio-FeatureIO/XML-DOM-XPath-0.14_fix-test.patch @@ -0,0 +1,16 @@ +fix for failing test: + The encoding pragma is no longer supported. Check cperl at t/test_non_ascii.t line 10. + BEGIN failed--compilation aborted at t/test_non_ascii.t line 10. +see https://rt.cpan.org/Public/Bug/Display.html?id=115098 +diff -rup XML-DOM-XPath-0.14-_1HaPx-orig/t/test_non_ascii.t XML-DOM-XPath-0.14-_1HaPx/t/test_non_ascii.t +--- XML-DOM-XPath-0.14-_1HaPx-orig/t/test_non_ascii.t 2016-07-14 22:05:39.000000000 -0700 ++++ XML-DOM-XPath-0.14-_1HaPx/t/test_non_ascii.t 2016-07-14 22:05:56.000000000 -0700 +@@ -7,7 +7,7 @@ use strict; + use Test::More tests => 10; + use XML::DOM::XPath; + +-use encoding 'utf8'; ++use utf8; + + my $display_warning=0; + From 19364ef4f27fbc9d2cba6419760920494562b51a Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 2 May 2024 22:02:30 +0200 Subject: [PATCH 513/889] add patch to fix CVE in R v4.1.x, v4.2.x, v4.3.x --- .../easyconfigs/r/R/R-4.1.0-foss-2021a.eb | 11 ++++-- .../easyconfigs/r/R/R-4.1.2-foss-2021b.eb | 11 ++++-- .../easyconfigs/r/R/R-4.2.0-foss-2021b.eb | 11 ++++-- .../easyconfigs/r/R/R-4.2.1-foss-2022a.eb | 6 ++- .../easyconfigs/r/R/R-4.2.2-foss-2022b.eb | 6 ++- .../easyconfigs/r/R/R-4.3.2-gfbf-2023a.eb | 6 ++- .../easyconfigs/r/R/R-4.3.3-gfbf-2023b.eb | 6 ++- .../r/R/R-4.x_fix-CVE-2024-27322.patch | 39 +++++++++++++++++++ 8 files changed, 83 insertions(+), 13 deletions(-) create mode 100644 easybuild/easyconfigs/r/R/R-4.x_fix-CVE-2024-27322.patch diff --git a/easybuild/easyconfigs/r/R/R-4.1.0-foss-2021a.eb b/easybuild/easyconfigs/r/R/R-4.1.0-foss-2021a.eb index 39597e9f6f9..0edc567f774 100644 --- a/easybuild/easyconfigs/r/R/R-4.1.0-foss-2021a.eb +++ b/easybuild/easyconfigs/r/R/R-4.1.0-foss-2021a.eb @@ -9,10 +9,15 @@ toolchain = {'name': 'foss', 'version': '2021a'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -patches = ['%(name)s-%(version)s_identify-flexiblas-in-configure.patch'] +patches = [ + 'R-4.1.0_identify-flexiblas-in-configure.patch', + 'R-4.x_fix-CVE-2024-27322.patch', +] checksums = [ - 'e8e68959d7282ca147360fc9644ada9bd161bab781bab14d33b8999a95182781', # R-4.1.0.tar.gz - '2c6720e2e144ae4fe00842daab0ebba72241080603e0ff1a6ca758738041b257', # R-4.1.0_identify-flexiblas-in-configure.patch + {'R-4.1.0.tar.gz': 'e8e68959d7282ca147360fc9644ada9bd161bab781bab14d33b8999a95182781'}, + {'R-4.1.0_identify-flexiblas-in-configure.patch': + '2c6720e2e144ae4fe00842daab0ebba72241080603e0ff1a6ca758738041b257'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/r/R/R-4.1.2-foss-2021b.eb b/easybuild/easyconfigs/r/R/R-4.1.2-foss-2021b.eb index 954de88b9cb..acc5de78f2b 100644 --- a/easybuild/easyconfigs/r/R/R-4.1.2-foss-2021b.eb +++ b/easybuild/easyconfigs/r/R/R-4.1.2-foss-2021b.eb @@ -9,10 +9,15 @@ toolchain = {'name': 'foss', 'version': '2021b'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -patches = ['%(name)s-4.1.0_identify-flexiblas-in-configure.patch'] +patches = [ + 'R-4.1.0_identify-flexiblas-in-configure.patch', + 'R-4.x_fix-CVE-2024-27322.patch', +] checksums = [ - '2036225e9f7207d4ce097e54972aecdaa8b40d7d9911cd26491fac5a0fab38af', # R-4.1.2.tar.gz - '2c6720e2e144ae4fe00842daab0ebba72241080603e0ff1a6ca758738041b257', # R-4.1.0_identify-flexiblas-in-configure.patch + {'R-4.1.2.tar.gz': '2036225e9f7207d4ce097e54972aecdaa8b40d7d9911cd26491fac5a0fab38af'}, + {'R-4.1.0_identify-flexiblas-in-configure.patch': + '2c6720e2e144ae4fe00842daab0ebba72241080603e0ff1a6ca758738041b257'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/r/R/R-4.2.0-foss-2021b.eb b/easybuild/easyconfigs/r/R/R-4.2.0-foss-2021b.eb index 33973d12812..a8e0a1c8bf4 100644 --- a/easybuild/easyconfigs/r/R/R-4.2.0-foss-2021b.eb +++ b/easybuild/easyconfigs/r/R/R-4.2.0-foss-2021b.eb @@ -9,10 +9,15 @@ toolchain = {'name': 'foss', 'version': '2021b'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -patches = ['%(name)s-4.1.0_identify-flexiblas-in-configure.patch'] +patches = [ + 'R-4.1.0_identify-flexiblas-in-configure.patch', + 'R-4.x_fix-CVE-2024-27322.patch', +] checksums = [ - '38eab7719b7ad095388f06aa090c5a2b202791945de60d3e2bb0eab1f5097488', # R-4.2.0.tar.gz - '2c6720e2e144ae4fe00842daab0ebba72241080603e0ff1a6ca758738041b257', # R-4.1.0_identify-flexiblas-in-configure.patch + {'R-4.2.0.tar.gz': '38eab7719b7ad095388f06aa090c5a2b202791945de60d3e2bb0eab1f5097488'}, + {'R-4.1.0_identify-flexiblas-in-configure.patch': + '2c6720e2e144ae4fe00842daab0ebba72241080603e0ff1a6ca758738041b257'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/r/R/R-4.2.1-foss-2022a.eb b/easybuild/easyconfigs/r/R/R-4.2.1-foss-2022a.eb index d2734474d6c..7b4e813f60f 100644 --- a/easybuild/easyconfigs/r/R/R-4.2.1-foss-2022a.eb +++ b/easybuild/easyconfigs/r/R/R-4.2.1-foss-2022a.eb @@ -9,7 +9,11 @@ toolchain = {'name': 'foss', 'version': '2022a'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -checksums = ['4d52db486d27848e54613d4ee977ad952ec08ce17807e1b525b10cd4436c643f'] +patches = ['R-4.x_fix-CVE-2024-27322.patch'] +checksums = [ + {'R-4.2.1.tar.gz': '4d52db486d27848e54613d4ee977ad952ec08ce17807e1b525b10cd4436c643f'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, +] builddependencies = [ ('pkgconf', '1.8.0'), diff --git a/easybuild/easyconfigs/r/R/R-4.2.2-foss-2022b.eb b/easybuild/easyconfigs/r/R/R-4.2.2-foss-2022b.eb index ebc872e51a4..65a3ad6c54b 100644 --- a/easybuild/easyconfigs/r/R/R-4.2.2-foss-2022b.eb +++ b/easybuild/easyconfigs/r/R/R-4.2.2-foss-2022b.eb @@ -9,7 +9,11 @@ toolchain = {'name': 'foss', 'version': '2022b'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -checksums = ['0ff62b42ec51afa5713caee7c4fde7a0c45940ba39bef8c5c9487fef0c953df5'] +patches = ['R-4.x_fix-CVE-2024-27322.patch'] +checksums = [ + {'R-4.2.2.tar.gz': '0ff62b42ec51afa5713caee7c4fde7a0c45940ba39bef8c5c9487fef0c953df5'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, +] builddependencies = [ ('pkgconf', '1.9.3'), diff --git a/easybuild/easyconfigs/r/R/R-4.3.2-gfbf-2023a.eb b/easybuild/easyconfigs/r/R/R-4.3.2-gfbf-2023a.eb index ed664162bf5..806624dbe57 100644 --- a/easybuild/easyconfigs/r/R/R-4.3.2-gfbf-2023a.eb +++ b/easybuild/easyconfigs/r/R/R-4.3.2-gfbf-2023a.eb @@ -9,7 +9,11 @@ toolchain = {'name': 'gfbf', 'version': '2023a'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -checksums = ['b3f5760ac2eee8026a3f0eefcb25b47723d978038eee8e844762094c860c452a'] +patches = ['R-4.x_fix-CVE-2024-27322.patch'] +checksums = [ + {'R-4.3.2.tar.gz': 'b3f5760ac2eee8026a3f0eefcb25b47723d978038eee8e844762094c860c452a'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, +] builddependencies = [ ('pkgconf', '1.9.5'), diff --git a/easybuild/easyconfigs/r/R/R-4.3.3-gfbf-2023b.eb b/easybuild/easyconfigs/r/R/R-4.3.3-gfbf-2023b.eb index df95c0aaa55..5209a5ce4a2 100644 --- a/easybuild/easyconfigs/r/R/R-4.3.3-gfbf-2023b.eb +++ b/easybuild/easyconfigs/r/R/R-4.3.3-gfbf-2023b.eb @@ -9,7 +9,11 @@ toolchain = {'name': 'gfbf', 'version': '2023b'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -checksums = ['80851231393b85bf3877ee9e39b282e750ed864c5ec60cbd68e6e139f0520330'] +patches = ['R-4.x_fix-CVE-2024-27322.patch'] +checksums = [ + {'R-4.3.3.tar.gz': '80851231393b85bf3877ee9e39b282e750ed864c5ec60cbd68e6e139f0520330'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, +] builddependencies = [ ('pkgconf', '2.0.3'), diff --git a/easybuild/easyconfigs/r/R/R-4.x_fix-CVE-2024-27322.patch b/easybuild/easyconfigs/r/R/R-4.x_fix-CVE-2024-27322.patch new file mode 100644 index 00000000000..abf3c67864b --- /dev/null +++ b/easybuild/easyconfigs/r/R/R-4.x_fix-CVE-2024-27322.patch @@ -0,0 +1,39 @@ +see https://nvd.nist.gov/vuln/detail/CVE-2024-27322 + https://stat.ethz.ch/pipermail/r-devel/2024-April/083396.html + https://github.com/r-devel/r-svn/commit/f7c46500f455eb4edfc3656c3fa20af61b16abb7 +diff --git a/src/main/serialize.c b/src/main/serialize.c +index a389f71311..a190fbf8f3 100644 +--- a/src/main/serialize.c ++++ b/src/main/serialize.c +@@ -2650,6 +2650,13 @@ do_serializeToConn(SEXP call, SEXP op, SEXP args, SEXP env) + return R_NilValue; + } + ++static SEXP checkNotPromise(SEXP val) ++{ ++ if (TYPEOF(val) == PROMSXP) ++ error(_("cannot return a promise (PROMSXP) object")); ++ return val; ++} ++ + /* unserializeFromConn(conn, hook) used from readRDS(). + It became public in R 2.13.0, and that version added support for + connections internally */ +@@ -2699,7 +2706,7 @@ do_unserializeFromConn(SEXP call, SEXP op, SEXP args, SEXP env) + con->close(con); + UNPROTECT(1); + } +- return ans; ++ return checkNotPromise(ans); + } + + /* +@@ -3330,8 +3337,8 @@ attribute_hidden SEXP + do_serialize(SEXP call, SEXP op, SEXP args, SEXP env) + { + checkArity(op, args); +- if (PRIMVAL(op) == 2) return R_unserialize(CAR(args), CADR(args)); +- ++ if (PRIMVAL(op) == 2) //return R_unserialize(CAR(args), CADR(args)); ++ return checkNotPromise(R_unserialize(CAR(args), CADR(args))); + SEXP object, icon, type, ver, fun; + object = CAR(args); args = CDR(args); + icon = CAR(args); args = CDR(args); From 14ad0e1a38f08afa75d9b0b50ffd59d2c5d36e6d Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 2 May 2024 22:08:10 +0200 Subject: [PATCH 514/889] add patch to fix CVE in R v4.0.x --- easybuild/easyconfigs/r/R/R-4.0.0-foss-2020a.eb | 10 +++++++--- easybuild/easyconfigs/r/R/R-4.0.3-foss-2020b.eb | 6 +++++- easybuild/easyconfigs/r/R/R-4.0.3-fosscuda-2020b.eb | 6 +++++- easybuild/easyconfigs/r/R/R-4.0.4-foss-2020b.eb | 6 +++++- easybuild/easyconfigs/r/R/R-4.0.4-fosscuda-2020b.eb | 6 +++++- easybuild/easyconfigs/r/R/R-4.0.5-foss-2020b.eb | 6 +++++- easybuild/easyconfigs/r/R/R-4.0.5-fosscuda-2020b.eb | 6 +++++- 7 files changed, 37 insertions(+), 9 deletions(-) diff --git a/easybuild/easyconfigs/r/R/R-4.0.0-foss-2020a.eb b/easybuild/easyconfigs/r/R/R-4.0.0-foss-2020a.eb index faa29bd2b3e..bd2f43f16b7 100644 --- a/easybuild/easyconfigs/r/R/R-4.0.0-foss-2020a.eb +++ b/easybuild/easyconfigs/r/R/R-4.0.0-foss-2020a.eb @@ -9,10 +9,14 @@ toolchain = {'name': 'foss', 'version': '2020a'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -patches = ['%(name)s-%(version)s_ppc64le-build-fix.patch'] +patches = [ + 'R-%(version)s_ppc64le-build-fix.patch', + 'R-4.x_fix-CVE-2024-27322.patch', +] checksums = [ - '06beb0291b569978484eb0dcb5d2339665ec745737bdfb4e873e7a5a75492940', # R-4.0.0.tar.gz - 'ae14b063be40ba2f2e73d95ae1ee0b8630ac7bbc8ec2d64830016c8d62f672ad', # R-4.0.0_ppc64le-build-fix.patch + {'R-4.0.0.tar.gz': '06beb0291b569978484eb0dcb5d2339665ec745737bdfb4e873e7a5a75492940'}, + {'R-4.0.0_ppc64le-build-fix.patch': 'ae14b063be40ba2f2e73d95ae1ee0b8630ac7bbc8ec2d64830016c8d62f672ad'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/r/R/R-4.0.3-foss-2020b.eb b/easybuild/easyconfigs/r/R/R-4.0.3-foss-2020b.eb index 782f039b492..d8b9d1c97fe 100644 --- a/easybuild/easyconfigs/r/R/R-4.0.3-foss-2020b.eb +++ b/easybuild/easyconfigs/r/R/R-4.0.3-foss-2020b.eb @@ -9,7 +9,11 @@ toolchain = {'name': 'foss', 'version': '2020b'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -checksums = ['09983a8a78d5fb6bc45d27b1c55f9ba5265f78fa54a55c13ae691f87c5bb9e0d'] +patches = ['R-4.x_fix-CVE-2024-27322.patch'] +checksums = [ + {'R-4.0.3.tar.gz': '09983a8a78d5fb6bc45d27b1c55f9ba5265f78fa54a55c13ae691f87c5bb9e0d'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, +] builddependencies = [ ('pkg-config', '0.29.2'), diff --git a/easybuild/easyconfigs/r/R/R-4.0.3-fosscuda-2020b.eb b/easybuild/easyconfigs/r/R/R-4.0.3-fosscuda-2020b.eb index db5d9c9e47c..3437fa7f9d0 100644 --- a/easybuild/easyconfigs/r/R/R-4.0.3-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/r/R/R-4.0.3-fosscuda-2020b.eb @@ -9,7 +9,11 @@ toolchain = {'name': 'fosscuda', 'version': '2020b'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -checksums = ['09983a8a78d5fb6bc45d27b1c55f9ba5265f78fa54a55c13ae691f87c5bb9e0d'] +patches = ['R-4.x_fix-CVE-2024-27322.patch'] +checksums = [ + {'R-4.0.3.tar.gz': '09983a8a78d5fb6bc45d27b1c55f9ba5265f78fa54a55c13ae691f87c5bb9e0d'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, +] builddependencies = [ ('pkg-config', '0.29.2'), diff --git a/easybuild/easyconfigs/r/R/R-4.0.4-foss-2020b.eb b/easybuild/easyconfigs/r/R/R-4.0.4-foss-2020b.eb index c7d07e5f2ac..c5a53742396 100644 --- a/easybuild/easyconfigs/r/R/R-4.0.4-foss-2020b.eb +++ b/easybuild/easyconfigs/r/R/R-4.0.4-foss-2020b.eb @@ -15,7 +15,11 @@ toolchain = {'name': 'foss', 'version': '2020b'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -checksums = ['523f27d69744a08c8f0bd5e1e6c3d89a4db29ed983388ba70963a3cd3a4a802e'] +patches = ['R-4.x_fix-CVE-2024-27322.patch'] +checksums = [ + {'R-4.0.4.tar.gz': '523f27d69744a08c8f0bd5e1e6c3d89a4db29ed983388ba70963a3cd3a4a802e'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, +] builddependencies = [ ('pkg-config', '0.29.2'), diff --git a/easybuild/easyconfigs/r/R/R-4.0.4-fosscuda-2020b.eb b/easybuild/easyconfigs/r/R/R-4.0.4-fosscuda-2020b.eb index afc6216b0bf..5930c930423 100644 --- a/easybuild/easyconfigs/r/R/R-4.0.4-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/r/R/R-4.0.4-fosscuda-2020b.eb @@ -9,7 +9,11 @@ toolchain = {'name': 'fosscuda', 'version': '2020b'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -checksums = ['523f27d69744a08c8f0bd5e1e6c3d89a4db29ed983388ba70963a3cd3a4a802e'] +patches = ['R-4.x_fix-CVE-2024-27322.patch'] +checksums = [ + {'R-4.0.4.tar.gz': '523f27d69744a08c8f0bd5e1e6c3d89a4db29ed983388ba70963a3cd3a4a802e'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, +] builddependencies = [ ('pkg-config', '0.29.2'), diff --git a/easybuild/easyconfigs/r/R/R-4.0.5-foss-2020b.eb b/easybuild/easyconfigs/r/R/R-4.0.5-foss-2020b.eb index bf2b31d78ee..a3d990d65b4 100644 --- a/easybuild/easyconfigs/r/R/R-4.0.5-foss-2020b.eb +++ b/easybuild/easyconfigs/r/R/R-4.0.5-foss-2020b.eb @@ -12,7 +12,11 @@ toolchain = {'name': 'foss', 'version': '2020b'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -checksums = ['0a3ee079aa772e131fe5435311ab627fcbccb5a50cabc54292e6f62046f1ffef'] +patches = ['R-4.x_fix-CVE-2024-27322.patch'] +checksums = [ + {'R-4.0.5.tar.gz': '0a3ee079aa772e131fe5435311ab627fcbccb5a50cabc54292e6f62046f1ffef'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, +] builddependencies = [ ('pkg-config', '0.29.2'), diff --git a/easybuild/easyconfigs/r/R/R-4.0.5-fosscuda-2020b.eb b/easybuild/easyconfigs/r/R/R-4.0.5-fosscuda-2020b.eb index be10c211dc4..9fbcf1785f5 100644 --- a/easybuild/easyconfigs/r/R/R-4.0.5-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/r/R/R-4.0.5-fosscuda-2020b.eb @@ -12,7 +12,11 @@ toolchain = {'name': 'fosscuda', 'version': '2020b'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -checksums = ['0a3ee079aa772e131fe5435311ab627fcbccb5a50cabc54292e6f62046f1ffef'] +patches = ['R-4.x_fix-CVE-2024-27322.patch'] +checksums = [ + {'R-4.0.5.tar.gz': '0a3ee079aa772e131fe5435311ab627fcbccb5a50cabc54292e6f62046f1ffef'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, +] builddependencies = [ ('pkg-config', '0.29.2'), From 6a29ad9d0eb30bdf0148d21b3e2ab88f6e2bf843 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 2 May 2024 22:09:01 +0200 Subject: [PATCH 515/889] add patch to fix CVE in R v3.6.x --- easybuild/easyconfigs/r/R/R-3.6.0-foss-2019a.eb | 6 +++++- easybuild/easyconfigs/r/R/R-3.6.0-fosscuda-2019a.eb | 6 +++++- easybuild/easyconfigs/r/R/R-3.6.0-intel-2019a.eb | 6 +++++- easybuild/easyconfigs/r/R/R-3.6.2-foss-2019b.eb | 8 +++++--- easybuild/easyconfigs/r/R/R-3.6.2-fosscuda-2019b.eb | 8 +++++--- easybuild/easyconfigs/r/R/R-3.6.2-intel-2019b.eb | 10 +++++++--- easybuild/easyconfigs/r/R/R-3.6.3-foss-2020a.eb | 6 +++++- 7 files changed, 37 insertions(+), 13 deletions(-) diff --git a/easybuild/easyconfigs/r/R/R-3.6.0-foss-2019a.eb b/easybuild/easyconfigs/r/R/R-3.6.0-foss-2019a.eb index 4e4d1c99a5f..424575fc5d8 100644 --- a/easybuild/easyconfigs/r/R/R-3.6.0-foss-2019a.eb +++ b/easybuild/easyconfigs/r/R/R-3.6.0-foss-2019a.eb @@ -9,7 +9,11 @@ toolchain = {'name': 'foss', 'version': '2019a'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -checksums = ['36fcac3e452666158e62459c6fc810adc247c7109ed71c5b6c3ad5fc2bf57509'] +patches = ['R-4.x_fix-CVE-2024-27322.patch'] +checksums = [ + {'R-3.6.0.tar.gz': '36fcac3e452666158e62459c6fc810adc247c7109ed71c5b6c3ad5fc2bf57509'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, +] builddependencies = [ ('pkg-config', '0.29.2'), diff --git a/easybuild/easyconfigs/r/R/R-3.6.0-fosscuda-2019a.eb b/easybuild/easyconfigs/r/R/R-3.6.0-fosscuda-2019a.eb index f20ae1ce680..1af773bd859 100644 --- a/easybuild/easyconfigs/r/R/R-3.6.0-fosscuda-2019a.eb +++ b/easybuild/easyconfigs/r/R/R-3.6.0-fosscuda-2019a.eb @@ -9,7 +9,11 @@ toolchain = {'name': 'fosscuda', 'version': '2019a'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -checksums = ['36fcac3e452666158e62459c6fc810adc247c7109ed71c5b6c3ad5fc2bf57509'] +patches = ['R-4.x_fix-CVE-2024-27322.patch'] +checksums = [ + {'R-3.6.0.tar.gz': '36fcac3e452666158e62459c6fc810adc247c7109ed71c5b6c3ad5fc2bf57509'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, +] builddependencies = [ ('pkg-config', '0.29.2'), diff --git a/easybuild/easyconfigs/r/R/R-3.6.0-intel-2019a.eb b/easybuild/easyconfigs/r/R/R-3.6.0-intel-2019a.eb index 385c219696e..1ba3ae79f23 100644 --- a/easybuild/easyconfigs/r/R/R-3.6.0-intel-2019a.eb +++ b/easybuild/easyconfigs/r/R/R-3.6.0-intel-2019a.eb @@ -9,7 +9,11 @@ toolchain = {'name': 'intel', 'version': '2019a'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -checksums = ['36fcac3e452666158e62459c6fc810adc247c7109ed71c5b6c3ad5fc2bf57509'] +patches = ['R-4.x_fix-CVE-2024-27322.patch'] +checksums = [ + {'R-3.6.0.tar.gz': '36fcac3e452666158e62459c6fc810adc247c7109ed71c5b6c3ad5fc2bf57509'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, +] builddependencies = [ ('pkg-config', '0.29.2'), diff --git a/easybuild/easyconfigs/r/R/R-3.6.2-foss-2019b.eb b/easybuild/easyconfigs/r/R/R-3.6.2-foss-2019b.eb index 70af7d3e9fd..5d9da19d990 100644 --- a/easybuild/easyconfigs/r/R/R-3.6.2-foss-2019b.eb +++ b/easybuild/easyconfigs/r/R/R-3.6.2-foss-2019b.eb @@ -10,11 +10,13 @@ toolchain = {'name': 'foss', 'version': '2019b'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] patches = [ - '%(name)s-%(version)s_fix_long_dbl_on_ppc.patch', + 'R-%(version)s_fix_long_dbl_on_ppc.patch', + 'R-4.x_fix-CVE-2024-27322.patch', ] checksums = [ - 'bd65a45cddfb88f37370fbcee4ac8dd3f1aebeebe47c2f968fd9770ba2bbc954', # R-3.6.2.tar.gz - '833b80f9a62751eae9cfbad6116542acf932e9c6511235145be32264aacdce69', # R-3.6.2_fix_long_dbl_on_ppc.patch + {'R-3.6.2.tar.gz': 'bd65a45cddfb88f37370fbcee4ac8dd3f1aebeebe47c2f968fd9770ba2bbc954'}, + {'R-3.6.2_fix_long_dbl_on_ppc.patch': '833b80f9a62751eae9cfbad6116542acf932e9c6511235145be32264aacdce69'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/r/R/R-3.6.2-fosscuda-2019b.eb b/easybuild/easyconfigs/r/R/R-3.6.2-fosscuda-2019b.eb index 99a3664d030..a8534abd2a9 100644 --- a/easybuild/easyconfigs/r/R/R-3.6.2-fosscuda-2019b.eb +++ b/easybuild/easyconfigs/r/R/R-3.6.2-fosscuda-2019b.eb @@ -10,11 +10,13 @@ toolchain = {'name': 'fosscuda', 'version': '2019b'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] patches = [ - '%(name)s-%(version)s_fix_long_dbl_on_ppc.patch', + 'R-%(version)s_fix_long_dbl_on_ppc.patch', + 'R-4.x_fix-CVE-2024-27322.patch', ] checksums = [ - 'bd65a45cddfb88f37370fbcee4ac8dd3f1aebeebe47c2f968fd9770ba2bbc954', # R-3.6.2.tar.gz - '833b80f9a62751eae9cfbad6116542acf932e9c6511235145be32264aacdce69', # R-3.6.2_fix_long_dbl_on_ppc.patch + {'R-3.6.2.tar.gz': 'bd65a45cddfb88f37370fbcee4ac8dd3f1aebeebe47c2f968fd9770ba2bbc954'}, + {'R-3.6.2_fix_long_dbl_on_ppc.patch': '833b80f9a62751eae9cfbad6116542acf932e9c6511235145be32264aacdce69'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/r/R/R-3.6.2-intel-2019b.eb b/easybuild/easyconfigs/r/R/R-3.6.2-intel-2019b.eb index a3abe2e37ee..3e94ecb9131 100644 --- a/easybuild/easyconfigs/r/R/R-3.6.2-intel-2019b.eb +++ b/easybuild/easyconfigs/r/R/R-3.6.2-intel-2019b.eb @@ -9,10 +9,14 @@ toolchain = {'name': 'intel', 'version': '2019b'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -patches = ['%(name)s-%(version)s_fix-intel-recent-glibc.patch'] +patches = [ + 'R-%(version)s_fix-intel-recent-glibc.patch', + 'R-4.x_fix-CVE-2024-27322.patch', +] checksums = [ - 'bd65a45cddfb88f37370fbcee4ac8dd3f1aebeebe47c2f968fd9770ba2bbc954', # R-3.6.2.tar.gz - '1052d223df58b6199edbac3721640f06b22a282c95dd0db982566dc36884a146', # R-3.6.2_fix-intel-recent-glibc.patch + {'R-3.6.2.tar.gz': 'bd65a45cddfb88f37370fbcee4ac8dd3f1aebeebe47c2f968fd9770ba2bbc954'}, + {'R-3.6.2_fix-intel-recent-glibc.patch': '1052d223df58b6199edbac3721640f06b22a282c95dd0db982566dc36884a146'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/r/R/R-3.6.3-foss-2020a.eb b/easybuild/easyconfigs/r/R/R-3.6.3-foss-2020a.eb index 802b28cc594..d1dc61629fc 100644 --- a/easybuild/easyconfigs/r/R/R-3.6.3-foss-2020a.eb +++ b/easybuild/easyconfigs/r/R/R-3.6.3-foss-2020a.eb @@ -9,7 +9,11 @@ toolchain = {'name': 'foss', 'version': '2020a'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -checksums = ['89302990d8e8add536e12125ec591d6951022cf8475861b3690bc8bf1cefaa8f'] +patches = ['R-4.x_fix-CVE-2024-27322.patch'] +checksums = [ + {'R-3.6.3.tar.gz': '89302990d8e8add536e12125ec591d6951022cf8475861b3690bc8bf1cefaa8f'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, +] builddependencies = [ ('pkg-config', '0.29.2'), From 8e0d84dbb1a053de1d9164c88df05f2b0960571f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 3 May 2024 11:21:56 +0200 Subject: [PATCH 516/889] don't append to $R_LIBS_SITE via modextrapaths, already done by `RPackage` easyblock MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Bob Dröge --- .../c/chromVARmotifs/chromVARmotifs-0.2.0-foss-2023a-R-4.3.2.eb | 2 -- 1 file changed, 2 deletions(-) diff --git a/easybuild/easyconfigs/c/chromVARmotifs/chromVARmotifs-0.2.0-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/c/chromVARmotifs/chromVARmotifs-0.2.0-foss-2023a-R-4.3.2.eb index 2fd44772901..bd7943a2e76 100644 --- a/easybuild/easyconfigs/c/chromVARmotifs/chromVARmotifs-0.2.0-foss-2023a-R-4.3.2.eb +++ b/easybuild/easyconfigs/c/chromVARmotifs/chromVARmotifs-0.2.0-foss-2023a-R-4.3.2.eb @@ -27,6 +27,4 @@ sanity_check_paths = { 'dirs': [name], } -modextrapaths = {'R_LIBS_SITE': ''} - moduleclass = 'bio' From 49acb1b583f341e3f1bf220be93f9725de5f2b1d Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 3 May 2024 11:27:27 +0200 Subject: [PATCH 517/889] add comment to point out that SimNIBS requires old versions of Boost/CGAL/tbb as build deps --- easybuild/easyconfigs/s/SimNIBS/SimNIBS-4.0.1-foss-2023a.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/s/SimNIBS/SimNIBS-4.0.1-foss-2023a.eb b/easybuild/easyconfigs/s/SimNIBS/SimNIBS-4.0.1-foss-2023a.eb index 38ee484e258..97e87ebe02b 100644 --- a/easybuild/easyconfigs/s/SimNIBS/SimNIBS-4.0.1-foss-2023a.eb +++ b/easybuild/easyconfigs/s/SimNIBS/SimNIBS-4.0.1-foss-2023a.eb @@ -11,6 +11,7 @@ toolchain = {'name': 'foss', 'version': '2023a'} builddependencies = [ ('CMake', '3.26.3'), ('Eigen', '3.4.0'), + # SimNIBS 4.0.1 requires old versions of Boost, CGAL, tbb ('Boost', '1.74.0'), ('CGAL', '5.4'), ('tbb', '2020.1'), From 86b34ba8b10e69fe6ab03b4c6426efa6fd952bc4 Mon Sep 17 00:00:00 2001 From: Sam Moors Date: Fri, 3 May 2024 11:39:44 +0200 Subject: [PATCH 518/889] Delete dm-haiku easyconfig (already merged) --- .../dm-haiku-0.0.9-foss-2022a-CUDA-11.7.0.eb | 34 ------------------- 1 file changed, 34 deletions(-) delete mode 100644 easybuild/easyconfigs/d/dm-haiku/dm-haiku-0.0.9-foss-2022a-CUDA-11.7.0.eb diff --git a/easybuild/easyconfigs/d/dm-haiku/dm-haiku-0.0.9-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/d/dm-haiku/dm-haiku-0.0.9-foss-2022a-CUDA-11.7.0.eb deleted file mode 100644 index 0f20b2a9a61..00000000000 --- a/easybuild/easyconfigs/d/dm-haiku/dm-haiku-0.0.9-foss-2022a-CUDA-11.7.0.eb +++ /dev/null @@ -1,34 +0,0 @@ -easyblock = 'PythonBundle' - -name = 'dm-haiku' -version = '0.0.9' -versionsuffix = '-CUDA-11.7.0' - -homepage = 'https://github.com/deepmind/dm-haiku' -description = """Haiku is a simple neural network library for JAX developed by some of the authors of Sonnet, a neural -network library for TensorFlow.""" - -toolchain = {'name': 'foss', 'version': '2022a'} - -dependencies = [ - ('CUDA', '11.7.0', '', SYSTEM), - ('Python', '3.10.4'), - ('SciPy-bundle', '2022.05'), - ('jax', '0.3.25', versionsuffix), -] - -use_pip = True - -exts_list = [ - ('jmp', '0.0.4', { - 'checksums': ['5dfeb0fd7c7a9f72a70fff0aab9d0cbfae32a809c02f4037ff3485ceb33e1730'], - }), - (name, version, { - 'modulename': 'haiku', - 'checksums': ['97752b32cdbe5a3e2d1c60ea884d33eb4b36e7d410000f0d61b571417c925435'], - }), -] - -sanity_pip_check = True - -moduleclass = 'lib' From 25c51df170c6457198cc3bb8f099f93f071e33d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Fri, 3 May 2024 14:21:03 +0200 Subject: [PATCH 519/889] adding easyconfigs: SDL2_gfx-1.0.4-GCCcore-11.3.0.eb --- .../SDL2_gfx/SDL2_gfx-1.0.4-GCCcore-11.3.0.eb | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 easybuild/easyconfigs/s/SDL2_gfx/SDL2_gfx-1.0.4-GCCcore-11.3.0.eb diff --git a/easybuild/easyconfigs/s/SDL2_gfx/SDL2_gfx-1.0.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/SDL2_gfx/SDL2_gfx-1.0.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..bffa40795e7 --- /dev/null +++ b/easybuild/easyconfigs/s/SDL2_gfx/SDL2_gfx-1.0.4-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'SDL2_gfx' +version = '1.0.4' + +homepage = 'https://www.ferzkopp.net/joomla/content/view/19/14/' +description = """ +Graphics drawing primitives library for SDL2 +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://www.ferzkopp.net/Software/%(name)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['63e0e01addedc9df2f85b93a248f06e8a04affa014a835c2ea34bfe34e576262'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('SDL2', '2.0.22'), +] + +sanity_check_paths = { + 'files': ['include/SDL2/SDL2_gfxPrimitives.h', 'lib/libSDL2_gfx.%s' % SHLIB_EXT, + 'lib/pkgconfig/SDL2_gfx.pc'], + 'dirs': [], +} + +moduleclass = 'lib' From 02f429ed39ffd6321634fed1dc6c50e70654517a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Fri, 3 May 2024 14:47:37 +0200 Subject: [PATCH 520/889] patch for backporting RISC-V support to 0.9.0 --- .../b/BLIS/BLIS-0.9.0_add-riscv-support.patch | 3999 +++++++++++++++++ 1 file changed, 3999 insertions(+) create mode 100644 easybuild/easyconfigs/b/BLIS/BLIS-0.9.0_add-riscv-support.patch diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0_add-riscv-support.patch b/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0_add-riscv-support.patch new file mode 100644 index 00000000000..83cdd2b3b0d --- /dev/null +++ b/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0_add-riscv-support.patch @@ -0,0 +1,3999 @@ +Backport RISC-V support to version 0.9.0 by using a combination of +(slightly modified) versions of the following pull requests: +https://github.com/flame/blis/pull/693 +https://github.com/flame/blis/pull/750 + +Bob Dröge (University of Groningen) + +diff --git a/CREDITS b/CREDITS +index 9cc846d5c..d53c406e7 100644 +--- a/CREDITS ++++ b/CREDITS +@@ -98,6 +98,7 @@ but many others have contributed code, ideas, and feedback, including + Karl Rupp @karlrupp + Martin Schatz (The University of Texas at Austin) + Nico Schlömer @nschloe ++ Angelika Schwarz @angsch + Rene Sitt + Tony Skjellum @tonyskjellum (The University of Tennessee at Chattanooga) + Mikhail Smelyanskiy (Intel, Parallel Computing Lab) +diff --git a/config/rv32i/bli_cntx_init_rv32i.c b/config/rv32i/bli_cntx_init_rv32i.c +new file mode 100644 +index 000000000..84fd2dca6 +--- /dev/null ++++ b/config/rv32i/bli_cntx_init_rv32i.c +@@ -0,0 +1,44 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2014, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++*/ ++ ++#include "blis.h" ++ ++ ++void bli_cntx_init_rv32i( cntx_t* cntx ) ++{ ++ // Set default kernel blocksizes and functions. ++ bli_cntx_init_rv32i_ref( cntx ); ++ ++ // ------------------------------------------------------------------------- ++} +diff --git a/config/rv32i/bli_kernel_defs_rv32i.h b/config/rv32i/bli_kernel_defs_rv32i.h +new file mode 100644 +index 000000000..fe51f998d +--- /dev/null ++++ b/config/rv32i/bli_kernel_defs_rv32i.h +@@ -0,0 +1,43 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2022, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++*/ ++ ++//#ifndef BLIS_KERNEL_DEFS_H ++//#define BLIS_KERNEL_DEFS_H ++ ++ ++// -- REGISTER BLOCK SIZES (FOR REFERENCE KERNELS) ---------------------------- ++ ++// Fall through to generic sizes ++ ++//#endif +diff --git a/config/rv32i/make_defs.mk b/config/rv32i/make_defs.mk +new file mode 100644 +index 000000000..40849ce66 +--- /dev/null ++++ b/config/rv32i/make_defs.mk +@@ -0,0 +1,94 @@ ++# ++# ++# BLIS ++# An object-based framework for developing high-performance BLAS-like ++# libraries. ++# ++# Copyright (C) 2014, The University of Texas at Austin ++# ++# Redistribution and use in source and binary forms, with or without ++# modification, are permitted provided that the following conditions are ++# met: ++# - Redistributions of source code must retain the above copyright ++# notice, this list of conditions and the following disclaimer. ++# - Redistributions in binary form must reproduce the above copyright ++# notice, this list of conditions and the following disclaimer in the ++# documentation and/or other materials provided with the distribution. ++# - Neither the name(s) of the copyright holder(s) nor the names of its ++# contributors may be used to endorse or promote products derived ++# from this software without specific prior written permission. ++# ++# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# ++# ++ ++ ++# Declare the name of the current configuration and add it to the ++# running list of configurations included by common.mk. ++THIS_CONFIG := rv32i ++#CONFIGS_INCL += $(THIS_CONFIG) ++ ++# ++# --- Determine the C compiler and related flags --- ++# ++ ++# NOTE: The build system will append these variables with various ++# general-purpose/configuration-agnostic flags in common.mk. You ++# may specify additional flags here as needed. ++CPPROCFLAGS := -DRISCV_SIZE=32 ++# Atomic instructions must be enabled either via hardware ++# (-march=rv32ia) or by linking against libatomic ++CMISCFLAGS := -march=$(shell $(CC) -E frame/base/bli_riscv_detect_arch.h | grep '^[^\#]') -mabi=ilp32 ++CPICFLAGS := ++CWARNFLAGS := -Wall -Wno-unused-function -Wfatal-errors ++ ++# In case the A extension is not available ++LDFLAGS += -latomic ++ ++ifneq ($(DEBUG_TYPE),off) ++CDBGFLAGS := -g ++endif ++ ++ifeq ($(DEBUG_TYPE),noopt) ++COPTFLAGS := -O0 ++else ++COPTFLAGS := -O2 ++endif ++ ++# Flags specific to optimized kernels. ++CKOPTFLAGS := $(COPTFLAGS) -O3 ++ifeq ($(CC_VENDOR),gcc) ++CKVECFLAGS := ++else ++ifeq ($(CC_VENDOR),clang) ++CKVECFLAGS := ++else ++$(error gcc or clang is required for this configuration.) ++endif ++endif ++ ++# Flags specific to reference kernels. ++CROPTFLAGS := $(CKOPTFLAGS) ++ifeq ($(CC_VENDOR),gcc) ++CRVECFLAGS := $(CKVECFLAGS) -funsafe-math-optimizations -ffp-contract=fast ++else ++ifeq ($(CC_VENDOR),clang) ++CRVECFLAGS := $(CKVECFLAGS) -funsafe-math-optimizations -ffp-contract=fast ++else ++CRVECFLAGS := $(CKVECFLAGS) ++endif ++endif ++ ++# Store all of the variables here to new variables containing the ++# configuration name. ++$(eval $(call store-make-defs,$(THIS_CONFIG))) +diff --git a/config/rv32iv/bli_cntx_init_rv32iv.c b/config/rv32iv/bli_cntx_init_rv32iv.c +new file mode 100644 +index 000000000..dd10a3655 +--- /dev/null ++++ b/config/rv32iv/bli_cntx_init_rv32iv.c +@@ -0,0 +1,109 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2014, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++*/ ++ ++#include "../../kernels/rviv/3/bli_rviv_utils.h" ++ ++void bli_cntx_init_rv32iv( cntx_t* cntx ) ++{ ++ blksz_t blkszs[ BLIS_NUM_BLKSZS ]; ++ ++ // Set default kernel blocksizes and functions. ++ bli_cntx_init_rv32iv_ref( cntx ); ++ ++ // ------------------------------------------------------------------------- ++ ++ // A reasonable assumptions for application cores is VLEN >= 128 bits, i.e., ++ // v >= 4. Embedded cores, however, may implement the minimal configuration, ++ // which allows VLEN = 32 bits. Here, we assume VLEN >= 128 and otherwise ++ // fall back to the reference kernels. ++ const uint32_t v = get_vlenb() / sizeof(float); ++ ++ if ( v >= 4 ) ++ { ++ const uint32_t mr_s = 4 * v; ++ const uint32_t mr_d = 2 * v; ++ const uint32_t mr_c = 2 * v; ++ const uint32_t mr_z = v; ++ ++ // Update the context with optimized native gemm micro-kernels. ++ bli_cntx_set_ukrs ++ ( ++ cntx, ++ ++ // level-3 ++ BLIS_GEMM_UKR, BLIS_FLOAT, bli_sgemm_rviv_4vx4, ++ BLIS_GEMM_UKR, BLIS_DOUBLE, bli_dgemm_rviv_4vx4, ++ BLIS_GEMM_UKR, BLIS_SCOMPLEX, bli_cgemm_rviv_4vx4, ++ BLIS_GEMM_UKR, BLIS_DCOMPLEX, bli_zgemm_rviv_4vx4, ++ ++ BLIS_VA_END ++ ); ++ ++ // Update the context with storage preferences. ++ bli_cntx_set_ukr_prefs ++ ( ++ cntx, ++ ++ // level-3 ++ BLIS_GEMM_UKR_ROW_PREF, BLIS_FLOAT, FALSE, ++ BLIS_GEMM_UKR_ROW_PREF, BLIS_DOUBLE, FALSE, ++ BLIS_GEMM_UKR_ROW_PREF, BLIS_SCOMPLEX, FALSE, ++ BLIS_GEMM_UKR_ROW_PREF, BLIS_DCOMPLEX, FALSE, ++ ++ BLIS_VA_END ++ ); ++ ++ // Initialize level-3 blocksize objects with architecture-specific values. ++ // s d c z ++ bli_blksz_init_easy( &blkszs[ BLIS_MR ], mr_s, mr_d, mr_c, mr_z ); ++ bli_blksz_init_easy( &blkszs[ BLIS_NR ], 4, 4, 4, 4 ); ++ bli_blksz_init_easy( &blkszs[ BLIS_MC ], 20*mr_s, 20*mr_d, 60*mr_c, 30*mr_z ); ++ bli_blksz_init_easy( &blkszs[ BLIS_KC ], 640, 320, 320, 160 ); ++ bli_blksz_init_easy( &blkszs[ BLIS_NC ], 3072, 3072, 3072, 3072 ); ++ ++ bli_cntx_set_blkszs ++ ( ++ cntx, ++ ++ // level-3 ++ BLIS_NC, &blkszs[ BLIS_NC ], BLIS_NR, ++ BLIS_KC, &blkszs[ BLIS_KC ], BLIS_KR, ++ BLIS_MC, &blkszs[ BLIS_MC ], BLIS_MR, ++ BLIS_NR, &blkszs[ BLIS_NR ], BLIS_NR, ++ BLIS_MR, &blkszs[ BLIS_MR ], BLIS_MR, ++ ++ BLIS_VA_END ++ ); ++ } ++} +diff --git a/config/rv32iv/bli_kernel_defs_rv32iv.h b/config/rv32iv/bli_kernel_defs_rv32iv.h +new file mode 100644 +index 000000000..b17989208 +--- /dev/null ++++ b/config/rv32iv/bli_kernel_defs_rv32iv.h +@@ -0,0 +1,43 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2022, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++*/ ++ ++//#ifndef BLIS_KERNEL_DEFS_H ++//#define BLIS_KERNEL_DEFS_H ++ ++ ++// -- REGISTER BLOCK SIZES (FOR REFERENCE KERNELS) ---------------------------- ++ ++ ++ ++//#endif +diff --git a/config/rv32iv/make_defs.mk b/config/rv32iv/make_defs.mk +new file mode 100644 +index 000000000..3cef697ac +--- /dev/null ++++ b/config/rv32iv/make_defs.mk +@@ -0,0 +1,96 @@ ++# ++# ++# BLIS ++# An object-based framework for developing high-performance BLAS-like ++# libraries. ++# ++# Copyright (C) 2014, The University of Texas at Austin ++# ++# Redistribution and use in source and binary forms, with or without ++# modification, are permitted provided that the following conditions are ++# met: ++# - Redistributions of source code must retain the above copyright ++# notice, this list of conditions and the following disclaimer. ++# - Redistributions in binary form must reproduce the above copyright ++# notice, this list of conditions and the following disclaimer in the ++# documentation and/or other materials provided with the distribution. ++# - Neither the name(s) of the copyright holder(s) nor the names of its ++# contributors may be used to endorse or promote products derived ++# from this software without specific prior written permission. ++# ++# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# ++# ++ ++ ++# Declare the name of the current configuration and add it to the ++# running list of configurations included by common.mk. ++THIS_CONFIG := rv32iv ++#CONFIGS_INCL += $(THIS_CONFIG) ++ ++# ++# --- Determine the C compiler and related flags --- ++# ++ ++# NOTE: The build system will append these variables with various ++# general-purpose/configuration-agnostic flags in common.mk. You ++# may specify additional flags here as needed. ++CPPROCFLAGS := -DRISCV_SIZE=32 ++# Atomic instructions must be enabled either via hardware ++# (-march=rv32iav) or by linking against libatomic ++CMISCFLAGS := -march=$(shell $(CC) -DFORCE_RISCV_VECTOR -E frame/base/bli_riscv_detect_arch.h | grep '^[^\#]') -mabi=ilp32d ++CPICFLAGS := ++CWARNFLAGS := -Wall -Wno-unused-function -Wfatal-errors ++ ++# In case the A extension is not available ++LDFLAGS += -latomic ++ ++ifneq ($(DEBUG_TYPE),off) ++CDBGFLAGS := -g ++endif ++ ++ifeq ($(DEBUG_TYPE),noopt) ++COPTFLAGS := -O0 ++else ++COPTFLAGS := -O0 ++endif ++ ++# Flags specific to optimized kernels. ++CKOPTFLAGS := $(COPTFLAGS) -O3 ++ifeq ($(CC_VENDOR),gcc) ++CKVECFLAGS := ++else ++ifeq ($(CC_VENDOR),clang) ++CKVECFLAGS := ++else ++$(error gcc or clang is required for this configuration.) ++endif ++endif ++ ++# Flags specific to reference kernels. ++CROPTFLAGS := $(CKOPTFLAGS) ++ifeq ($(CC_VENDOR),gcc) ++# Lower compiler optimization to -O1. At -O3, gcc version 12.0.1 20220505 ++# computes offsets for the matrix ab in the ref gemm kernel incorrectly. ++CRVECFLAGS := $(CKVECFLAGS) -O1 ++else ++ifeq ($(CC_VENDOR),clang) ++CRVECFLAGS := $(CKVECFLAGS) -funsafe-math-optimizations -ffp-contract=fast ++else ++CRVECFLAGS := $(CKVECFLAGS) ++endif ++endif ++ ++# Store all of the variables here to new variables containing the ++# configuration name. ++$(eval $(call store-make-defs,$(THIS_CONFIG))) +diff --git a/config/rv64i/bli_cntx_init_rv64i.c b/config/rv64i/bli_cntx_init_rv64i.c +new file mode 100644 +index 000000000..f670e4a57 +--- /dev/null ++++ b/config/rv64i/bli_cntx_init_rv64i.c +@@ -0,0 +1,44 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2014, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++*/ ++ ++#include "blis.h" ++ ++ ++void bli_cntx_init_rv64i( cntx_t* cntx ) ++{ ++ // Set default kernel blocksizes and functions. ++ bli_cntx_init_rv64i_ref( cntx ); ++ ++ // ------------------------------------------------------------------------- ++} +diff --git a/config/rv64i/bli_kernel_defs_rv64i.h b/config/rv64i/bli_kernel_defs_rv64i.h +new file mode 100644 +index 000000000..fe51f998d +--- /dev/null ++++ b/config/rv64i/bli_kernel_defs_rv64i.h +@@ -0,0 +1,43 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2022, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++*/ ++ ++//#ifndef BLIS_KERNEL_DEFS_H ++//#define BLIS_KERNEL_DEFS_H ++ ++ ++// -- REGISTER BLOCK SIZES (FOR REFERENCE KERNELS) ---------------------------- ++ ++// Fall through to generic sizes ++ ++//#endif +diff --git a/config/rv64i/make_defs.mk b/config/rv64i/make_defs.mk +new file mode 100644 +index 000000000..6c69dd84e +--- /dev/null ++++ b/config/rv64i/make_defs.mk +@@ -0,0 +1,92 @@ ++# ++# ++# BLIS ++# An object-based framework for developing high-performance BLAS-like ++# libraries. ++# ++# Copyright (C) 2014, The University of Texas at Austin ++# ++# Redistribution and use in source and binary forms, with or without ++# modification, are permitted provided that the following conditions are ++# met: ++# - Redistributions of source code must retain the above copyright ++# notice, this list of conditions and the following disclaimer. ++# - Redistributions in binary form must reproduce the above copyright ++# notice, this list of conditions and the following disclaimer in the ++# documentation and/or other materials provided with the distribution. ++# - Neither the name(s) of the copyright holder(s) nor the names of its ++# contributors may be used to endorse or promote products derived ++# from this software without specific prior written permission. ++# ++# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# ++# ++ ++ ++# Declare the name of the current configuration and add it to the ++# running list of configurations included by common.mk. ++THIS_CONFIG := rv64i ++#CONFIGS_INCL += $(THIS_CONFIG) ++ ++# ++# --- Determine the C compiler and related flags --- ++# ++ ++# NOTE: The build system will append these variables with various ++# general-purpose/configuration-agnostic flags in common.mk. You ++# may specify additional flags here as needed. ++CPPROCFLAGS := -DRISCV_SIZE=64 ++CMISCFLAGS := -march=$(shell $(CC) -E frame/base/bli_riscv_detect_arch.h | grep '^[^\#]') -mabi=lp64 ++CPICFLAGS := ++CWARNFLAGS := -Wall -Wno-unused-function -Wfatal-errors ++ ++# In case the A extension is not available ++LDFLAGS += -latomic ++ ++ifneq ($(DEBUG_TYPE),off) ++CDBGFLAGS := -g ++endif ++ ++ifeq ($(DEBUG_TYPE),noopt) ++COPTFLAGS := -O0 ++else ++COPTFLAGS := -O2 ++endif ++ ++# Flags specific to optimized kernels. ++CKOPTFLAGS := $(COPTFLAGS) -O3 ++ifeq ($(CC_VENDOR),gcc) ++CKVECFLAGS := ++else ++ifeq ($(CC_VENDOR),clang) ++CKVECFLAGS := ++else ++$(error gcc or clang is required for this configuration.) ++endif ++endif ++ ++# Flags specific to reference kernels. ++CROPTFLAGS := $(CKOPTFLAGS) ++ifeq ($(CC_VENDOR),gcc) ++CRVECFLAGS := $(CKVECFLAGS) -funsafe-math-optimizations -ffp-contract=fast ++else ++ifeq ($(CC_VENDOR),clang) ++CRVECFLAGS := $(CKVECFLAGS) -funsafe-math-optimizations -ffp-contract=fast ++else ++CRVECFLAGS := $(CKVECFLAGS) ++endif ++endif ++ ++# Store all of the variables here to new variables containing the ++# configuration name. ++$(eval $(call store-make-defs,$(THIS_CONFIG))) +diff --git a/config/rv64iv/bli_cntx_init_rv64iv.c b/config/rv64iv/bli_cntx_init_rv64iv.c +new file mode 100644 +index 000000000..eb1f79ebc +--- /dev/null ++++ b/config/rv64iv/bli_cntx_init_rv64iv.c +@@ -0,0 +1,114 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2014, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++*/ ++ ++#include "../../kernels/rviv/3/bli_rviv_utils.h" ++ ++void bli_cntx_init_rv64iv( cntx_t* cntx ) ++{ ++ blksz_t blkszs[ BLIS_NUM_BLKSZS ]; ++ ++ // Set default kernel blocksizes and functions. ++ bli_cntx_init_rv64iv_ref( cntx ); ++ ++ // ------------------------------------------------------------------------- ++ ++ // A reasonable assumptions for application cores is VLEN >= 128 bits, i.e., ++ // v >= 4. Embedded cores, however, may implement the minimal configuration, ++ // which allows VLEN = 32 bits. Here, we assume VLEN >= 128 and otherwise ++ // fall back to the reference kernels. ++ const uint32_t v = get_vlenb() / sizeof(float); ++ ++ if ( v >= 4 ) ++ { ++ const uint32_t mr_s = 4 * v; ++ const uint32_t mr_d = 2 * v; ++ const uint32_t mr_c = 2 * v; ++ const uint32_t mr_z = v; ++ ++ // TODO: Register different kernels based on the value ++ // of v to avoid MC becoming too big. (e.g. 2vx8) ++ ++ // Update the context with optimized native gemm micro-kernels. ++ bli_cntx_set_ukrs ++ ( ++ cntx, ++ ++ // level-3 ++ BLIS_GEMM_UKR, BLIS_FLOAT, bli_sgemm_rviv_4vx4, ++ BLIS_GEMM_UKR, BLIS_DOUBLE, bli_dgemm_rviv_4vx4, ++ BLIS_GEMM_UKR, BLIS_SCOMPLEX, bli_cgemm_rviv_4vx4, ++ BLIS_GEMM_UKR, BLIS_DCOMPLEX, bli_zgemm_rviv_4vx4, ++ ++ BLIS_VA_END ++ ); ++ ++ // Update the context with storage preferences. ++ bli_cntx_set_ukr_prefs ++ ( ++ cntx, ++ ++ // level-3 ++ BLIS_GEMM_UKR_ROW_PREF, BLIS_FLOAT, FALSE, ++ BLIS_GEMM_UKR_ROW_PREF, BLIS_DOUBLE, FALSE, ++ BLIS_GEMM_UKR_ROW_PREF, BLIS_SCOMPLEX, FALSE, ++ BLIS_GEMM_UKR_ROW_PREF, BLIS_DCOMPLEX, FALSE, ++ ++ BLIS_VA_END ++ ); ++ ++ // Initialize level-3 blocksize objects with architecture-specific values. ++ // s d c z ++ bli_blksz_init_easy( &blkszs[ BLIS_MR ], mr_s, mr_d, mr_c, mr_z ); ++ bli_blksz_init_easy( &blkszs[ BLIS_NR ], 4, 4, 4, 4 ); ++ bli_blksz_init_easy( &blkszs[ BLIS_MC ], 20*mr_s, 20*mr_d, 60*mr_c, 30*mr_z ); ++ bli_blksz_init_easy( &blkszs[ BLIS_KC ], 640, 320, 320, 160 ); ++ bli_blksz_init_easy( &blkszs[ BLIS_NC ], 3072, 3072, 3072, 3072 ); ++ ++ // Update the context with the current architecture's register and cache ++ // blocksizes (and multiples) for native execution. ++ bli_cntx_set_blkszs ++ ( ++ cntx, ++ ++ // level-3 ++ BLIS_NC, &blkszs[ BLIS_NC ], BLIS_NR, ++ BLIS_KC, &blkszs[ BLIS_KC ], BLIS_KR, ++ BLIS_MC, &blkszs[ BLIS_MC ], BLIS_MR, ++ BLIS_NR, &blkszs[ BLIS_NR ], BLIS_NR, ++ BLIS_MR, &blkszs[ BLIS_MR ], BLIS_MR, ++ ++ BLIS_VA_END ++ ); ++ } ++} +diff --git a/config/rv64iv/bli_kernel_defs_rv64iv.h b/config/rv64iv/bli_kernel_defs_rv64iv.h +new file mode 100644 +index 000000000..18ca4030e +--- /dev/null ++++ b/config/rv64iv/bli_kernel_defs_rv64iv.h +@@ -0,0 +1,42 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2022, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++*/ ++ ++//#ifndef BLIS_KERNEL_DEFS_H ++//#define BLIS_KERNEL_DEFS_H ++ ++ ++// -- REGISTER BLOCK SIZES (FOR REFERENCE KERNELS) ---------------------------- ++ ++ ++//#endif +diff --git a/config/rv64iv/make_defs.mk b/config/rv64iv/make_defs.mk +new file mode 100644 +index 000000000..06545d461 +--- /dev/null ++++ b/config/rv64iv/make_defs.mk +@@ -0,0 +1,93 @@ ++# ++# ++# BLIS ++# An object-based framework for developing high-performance BLAS-like ++# libraries. ++# ++# Copyright (C) 2014, The University of Texas at Austin ++# ++# Redistribution and use in source and binary forms, with or without ++# modification, are permitted provided that the following conditions are ++# met: ++# - Redistributions of source code must retain the above copyright ++# notice, this list of conditions and the following disclaimer. ++# - Redistributions in binary form must reproduce the above copyright ++# notice, this list of conditions and the following disclaimer in the ++# documentation and/or other materials provided with the distribution. ++# - Neither the name(s) of the copyright holder(s) nor the names of its ++# contributors may be used to endorse or promote products derived ++# from this software without specific prior written permission. ++# ++# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# ++# ++ ++ ++# Declare the name of the current configuration and add it to the ++# running list of configurations included by common.mk. ++THIS_CONFIG := rv64iv ++#CONFIGS_INCL += $(THIS_CONFIG) ++ ++# ++# --- Determine the C compiler and related flags --- ++# ++ ++# NOTE: The build system will append these variables with various ++# general-purpose/configuration-agnostic flags in common.mk. You ++# may specify additional flags here as needed. ++CPPROCFLAGS := -DRISCV_SIZE=64 ++CMISCFLAGS := -march=$(shell $(CC) -DFORCE_RISCV_VECTOR -E frame/base/bli_riscv_detect_arch.h | grep '^[^\#]') -mabi=lp64d ++CPICFLAGS := ++CWARNFLAGS := -Wall -Wno-unused-function -Wfatal-errors ++ ++# In case the A extension is not available ++LDFLAGS += -latomic ++ ++ifneq ($(DEBUG_TYPE),off) ++CDBGFLAGS := -g ++endif ++ ++ifeq ($(DEBUG_TYPE),noopt) ++COPTFLAGS := -O0 ++else ++COPTFLAGS := -O2 -ftree-vectorize ++endif ++ ++# Flags specific to optimized kernels. ++CKOPTFLAGS := $(COPTFLAGS) -O3 ++ifeq ($(CC_VENDOR),gcc) ++CKVECFLAGS := ++else ++ifeq ($(CC_VENDOR),clang) ++CKVECFLAGS := ++else ++$(error gcc or clang is required for this configuration.) ++endif ++endif ++ ++# Flags specific to reference kernels. ++CROPTFLAGS := $(CKOPTFLAGS) ++ifeq ($(CC_VENDOR),gcc) ++# Lower compiler optimization. cinvscalv fails at -O1 ++CRVECFLAGS := $(CKVECFLAGS) -O0 ++else ++ifeq ($(CC_VENDOR),clang) ++CRVECFLAGS := $(CKVECFLAGS) -funsafe-math-optimizations -ffp-contract=fast ++else ++CRVECFLAGS := $(CKVECFLAGS) ++endif ++endif ++ ++# Store all of the variables here to new variables containing the ++# configuration name. ++$(eval $(call store-make-defs,$(THIS_CONFIG))) +diff --git a/config_registry b/config_registry +index f25d66e7f..2138ba515 100644 +--- a/config_registry ++++ b/config_registry +@@ -46,5 +46,11 @@ + power9: power9 + bgq: bgq + ++# RISC-V architectures. ++rv32i: rv32i/rvi ++rv64i: rv64i/rvi ++rv32iv: rv32iv/rviv ++rv64iv: rv64iv/rviv ++ + # Generic architectures. + generic: generic +diff --git a/configure b/configure +index a953c25c5..9a8dc8b7f 100755 +--- a/configure ++++ b/configure +@@ -1230,14 +1230,25 @@ auto_detect() + # NOTE: -D_GNU_SOURCE is needed to enable POSIX extensions to + # pthreads (i.e., barriers). + +- cmd="${cc} ${config_defines} \ ++ cmd="${cc} \ + -DBLIS_CONFIGURETIME_CPUID \ + ${c_hdr_paths} \ + -std=c99 -D_GNU_SOURCE \ +- ${cflags} \ +- ${c_src_filepaths} \ +- ${ldflags} \ +- -o ${autodetect_x}" ++ ${cflags}" ++ ++ # Special case for RISC-V, whose architecture can be detected with ++ # preprocessor macros alone. This avoids having to run RISC-V binaries ++ # on a cross-compiler host. Returns "generic" if RISC-V not detected. ++ riscv_config=$(${cmd} -E "${dist_path}/frame/base/bli_riscv_cpuid.h" | ++ grep '^[^#]') ++ if [[ $riscv_config != *generic* ]]; then ++ echo "${riscv_config}" ++ return ++ fi ++ ++ # Finish command for building executable ++ cmd="${cmd} ${config_defines} ${c_src_filepaths} ${ldflags} \ ++ -o ${autodetect_x}" + + if [ "${debug_auto_detect}" == "no" ]; then + +diff --git a/frame/base/bli_arch.c b/frame/base/bli_arch.c +index b697e35f9..5fef62ce1 100644 +--- a/frame/base/bli_arch.c ++++ b/frame/base/bli_arch.c +@@ -233,6 +233,20 @@ + id = BLIS_ARCH_BGQ; + #endif + ++ // RISC-V microarchitectures ++ #ifdef BLIS_FAMILY_RV32I ++ id = BLIS_ARCH_RV32I; ++ #endif ++ #ifdef BLIS_FAMILY_RV64I ++ id = BLIS_ARCH_RV64I; ++ #endif ++ #ifdef BLIS_FAMILY_RV32IV ++ id = BLIS_ARCH_RV32IV; ++ #endif ++ #ifdef BLIS_FAMILY_RV64IV ++ id = BLIS_ARCH_RV64IV; ++ #endif ++ + // Generic microarchitecture. + #ifdef BLIS_FAMILY_GENERIC + id = BLIS_ARCH_GENERIC; +@@ -283,6 +297,11 @@ + "power9", + "power7", + "bgq", ++ ++ "rv32i", ++ "rv64i", ++ "rv32iv", ++ "rv64iv", + + "generic" + }; +diff --git a/frame/base/bli_gks.c b/frame/base/bli_gks.c +index df0abc8ed..c1fd4c866 100644 +--- a/frame/base/bli_gks.c ++++ b/frame/base/bli_gks.c +@@ -202,6 +202,32 @@ + bli_cntx_init_bgq_ind ); + #endif + ++ // -- RISC-V architectures -------------------------------------------- ++ ++#ifdef BLIS_CONFIG_RV32I ++ bli_gks_register_cntx( BLIS_ARCH_RV32I, bli_cntx_init_rv32i, ++ bli_cntx_init_rv32i_ref, ++ bli_cntx_init_rv32i_ind ); ++#endif ++ ++#ifdef BLIS_CONFIG_RV64I ++ bli_gks_register_cntx( BLIS_ARCH_RV64I, bli_cntx_init_rv64i, ++ bli_cntx_init_rv64i_ref, ++ bli_cntx_init_rv64i_ind ); ++#endif ++ ++#ifdef BLIS_CONFIG_RV32IV ++ bli_gks_register_cntx( BLIS_ARCH_RV32IV, bli_cntx_init_rv32iv, ++ bli_cntx_init_rv32iv_ref, ++ bli_cntx_init_rv32iv_ind ); ++#endif ++ ++#ifdef BLIS_CONFIG_RV64IV ++ bli_gks_register_cntx( BLIS_ARCH_RV64IV, bli_cntx_init_rv64iv, ++ bli_cntx_init_rv64iv_ref, ++ bli_cntx_init_rv64iv_ind ); ++#endif ++ + // Generic architectures + #ifdef BLIS_CONFIG_GENERIC + bli_gks_register_cntx( BLIS_ARCH_GENERIC, bli_cntx_init_generic, +diff --git a/frame/base/bli_riscv_cpuid.h b/frame/base/bli_riscv_cpuid.h +new file mode 100644 +index 000000000..4f0c25a33 +--- /dev/null ++++ b/frame/base/bli_riscv_cpuid.h +@@ -0,0 +1,67 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++ ++*/ ++ ++/* RISC-V autodetection code which works with native or cross-compilers. ++ Compile with $CC -E and ignore all output lines starting with #. On RISC-V ++ it may return rv32i (base 32-bit integer RISC-V), rv32iv (rv32i plus vector ++ extensions), rv64i (base 64-bit integer RISC-V), or rv64iv (rv64i plus ++ vector extensions). On 128-bit integer RISC-V, it falls back to generic ++ for now. For toolchains which do not yet support RISC-V feature-detection ++ macros, it will fall back on generic, so the BLIS configure script may need ++ the RISC-V configuration to be explicitly specified. */ ++ ++// false if !defined(__riscv) || !defined(__riscv_xlen) ++#if __riscv && __riscv_xlen == 64 ++ ++#if __riscv_vector // false if !defined(__riscv_vector) ++rv64iv ++#else ++rv64i ++#endif ++ ++// false if !defined(__riscv) || !defined(__riscv_xlen) || __riscv_e32 != 0 ++#elif __riscv && __riscv_xlen == 32 && !__riscv_e32 ++ ++#if __riscv_vector // false if !defined(__riscv_vector) ++rv32iv ++#else ++rv32i ++#endif ++ ++#else ++ ++generic // fall back on BLIS runtime CPUID autodetection algorithm ++ ++#endif +diff --git a/frame/base/bli_riscv_detect_arch.h b/frame/base/bli_riscv_detect_arch.h +new file mode 100644 +index 000000000..448b0f39d +--- /dev/null ++++ b/frame/base/bli_riscv_detect_arch.h +@@ -0,0 +1,155 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++ ++*/ ++ ++/* Construct a RISC-V architecture string based on available features. */ ++ ++#if __riscv ++ ++#if __riscv_arch_test ++ ++#if __riscv_i ++#define RISCV_I i ++#else ++#define RISCV_I ++#endif ++ ++#if __riscv_e ++#define RISCV_E e ++#else ++#define RISCV_E ++#endif ++ ++#if __riscv_m ++#define RISCV_M m ++#else ++#define RISCV_M ++#endif ++ ++#if __riscv_a ++#define RISCV_A a ++#else ++#define RISCV_A ++#endif ++ ++#if __riscv_f ++#define RISCV_F f ++#else ++#define RISCV_F ++#endif ++ ++#if __riscv_d ++#define RISCV_D d ++#else ++#define RISCV_D ++#endif ++ ++#if __riscv_c ++#define RISCV_C c ++#else ++#define RISCV_C ++#endif ++ ++#if __riscv_p ++#define RISCV_P p ++#else ++#define RISCV_P ++#endif ++ ++/* FORCE_RISCV_VECTOR is a Clang workaround */ ++#if __riscv_v || FORCE_RISCV_VECTOR ++#define RISCV_V v ++#else ++#define RISCV_V ++#endif ++ ++#else /* __riscv_arch_test */ ++ ++/* We assume I and E are exclusive when __riscv_arch_test isn't defined */ ++#if __riscv_32e ++#define RISCV_I ++#define RISCV_E e ++#else ++#define RISCV_I i ++#define RISCV_E ++#endif ++ ++#if __riscv_mul ++#define RISCV_M m ++#else ++#define RISCV_M ++#endif ++ ++#if __riscv_atomic ++#define RISCV_A a ++#else ++#define RISCV_A ++#endif ++ ++#if __riscv_flen >= 32 ++#define RISCV_F f ++#else ++#define RISCV_F ++#endif ++ ++#if __riscv_flen >= 64 ++#define RISCV_D d ++#else ++#define RISCV_D ++#endif ++ ++#if __riscv_compressed ++#define RISCV_C c ++#else ++#define RISCV_C ++#endif ++ ++#define RISCV_P ++ ++/* FORCE_RISCV_VECTOR is a Clang workaround */ ++#if __riscv_vector || FORCE_RISCV_VECTOR ++#define RISCV_V v ++#else ++#define RISCV_V ++#endif ++ ++#endif /* __riscv_arch_test */ ++ ++#define CAT2(a,b) a##b ++#define CAT(a,b) CAT2(a,b) ++ ++CAT(rv, CAT(__riscv_xlen, CAT(RISCV_I, CAT(RISCV_E, CAT(RISCV_M, CAT(RISCV_A, ++CAT(RISCV_F, CAT(RISCV_D, CAT(RISCV_C, CAT(RISCV_P, RISCV_V)))))))))) ++ ++#endif /* __riscv */ +diff --git a/frame/include/bli_arch_config.h b/frame/include/bli_arch_config.h +index 0485295df..c80e8e922 100644 +--- a/frame/include/bli_arch_config.h ++++ b/frame/include/bli_arch_config.h +@@ -131,6 +131,22 @@ CNTX_INIT_PROTS( power7 ) + CNTX_INIT_PROTS( bgq ) + #endif + ++// -- RISC-V -- ++ ++#ifdef BLIS_CONFIG_RV32I ++CNTX_INIT_PROTS( rv32i ) ++#endif ++#ifdef BLIS_CONFIG_RV64I ++CNTX_INIT_PROTS( rv64i ) ++#endif ++#ifdef BLIS_CONFIG_RV32IV ++CNTX_INIT_PROTS( rv32iv ) ++#endif ++#ifdef BLIS_CONFIG_RV64IV ++CNTX_INIT_PROTS( rv64iv ) ++#endif ++ ++ + // -- Generic -- + + #ifdef BLIS_CONFIG_GENERIC +@@ -343,6 +359,12 @@ CNTX_INIT_PROTS( generic ) + #endif + + ++#ifdef BLIS_KERNELS_RVI ++#include "bli_kernels_rvi.h" ++#endif ++#ifdef BLIS_KERNELS_RVIV ++#include "bli_kernels_rviv.h" ++#endif + + #endif + +diff --git a/frame/include/bli_misc_macro_defs.h b/frame/include/bli_misc_macro_defs.h +index 903b4ece6..31e0150f6 100644 +--- a/frame/include/bli_misc_macro_defs.h ++++ b/frame/include/bli_misc_macro_defs.h +@@ -170,5 +170,7 @@ BLIS_INLINE void bli_toggle_bool( bool* b ) + #define BLIS_VA_END (-1) + + +-#endif ++// Static assertion compatible with any version of C/C++ ++#define bli_static_assert(cond) while(0){struct s {int STATIC_ASSERT_FAILED : !!(cond);};} + ++#endif +diff --git a/frame/include/bli_type_defs.h b/frame/include/bli_type_defs.h +index cb933bfa4..b246fda05 100644 +--- a/frame/include/bli_type_defs.h ++++ b/frame/include/bli_type_defs.h +@@ -965,6 +965,12 @@ typedef enum + BLIS_ARCH_POWER7, + BLIS_ARCH_BGQ, + ++ // RISC-V ++ BLIS_ARCH_RV32I, ++ BLIS_ARCH_RV64I, ++ BLIS_ARCH_RV32IV, ++ BLIS_ARCH_RV64IV, ++ + // Generic architecture/configuration + BLIS_ARCH_GENERIC, + +diff --git a/kernels/rvi/bli_kernels_rvi.h b/kernels/rvi/bli_kernels_rvi.h +new file mode 100644 +index 000000000..d06afae62 +--- /dev/null ++++ b/kernels/rvi/bli_kernels_rvi.h +@@ -0,0 +1,33 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++*/ +diff --git a/kernels/rviv/3/bli_cgemm_rviv_4vx4.c b/kernels/rviv/3/bli_cgemm_rviv_4vx4.c +new file mode 100644 +index 000000000..9ef333a78 +--- /dev/null ++++ b/kernels/rviv/3/bli_cgemm_rviv_4vx4.c +@@ -0,0 +1,79 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++*/ ++ ++#include "bli_rviv_utils.h" ++ ++void bli_cgemm_rviv_asm_4vx4 ++ ( ++ intptr_t k, ++ const void* alpha, ++ const void* a, ++ const void* b, ++ const void* beta, ++ void* c, intptr_t rs_c, intptr_t cs_c ++ ); ++ ++void bli_cgemm_rviv_4vx4 ++ ( ++ dim_t m, ++ dim_t n, ++ dim_t k, ++ const void* alpha, ++ const void* a, ++ const void* b, ++ const void* beta, ++ void* c, inc_t rs_c, inc_t cs_c, ++ auxinfo_t* data, ++ const cntx_t* cntx ++ ) ++{ ++ // The assembly kernels always take native machine-sized integer arguments. ++ // dim_t and inc_t are normally defined as being machine-sized. If larger, assert. ++ bli_static_assert( sizeof(dim_t) <= sizeof(intptr_t) && ++ sizeof(inc_t) <= sizeof(intptr_t) ); ++ ++ // Extract vector-length dependent mr, nr that are fixed at configure time. ++ const inc_t mr = bli_cntx_get_blksz_def_dt( BLIS_SCOMPLEX, BLIS_MR, cntx ); ++ const inc_t nr = 4; ++ ++ GEMM_UKR_SETUP_CT( c, mr, nr, false ); ++ ++ // The kernel assumes rs_c == 1, and the context should not deviate from it. ++ assert( rs_c == 1 ); ++ ++ bli_cgemm_rviv_asm_4vx4( k, alpha, a, b, beta, c, ++ get_vlenb() * 2, cs_c * sizeof(scomplex) ); ++ ++ GEMM_UKR_FLUSH_CT( c ); ++} +diff --git a/kernels/rviv/3/bli_cgemm_rviv_asm_4vx4.S b/kernels/rviv/3/bli_cgemm_rviv_asm_4vx4.S +new file mode 100644 +index 000000000..98c73d23d +--- /dev/null ++++ b/kernels/rviv/3/bli_cgemm_rviv_asm_4vx4.S +@@ -0,0 +1,45 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++ ++*/ ++ ++#define REALNAME bli_cgemm_rviv_asm_4vx4 ++#define DATASIZE 8 ++#define VTYPE e32 ++#define FLOAD flw ++#define FZERO(fr) fcvt.s.w fr, x0 ++#define FEQ feq.s ++#define VLE vlseg2e32.v ++#define VSE vsseg2e32.v ++ ++#include "bli_czgemm_rviv_asm_4vx4.h" +diff --git a/kernels/rviv/3/bli_czgemm_rviv_asm_4vx4.h b/kernels/rviv/3/bli_czgemm_rviv_asm_4vx4.h +new file mode 100644 +index 000000000..8f7727c8d +--- /dev/null ++++ b/kernels/rviv/3/bli_czgemm_rviv_asm_4vx4.h +@@ -0,0 +1,801 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++ ++*/ ++ ++ .text ++ .align 2 ++ .global REALNAME ++ ++// void REALNAME(intptr_t k, void* alpha, void* a, void* b, ++// void* beta, void* c, intptr_t rs_c, intptr_t cs_c) ++// ++// register arguments: ++// a0 k ++// a1 alpha ++// a2 a ++// a3 b ++// a4 beta ++// a5 c ++// a6 rs_c ++// a7 cs_c ++// ++ ++#define REALSIZE (DATASIZE/2) ++ ++#define loop_counter a0 ++ ++#define A00_ptr a2 ++#define A10_ptr t0 ++#define A01_ptr t1 ++#define A11_ptr t2 ++ ++#define B_row_ptr a3 ++ ++#define C00_ptr a5 ++#define C01_ptr t3 ++#define C02_ptr t4 ++#define C03_ptr t5 ++#define C10_ptr s1 ++#define C11_ptr s2 ++#define C12_ptr s3 ++#define C13_ptr s4 ++ ++#define tmp t6 ++ ++#define ALPHA_re fa0 ++#define ALPHA_im fa1 ++#define BETA_re fa2 ++#define BETA_im fa3 ++ ++#define B00_re fa4 ++#define B00_im fa5 ++#define B01_re fa6 ++#define B01_im fa7 ++#define B02_re fa0 ++#define B02_im fa1 ++#define B03_re fa2 ++#define B03_im fa3 ++ ++#define B10_re ft0 ++#define B10_im ft1 ++#define B11_re ft2 ++#define B11_im ft3 ++#define B12_re ft4 ++#define B12_im ft5 ++#define B13_re ft6 ++#define B13_im ft7 ++ ++#define fzero ft8 ++ ++#define A00_re v24 ++#define A00_im v25 ++#define A10_re v26 ++#define A10_im v27 ++#define A01_re v28 ++#define A01_im v29 ++#define A11_re v30 ++#define A11_im v31 ++ ++#define C0_re v24 ++#define C0_im v25 ++#define C1_re v26 ++#define C1_im v27 ++#define C2_re v28 ++#define C2_im v29 ++#define C3_re v30 ++#define C3_im v31 ++ ++#define AB00_re v0 ++#define AB00_im v1 ++#define AB01_re v2 ++#define AB01_im v3 ++#define AB02_re v4 ++#define AB02_im v5 ++#define AB03_re v6 ++#define AB03_im v7 ++#define AB10_re v8 ++#define AB10_im v9 ++#define AB11_re v10 ++#define AB11_im v11 ++#define AB12_re v12 ++#define AB12_im v13 ++#define AB13_re v14 ++#define AB13_im v15 ++ ++#define tmp0_re v16 ++#define tmp0_im v17 ++#define tmp1_re v18 ++#define tmp1_im v19 ++#define tmp2_re v20 ++#define tmp2_im v21 ++#define tmp3_re v22 ++#define tmp3_im v23 ++ ++#define rs_c a6 ++#define cs_c a7 ++ ++REALNAME: ++ #include "rviv_save_registers.h" ++ ++ vsetvli s0, zero, VTYPE, m1, ta, ma ++ csrr s0, vlenb ++ slli s0, s0, 1 ++ FZERO(fzero) ++ ++ // Set up pointers ++ add C01_ptr, C00_ptr, cs_c ++ add C02_ptr, C01_ptr, cs_c ++ add C03_ptr, C02_ptr, cs_c ++ add C10_ptr, C00_ptr, rs_c ++ add C11_ptr, C01_ptr, rs_c ++ add C12_ptr, C02_ptr, rs_c ++ add C13_ptr, C03_ptr, rs_c ++ ++ // Zero-initialize accumulators ++ vxor.vv AB00_re, AB00_re, AB00_re ++ vxor.vv AB00_im, AB00_im, AB00_im ++ vxor.vv AB01_re, AB01_re, AB01_re ++ vxor.vv AB01_im, AB01_im, AB01_im ++ vxor.vv AB02_re, AB02_re, AB02_re ++ vxor.vv AB02_im, AB02_im, AB02_im ++ vxor.vv AB03_re, AB03_re, AB03_re ++ vxor.vv AB03_im, AB03_im, AB03_im ++ vxor.vv AB10_re, AB10_re, AB10_re ++ vxor.vv AB10_im, AB10_im, AB10_im ++ vxor.vv AB11_re, AB11_re, AB11_re ++ vxor.vv AB11_im, AB11_im, AB11_im ++ vxor.vv AB12_re, AB12_re, AB12_re ++ vxor.vv AB12_im, AB12_im, AB12_im ++ vxor.vv AB13_re, AB13_re, AB13_re ++ vxor.vv AB13_im, AB13_im, AB13_im ++ ++ // Handle k == 0 ++ beqz loop_counter, MULTIPLYBETA ++ ++ add A10_ptr, A00_ptr, s0 ++ slli s0, s0, 1 // length of a column of A in bytes ++ add A01_ptr, A00_ptr, s0 ++ add A11_ptr, A10_ptr, s0 ++ ++ li tmp, 3 ++ ble loop_counter, tmp, TAIL_UNROLL_2 ++ ++ // Preload A and B ++ // Load and deinterleave A(:,l) ++ VLE A00_re, (A00_ptr) ++ VLE A10_re, (A10_ptr) ++ ++ // Load B(l,0:3) ++ FLOAD B00_re, 0*REALSIZE(B_row_ptr) ++ FLOAD B00_im, 1*REALSIZE(B_row_ptr) ++ FLOAD B01_re, 2*REALSIZE(B_row_ptr) ++ FLOAD B01_im, 3*REALSIZE(B_row_ptr) ++ FLOAD B02_re, 4*REALSIZE(B_row_ptr) ++ FLOAD B02_im, 5*REALSIZE(B_row_ptr) ++ FLOAD B03_re, 6*REALSIZE(B_row_ptr) ++ FLOAD B03_im, 7*REALSIZE(B_row_ptr) ++ ++ // Load and deinterleave A(:,l+1) ++ VLE A01_re, (A01_ptr) ++ VLE A11_re, (A11_ptr) ++ ++LOOP_UNROLL_4: // loop_counter >= 4 ++ addi loop_counter, loop_counter, -4 ++ ++ vfmacc.vf AB00_re, B00_re, A00_re // AB(:,0) += A(:,l) * B(l,0) ++ vfnmsac.vf AB00_re, B00_im, A00_im ++ vfmacc.vf AB00_im, B00_re, A00_im ++ vfmacc.vf AB00_im, B00_im, A00_re ++ vfmacc.vf AB10_re, B00_re, A10_re ++ vfnmsac.vf AB10_re, B00_im, A10_im ++ vfmacc.vf AB10_im, B00_re, A10_im ++ vfmacc.vf AB10_im, B00_im, A10_re ++ ++ vfmacc.vf AB01_re, B01_re, A00_re // AB(:,1) += A(:,l) * B(l,1) ++ vfnmsac.vf AB01_re, B01_im, A00_im ++ vfmacc.vf AB01_im, B01_re, A00_im ++ vfmacc.vf AB01_im, B01_im, A00_re ++ vfmacc.vf AB11_re, B01_re, A10_re ++ vfnmsac.vf AB11_re, B01_im, A10_im ++ vfmacc.vf AB11_im, B01_re, A10_im ++ vfmacc.vf AB11_im, B01_im, A10_re ++ ++ // Point to A(:,l+2), A(:,l+3) ++ add A00_ptr, A01_ptr, s0 ++ add A10_ptr, A11_ptr, s0 ++ add A01_ptr, A00_ptr, s0 ++ add A11_ptr, A10_ptr, s0 ++ ++ // Load B(l+1,0:3) ++ FLOAD B10_re, 8*REALSIZE(B_row_ptr) ++ FLOAD B10_im, 9*REALSIZE(B_row_ptr) ++ FLOAD B11_re, 10*REALSIZE(B_row_ptr) ++ FLOAD B11_im, 11*REALSIZE(B_row_ptr) ++ FLOAD B12_re, 12*REALSIZE(B_row_ptr) ++ FLOAD B12_im, 13*REALSIZE(B_row_ptr) ++ FLOAD B13_re, 14*REALSIZE(B_row_ptr) ++ FLOAD B13_im, 15*REALSIZE(B_row_ptr) ++ addi B_row_ptr, B_row_ptr, 16*REALSIZE ++ ++ vfmacc.vf AB00_re, B10_re, A01_re // AB(:,0) += A(:,l+1) * B(l+1,0) ++ vfnmsac.vf AB00_re, B10_im, A01_im ++ vfmacc.vf AB00_im, B10_re, A01_im ++ vfmacc.vf AB00_im, B10_im, A01_re ++ vfmacc.vf AB10_re, B10_re, A11_re ++ vfnmsac.vf AB10_re, B10_im, A11_im ++ vfmacc.vf AB10_im, B10_re, A11_im ++ vfmacc.vf AB10_im, B10_im, A11_re ++ ++ vfmacc.vf AB02_re, B02_re, A00_re // AB(:,2) += A(:,l) * B(l,2) ++ vfnmsac.vf AB02_re, B02_im, A00_im ++ vfmacc.vf AB02_im, B02_re, A00_im ++ vfmacc.vf AB02_im, B02_im, A00_re ++ vfmacc.vf AB12_re, B02_re, A10_re ++ vfnmsac.vf AB12_re, B02_im, A10_im ++ vfmacc.vf AB12_im, B02_re, A10_im ++ vfmacc.vf AB12_im, B02_im, A10_re ++ ++ vfmacc.vf AB03_re, B03_re, A00_re // AB(:,3) += A(:,l) * B(l,3) ++ vfnmsac.vf AB03_re, B03_im, A00_im ++ vfmacc.vf AB03_im, B03_re, A00_im ++ vfmacc.vf AB03_im, B03_im, A00_re ++ vfmacc.vf AB13_re, B03_re, A10_re ++ vfnmsac.vf AB13_re, B03_im, A10_im ++ vfmacc.vf AB13_im, B03_re, A10_im ++ vfmacc.vf AB13_im, B03_im, A10_re ++ ++ // Load and deinterleave A(:,l+2) ++ VLE A00_re, (A00_ptr) ++ VLE A10_re, (A10_ptr) ++ ++ // Load B(l+2, 0:3) ++ FLOAD B00_re, 0*REALSIZE(B_row_ptr) ++ FLOAD B00_im, 1*REALSIZE(B_row_ptr) ++ FLOAD B01_re, 2*REALSIZE(B_row_ptr) ++ FLOAD B01_im, 3*REALSIZE(B_row_ptr) ++ FLOAD B02_re, 4*REALSIZE(B_row_ptr) ++ FLOAD B02_im, 5*REALSIZE(B_row_ptr) ++ FLOAD B03_re, 6*REALSIZE(B_row_ptr) ++ FLOAD B03_im, 7*REALSIZE(B_row_ptr) ++ ++ vfmacc.vf AB01_re, B11_re, A01_re // AB(:,1) += A(:,l+1) * B(l+1,1) ++ vfnmsac.vf AB01_re, B11_im, A01_im ++ vfmacc.vf AB01_im, B11_re, A01_im ++ vfmacc.vf AB01_im, B11_im, A01_re ++ vfmacc.vf AB11_re, B11_re, A11_re ++ vfnmsac.vf AB11_re, B11_im, A11_im ++ vfmacc.vf AB11_im, B11_re, A11_im ++ vfmacc.vf AB11_im, B11_im, A11_re ++ ++ vfmacc.vf AB02_re, B12_re, A01_re // AB(:,2) += A(:,l+1) * B(l+1,2) ++ vfnmsac.vf AB02_re, B12_im, A01_im ++ vfmacc.vf AB02_im, B12_re, A01_im ++ vfmacc.vf AB02_im, B12_im, A01_re ++ vfmacc.vf AB12_re, B12_re, A11_re ++ vfnmsac.vf AB12_re, B12_im, A11_im ++ vfmacc.vf AB12_im, B12_re, A11_im ++ vfmacc.vf AB12_im, B12_im, A11_re ++ ++ vfmacc.vf AB03_re, B13_re, A01_re // AB(:,3) += A(:,l+1) * B(l+1,3) ++ vfnmsac.vf AB03_re, B13_im, A01_im ++ vfmacc.vf AB03_im, B13_re, A01_im ++ vfmacc.vf AB03_im, B13_im, A01_re ++ vfmacc.vf AB13_re, B13_re, A11_re ++ vfnmsac.vf AB13_re, B13_im, A11_im ++ vfmacc.vf AB13_im, B13_re, A11_im ++ vfmacc.vf AB13_im, B13_im, A11_re ++ ++ // Load and deinterleave A(:,l+3) ++ VLE A01_re, (A01_ptr) ++ VLE A11_re, (A11_ptr) ++ ++ // Point to A(:,l+2), A(:,l+3) ++ add A00_ptr, A01_ptr, s0 ++ add A10_ptr, A11_ptr, s0 ++ add A01_ptr, A00_ptr, s0 ++ add A11_ptr, A10_ptr, s0 ++ ++ // Load B(l+3, 0:3) ++ FLOAD B10_re, 8*REALSIZE(B_row_ptr) ++ FLOAD B10_im, 9*REALSIZE(B_row_ptr) ++ FLOAD B11_re, 10*REALSIZE(B_row_ptr) ++ FLOAD B11_im, 11*REALSIZE(B_row_ptr) ++ FLOAD B12_re, 12*REALSIZE(B_row_ptr) ++ FLOAD B12_im, 13*REALSIZE(B_row_ptr) ++ FLOAD B13_re, 14*REALSIZE(B_row_ptr) ++ FLOAD B13_im, 15*REALSIZE(B_row_ptr) ++ addi B_row_ptr, B_row_ptr, 16*REALSIZE ++ ++ vfmacc.vf AB00_re, B00_re, A00_re // AB(:,0) += A(:,l+2) * B(l+2,0) ++ vfnmsac.vf AB00_re, B00_im, A00_im ++ vfmacc.vf AB00_im, B00_re, A00_im ++ vfmacc.vf AB00_im, B00_im, A00_re ++ vfmacc.vf AB10_re, B00_re, A10_re ++ vfnmsac.vf AB10_re, B00_im, A10_im ++ vfmacc.vf AB10_im, B00_re, A10_im ++ vfmacc.vf AB10_im, B00_im, A10_re ++ ++ vfmacc.vf AB00_re, B10_re, A01_re // AB(:,0) += A(:,l+3) * B(l+3,0) ++ vfnmsac.vf AB00_re, B10_im, A01_im ++ vfmacc.vf AB00_im, B10_re, A01_im ++ vfmacc.vf AB00_im, B10_im, A01_re ++ vfmacc.vf AB10_re, B10_re, A11_re ++ vfnmsac.vf AB10_re, B10_im, A11_im ++ vfmacc.vf AB10_im, B10_re, A11_im ++ vfmacc.vf AB10_im, B10_im, A11_re ++ ++ vfmacc.vf AB01_re, B01_re, A00_re // AB(:,1) += A(:,l+2) * B(l+2,1) ++ vfnmsac.vf AB01_re, B01_im, A00_im ++ vfmacc.vf AB01_im, B01_re, A00_im ++ vfmacc.vf AB01_im, B01_im, A00_re ++ vfmacc.vf AB11_re, B01_re, A10_re ++ vfnmsac.vf AB11_re, B01_im, A10_im ++ vfmacc.vf AB11_im, B01_re, A10_im ++ vfmacc.vf AB11_im, B01_im, A10_re ++ ++ vfmacc.vf AB01_re, B11_re, A01_re // AB(:,1) += A(:,l+3) * B(l+3,1) ++ vfnmsac.vf AB01_re, B11_im, A01_im ++ vfmacc.vf AB01_im, B11_re, A01_im ++ vfmacc.vf AB01_im, B11_im, A01_re ++ vfmacc.vf AB11_re, B11_re, A11_re ++ vfnmsac.vf AB11_re, B11_im, A11_im ++ vfmacc.vf AB11_im, B11_re, A11_im ++ vfmacc.vf AB11_im, B11_im, A11_re ++ ++ vfmacc.vf AB02_re, B02_re, A00_re // AB(:,2) += A(:,l+2) * B(l+2,2) ++ vfnmsac.vf AB02_re, B02_im, A00_im ++ vfmacc.vf AB02_im, B02_re, A00_im ++ vfmacc.vf AB02_im, B02_im, A00_re ++ vfmacc.vf AB12_re, B02_re, A10_re ++ vfnmsac.vf AB12_re, B02_im, A10_im ++ vfmacc.vf AB12_im, B02_re, A10_im ++ vfmacc.vf AB12_im, B02_im, A10_re ++ ++ vfmacc.vf AB02_re, B12_re, A01_re // AB(:,2) += A(:,l+3) * B(l+3,2) ++ vfnmsac.vf AB02_re, B12_im, A01_im ++ vfmacc.vf AB02_im, B12_re, A01_im ++ vfmacc.vf AB02_im, B12_im, A01_re ++ vfmacc.vf AB12_re, B12_re, A11_re ++ vfnmsac.vf AB12_re, B12_im, A11_im ++ vfmacc.vf AB12_im, B12_re, A11_im ++ vfmacc.vf AB12_im, B12_im, A11_re ++ ++ vfmacc.vf AB03_re, B03_re, A00_re // AB(:,3) += A(:,l+2) * B(l+2,3) ++ vfnmsac.vf AB03_re, B03_im, A00_im ++ vfmacc.vf AB03_im, B03_re, A00_im ++ vfmacc.vf AB03_im, B03_im, A00_re ++ vfmacc.vf AB13_re, B03_re, A10_re ++ vfnmsac.vf AB13_re, B03_im, A10_im ++ vfmacc.vf AB13_im, B03_re, A10_im ++ vfmacc.vf AB13_im, B03_im, A10_re ++ ++ vfmacc.vf AB03_re, B13_re, A01_re // AB(:,3) += A(:,l+3) * B(l+3,3) ++ vfnmsac.vf AB03_re, B13_im, A01_im ++ vfmacc.vf AB03_im, B13_re, A01_im ++ vfmacc.vf AB03_im, B13_im, A01_re ++ vfmacc.vf AB13_re, B13_re, A11_re ++ vfnmsac.vf AB13_re, B13_im, A11_im ++ vfmacc.vf AB13_im, B13_re, A11_im ++ vfmacc.vf AB13_im, B13_im, A11_re ++ ++ li tmp, 3 ++ ble loop_counter, tmp, TAIL_UNROLL_2 ++ ++ // Load A and B for the next iteration ++ VLE A00_re, (A00_ptr) ++ VLE A10_re, (A10_ptr) ++ VLE A01_re, (A01_ptr) ++ VLE A11_re, (A11_ptr) ++ ++ FLOAD B00_re, 0*REALSIZE(B_row_ptr) ++ FLOAD B00_im, 1*REALSIZE(B_row_ptr) ++ FLOAD B01_re, 2*REALSIZE(B_row_ptr) ++ FLOAD B01_im, 3*REALSIZE(B_row_ptr) ++ FLOAD B02_re, 4*REALSIZE(B_row_ptr) ++ FLOAD B02_im, 5*REALSIZE(B_row_ptr) ++ FLOAD B03_re, 6*REALSIZE(B_row_ptr) ++ FLOAD B03_im, 7*REALSIZE(B_row_ptr) ++ ++ j LOOP_UNROLL_4 ++ ++TAIL_UNROLL_2: // loop_counter <= 3 ++ li tmp, 1 ++ ble loop_counter, tmp, TAIL_UNROLL_1 ++ ++ addi loop_counter, loop_counter, -2 ++ ++ // Load and deinterleave A(:,l) ++ VLE A00_re, (A00_ptr) ++ VLE A10_re, (A10_ptr) ++ ++ // Load B(l, 0:3) ++ FLOAD B00_re, 0*REALSIZE(B_row_ptr) ++ FLOAD B00_im, 1*REALSIZE(B_row_ptr) ++ FLOAD B01_re, 2*REALSIZE(B_row_ptr) ++ FLOAD B01_im, 3*REALSIZE(B_row_ptr) ++ FLOAD B02_re, 4*REALSIZE(B_row_ptr) ++ FLOAD B02_im, 5*REALSIZE(B_row_ptr) ++ FLOAD B03_re, 6*REALSIZE(B_row_ptr) ++ FLOAD B03_im, 7*REALSIZE(B_row_ptr) ++ ++ vfmacc.vf AB00_re, B00_re, A00_re // AB(:,0) += A(:,l) * B(l,0) ++ vfnmsac.vf AB00_re, B00_im, A00_im ++ vfmacc.vf AB00_im, B00_re, A00_im ++ vfmacc.vf AB00_im, B00_im, A00_re ++ vfmacc.vf AB10_re, B00_re, A10_re ++ vfnmsac.vf AB10_re, B00_im, A10_im ++ vfmacc.vf AB10_im, B00_re, A10_im ++ vfmacc.vf AB10_im, B00_im, A10_re ++ ++ vfmacc.vf AB01_re, B01_re, A00_re // AB(:,1) += A(:,l) * B(l,1) ++ vfnmsac.vf AB01_re, B01_im, A00_im ++ vfmacc.vf AB01_im, B01_re, A00_im ++ vfmacc.vf AB01_im, B01_im, A00_re ++ vfmacc.vf AB11_re, B01_re, A10_re ++ vfnmsac.vf AB11_re, B01_im, A10_im ++ vfmacc.vf AB11_im, B01_re, A10_im ++ vfmacc.vf AB11_im, B01_im, A10_re ++ ++ // Load and deinterleave A(:,l+1) ++ VLE A01_re, (A01_ptr) ++ VLE A11_re, (A11_ptr) ++ ++ // Load B(l+1, 0:3) ++ FLOAD B10_re, 8*REALSIZE(B_row_ptr) ++ FLOAD B10_im, 9*REALSIZE(B_row_ptr) ++ FLOAD B11_re, 10*REALSIZE(B_row_ptr) ++ FLOAD B11_im, 11*REALSIZE(B_row_ptr) ++ FLOAD B12_re, 12*REALSIZE(B_row_ptr) ++ FLOAD B12_im, 13*REALSIZE(B_row_ptr) ++ FLOAD B13_re, 14*REALSIZE(B_row_ptr) ++ FLOAD B13_im, 15*REALSIZE(B_row_ptr) ++ ++ vfmacc.vf AB00_re, B10_re, A01_re // AB(:,0) += A(:,l+1) * B(l+1,0) ++ vfnmsac.vf AB00_re, B10_im, A01_im ++ vfmacc.vf AB00_im, B10_re, A01_im ++ vfmacc.vf AB00_im, B10_im, A01_re ++ vfmacc.vf AB10_re, B10_re, A11_re ++ vfnmsac.vf AB10_re, B10_im, A11_im ++ vfmacc.vf AB10_im, B10_re, A11_im ++ vfmacc.vf AB10_im, B10_im, A11_re ++ ++ vfmacc.vf AB01_re, B11_re, A01_re // AB(:,1) += A(:,l+1) * B(l+1,1) ++ vfnmsac.vf AB01_re, B11_im, A01_im ++ vfmacc.vf AB01_im, B11_re, A01_im ++ vfmacc.vf AB01_im, B11_im, A01_re ++ vfmacc.vf AB11_re, B11_re, A11_re ++ vfnmsac.vf AB11_re, B11_im, A11_im ++ vfmacc.vf AB11_im, B11_re, A11_im ++ vfmacc.vf AB11_im, B11_im, A11_re ++ ++ vfmacc.vf AB02_re, B02_re, A00_re // AB(:,2) += A(:,l) * B(l,2) ++ vfnmsac.vf AB02_re, B02_im, A00_im ++ vfmacc.vf AB02_im, B02_re, A00_im ++ vfmacc.vf AB02_im, B02_im, A00_re ++ vfmacc.vf AB12_re, B02_re, A10_re ++ vfnmsac.vf AB12_re, B02_im, A10_im ++ vfmacc.vf AB12_im, B02_re, A10_im ++ vfmacc.vf AB12_im, B02_im, A10_re ++ ++ vfmacc.vf AB03_re, B03_re, A00_re // AB(:,3) += A(:,l) * B(l,3) ++ vfnmsac.vf AB03_re, B03_im, A00_im ++ vfmacc.vf AB03_im, B03_re, A00_im ++ vfmacc.vf AB03_im, B03_im, A00_re ++ vfmacc.vf AB13_re, B03_re, A10_re ++ vfnmsac.vf AB13_re, B03_im, A10_im ++ vfmacc.vf AB13_im, B03_re, A10_im ++ vfmacc.vf AB13_im, B03_im, A10_re ++ ++ vfmacc.vf AB02_re, B12_re, A01_re // AB(:,2) += A(:,l+1) * B(l+1,2) ++ vfnmsac.vf AB02_re, B12_im, A01_im ++ vfmacc.vf AB02_im, B12_re, A01_im ++ vfmacc.vf AB02_im, B12_im, A01_re ++ vfmacc.vf AB12_re, B12_re, A11_re ++ vfnmsac.vf AB12_re, B12_im, A11_im ++ vfmacc.vf AB12_im, B12_re, A11_im ++ vfmacc.vf AB12_im, B12_im, A11_re ++ ++ vfmacc.vf AB03_re, B13_re, A01_re // AB(:,3) += A(:,l+1) * B(l+1,3) ++ vfnmsac.vf AB03_re, B13_im, A01_im ++ vfmacc.vf AB03_im, B13_re, A01_im ++ vfmacc.vf AB03_im, B13_im, A01_re ++ vfmacc.vf AB13_re, B13_re, A11_re ++ vfnmsac.vf AB13_re, B13_im, A11_im ++ vfmacc.vf AB13_im, B13_re, A11_im ++ vfmacc.vf AB13_im, B13_im, A11_re ++ ++ beqz loop_counter, MULTIPLYALPHA ++ ++ // Advance pointers ++ add A00_ptr, A01_ptr, s0 ++ add A10_ptr, A11_ptr, s0 ++ addi B_row_ptr, B_row_ptr, 16*REALSIZE ++ ++TAIL_UNROLL_1: // loop_counter <= 1 ++ beqz loop_counter, MULTIPLYALPHA ++ ++ // Load and deinterleave A(:,l) ++ VLE A00_re, (A00_ptr) ++ VLE A10_re, (A10_ptr) ++ ++ // Load B(l,0:3) ++ FLOAD B00_re, 0*REALSIZE(B_row_ptr) ++ FLOAD B00_im, 1*REALSIZE(B_row_ptr) ++ FLOAD B01_re, 2*REALSIZE(B_row_ptr) ++ FLOAD B01_im, 3*REALSIZE(B_row_ptr) ++ FLOAD B02_re, 4*REALSIZE(B_row_ptr) ++ FLOAD B02_im, 5*REALSIZE(B_row_ptr) ++ FLOAD B03_re, 6*REALSIZE(B_row_ptr) ++ FLOAD B03_im, 7*REALSIZE(B_row_ptr) ++ ++ vfmacc.vf AB00_re, B00_re, A00_re // AB(:,0) += A(:,l) * B(l,0) ++ vfnmsac.vf AB00_re, B00_im, A00_im ++ vfmacc.vf AB00_im, B00_re, A00_im ++ vfmacc.vf AB00_im, B00_im, A00_re ++ vfmacc.vf AB10_re, B00_re, A10_re ++ vfnmsac.vf AB10_re, B00_im, A10_im ++ vfmacc.vf AB10_im, B00_re, A10_im ++ vfmacc.vf AB10_im, B00_im, A10_re ++ ++ vfmacc.vf AB01_re, B01_re, A00_re // AB(:,1) += A(:,l) * B(l,1) ++ vfnmsac.vf AB01_re, B01_im, A00_im ++ vfmacc.vf AB01_im, B01_re, A00_im ++ vfmacc.vf AB01_im, B01_im, A00_re ++ vfmacc.vf AB11_re, B01_re, A10_re ++ vfnmsac.vf AB11_re, B01_im, A10_im ++ vfmacc.vf AB11_im, B01_re, A10_im ++ vfmacc.vf AB11_im, B01_im, A10_re ++ ++ vfmacc.vf AB02_re, B02_re, A00_re // AB(:,2) += A(:,l) * B(l,2) ++ vfnmsac.vf AB02_re, B02_im, A00_im ++ vfmacc.vf AB02_im, B02_re, A00_im ++ vfmacc.vf AB02_im, B02_im, A00_re ++ vfmacc.vf AB12_re, B02_re, A10_re ++ vfnmsac.vf AB12_re, B02_im, A10_im ++ vfmacc.vf AB12_im, B02_re, A10_im ++ vfmacc.vf AB12_im, B02_im, A10_re ++ ++ vfmacc.vf AB03_re, B03_re, A00_re // AB(:,3) += A(:,l) * B(l,3) ++ vfnmsac.vf AB03_re, B03_im, A00_im ++ vfmacc.vf AB03_im, B03_re, A00_im ++ vfmacc.vf AB03_im, B03_im, A00_re ++ vfmacc.vf AB13_re, B03_re, A10_re ++ vfnmsac.vf AB13_re, B03_im, A10_im ++ vfmacc.vf AB13_im, B03_re, A10_im ++ vfmacc.vf AB13_im, B03_im, A10_re ++ ++MULTIPLYALPHA: ++ FLOAD ALPHA_re, 0*REALSIZE(a1) ++ FLOAD ALPHA_im, 1*REALSIZE(a1) ++ ++ FEQ tmp, ALPHA_im, fzero ++ bne tmp, zero, ALPHAREAL ++ ++ // [AB00, ..., AB03] * alpha ++ vfmul.vf tmp0_re, AB00_im, ALPHA_im ++ vfmul.vf tmp0_im, AB00_re, ALPHA_im ++ vfmul.vf tmp1_re, AB01_im, ALPHA_im ++ vfmul.vf tmp1_im, AB01_re, ALPHA_im ++ vfmul.vf tmp2_re, AB02_im, ALPHA_im ++ vfmul.vf tmp2_im, AB02_re, ALPHA_im ++ vfmul.vf tmp3_re, AB03_im, ALPHA_im ++ vfmul.vf tmp3_im, AB03_re, ALPHA_im ++ vfmsub.vf AB00_re, ALPHA_re, tmp0_re ++ vfmsub.vf AB01_re, ALPHA_re, tmp1_re ++ vfmsub.vf AB02_re, ALPHA_re, tmp2_re ++ vfmsub.vf AB03_re, ALPHA_re, tmp3_re ++ vfmadd.vf AB00_im, ALPHA_re, tmp0_im ++ vfmadd.vf AB01_im, ALPHA_re, tmp1_im ++ vfmadd.vf AB02_im, ALPHA_re, tmp2_im ++ vfmadd.vf AB03_im, ALPHA_re, tmp3_im ++ ++ // [AB10, ..., AB13] * alpha ++ vfmul.vf tmp0_re, AB10_im, ALPHA_im ++ vfmul.vf tmp0_im, AB10_re, ALPHA_im ++ vfmul.vf tmp1_re, AB11_im, ALPHA_im ++ vfmul.vf tmp1_im, AB11_re, ALPHA_im ++ vfmul.vf tmp2_re, AB12_im, ALPHA_im ++ vfmul.vf tmp2_im, AB12_re, ALPHA_im ++ vfmul.vf tmp3_re, AB13_im, ALPHA_im ++ vfmul.vf tmp3_im, AB13_re, ALPHA_im ++ vfmsub.vf AB10_re, ALPHA_re, tmp0_re ++ vfmsub.vf AB11_re, ALPHA_re, tmp1_re ++ vfmsub.vf AB12_re, ALPHA_re, tmp2_re ++ vfmsub.vf AB13_re, ALPHA_re, tmp3_re ++ vfmadd.vf AB10_im, ALPHA_re, tmp0_im ++ vfmadd.vf AB11_im, ALPHA_re, tmp1_im ++ vfmadd.vf AB12_im, ALPHA_re, tmp2_im ++ vfmadd.vf AB13_im, ALPHA_re, tmp3_im ++ ++ j MULTIPLYBETA ++ ++ALPHAREAL: ++ vfmul.vf AB00_re, AB00_re, ALPHA_re ++ vfmul.vf AB00_im, AB00_im, ALPHA_re ++ vfmul.vf AB01_re, AB01_re, ALPHA_re ++ vfmul.vf AB01_im, AB01_im, ALPHA_re ++ vfmul.vf AB02_re, AB02_re, ALPHA_re ++ vfmul.vf AB02_im, AB02_im, ALPHA_re ++ vfmul.vf AB03_re, AB03_re, ALPHA_re ++ vfmul.vf AB03_im, AB03_im, ALPHA_re ++ ++ vfmul.vf AB10_re, AB10_re, ALPHA_re ++ vfmul.vf AB10_im, AB10_im, ALPHA_re ++ vfmul.vf AB11_re, AB11_re, ALPHA_re ++ vfmul.vf AB11_im, AB11_im, ALPHA_re ++ vfmul.vf AB12_re, AB12_re, ALPHA_re ++ vfmul.vf AB12_im, AB12_im, ALPHA_re ++ vfmul.vf AB13_re, AB13_re, ALPHA_re ++ vfmul.vf AB13_im, AB13_im, ALPHA_re ++ ++MULTIPLYBETA: ++ FLOAD BETA_re, 0*REALSIZE(a4) ++ FLOAD BETA_im, 1*REALSIZE(a4) ++ FEQ tmp, BETA_im, fzero ++ bne tmp, zero, BETAREAL ++ ++ // Load and deinterleave C(0:VLEN-1, 0:1) ++ VLE C0_re, (C00_ptr) ++ VLE C1_re, (C01_ptr) ++ ++ // Load and deinterleave C(0:VLEN-1, 2:3) ++ VLE C2_re, (C02_ptr) ++ VLE C3_re, (C03_ptr) ++ ++ // C(0:VLEN-1,0:1) * beta + AB(0:VLEN-1,0:1) ++ vfmacc.vf AB00_re, BETA_re, C0_re ++ vfnmsac.vf AB00_re, BETA_im, C0_im ++ vfmacc.vf AB00_im, BETA_re, C0_im ++ vfmacc.vf AB00_im, BETA_im, C0_re ++ VSE AB00_re, (C00_ptr) ++ ++ vfmacc.vf AB01_re, BETA_re, C1_re ++ vfnmsac.vf AB01_re, BETA_im, C1_im ++ vfmacc.vf AB01_im, BETA_re, C1_im ++ vfmacc.vf AB01_im, BETA_im, C1_re ++ VSE AB01_re, (C01_ptr) ++ ++ // C(0:VLEN-1,2:3) * beta + AB(0:VLEN-1,2:3) ++ vfmacc.vf AB02_re, BETA_re, C2_re ++ vfnmsac.vf AB02_re, BETA_im, C2_im ++ vfmacc.vf AB02_im, BETA_re, C2_im ++ vfmacc.vf AB02_im, BETA_im, C2_re ++ VSE AB02_re, (C02_ptr) ++ ++ vfmacc.vf AB03_re, BETA_re, C3_re ++ vfnmsac.vf AB03_re, BETA_im, C3_im ++ vfmacc.vf AB03_im, BETA_re, C3_im ++ vfmacc.vf AB03_im, BETA_im, C3_re ++ VSE AB03_re, (C03_ptr) ++ ++ // Load and deinterleave C(VLEN:2*VLEN-1, 0:1) ++ VLE C0_re, (C10_ptr) ++ VLE C1_re, (C11_ptr) ++ ++ // Load and deinterleave C(VLEN:2*VLEN-1, 2:3) ++ VLE C2_re, (C12_ptr) ++ VLE C3_re, (C13_ptr) ++ ++ // C(VLEN:2*VLEN-1,0:1) * beta + AB(VLEN:2*VLEN-1,0:1) ++ vfmacc.vf AB10_re, BETA_re, C0_re ++ vfnmsac.vf AB10_re, BETA_im, C0_im ++ vfmacc.vf AB10_im, BETA_re, C0_im ++ vfmacc.vf AB10_im, BETA_im, C0_re ++ VSE AB10_re, (C10_ptr) ++ ++ vfmacc.vf AB11_re, BETA_re, C1_re ++ vfnmsac.vf AB11_re, BETA_im, C1_im ++ vfmacc.vf AB11_im, BETA_re, C1_im ++ vfmacc.vf AB11_im, BETA_im, C1_re ++ VSE AB11_re, (C11_ptr) ++ ++ // C(VLEN:2*VLEN-1,2:3) * beta + AB(VLEN:2*VLEN-1,2:3) ++ vfmacc.vf AB12_re, BETA_re, C2_re ++ vfnmsac.vf AB12_re, BETA_im, C2_im ++ vfmacc.vf AB12_im, BETA_re, C2_im ++ vfmacc.vf AB12_im, BETA_im, C2_re ++ VSE AB12_re, (C12_ptr) ++ ++ vfmacc.vf AB13_re, BETA_re, C3_re ++ vfnmsac.vf AB13_re, BETA_im, C3_im ++ vfmacc.vf AB13_im, BETA_re, C3_im ++ vfmacc.vf AB13_im, BETA_im, C3_re ++ VSE AB13_re, (C13_ptr) ++ ++ j END ++ ++BETAREAL: ++ FEQ tmp, BETA_re, fzero ++ bne tmp, zero, BETAZERO ++ ++ // Load and deinterleave C(0:VLEN-1, 0:3) ++ VLE C0_re, (C00_ptr) ++ VLE C1_re, (C01_ptr) ++ VLE C2_re, (C02_ptr) ++ VLE C3_re, (C03_ptr) ++ ++ // C(0:VLEN-1,0:3) * beta + AB(0:VLEN-1,0:3) ++ vfmacc.vf AB00_re, BETA_re, C0_re ++ vfmacc.vf AB00_im, BETA_re, C0_im ++ vfmacc.vf AB01_re, BETA_re, C1_re ++ vfmacc.vf AB01_im, BETA_re, C1_im ++ ++ vfmacc.vf AB02_re, BETA_re, C2_re ++ vfmacc.vf AB02_im, BETA_re, C2_im ++ vfmacc.vf AB03_re, BETA_re, C3_re ++ vfmacc.vf AB03_im, BETA_re, C3_im ++ ++ VSE AB00_re, (C00_ptr) ++ VSE AB01_re, (C01_ptr) ++ VSE AB02_re, (C02_ptr) ++ VSE AB03_re, (C03_ptr) ++ ++ // Load and deinterleave C(VLEN:2*VLEN-1, 0:3) ++ VLE C0_re, (C10_ptr) ++ VLE C1_re, (C11_ptr) ++ VLE C2_re, (C12_ptr) ++ VLE C3_re, (C13_ptr) ++ ++ // C(VLEN:2*VLEN-1,0:3) * beta + AB(VLEN:2*VLEN-1,0:3) ++ vfmacc.vf AB10_re, BETA_re, C0_re ++ vfmacc.vf AB10_im, BETA_re, C0_im ++ vfmacc.vf AB11_re, BETA_re, C1_re ++ vfmacc.vf AB11_im, BETA_re, C1_im ++ ++ vfmacc.vf AB12_re, BETA_re, C2_re ++ vfmacc.vf AB12_im, BETA_re, C2_im ++ vfmacc.vf AB13_re, BETA_re, C3_re ++ vfmacc.vf AB13_im, BETA_re, C3_im ++ ++ VSE AB10_re, (C10_ptr) ++ VSE AB11_re, (C11_ptr) ++ VSE AB12_re, (C12_ptr) ++ VSE AB13_re, (C13_ptr) ++ ++ j END ++ ++BETAZERO: ++ VSE AB00_re, (C00_ptr) ++ VSE AB01_re, (C01_ptr) ++ VSE AB02_re, (C02_ptr) ++ VSE AB03_re, (C03_ptr) ++ ++ VSE AB10_re, (C10_ptr) ++ VSE AB11_re, (C11_ptr) ++ VSE AB12_re, (C12_ptr) ++ VSE AB13_re, (C13_ptr) ++ ++END: ++ #include "rviv_restore_registers.h" ++ ret +diff --git a/kernels/rviv/3/bli_dgemm_rviv_4vx4.c b/kernels/rviv/3/bli_dgemm_rviv_4vx4.c +new file mode 100644 +index 000000000..e03716a5a +--- /dev/null ++++ b/kernels/rviv/3/bli_dgemm_rviv_4vx4.c +@@ -0,0 +1,79 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++ ++*/ ++#include "bli_rviv_utils.h" ++ ++void bli_dgemm_rviv_asm_4vx4 ++ ( ++ intptr_t k, ++ const void* alpha, ++ const void* a, ++ const void* b, ++ const void* beta, ++ void* c, intptr_t rs_c, intptr_t cs_c ++ ); ++ ++void bli_dgemm_rviv_4vx4 ++ ( ++ dim_t m, ++ dim_t n, ++ dim_t k, ++ const void* alpha, ++ const void* a, ++ const void* b, ++ const void* beta, ++ void* c, inc_t rs_c, inc_t cs_c, ++ auxinfo_t* data, ++ const cntx_t* cntx ++ ) ++{ ++ // The assembly kernels always take native machine-sized integer arguments. ++ // dim_t and inc_t are normally defined as being machine-sized. If larger, assert. ++ bli_static_assert( sizeof(dim_t) <= sizeof(intptr_t) && ++ sizeof(inc_t) <= sizeof(intptr_t) ); ++ ++ // Extract vector-length dependent mr, nr that are fixed at configure time. ++ const inc_t mr = bli_cntx_get_blksz_def_dt( BLIS_DOUBLE, BLIS_MR, cntx ); ++ const inc_t nr = 4; ++ ++ GEMM_UKR_SETUP_CT( d, mr, nr, false ); ++ ++ // The kernel assumes rs_c == 1, and the context should not deviate from it. ++ assert( rs_c == 1 ); ++ ++ bli_dgemm_rviv_asm_4vx4( k, alpha, a, b, beta, c, ++ get_vlenb(), cs_c * sizeof(double) ); ++ ++ GEMM_UKR_FLUSH_CT( d ); ++} +diff --git a/kernels/rviv/3/bli_dgemm_rviv_asm_4vx4.S b/kernels/rviv/3/bli_dgemm_rviv_asm_4vx4.S +new file mode 100644 +index 000000000..b29c6da5e +--- /dev/null ++++ b/kernels/rviv/3/bli_dgemm_rviv_asm_4vx4.S +@@ -0,0 +1,45 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++ ++*/ ++ ++#define REALNAME bli_dgemm_rviv_asm_4vx4 ++#define DATASIZE 8 ++#define VTYPE e64 ++#define FLOAD fld ++#define FZERO(fr) fcvt.d.w fr, x0 ++#define FEQ feq.d ++#define VLE vle64.v ++#define VSE vse64.v ++ ++#include "bli_sdgemm_rviv_asm_4vx4.h" +diff --git a/kernels/rviv/3/bli_rviv_utils.h b/kernels/rviv/3/bli_rviv_utils.h +new file mode 100644 +index 000000000..e4570321d +--- /dev/null ++++ b/kernels/rviv/3/bli_rviv_utils.h +@@ -0,0 +1,46 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++*/ ++ ++#include "blis.h" ++#include ++ ++static inline uintptr_t get_vlenb(void) ++{ ++ uintptr_t vlenb = 0; ++ __asm__ volatile ( ++ " csrr %0, vlenb" // vector length in bytes ++ : "=r" (vlenb) ++ ); ++ return vlenb; ++} +diff --git a/kernels/rviv/3/bli_sdgemm_rviv_asm_4vx4.h b/kernels/rviv/3/bli_sdgemm_rviv_asm_4vx4.h +new file mode 100644 +index 000000000..998a4e27d +--- /dev/null ++++ b/kernels/rviv/3/bli_sdgemm_rviv_asm_4vx4.h +@@ -0,0 +1,627 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++ ++*/ ++ ++ .text ++ .align 2 ++ .global REALNAME ++ ++// void REALNAME(intptr_t k, void* alpha, void* a, void* b, ++// void* beta, void* c, intptr_t rs_c, intptr_t cs_c) ++// ++// register arguments: ++// a0 k ++// a1 alpha ++// a2 a ++// a3 b ++// a4 beta ++// a5 c ++// a6 rs_c ++// a7 cs_c ++// ++ ++#define loop_counter a0 ++ ++#define A00_ptr a2 ++#define A10_ptr t0 ++#define A20_ptr t1 ++#define A30_ptr t2 ++#define A01_ptr s5 ++#define A11_ptr s6 ++#define A21_ptr s7 ++#define A31_ptr t6 ++ ++#define B_row_ptr a3 ++ ++#define C00_ptr a5 ++#define C01_ptr t3 ++#define C02_ptr t4 ++#define C03_ptr t5 ++#define C10_ptr s1 ++#define C11_ptr s2 ++#define C12_ptr s3 ++#define C13_ptr s4 ++ ++#define tmp t6 ++ ++#define ALPHA fa1 ++#define BETA fa2 ++ ++#define B00 fa4 ++#define B01 fa5 ++#define B02 fa6 ++#define B03 fa7 ++ ++#define B10 fa0 ++#define B11 fa1 ++#define B12 fa2 ++#define B13 fa3 ++ ++#define fzero ft8 ++ ++#define A00 v24 ++#define A10 v25 ++#define A20 v26 ++#define A30 v27 ++ ++#define A01 v28 ++#define A11 v29 ++#define A21 v30 ++#define A31 v31 ++ ++#define C00 v16 ++#define C01 v17 ++#define C02 v18 ++#define C03 v19 ++#define C10 v20 ++#define C11 v21 ++#define C12 v22 ++#define C13 v23 ++#define C20 v0 ++#define C21 v1 ++#define C22 v2 ++#define C23 v3 ++#define C30 v4 ++#define C31 v5 ++#define C32 v6 ++#define C33 v7 ++ ++#define AB00 v0 ++#define AB01 v1 ++#define AB02 v2 ++#define AB03 v3 ++#define AB10 v4 ++#define AB11 v5 ++#define AB12 v6 ++#define AB13 v7 ++#define AB20 v8 ++#define AB21 v9 ++#define AB22 v10 ++#define AB23 v11 ++#define AB30 v12 ++#define AB31 v13 ++#define AB32 v14 ++#define AB33 v15 ++ ++#define rs_c a6 ++#define cs_c a7 ++ ++REALNAME: ++ #include "rviv_save_registers.h" ++ ++ vsetvli s0, zero, VTYPE, m1, ta, ma ++ csrr s0, vlenb ++ FZERO(fzero) ++ ++ // Set up pointers ++ add C01_ptr, C00_ptr, cs_c ++ add C02_ptr, C01_ptr, cs_c ++ add C03_ptr, C02_ptr, cs_c ++ add C10_ptr, C00_ptr, rs_c ++ add C11_ptr, C01_ptr, rs_c ++ add C12_ptr, C02_ptr, rs_c ++ add C13_ptr, C03_ptr, rs_c ++ ++ // Zero-initialize accumulators ++ vxor.vv AB00, AB00, AB00 ++ vxor.vv AB01, AB01, AB01 ++ vxor.vv AB02, AB02, AB02 ++ vxor.vv AB03, AB03, AB03 ++ vxor.vv AB10, AB10, AB10 ++ vxor.vv AB11, AB11, AB11 ++ vxor.vv AB12, AB12, AB12 ++ vxor.vv AB13, AB13, AB13 ++ vxor.vv AB20, AB20, AB20 ++ vxor.vv AB21, AB21, AB21 ++ vxor.vv AB22, AB22, AB22 ++ vxor.vv AB23, AB23, AB23 ++ vxor.vv AB30, AB30, AB30 ++ vxor.vv AB31, AB31, AB31 ++ vxor.vv AB32, AB32, AB32 ++ vxor.vv AB33, AB33, AB33 ++ ++ // Handle k == 0 ++ beqz loop_counter, MULTIPLYBETA ++ ++ // Set up pointers to rows of A ++ add A10_ptr, A00_ptr, s0 ++ add A20_ptr, A10_ptr, s0 ++ add A30_ptr, A20_ptr, s0 ++ ++ slli s0, s0, 2 // length of a column of A in bytes ++ ++ li tmp, 3 ++ ble loop_counter, tmp, TAIL_UNROLL_2 ++ ++ // Preload A and B ++ // Load A(:,l) ++ VLE A00, (A00_ptr) ++ VLE A10, (A10_ptr) ++ VLE A20, (A20_ptr) ++ VLE A30, (A30_ptr) ++ ++ // Load B(l,0:3) ++ FLOAD B00, 0*DATASIZE(B_row_ptr) ++ FLOAD B01, 1*DATASIZE(B_row_ptr) ++ FLOAD B02, 2*DATASIZE(B_row_ptr) ++ FLOAD B03, 3*DATASIZE(B_row_ptr) ++ ++ // Set up pointers to A(:,l+1) ++ add A01_ptr, A00_ptr, s0 ++ add A11_ptr, A10_ptr, s0 ++ add A21_ptr, A20_ptr, s0 ++ add A31_ptr, A30_ptr, s0 ++ ++LOOP_UNROLL_4: ++ addi loop_counter, loop_counter, -4 ++ ++ vfmacc.vf AB00, B00, A00 // AB(0,:) += A(0,0) * B(0,:) ++ vfmacc.vf AB01, B01, A00 ++ vfmacc.vf AB02, B02, A00 ++ vfmacc.vf AB03, B03, A00 ++ ++ vfmacc.vf AB10, B00, A10 // AB(1,:) += A(1,0) * B(0,:) ++ vfmacc.vf AB11, B01, A10 ++ vfmacc.vf AB12, B02, A10 ++ vfmacc.vf AB13, B03, A10 ++ ++ // Load B(l+1,0:3) ++ FLOAD B10, 4*DATASIZE(B_row_ptr) ++ FLOAD B11, 5*DATASIZE(B_row_ptr) ++ FLOAD B12, 6*DATASIZE(B_row_ptr) ++ FLOAD B13, 7*DATASIZE(B_row_ptr) ++ addi B_row_ptr, B_row_ptr, 8*DATASIZE ++ ++ vfmacc.vf AB20, B00, A20 // AB(2,:) += A(2,0) * B(0,:) ++ vfmacc.vf AB21, B01, A20 ++ vfmacc.vf AB22, B02, A20 ++ vfmacc.vf AB23, B03, A20 ++ ++ // Load A(:,l+1) ++ VLE A01, (A01_ptr) ++ VLE A11, (A11_ptr) ++ VLE A21, (A21_ptr) ++ VLE A31, (A31_ptr) ++ ++ // Point to A(:,l+2) ++ add A00_ptr, A01_ptr, s0 ++ add A10_ptr, A11_ptr, s0 ++ add A20_ptr, A21_ptr, s0 ++ add A30_ptr, A31_ptr, s0 ++ ++ vfmacc.vf AB30, B00, A30 // AB(3,:) += A(3,0) * B(0,:) ++ vfmacc.vf AB31, B01, A30 ++ vfmacc.vf AB32, B02, A30 ++ vfmacc.vf AB33, B03, A30 ++ ++ vfmacc.vf AB00, B10, A01 // AB(0,:) += A(0,1) * B(1,:) ++ vfmacc.vf AB01, B11, A01 ++ vfmacc.vf AB02, B12, A01 ++ vfmacc.vf AB03, B13, A01 ++ ++ // Load B(l+2,0:3) ++ FLOAD B00, 0*DATASIZE(B_row_ptr) ++ FLOAD B01, 1*DATASIZE(B_row_ptr) ++ FLOAD B02, 2*DATASIZE(B_row_ptr) ++ FLOAD B03, 3*DATASIZE(B_row_ptr) ++ ++ vfmacc.vf AB10, B10, A11 // AB(1,:) += A(1,1) * B(1,:) ++ vfmacc.vf AB11, B11, A11 ++ vfmacc.vf AB12, B12, A11 ++ vfmacc.vf AB13, B13, A11 ++ ++ // Load A(:,l+2) ++ VLE A00, (A00_ptr) ++ VLE A10, (A10_ptr) ++ VLE A20, (A20_ptr) ++ VLE A30, (A30_ptr) ++ ++ // Point to A(:,l+3) ++ add A01_ptr, A00_ptr, s0 ++ add A11_ptr, A10_ptr, s0 ++ add A21_ptr, A20_ptr, s0 ++ add A31_ptr, A30_ptr, s0 ++ ++ vfmacc.vf AB20, B10, A21 // AB(2,:) += A(2,1) * B(1,:) ++ vfmacc.vf AB21, B11, A21 ++ vfmacc.vf AB22, B12, A21 ++ vfmacc.vf AB23, B13, A21 ++ ++ vfmacc.vf AB30, B10, A31 // AB(3,:) += A(3,1) * B(1,:) ++ vfmacc.vf AB31, B11, A31 ++ vfmacc.vf AB32, B12, A31 ++ vfmacc.vf AB33, B13, A31 ++ ++ // Load A(:,l+3) ++ VLE A01, (A01_ptr) ++ VLE A11, (A11_ptr) ++ VLE A21, (A21_ptr) ++ VLE A31, (A31_ptr) ++ ++ // Point to A(:,l+4) ++ add A00_ptr, A01_ptr, s0 ++ add A10_ptr, A11_ptr, s0 ++ add A20_ptr, A21_ptr, s0 ++ add A30_ptr, A31_ptr, s0 ++ ++ vfmacc.vf AB00, B00, A00 // AB(0,:) += A(0,2) * B(2,:) ++ vfmacc.vf AB01, B01, A00 ++ vfmacc.vf AB02, B02, A00 ++ vfmacc.vf AB03, B03, A00 ++ ++ // Load B(l+3,0:3) ++ FLOAD B10, 4*DATASIZE(B_row_ptr) ++ FLOAD B11, 5*DATASIZE(B_row_ptr) ++ FLOAD B12, 6*DATASIZE(B_row_ptr) ++ FLOAD B13, 7*DATASIZE(B_row_ptr) ++ addi B_row_ptr, B_row_ptr, 8*DATASIZE ++ ++ vfmacc.vf AB10, B00, A10 // AB(1,:) += A(1,2) * B(2,:) ++ vfmacc.vf AB11, B01, A10 ++ vfmacc.vf AB12, B02, A10 ++ vfmacc.vf AB13, B03, A10 ++ ++ vfmacc.vf AB20, B00, A20 // AB(2,:) += A(2,2) * B(2,:) ++ vfmacc.vf AB21, B01, A20 ++ vfmacc.vf AB22, B02, A20 ++ vfmacc.vf AB23, B03, A20 ++ ++ vfmacc.vf AB30, B00, A30 // AB(3,:) += A(3,2) * B(3,:) ++ vfmacc.vf AB31, B01, A30 ++ vfmacc.vf AB32, B02, A30 ++ vfmacc.vf AB33, B03, A30 ++ ++ vfmacc.vf AB00, B10, A01 // AB(0,:) += A(0,3) * B(3,:) ++ vfmacc.vf AB01, B11, A01 ++ vfmacc.vf AB02, B12, A01 ++ vfmacc.vf AB03, B13, A01 ++ ++ vfmacc.vf AB10, B10, A11 // AB(1,:) += A(1,3) * B(3,:) ++ vfmacc.vf AB11, B11, A11 ++ vfmacc.vf AB12, B12, A11 ++ vfmacc.vf AB13, B13, A11 ++ ++ vfmacc.vf AB20, B10, A21 // AB(2,:) += A(2,3) * B(3,:) ++ vfmacc.vf AB21, B11, A21 ++ vfmacc.vf AB22, B12, A21 ++ vfmacc.vf AB23, B13, A21 ++ ++ vfmacc.vf AB30, B10, A31 // AB(3,:) += A(3,3) * B(3,:) ++ vfmacc.vf AB31, B11, A31 ++ vfmacc.vf AB32, B12, A31 ++ vfmacc.vf AB33, B13, A31 ++ ++ li tmp, 3 ++ ble loop_counter, tmp, TAIL_UNROLL_2 ++ ++ // Load A and B for the next iteration ++ // Load B(l,0:3) ++ FLOAD B00, 0*DATASIZE(B_row_ptr) ++ FLOAD B01, 1*DATASIZE(B_row_ptr) ++ FLOAD B02, 2*DATASIZE(B_row_ptr) ++ FLOAD B03, 3*DATASIZE(B_row_ptr) ++ ++ // Load A(:,l) ++ VLE A00, (A00_ptr) ++ VLE A10, (A10_ptr) ++ VLE A20, (A20_ptr) ++ VLE A30, (A30_ptr) ++ ++ // Set up pointers to A(:,l+1) ++ add A01_ptr, A00_ptr, s0 ++ add A11_ptr, A10_ptr, s0 ++ add A21_ptr, A20_ptr, s0 ++ add A31_ptr, A30_ptr, s0 ++ ++ j LOOP_UNROLL_4 ++ ++TAIL_UNROLL_2: // loop_counter <= 3 ++ li tmp, 1 ++ ble loop_counter, tmp, TAIL_UNROLL_1 ++ ++ addi loop_counter, loop_counter, -2 ++ ++ // Load B(l,0:3) ++ FLOAD B00, 0*DATASIZE(B_row_ptr) ++ FLOAD B01, 1*DATASIZE(B_row_ptr) ++ FLOAD B02, 2*DATASIZE(B_row_ptr) ++ FLOAD B03, 3*DATASIZE(B_row_ptr) ++ ++ // Load A(0:1,l) ++ VLE A00, (A00_ptr) ++ VLE A10, (A10_ptr) ++ ++ // Point to A(:,l+1) ++ add A01_ptr, A00_ptr, s0 ++ add A11_ptr, A10_ptr, s0 ++ add A21_ptr, A20_ptr, s0 ++ add A31_ptr, A30_ptr, s0 ++ ++ vfmacc.vf AB00, B00, A00 // AB(0,:) += A(0,0) * B(0,:) ++ vfmacc.vf AB01, B01, A00 ++ vfmacc.vf AB02, B02, A00 ++ vfmacc.vf AB03, B03, A00 ++ ++ // Load A(2:3,l) ++ VLE A20, (A20_ptr) ++ VLE A30, (A30_ptr) ++ ++ vfmacc.vf AB10, B00, A10 // AB(1,:) += A(1,0) * B(0,:) ++ vfmacc.vf AB11, B01, A10 ++ vfmacc.vf AB12, B02, A10 ++ vfmacc.vf AB13, B03, A10 ++ ++ // Load B(l+1,0:3) ++ FLOAD B10, 4*DATASIZE(B_row_ptr) ++ FLOAD B11, 5*DATASIZE(B_row_ptr) ++ FLOAD B12, 6*DATASIZE(B_row_ptr) ++ FLOAD B13, 7*DATASIZE(B_row_ptr) ++ addi B_row_ptr, B_row_ptr, 8*DATASIZE ++ ++ // Load A(:,l+1) ++ VLE A01, (A01_ptr) ++ VLE A11, (A11_ptr) ++ VLE A21, (A21_ptr) ++ VLE A31, (A31_ptr) ++ ++ vfmacc.vf AB20, B00, A20 // AB(2,:) += A(2,0) * B(0,:) ++ vfmacc.vf AB21, B01, A20 ++ vfmacc.vf AB22, B02, A20 ++ vfmacc.vf AB23, B03, A20 ++ ++ vfmacc.vf AB30, B00, A30 // AB(3,:) += A(3,0) * B(0,:) ++ vfmacc.vf AB31, B01, A30 ++ vfmacc.vf AB32, B02, A30 ++ vfmacc.vf AB33, B03, A30 ++ ++ // Point to A(:,l+2) ++ add A00_ptr, A01_ptr, s0 ++ add A10_ptr, A11_ptr, s0 ++ add A20_ptr, A21_ptr, s0 ++ add A30_ptr, A31_ptr, s0 ++ ++ vfmacc.vf AB00, B10, A01 // AB(0,:) += A(0,1) * B(1,:) ++ vfmacc.vf AB01, B11, A01 ++ vfmacc.vf AB02, B12, A01 ++ vfmacc.vf AB03, B13, A01 ++ ++ vfmacc.vf AB10, B10, A11 // AB(1,:) += A(1,1) * B(1,:) ++ vfmacc.vf AB11, B11, A11 ++ vfmacc.vf AB12, B12, A11 ++ vfmacc.vf AB13, B13, A11 ++ ++ vfmacc.vf AB20, B10, A21 // AB(2,:) += A(2,1) * B(1,:) ++ vfmacc.vf AB21, B11, A21 ++ vfmacc.vf AB22, B12, A21 ++ vfmacc.vf AB23, B13, A21 ++ ++ vfmacc.vf AB30, B10, A31 // AB(3,:) += A(3,1) * B(1,:) ++ vfmacc.vf AB31, B11, A31 ++ vfmacc.vf AB32, B12, A31 ++ vfmacc.vf AB33, B13, A31 ++ ++ li tmp, 1 ++ ble loop_counter, tmp, TAIL_UNROLL_1 ++ ++TAIL_UNROLL_1: // loop_counter <= 1 ++ beqz loop_counter, MULTIPLYALPHA ++ ++ // Load row of B ++ FLOAD B00, 0*DATASIZE(B_row_ptr) ++ FLOAD B01, 1*DATASIZE(B_row_ptr) ++ FLOAD B02, 2*DATASIZE(B_row_ptr) ++ FLOAD B03, 3*DATASIZE(B_row_ptr) ++ ++ // Load A(:,l) ++ VLE A00, (A00_ptr) ++ VLE A10, (A10_ptr) ++ VLE A20, (A20_ptr) ++ VLE A30, (A30_ptr) ++ ++ vfmacc.vf AB00, B00, A00 // AB(0,:) += A(0,0) * B(0,:) ++ vfmacc.vf AB01, B01, A00 ++ vfmacc.vf AB02, B02, A00 ++ vfmacc.vf AB03, B03, A00 ++ ++ vfmacc.vf AB10, B00, A10 // AB(1,:) += A(1,0) * B(0,:) ++ vfmacc.vf AB11, B01, A10 ++ vfmacc.vf AB12, B02, A10 ++ vfmacc.vf AB13, B03, A10 ++ ++ vfmacc.vf AB20, B00, A20 // AB(2,:) += A(2,0) * B(0,:) ++ vfmacc.vf AB21, B01, A20 ++ vfmacc.vf AB22, B02, A20 ++ vfmacc.vf AB23, B03, A20 ++ ++ vfmacc.vf AB30, B00, A30 // AB(3,:) += A(3,0) * B(0,:) ++ vfmacc.vf AB31, B01, A30 ++ vfmacc.vf AB32, B02, A30 ++ vfmacc.vf AB33, B03, A30 ++ ++MULTIPLYALPHA: ++ FLOAD ALPHA, (a1) ++ ++ // Multiply with alpha ++ vfmul.vf AB00, AB00, ALPHA ++ vfmul.vf AB01, AB01, ALPHA ++ vfmul.vf AB02, AB02, ALPHA ++ vfmul.vf AB03, AB03, ALPHA ++ ++ vfmul.vf AB10, AB10, ALPHA ++ vfmul.vf AB11, AB11, ALPHA ++ vfmul.vf AB12, AB12, ALPHA ++ vfmul.vf AB13, AB13, ALPHA ++ ++ vfmul.vf AB20, AB20, ALPHA ++ vfmul.vf AB21, AB21, ALPHA ++ vfmul.vf AB22, AB22, ALPHA ++ vfmul.vf AB23, AB23, ALPHA ++ ++ vfmul.vf AB30, AB30, ALPHA ++ vfmul.vf AB31, AB31, ALPHA ++ vfmul.vf AB32, AB32, ALPHA ++ vfmul.vf AB33, AB33, ALPHA ++ ++MULTIPLYBETA: ++ FLOAD BETA, (a4) ++ FEQ tmp, BETA, fzero ++ beq tmp, zero, BETANOTZERO ++ ++BETAZERO: ++ VSE AB00, (C00_ptr) ++ VSE AB01, (C01_ptr) ++ VSE AB02, (C02_ptr) ++ VSE AB03, (C03_ptr) ++ ++ add C00_ptr, C10_ptr, rs_c // advance pointers to row 2*VLEN ++ add C01_ptr, C11_ptr, rs_c ++ add C02_ptr, C12_ptr, rs_c ++ add C03_ptr, C13_ptr, rs_c ++ ++ VSE AB10, (C10_ptr) ++ VSE AB11, (C11_ptr) ++ VSE AB12, (C12_ptr) ++ VSE AB13, (C13_ptr) ++ ++ add C10_ptr, C00_ptr, rs_c // advance pointers to row 3*VLEN ++ add C11_ptr, C01_ptr, rs_c ++ add C12_ptr, C02_ptr, rs_c ++ add C13_ptr, C03_ptr, rs_c ++ ++ VSE AB20, (C00_ptr) ++ VSE AB21, (C01_ptr) ++ VSE AB22, (C02_ptr) ++ VSE AB23, (C03_ptr) ++ ++ VSE AB30, (C10_ptr) ++ VSE AB31, (C11_ptr) ++ VSE AB32, (C12_ptr) ++ VSE AB33, (C13_ptr) ++ ++ j END ++ ++BETANOTZERO: ++ VLE C00, (C00_ptr) // Load C(0:VLEN-1, 0:3) ++ VLE C01, (C01_ptr) ++ VLE C02, (C02_ptr) ++ VLE C03, (C03_ptr) ++ ++ vfmacc.vf AB00, BETA, C00 ++ vfmacc.vf AB01, BETA, C01 ++ vfmacc.vf AB02, BETA, C02 ++ vfmacc.vf AB03, BETA, C03 ++ ++ VSE AB00, (C00_ptr) // Store C(0:VLEN-1, 0:3) ++ VSE AB01, (C01_ptr) ++ VSE AB02, (C02_ptr) ++ VSE AB03, (C03_ptr) ++ ++ add C00_ptr, C10_ptr, rs_c // advance pointers to row 2*VLEN ++ add C01_ptr, C11_ptr, rs_c ++ add C02_ptr, C12_ptr, rs_c ++ add C03_ptr, C13_ptr, rs_c ++ ++ VLE C10, (C10_ptr) // Load C(VLEN:2*VLEN-1, 0:3) ++ VLE C11, (C11_ptr) ++ VLE C12, (C12_ptr) ++ VLE C13, (C13_ptr) ++ ++ vfmacc.vf AB10, BETA, C10 ++ vfmacc.vf AB11, BETA, C11 ++ vfmacc.vf AB12, BETA, C12 ++ vfmacc.vf AB13, BETA, C13 ++ ++ VSE AB10, (C10_ptr) // Store C(VLEN:2*VLEN-1, 0:3) ++ VSE AB11, (C11_ptr) ++ VSE AB12, (C12_ptr) ++ VSE AB13, (C13_ptr) ++ ++ add C10_ptr, C00_ptr, rs_c // advance pointers to row 3*VLEN ++ add C11_ptr, C01_ptr, rs_c ++ add C12_ptr, C02_ptr, rs_c ++ add C13_ptr, C03_ptr, rs_c ++ ++ VLE C20, (C00_ptr) // Load C(2*VLEN:3*VLEN-1, 0:3) ++ VLE C21, (C01_ptr) ++ VLE C22, (C02_ptr) ++ VLE C23, (C03_ptr) ++ ++ vfmacc.vf AB20, BETA, C20 ++ vfmacc.vf AB21, BETA, C21 ++ vfmacc.vf AB22, BETA, C22 ++ vfmacc.vf AB23, BETA, C23 ++ ++ VSE AB20, (C00_ptr) // Store C(2*VLEN:3*VLEN-1, 0:3) ++ VSE AB21, (C01_ptr) ++ VSE AB22, (C02_ptr) ++ VSE AB23, (C03_ptr) ++ ++ VLE C30, (C10_ptr) // Load C(3*VLEN:4*VLEN-1, 0:3) ++ VLE C31, (C11_ptr) ++ VLE C32, (C12_ptr) ++ VLE C33, (C13_ptr) ++ ++ vfmacc.vf AB30, BETA, C30 ++ vfmacc.vf AB31, BETA, C31 ++ vfmacc.vf AB32, BETA, C32 ++ vfmacc.vf AB33, BETA, C33 ++ ++ VSE AB30, (C10_ptr) // Store C(3*VLEN:4*VLEN-1, 0:3) ++ VSE AB31, (C11_ptr) ++ VSE AB32, (C12_ptr) ++ VSE AB33, (C13_ptr) ++ ++END: ++ #include "rviv_restore_registers.h" ++ ret +diff --git a/kernels/rviv/3/bli_sgemm_rviv_4vx4.c b/kernels/rviv/3/bli_sgemm_rviv_4vx4.c +new file mode 100644 +index 000000000..c240d0391 +--- /dev/null ++++ b/kernels/rviv/3/bli_sgemm_rviv_4vx4.c +@@ -0,0 +1,80 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++ ++*/ ++ ++#include "bli_rviv_utils.h" ++ ++void bli_sgemm_rviv_asm_4vx4 ++ ( ++ intptr_t k, ++ const void* alpha, ++ const void* a, ++ const void* b, ++ const void* beta, ++ void* c, inc_t rs_c, inc_t cs_c ++ ); ++ ++void bli_sgemm_rviv_4vx4 ++ ( ++ dim_t m, ++ dim_t n, ++ dim_t k, ++ const void* alpha, ++ const void* a, ++ const void* b, ++ const void* beta, ++ void* c, inc_t rs_c, inc_t cs_c, ++ auxinfo_t* data, ++ const cntx_t* cntx ++ ) ++{ ++ // The assembly kernels always take native machine-sized integer arguments. ++ // dim_t and inc_t are normally defined as being machine-sized. If larger, assert. ++ bli_static_assert( sizeof(dim_t) <= sizeof(intptr_t) && ++ sizeof(inc_t) <= sizeof(intptr_t) ); ++ ++ // Extract vector-length dependent mr, nr that are fixed at configure time. ++ const inc_t mr = bli_cntx_get_blksz_def_dt( BLIS_FLOAT, BLIS_MR, cntx ); ++ const inc_t nr = 4; ++ ++ GEMM_UKR_SETUP_CT( s, mr, nr, false ); ++ ++ // The kernel assumes rs_c == 1, and the context should not deviate from it. ++ assert( rs_c == 1 ); ++ ++ bli_sgemm_rviv_asm_4vx4( k, alpha, a, b, beta, c, ++ get_vlenb(), cs_c * sizeof(float) ); ++ ++ GEMM_UKR_FLUSH_CT( s ); ++} +diff --git a/kernels/rviv/3/bli_sgemm_rviv_asm_4vx4.S b/kernels/rviv/3/bli_sgemm_rviv_asm_4vx4.S +new file mode 100644 +index 000000000..2a917fc8e +--- /dev/null ++++ b/kernels/rviv/3/bli_sgemm_rviv_asm_4vx4.S +@@ -0,0 +1,45 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++ ++*/ ++ ++#define REALNAME bli_sgemm_rviv_asm_4vx4 ++#define DATASIZE 4 ++#define VTYPE e32 ++#define FLOAD flw ++#define FZERO(fr) fcvt.s.w fr, x0 ++#define FEQ feq.s ++#define VLE vle32.v ++#define VSE vse32.v ++ ++#include "bli_sdgemm_rviv_asm_4vx4.h" +diff --git a/kernels/rviv/3/bli_zgemm_rviv_4vx4.c b/kernels/rviv/3/bli_zgemm_rviv_4vx4.c +new file mode 100644 +index 000000000..3d9940f9b +--- /dev/null ++++ b/kernels/rviv/3/bli_zgemm_rviv_4vx4.c +@@ -0,0 +1,80 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++*/ ++ ++#include "bli_rviv_utils.h" ++ ++void bli_zgemm_rviv_asm_4vx4 ++ ( ++ intptr_t k, ++ const void* alpha, ++ const void* a, ++ const void* b, ++ const void* beta, ++ void* c, intptr_t rs_c, intptr_t cs_c ++ ); ++ ++ ++void bli_zgemm_rviv_4vx4 ++ ( ++ dim_t m, ++ dim_t n, ++ dim_t k, ++ const void* alpha, ++ const void* a, ++ const void* b, ++ const void* beta, ++ void* c, inc_t rs_c, inc_t cs_c, ++ auxinfo_t* data, ++ const cntx_t* cntx ++ ) ++{ ++ // The assembly kernels always take native machine-sized integer arguments. ++ // dim_t and inc_t are normally defined as being machine-sized. If larger, assert. ++ bli_static_assert( sizeof(dim_t) <= sizeof(intptr_t) && ++ sizeof(inc_t) <= sizeof(intptr_t) ); ++ ++ // Extract vector-length dependent mr, nr that are fixed at configure time. ++ const inc_t mr = bli_cntx_get_blksz_def_dt( BLIS_DCOMPLEX, BLIS_MR, cntx ); ++ const inc_t nr = 4; ++ ++ GEMM_UKR_SETUP_CT( z, mr, nr, false ); ++ ++ // The kernel assumes rs_c == 1, and the context should not deviate from it. ++ assert( rs_c == 1 ); ++ ++ bli_zgemm_rviv_asm_4vx4( k, alpha, a, b, beta, c, ++ get_vlenb() * 2, cs_c * sizeof(dcomplex) ); ++ ++ GEMM_UKR_FLUSH_CT( z ); ++} +diff --git a/kernels/rviv/3/bli_zgemm_rviv_asm_4vx4.S b/kernels/rviv/3/bli_zgemm_rviv_asm_4vx4.S +new file mode 100644 +index 000000000..ae61a415d +--- /dev/null ++++ b/kernels/rviv/3/bli_zgemm_rviv_asm_4vx4.S +@@ -0,0 +1,44 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++*/ ++ ++#define REALNAME bli_zgemm_rviv_asm_4vx4 ++#define DATASIZE 16 ++#define VTYPE e64 ++#define FLOAD fld ++#define FZERO(fr) fcvt.d.w fr, x0 ++#define FEQ feq.d ++#define VLE vlseg2e64.v ++#define VSE vsseg2e64.v ++ ++#include "bli_czgemm_rviv_asm_4vx4.h" +diff --git a/kernels/rviv/3/rviv_restore_registers.h b/kernels/rviv/3/rviv_restore_registers.h +new file mode 100644 +index 000000000..bcf7d17c8 +--- /dev/null ++++ b/kernels/rviv/3/rviv_restore_registers.h +@@ -0,0 +1,77 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++*/ ++ ++ ++// 128-bit RISC-V is assumed to support the __riscv_xlen test macro ++#if __riscv_xlen == 128 // false if !defined(__riscv_xlen) ++ ++ lq s7, 112(sp) ++ lq s6, 96(sp) ++ lq s5, 80(sp) ++ lq s4, 64(sp) ++ lq s3, 48(sp) ++ lq s2, 32(sp) ++ lq s1, 16(sp) ++ lq s0, 0(sp) ++ addi sp, sp, 128 ++ ++// 64-bit RISC-V can be indicated by either __riscv_xlen == 64 or ++// RISCV_SIZE == 64, to support toolchains which do not currently ++// support __riscv_xlen. If a macro is undefined, it is considered 0. ++#elif __riscv_xlen == 64 || RISCV_SIZE == 64 ++ ++ ld s7, 56(sp) ++ ld s6, 48(sp) ++ ld s5, 40(sp) ++ ld s4, 32(sp) ++ ld s3, 24(sp) ++ ld s2, 16(sp) ++ ld s1, 8(sp) ++ ld s0, 0(sp) ++ addi sp, sp, 64 ++ ++#else ++// else 32-bit RISC-V is assumed ++ ++ lw s7, 28(sp) ++ lw s6, 24(sp) ++ lw s5, 20(sp) ++ lw s4, 16(sp) ++ lw s3, 12(sp) ++ lw s2, 8(sp) ++ lw s1, 4(sp) ++ lw s0, 0(sp) ++ addi sp, sp, 32 ++ ++#endif +diff --git a/kernels/rviv/3/rviv_save_registers.h b/kernels/rviv/3/rviv_save_registers.h +new file mode 100644 +index 000000000..537c76ca6 +--- /dev/null ++++ b/kernels/rviv/3/rviv_save_registers.h +@@ -0,0 +1,77 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++ ++*/ ++ ++// 128-bit RISC-V is assumed to support the __riscv_xlen test macro ++#if __riscv_xlen == 128 // false if !defined(__riscv_xlen) ++ ++ addi sp, sp, -128 ++ sq s7, 112(sp) ++ sq s6, 96(sp) ++ sq s5, 80(sp) ++ sq s4, 64(sp) ++ sq s3, 48(sp) ++ sq s2, 32(sp) ++ sq s1, 16(sp) ++ sq s0, 0(sp) ++ ++// 64-bit RISC-V can be indicated by either __riscv_xlen == 64 or ++// RISCV_SIZE == 64, to support toolchains which do not currently ++// support __riscv_xlen. If a macro is undefined, it is considered 0. ++#elif __riscv_xlen == 64 || RISCV_SIZE == 64 ++ ++ addi sp, sp, -64 ++ sd s7, 56(sp) ++ sd s6, 48(sp) ++ sd s5, 40(sp) ++ sd s4, 32(sp) ++ sd s3, 24(sp) ++ sd s2, 16(sp) ++ sd s1, 8(sp) ++ sd s0, 0(sp) ++ ++#else ++// else 32-bit RISC-V is assumed ++ ++ addi sp, sp, -32 ++ sw s7, 28(sp) ++ sw s6, 24(sp) ++ sw s5, 20(sp) ++ sw s4, 16(sp) ++ sw s3, 12(sp) ++ sw s2, 8(sp) ++ sw s1, 4(sp) ++ sw s0, 0(sp) ++ ++#endif +diff --git a/kernels/rviv/bli_kernels_rviv.h b/kernels/rviv/bli_kernels_rviv.h +new file mode 100644 +index 000000000..82a652396 +--- /dev/null ++++ b/kernels/rviv/bli_kernels_rviv.h +@@ -0,0 +1,38 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++*/ ++ ++GEMM_UKR_PROT( float, s, gemm_rviv_4vx4 ) ++GEMM_UKR_PROT( double, d, gemm_rviv_4vx4 ) ++GEMM_UKR_PROT( scomplex, c, gemm_rviv_4vx4 ) ++GEMM_UKR_PROT( dcomplex, z, gemm_rviv_4vx4 ) +diff --git a/travis/do_riscv.sh b/travis/do_riscv.sh +new file mode 100755 +index 000000000..a51d33061 +--- /dev/null ++++ b/travis/do_riscv.sh +@@ -0,0 +1,36 @@ ++#!/bin/bash ++ ++set -e ++set -x ++ ++TAG=2023.02.25 ++ ++# The prebuilt toolchains only support hardfloat, so we only ++# test these for now. ++case $1 in ++ "rv32iv") ++ TARBALL=riscv32-glibc-ubuntu-20.04-nightly-${TAG}-nightly.tar.gz ++ ;; ++ "rv64iv") ++ TARBALL=riscv64-glibc-ubuntu-20.04-nightly-${TAG}-nightly.tar.gz ++ ;; ++ *) ++ exit 1 ++ ;; ++esac ++ ++TOOLCHAIN_PATH=$DIST_PATH/../toolchain ++TOOLCHAIN_URL=https://github.com/riscv-collab/riscv-gnu-toolchain/releases/download/${TAG}/${TARBALL} ++ ++mkdir -p $TOOLCHAIN_PATH ++cd $TOOLCHAIN_PATH ++ ++wget $TOOLCHAIN_URL ++tar -xf $TARBALL ++ ++# Once CI upgrades to jammy, the next three lines can be removed. ++# The qemu version installed via packages (qemu-user qemu-user-binfmt) ++# is sufficient. ++TARBALL_QEMU=qemu-riscv-2023.02.25-ubuntu-20.04.tar.gz ++wget https://github.com/flame/ci-utils/raw/master/riscv/${TARBALL_QEMU} ++tar -xf $TARBALL_QEMU +diff --git a/frame/base/bli_riscv_cpuid.h b/build/detect/riscv/bli_riscv_cpuid.h +similarity index 100% +rename from frame/base/bli_riscv_cpuid.h +rename to build/detect/riscv/bli_riscv_cpuid.h +diff --git a/build/detect/riscv/bli_riscv_detect_abi.h b/build/detect/riscv/bli_riscv_detect_abi.h +new file mode 100644 +index 000000000..a5a373926 +--- /dev/null ++++ b/build/detect/riscv/bli_riscv_detect_abi.h +@@ -0,0 +1,63 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++ ++*/ ++ ++/* Construct a RISC-V ABI string based on available features. */ ++ ++#if __riscv ++ ++#define CAT2(a,b) a##b ++#define CAT(a,b) CAT2(a,b) ++ ++#if __riscv_xlen == 32 ++#define RISCV_INT_ABI ilp32 ++#else ++#define RISCV_INT_ABI lp64 ++#endif ++ ++#if __riscv_abi_rve ++CAT(RISCV_INT_ABI, e) ++#elif __riscv_float_abi_soft ++RISCV_INT_ABI ++#elif __riscv_float_abi_single ++CAT(RISCV_INT_ABI, f) ++#elif __riscv_float_abi_double ++CAT(RISCV_INT_ABI, d) ++#elif __riscv_float_abi_quad ++CAT(RISCV_INT_ABI, q) ++#else ++#error "Unknown RISC-V ABI" ++#endif ++ ++#endif /* __riscv */ +diff --git a/frame/base/bli_riscv_detect_arch.h b/build/detect/riscv/bli_riscv_detect_arch.h +similarity index 72% +rename from frame/base/bli_riscv_detect_arch.h +rename to build/detect/riscv/bli_riscv_detect_arch.h +index 448b0f39d..55542f508 100644 +--- a/frame/base/bli_riscv_detect_arch.h ++++ b/build/detect/riscv/bli_riscv_detect_arch.h +@@ -75,6 +75,12 @@ + #define RISCV_D + #endif + ++#if __riscv_flen >= 128 ++#define RISCV_Q q ++#else ++#define RISCV_Q ++#endif ++ + #if __riscv_c + #define RISCV_C c + #else +@@ -94,6 +100,47 @@ + #define RISCV_V + #endif + ++/* No test currently for Zicsr, which was removed from the base ISA, ++ but F implies Zicsr */ ++#if __riscv_f ++#define RISCV_ZICSR _zicsr ++#else ++#define RISCV_ZICSR ++#endif ++ ++/* No test currently for Zifencei, which was removed from the base ISA */ ++#define RISCV_ZIFENCEI ++ ++#if __riscv_zba ++#define RISCV_ZBA _zba ++#else ++#define RISCV_ZBA ++#endif ++ ++#if __riscv_zbb ++#define RISCV_ZBB _zbb ++#else ++#define RISCV_ZBB ++#endif ++ ++#if __riscv_zbc ++#define RISCV_ZBC _zbc ++#else ++#define RISCV_ZBC ++#endif ++ ++#if __riscv_zbs ++#define RISCV_ZBS _zbs ++#else ++#define RISCV_ZBS ++#endif ++ ++#if __riscv_zfh ++#define RISCV_ZFH _zfh ++#else ++#define RISCV_ZFH ++#endif ++ + #else /* __riscv_arch_test */ + + /* We assume I and E are exclusive when __riscv_arch_test isn't defined */ +@@ -129,6 +176,12 @@ + #define RISCV_D + #endif + ++#if __riscv_flen >= 128 ++#define RISCV_Q q ++#else ++#define RISCV_Q ++#endif ++ + #if __riscv_compressed + #define RISCV_C c + #else +@@ -144,12 +197,29 @@ + #define RISCV_V + #endif + ++/* No test currently for Zicsr, which was removed from the base ISA, but ++ F implies Zicsr */ ++#if __riscv_flen >= 32 ++#define RISCV_ZICSR _zicsr ++#else ++#define RISCV_ZICSR ++#endif ++ ++#define RISCV_ZIFENCEI ++#define RISCV_ZBA ++#define RISCV_ZBB ++#define RISCV_ZBC ++#define RISCV_ZBS ++#define RISCV_ZFH ++ + #endif /* __riscv_arch_test */ + + #define CAT2(a,b) a##b + #define CAT(a,b) CAT2(a,b) + + CAT(rv, CAT(__riscv_xlen, CAT(RISCV_I, CAT(RISCV_E, CAT(RISCV_M, CAT(RISCV_A, +-CAT(RISCV_F, CAT(RISCV_D, CAT(RISCV_C, CAT(RISCV_P, RISCV_V)))))))))) ++CAT(RISCV_F, CAT(RISCV_D, CAT(RISCV_Q, CAT(RISCV_C, CAT(RISCV_P, CAT(RISCV_V, ++CAT(RISCV_ZICSR, CAT(RISCV_ZIFENCEI, CAT(RISCV_ZBA, CAT(RISCV_ZBB, ++CAT(RISCV_ZBC, CAT(RISCV_ZBS, RISCV_ZFH)))))))))))))))))) + + #endif /* __riscv */ +diff --git a/config/rv32i/make_defs.mk b/config/rv32i/make_defs.mk +index 86b7143dd..21128717f 100644 +--- a/config/rv32i/make_defs.mk ++++ b/config/rv32i/make_defs.mk +@@ -46,9 +46,17 @@ THIS_CONFIG := rv32i + # general-purpose/configuration-agnostic flags in common.mk. You + # may specify additional flags here as needed. + CPPROCFLAGS := -DRISCV_SIZE=32 +-# Atomic instructions must be enabled either via hardware +-# (-march=rv32ia) or by linking against libatomic +-CMISCFLAGS := -march=$(shell $(CC) -E frame/base/bli_riscv_detect_arch.h | grep '^[^\#]') -mabi=ilp32 ++ ++RISCV_ARCH := $(shell $(CC) -E build/detect/riscv/bli_riscv_detect_arch.h | grep '^[^\#]') ++RISCV_ABI := $(shell $(CC) -E build/detect/riscv/bli_riscv_detect_abi.h | grep '^[^\#]') ++ ++ifeq (,$(findstring 32,$(RISCV_ARCH))) ++$(error The RISC-V compiler architecture $(RISCV_ARCH) is not compatible with $(THIS_CONFIG)) ++else ifeq (,$(findstring 32,$(RISCV_ABI))) ++$(error The RISC-V compiler ABI $(RISCV_ABI) is not compatible with $(THIS_CONFIG)) ++endif ++ ++CMISCFLAGS := -march=$(RISCV_ARCH) -mabi=$(RISCV_ABI) + CPICFLAGS := + CWARNFLAGS := -Wall -Wno-unused-function -Wfatal-errors + +diff --git a/config/rv32iv/make_defs.mk b/config/rv32iv/make_defs.mk +index e8d9cca57..9daaee3d6 100644 +--- a/config/rv32iv/make_defs.mk ++++ b/config/rv32iv/make_defs.mk +@@ -46,9 +46,17 @@ THIS_CONFIG := rv32iv + # general-purpose/configuration-agnostic flags in common.mk. You + # may specify additional flags here as needed. + CPPROCFLAGS := -DRISCV_SIZE=32 +-# Atomic instructions must be enabled either via hardware +-# (-march=rv32iav) or by linking against libatomic +-CMISCFLAGS := -march=$(shell $(CC) -DFORCE_RISCV_VECTOR -E frame/base/bli_riscv_detect_arch.h | grep '^[^\#]') -mabi=ilp32d ++ ++RISCV_ARCH := $(shell $(CC) -DFORCE_RISCV_VECTOR -E build/detect/riscv/bli_riscv_detect_arch.h | grep '^[^\#]') ++RISCV_ABI := $(shell $(CC) -DFORCE_RISCV_VECTOR -E build/detect/riscv/bli_riscv_detect_abi.h | grep '^[^\#]') ++ ++ifeq (,$(findstring 32,$(RISCV_ARCH))) ++$(error The RISC-V compiler architecture $(RISCV_ARCH) is not compatible with $(THIS_CONFIG)) ++else ifeq (,$(findstring 32,$(RISCV_ABI))) ++$(error The RISC-V compiler ABI $(RISCV_ABI) is not compatible with $(THIS_CONFIG)) ++endif ++ ++CMISCFLAGS := -march=$(RISCV_ARCH) -mabi=$(RISCV_ABI) + CPICFLAGS := + CWARNFLAGS := -Wall -Wno-unused-function -Wfatal-errors + +diff --git a/config/rv64i/make_defs.mk b/config/rv64i/make_defs.mk +index bee21ed0d..7c055f012 100644 +--- a/config/rv64i/make_defs.mk ++++ b/config/rv64i/make_defs.mk +@@ -46,7 +46,17 @@ THIS_CONFIG := rv64i + # general-purpose/configuration-agnostic flags in common.mk. You + # may specify additional flags here as needed. + CPPROCFLAGS := -DRISCV_SIZE=64 +-CMISCFLAGS := -march=$(shell $(CC) -E frame/base/bli_riscv_detect_arch.h | grep '^[^\#]') -mabi=lp64 ++ ++RISCV_ARCH := $(shell $(CC) -E build/detect/riscv/bli_riscv_detect_arch.h | grep '^[^\#]') ++RISCV_ABI := $(shell $(CC) -E build/detect/riscv/bli_riscv_detect_abi.h | grep '^[^\#]') ++ ++ifeq (,$(findstring 64,$(RISCV_ARCH))) ++$(error The RISC-V compiler architecture $(RISCV_ARCH) is not compatible with $(THIS_CONFIG)) ++else ifeq (,$(findstring 64,$(RISCV_ABI))) ++$(error The RISC-V compiler ABI $(RISCV_ABI) is not compatible with $(THIS_CONFIG)) ++endif ++ ++CMISCFLAGS := -march=$(RISCV_ARCH) -mabi=$(RISCV_ABI) + CPICFLAGS := + CWARNFLAGS := -Wall -Wno-unused-function -Wfatal-errors + +diff --git a/config/rv64iv/make_defs.mk b/config/rv64iv/make_defs.mk +index 1c9849fbe..9ec5a889a 100644 +--- a/config/rv64iv/make_defs.mk ++++ b/config/rv64iv/make_defs.mk +@@ -46,7 +46,17 @@ THIS_CONFIG := rv64iv + # general-purpose/configuration-agnostic flags in common.mk. You + # may specify additional flags here as needed. + CPPROCFLAGS := -DRISCV_SIZE=64 +-CMISCFLAGS := -march=$(shell $(CC) -DFORCE_RISCV_VECTOR -E frame/base/bli_riscv_detect_arch.h | grep '^[^\#]') -mabi=lp64d ++ ++RISCV_ARCH := $(shell $(CC) -DFORCE_RISCV_VECTOR -E build/detect/riscv/bli_riscv_detect_arch.h | grep '^[^\#]') ++RISCV_ABI := $(shell $(CC) -DFORCE_RISCV_VECTOR -E build/detect/riscv/bli_riscv_detect_abi.h | grep '^[^\#]') ++ ++ifeq (,$(findstring 64,$(RISCV_ARCH))) ++$(error The RISC-V compiler architecture $(RISCV_ARCH) is not compatible with $(THIS_CONFIG)) ++else ifeq (,$(findstring 64,$(RISCV_ABI))) ++$(error The RISC-V compiler ABI $(RISCV_ABI) is not compatible with $(THIS_CONFIG)) ++endif ++ ++CMISCFLAGS := -march=$(RISCV_ARCH) -mabi=$(RISCV_ABI) + CPICFLAGS := + CWARNFLAGS := -Wall -Wno-unused-function -Wfatal-errors + +diff --git a/configure b/configure +index 6938d47cd..f87093cad 100755 +--- a/configure ++++ b/configure +@@ -1252,7 +1252,7 @@ auto_detect() + # Special case for RISC-V, whose architecture can be detected with + # preprocessor macros alone. This avoids having to run RISC-V binaries + # on a cross-compiler host. Returns "generic" if RISC-V not detected. +- riscv_config=$(${cmd} -E "${dist_path}/frame/base/bli_riscv_cpuid.h" | ++ riscv_config=$(${cmd} -E "${dist_path}/build/detect/riscv/bli_riscv_cpuid.h" | + grep '^[^#]') + if [[ $riscv_config != *generic* ]]; then + echo "${riscv_config}" From 4defaa6f3a26e51400e5597f0d3a79367e168f01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Fri, 3 May 2024 14:47:56 +0200 Subject: [PATCH 521/889] apply additional patch for RISC-V --- .../easyconfigs/b/BLIS/BLIS-0.9.0-GCC-13.2.0.eb | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0-GCC-13.2.0.eb b/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0-GCC-13.2.0.eb index 17fa98dc916..0b0e5bb7de7 100644 --- a/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0-GCC-13.2.0.eb +++ b/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0-GCC-13.2.0.eb @@ -16,12 +16,16 @@ patches = [ '%(name)s-%(version)s_enable_ppc_autodetect.patch', ] checksums = [ - '1135f664be7355427b91025075562805cdc6cc730d3173f83533b2c5dcc2f308', # 0.9.0.tar.gz - # BLIS-0.9.0_disable_power9_kernels.patch - 'ed7a326bc5c5c21c42faefbec2fd7be609d1c7236981b466475edace39307279', - # BLIS-0.9.0_enable_ppc_autodetect.patch - 'f373fb252c0d14036fb631f048091976cceb02abb3e570a97fbaeac2fbb12328', + {'0.9.0.tar.gz': '1135f664be7355427b91025075562805cdc6cc730d3173f83533b2c5dcc2f308'}, + {'BLIS-0.9.0_disable_power9_kernels.patch': 'ed7a326bc5c5c21c42faefbec2fd7be609d1c7236981b466475edace39307279'}, + {'BLIS-0.9.0_enable_ppc_autodetect.patch': 'f373fb252c0d14036fb631f048091976cceb02abb3e570a97fbaeac2fbb12328'}, ] + +if ARCH == "riscv64": + patches += ['BLIS-0.9.0_add-riscv-support.patch'] + checksums += [{'BLIS-0.9.0_add-riscv-support.patch': + '3610fa2e9f0e10c9e921865eb65966748392acb9cd8b17e43775c5a92f8d9f39'}] + builddependencies = [ ('Python', '3.11.5'), ('Perl', '5.38.0'), From 62bd7e11c86220dd82499d59f50be52b2681430e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Fri, 3 May 2024 14:48:17 +0200 Subject: [PATCH 522/889] adding easyconfigs: plantri-5.4-GCCcore-13.2.0.eb --- .../p/plantri/plantri-5.4-GCCcore-13.2.0.eb | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 easybuild/easyconfigs/p/plantri/plantri-5.4-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/p/plantri/plantri-5.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/plantri/plantri-5.4-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..96423f3f80b --- /dev/null +++ b/easybuild/easyconfigs/p/plantri/plantri-5.4-GCCcore-13.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'MakeCp' + +name = 'plantri' +version = '5.4' + +homepage = 'https://doc.sagemath.org/html/en/reference/spkg/plantri.html' +description = """Plantri is a program that generates certain types of graphs that are imbedded on the sphere. +Exactly one member of each isomorphism class is output, +using an amount of memory almost independent of the number of graphs produced. +This, together with the exceptionally fast operation and careful validation, +makes the program suitable for processing very large numbers of graphs. +Isomorphisms are defined with respect to the embeddings, +so in some cases outputs may be isomorphic as abstract graphs.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://users.cecs.anu.edu.au/~bdm/plantri'] +sources = ['plantri%s.tar.gz' % version.replace('.', '')] +checksums = ['10625820bd1eae7376a9cbe8af8ffaba71a25fcb6a76c36fe89be83ce6c28bdd'] + +builddependencies = [('binutils', '2.40')] + +buildopts = 'CC="$CC" CFLAGS="$CFLAGS"' + +local_bins = ['plantri', 'fullgen'] + +files_to_copy = [ + (local_bins, 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bins], + 'dirs': [], +} + +sanity_check_commands = ['%(name)s --help'] + +moduleclass = 'vis' From a7ba79c122ae3cc25c8862795112d3b39b91f5df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Fri, 3 May 2024 15:35:11 +0200 Subject: [PATCH 523/889] adding easyconfigs: Singular-4.4.0-gfbf-2023b.eb, cddlib-0.94m-GCCcore-13.2.0.eb, 4ti2-1.6.10-GCC-13.2.0.eb --- .../0/4ti2/4ti2-1.6.10-GCC-13.2.0.eb | 30 ++++++++++++ .../c/cddlib/cddlib-0.94m-GCCcore-13.2.0.eb | 38 +++++++++++++++ .../s/Singular/Singular-4.4.0-gfbf-2023b.eb | 47 +++++++++++++++++++ 3 files changed, 115 insertions(+) create mode 100644 easybuild/easyconfigs/0/4ti2/4ti2-1.6.10-GCC-13.2.0.eb create mode 100644 easybuild/easyconfigs/c/cddlib/cddlib-0.94m-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/s/Singular/Singular-4.4.0-gfbf-2023b.eb diff --git a/easybuild/easyconfigs/0/4ti2/4ti2-1.6.10-GCC-13.2.0.eb b/easybuild/easyconfigs/0/4ti2/4ti2-1.6.10-GCC-13.2.0.eb new file mode 100644 index 00000000000..5bfd73b4635 --- /dev/null +++ b/easybuild/easyconfigs/0/4ti2/4ti2-1.6.10-GCC-13.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = '4ti2' +version = '1.6.10' + +homepage = 'https://4ti2.github.io/' +description = """A software package for algebraic, geometric and combinatorial problems on linear spaces""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +github_account = '4ti2' +source_urls = [GITHUB_SOURCE] +sources = ['Release_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['2f1bce3203da65b651d68cbd0ace0f89a16d1f436cf5f24e22bc15ec22df936a'] + +dependencies = [ + ('GMP', '6.3.0'), + ('GLPK', '5.0'), +] + +builddependencies = [('Autotools', '20220317')] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['4ti2gmp', '4ti2int32', '4ti2int64']], + 'dirs': ['include/4ti2', 'lib', 'share'] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/c/cddlib/cddlib-0.94m-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/cddlib/cddlib-0.94m-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..c747475d137 --- /dev/null +++ b/easybuild/easyconfigs/c/cddlib/cddlib-0.94m-GCCcore-13.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'cddlib' +version = '0.94m' + +homepage = 'https://github.com/cddlib/cddlib' +description = "An efficient implementation of the Double Description Method" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +github_account = 'cddlib' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['766d8ec2135989830748e5e2fe57f307ed0706431c135541c3c081cbec0bc34f'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.40'), +] + +dependencies = [('GMP', '6.3.0')] + +preconfigopts = "autoreconf -f -i && " + +buildopts = "SUBDIRS='lib-src src'" # build sources but spare the documentation in latex +installopts = buildopts + +local_exes = ['adjacency', 'allfaces', 'cddexec', 'fourier', 'lcdd', 'projection', 'redcheck', 'scdd', 'testcdd1', + 'testcdd2', 'testlp1', 'testlp2', 'testlp3', 'testshoot'] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_exes] + ['bin/%s_gmp' % x for x in local_exes] + + ['lib/%s.%s' % (l, e) for l in ['libcdd', 'libcddgmp'] for e in ['a', SHLIB_EXT]] + + ['include/cddlib/%s.h' % h for h in ['cdd', 'cddmp', 'cddtypes', 'setoper', 'splitmix64']], + 'dirs': ['share/doc'] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/Singular/Singular-4.4.0-gfbf-2023b.eb b/easybuild/easyconfigs/s/Singular/Singular-4.4.0-gfbf-2023b.eb new file mode 100644 index 00000000000..b68c9946147 --- /dev/null +++ b/easybuild/easyconfigs/s/Singular/Singular-4.4.0-gfbf-2023b.eb @@ -0,0 +1,47 @@ +easyblock = 'ConfigureMake' + +name = 'Singular' +version = '4.4.0' + +homepage = 'https://www.singular.uni-kl.de/' +description = """Singular is a computer algebra system for polynomial computations, +with special emphasis on commutative and non-commutative algebra, algebraic geometry, +and singularity theory.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Singular/Singular/archive/refs/tags/'] +sources = ['Release-%s.tar.gz' % version.replace('.', '-')] +checksums = ['b60063628a223b2519e1d44310e05bc664b671735466da3ec192969681d2772c'] + +builddependencies = [ + ('Autotools', '20220317'), + ('Doxygen', '1.9.8'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('libreadline', '8.2'), + ('GMP', '6.3.0'), + ('MPFR', '4.2.1'), + ('FLINT', '3.1.1'), + ('NTL', '11.5.1'), + ('cddlib', '0.94m'), + ('4ti2', '1.6.10'), +] + +preconfigopts = "./autogen.sh && " +configopts = "--with-gmp=$EBROOTGMP --with-flint=$EBROOTFLINT --with-ntl=$EBROOTNTL" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['ESingular', 'Singular', 'TSingular', 'libpolys-config', 'libsingular-config']] + + ['lib/lib%s.%s' % (l, e) for l in ['Singular', 'factory', 'omalloc', 'polys', 'singular_resources'] + for e in ['a', SHLIB_EXT]], + 'dirs': ['include/%s' % h for h in ['factory', 'omalloc', 'resources', 'singular']] + + ['libexec/singular', 'share'], +} + +sanity_check_commands = ["Singular --help"] + +moduleclass = 'math' From cfd17de249c9e3f97daaa1914d52798f45c3db5f Mon Sep 17 00:00:00 2001 From: sassy Date: Fri, 3 May 2024 14:51:25 +0100 Subject: [PATCH 524/889] adding easyconfigs: libspatialindex-1.9.3-GCCcore-12.3.0.eb, libsupermesh-2025-01-25-foss-2023a.eb, Rtree-1.2.0-GCCcore-12.3.0.eb --- .../libspatialindex-1.9.3-GCCcore-12.3.0.eb | 25 +++++++++++++ .../libsupermesh-2025-01-25-foss-2023a.eb | 35 +++++++++++++++++++ .../r/Rtree/Rtree-1.2.0-GCCcore-12.3.0.eb | 28 +++++++++++++++ 3 files changed, 88 insertions(+) create mode 100644 easybuild/easyconfigs/l/libspatialindex/libspatialindex-1.9.3-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/l/libsupermesh/libsupermesh-2025-01-25-foss-2023a.eb create mode 100644 easybuild/easyconfigs/r/Rtree/Rtree-1.2.0-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/l/libspatialindex/libspatialindex-1.9.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libspatialindex/libspatialindex-1.9.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..82f6fde1515 --- /dev/null +++ b/easybuild/easyconfigs/l/libspatialindex/libspatialindex-1.9.3-GCCcore-12.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'CMakeMake' + +name = 'libspatialindex' +version = '1.9.3' + +homepage = 'https://libspatialindex.org' +description = """C++ implementation of R*-tree, an MVR-tree and a TPR-tree with C API""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/libspatialindex/libspatialindex/releases/download/%(version)s/'] +sources = ['spatialindex-src-%(version)s.tar.gz'] +checksums = ['47d8779e32477b330e46b62fb7e62cb812caee5d8e684c35cb635a42a749f3fc'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +sanity_check_paths = { + 'files': ['lib/libspatialindex.%s' % SHLIB_EXT], + 'dirs': ['include/spatialindex'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libsupermesh/libsupermesh-2025-01-25-foss-2023a.eb b/easybuild/easyconfigs/l/libsupermesh/libsupermesh-2025-01-25-foss-2023a.eb new file mode 100644 index 00000000000..d0c5e1de51f --- /dev/null +++ b/easybuild/easyconfigs/l/libsupermesh/libsupermesh-2025-01-25-foss-2023a.eb @@ -0,0 +1,35 @@ +# Author J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'libsupermesh' +version = '2025-01-25' +local_commit = '84becef14eb117defa49354116c04aa180471a07' + +homepage = 'https://github.com/firedrakeproject/libsupermesh' +description = "libsupermesh parallel supermeshing library." + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/firedrakeproject/libsupermesh/archive/%s' % local_commit] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['c8a13609f9eaabc5a2635808eaa90013aff5b724c9edf50280f869b6f5c51ae6'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Rtree', '1.2.0'), + ('libspatialindex', '1.9.3'), +] + +sanity_check_paths = { + 'files': ['include/%(name)s.h', 'lib/%(name)s.a'], + 'dirs': [], +} + +test_cmd = 'ctest' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/r/Rtree/Rtree-1.2.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/r/Rtree/Rtree-1.2.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..e3bb2351383 --- /dev/null +++ b/easybuild/easyconfigs/r/Rtree/Rtree-1.2.0-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'Rtree' +version = '1.2.0' + +homepage = 'https://toblerity.org/rtree/' +description = """Rtree is a ctypes Python wrapper of libspatialindex that provides a number of advanced spatial + indexing features for the spatially curious Python user.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['f5145f7852bf7f95c126fb16bf1a4c2ca9300ae151b07f8a0f7083ea47912675'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('libspatialindex', '1.9.3'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +moduleclass = 'data' From 39c2c2fa295242ccaf1cf6b9d1bf23fe2e292361 Mon Sep 17 00:00:00 2001 From: sassy Date: Fri, 3 May 2024 15:01:34 +0100 Subject: [PATCH 525/889] adding easyconfigs: petsc4py-3.20.3-foss-2023a.eb --- .../p/petsc4py/petsc4py-3.20.3-foss-2023a.eb | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 easybuild/easyconfigs/p/petsc4py/petsc4py-3.20.3-foss-2023a.eb diff --git a/easybuild/easyconfigs/p/petsc4py/petsc4py-3.20.3-foss-2023a.eb b/easybuild/easyconfigs/p/petsc4py/petsc4py-3.20.3-foss-2023a.eb new file mode 100644 index 00000000000..da89786496b --- /dev/null +++ b/easybuild/easyconfigs/p/petsc4py/petsc4py-3.20.3-foss-2023a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'petsc4py' +version = '3.20.3' + +homepage = 'https://gitlab.com/petsc/petsc' +description = """petsc4py are Python bindings for PETSc, the Portable, +Extensible Toolchain for Scientific Computation.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['8e10884df5ca38191b71294dc7e89f7479b18cca83fedfe27f89105e57c40785'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('PETSc', version), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_commands = ["python -c 'from petsc4py import PETSc'"] + +moduleclass = 'tools' From 1e4e766999561f9e17005c3b2d307b521d11e343 Mon Sep 17 00:00:00 2001 From: WilleBell Date: Fri, 3 May 2024 16:47:35 +0200 Subject: [PATCH 526/889] adding easyconfigs: hmmcopy_utils-20210728-GCCcore-12.3.0.eb --- .../hmmcopy_utils-20210728-GCCcore-12.3.0.eb | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 easybuild/easyconfigs/h/hmmcopy_utils/hmmcopy_utils-20210728-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/h/hmmcopy_utils/hmmcopy_utils-20210728-GCCcore-12.3.0.eb b/easybuild/easyconfigs/h/hmmcopy_utils/hmmcopy_utils-20210728-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..adbbf7e4a35 --- /dev/null +++ b/easybuild/easyconfigs/h/hmmcopy_utils/hmmcopy_utils-20210728-GCCcore-12.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'hmmcopy_utils' +version = '20210728' +_commit = '29a8d1d' + +homepage = 'https://github.com/shahcompbio/hmmcopy_utils' +description = """ +Tools for extracting read counts and gc and mappability statistics in preparation for running +HMMCopy. +""" +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'shahcompbio' +source_urls = ['https://github.com/shahcompbio/hmmcopy_utils/archive'] +sources = ['%s.tar.gz' % _commit] +checksums = ['84f6ed50e6124c3774b96660939d49fc81ca1568887510b7368a5005860b0850'] + +builddependencies = [('CMake', '3.26.3')] + +skipsteps = ['install'] + +postinstallcmds = [ + 'cp -a %(builddir)s/easybuild_obj/bin %(installdir)s/', + 'cp -a %(start_dir)s/util %(installdir)s/', + 'cp -a %(start_dir)s/lib %(installdir)s/', +] + +sanity_check_paths = { + 'files': ['bin/readCounter', 'bin/mapCounter', 'bin/gcCounter'], + 'dirs': ['util', 'lib'], +} + +sanity_check_commands = [ + "mapCounter --help", + "gcCounter --help", + "readCounter --help", +] + +moduleclass = 'bio' From f686b8ea3496af0a32f52f8cface5d89f1844c0a Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 3 May 2024 17:27:18 +0200 Subject: [PATCH 527/889] remove commented out lines from UCX 1.16.0 easyconfig --- easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.2.0.eb | 2 -- 1 file changed, 2 deletions(-) diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.2.0.eb index c184001f87c..204af6d108a 100644 --- a/easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.2.0.eb @@ -22,8 +22,6 @@ checksums = [ {'UCX-1.13.1-dynamic_modules.patch': '00874687bd90b795fff61aaa183f6c6bea2210aa1003b28f23d9ebf7066f8782'}, ] -# Uncomment when updating to final release -# sources = ['%(namelower)s-%(version)s.tar.gz'] builddependencies = [ ('binutils', '2.40'), ('Autotools', '20220317'), From c90cca87cdddca7f5c3dbd51c36f01f66224ef73 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 3 May 2024 19:49:01 +0200 Subject: [PATCH 528/889] adding easyconfigs: MACS3-3.0.1-foss-2022b.eb --- .../m/MACS3/MACS3-3.0.1-foss-2022b.eb | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 easybuild/easyconfigs/m/MACS3/MACS3-3.0.1-foss-2022b.eb diff --git a/easybuild/easyconfigs/m/MACS3/MACS3-3.0.1-foss-2022b.eb b/easybuild/easyconfigs/m/MACS3/MACS3-3.0.1-foss-2022b.eb new file mode 100644 index 00000000000..a8dcdeb068b --- /dev/null +++ b/easybuild/easyconfigs/m/MACS3/MACS3-3.0.1-foss-2022b.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'MACS3' +version = '3.0.1' + +homepage = 'https://macs3-project.github.io/MACS/' +description = """Model Based Analysis for ChIP-Seq data""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +builddependencies = [ + ('pybind11', '2.10.3'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('matplotlib', '3.7.0'), + ('hmmlearn', '0.3.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('cykhash', '2.0.1', { + 'checksums': ['b4794bc9f549114d8cf1d856d9f64e08ff5f246bf043cf369fdb414e9ceb97f7'], + }), + (name, version, { + 'checksums': ['b07ca6e84a71aab29589f63e3dff96049aa6739e055a629125b31c788c877016'], + 'preinstallopts': "sed -i 's/scipy>=1.11.4/scipy>=1.10/g' setup.py && ", + 'modulename': 'MACS3', + }), +] + +sanity_check_commands = ["macs3 --help"] + +moduleclass = 'bio' From a279699197ecfe511ec95ee8a0fb9f81497821cd Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 3 May 2024 19:50:26 +0200 Subject: [PATCH 529/889] {bio}[foss/2022b] ArchR v1.0.2, presto v1.0.0-20230501 w/ R 4.2.2 --- .../a/ArchR/ArchR-1.0.2-foss-2022b-R-4.2.2.eb | 27 +++++++++++++++++ ...resto-1.0.0-20230501-foss-2022b-R-4.2.2.eb | 29 +++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 easybuild/easyconfigs/a/ArchR/ArchR-1.0.2-foss-2022b-R-4.2.2.eb create mode 100644 easybuild/easyconfigs/p/presto/presto-1.0.0-20230501-foss-2022b-R-4.2.2.eb diff --git a/easybuild/easyconfigs/a/ArchR/ArchR-1.0.2-foss-2022b-R-4.2.2.eb b/easybuild/easyconfigs/a/ArchR/ArchR-1.0.2-foss-2022b-R-4.2.2.eb new file mode 100644 index 00000000000..98e3a1c19f3 --- /dev/null +++ b/easybuild/easyconfigs/a/ArchR/ArchR-1.0.2-foss-2022b-R-4.2.2.eb @@ -0,0 +1,27 @@ +easyblock = 'RPackage' + +name = 'ArchR' +version = '1.0.2' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://www.archrproject.com' +description = "ArchR is a full-featured R package for processing and analyzing single-cell ATAC-seq data." + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://github.com/GreenleafLab/ArchR/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['afe4d82975e9d75018e9ec9fda3d116f34f99ad1d45990cbc5a2be7dea8df352'] + +dependencies = [ + ('R', '4.2.2'), + ('R-bundle-Bioconductor', '3.16', versionsuffix), + ('presto', '1.0.0-20230501', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(name)s'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/presto/presto-1.0.0-20230501-foss-2022b-R-4.2.2.eb b/easybuild/easyconfigs/p/presto/presto-1.0.0-20230501-foss-2022b-R-4.2.2.eb new file mode 100644 index 00000000000..fa760d42006 --- /dev/null +++ b/easybuild/easyconfigs/p/presto/presto-1.0.0-20230501-foss-2022b-R-4.2.2.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'presto' +local_commit = '31dc97f' +# see DESCRIPTION to determine version, +# but also take date of last commit into account (since version isn't always bumped) +version = '1.0.0-20230501' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/immunogenomics/presto' +description = "Presto performs a fast Wilcoxon rank sum test and auROC analysis." + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://github.com/immunogenomics/presto/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['720ef58aba219af03344e0ae0408fc48feda50e6b7f7f4af2251eb24ce1bfb88'] + +dependencies = [ + ('R', '4.2.2'), + ('R-bundle-Bioconductor', '3.16', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'math' From 131c3582bc250659a4b8d9f319b5f991df79ce02 Mon Sep 17 00:00:00 2001 From: Sam Moors Date: Sun, 5 May 2024 09:34:07 +0200 Subject: [PATCH 530/889] remove PyTorch versionsuffix --- .../Lightning-2.2.1-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/l/Lightning/Lightning-2.2.1-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb b/easybuild/easyconfigs/l/Lightning/Lightning-2.2.1-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb index f498e76404b..f92fd739953 100644 --- a/easybuild/easyconfigs/l/Lightning/Lightning-2.2.1-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/l/Lightning/Lightning-2.2.1-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb @@ -2,8 +2,7 @@ easyblock = 'PythonPackage' name = 'Lightning' version = '2.2.1' -local_pytorch_version = '2.1.2' -versionsuffix = '-PyTorch-' + local_pytorch_version + '-CUDA-%(cudaver)s' +versionsuffix = '-CUDA-%(cudaver)s' homepage = 'https://github.com/Lightning-AI/pytorch-lightning' description = """ @@ -23,11 +22,10 @@ checksums = ['b3e46d596b32cafd1fb9b21fdba1b1767df97b1af5cc702693d1c51df60b19aa'] dependencies = [ ('CUDA', '12.1.1', '', SYSTEM), ('Python', '3.11.3'), - ('PyTorch', local_pytorch_version, '-CUDA-%(cudaver)s'), + ('PyTorch', '2.1.2', '-CUDA-%(cudaver)s'), ('PyTorch-Lightning', version, '-CUDA-%(cudaver)s'), ] - download_dep_fail = True use_pip = True sanity_pip_check = True From 566fb43fbedbbe0a152dc431817eec4147012703 Mon Sep 17 00:00:00 2001 From: Samuel Moors Date: Sun, 5 May 2024 09:55:20 +0200 Subject: [PATCH 531/889] rename easyconfig --- ...2-CUDA-12.1.1.eb => Lightning-2.2.1-foss-2023a-CUDA-12.1.1.eb} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/l/Lightning/{Lightning-2.2.1-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb => Lightning-2.2.1-foss-2023a-CUDA-12.1.1.eb} (100%) diff --git a/easybuild/easyconfigs/l/Lightning/Lightning-2.2.1-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb b/easybuild/easyconfigs/l/Lightning/Lightning-2.2.1-foss-2023a-CUDA-12.1.1.eb similarity index 100% rename from easybuild/easyconfigs/l/Lightning/Lightning-2.2.1-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb rename to easybuild/easyconfigs/l/Lightning/Lightning-2.2.1-foss-2023a-CUDA-12.1.1.eb From fb33cafb2850a77a287f8e5205231044b19dbdaa Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sun, 5 May 2024 19:10:37 +0200 Subject: [PATCH 532/889] adding easyconfigs: MACS2-2.2.9.1-foss-2023a.eb --- .../m/MACS2/MACS2-2.2.9.1-foss-2023a.eb | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 easybuild/easyconfigs/m/MACS2/MACS2-2.2.9.1-foss-2023a.eb diff --git a/easybuild/easyconfigs/m/MACS2/MACS2-2.2.9.1-foss-2023a.eb b/easybuild/easyconfigs/m/MACS2/MACS2-2.2.9.1-foss-2023a.eb new file mode 100644 index 00000000000..4a84341d4bc --- /dev/null +++ b/easybuild/easyconfigs/m/MACS2/MACS2-2.2.9.1-foss-2023a.eb @@ -0,0 +1,35 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'PythonPackage' + +name = 'MACS2' +version = '2.2.9.1' + +homepage = 'https://github.com/taoliu/MACS' +description = "Model Based Analysis for ChIP-Seq data" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['8d56bc37fb823fc6387d78138ce968405c54a0a8cd9776682705fd0983252d16'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True +download_dep_fail = True + +sanity_check_paths = { + 'files': ['bin/macs2'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [('%(namelower)s --version')] + +options = {'modulename': name} + +sanity_pip_check = True + +moduleclass = 'bio' From 5ed9e195f77f901e5fe9819eeb830f7234c831d9 Mon Sep 17 00:00:00 2001 From: Cintia Willemyns <115622907+WilleBell@users.noreply.github.com> Date: Mon, 6 May 2024 10:13:40 +0200 Subject: [PATCH 533/889] Update hmmcopy_utils-20210728-GCCcore-12.3.0.eb Add binutils as build dependency --- .../h/hmmcopy_utils/hmmcopy_utils-20210728-GCCcore-12.3.0.eb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/h/hmmcopy_utils/hmmcopy_utils-20210728-GCCcore-12.3.0.eb b/easybuild/easyconfigs/h/hmmcopy_utils/hmmcopy_utils-20210728-GCCcore-12.3.0.eb index adbbf7e4a35..9ebfd1fb500 100644 --- a/easybuild/easyconfigs/h/hmmcopy_utils/hmmcopy_utils-20210728-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/h/hmmcopy_utils/hmmcopy_utils-20210728-GCCcore-12.3.0.eb @@ -16,7 +16,10 @@ source_urls = ['https://github.com/shahcompbio/hmmcopy_utils/archive'] sources = ['%s.tar.gz' % _commit] checksums = ['84f6ed50e6124c3774b96660939d49fc81ca1568887510b7368a5005860b0850'] -builddependencies = [('CMake', '3.26.3')] +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), +] skipsteps = ['install'] From 3eb65d40252f529ee10af05c08830adc3b3c1929 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Mon, 6 May 2024 12:53:57 +0200 Subject: [PATCH 534/889] update fsspec version to be compatible with s3fs --- easybuild/easyconfigs/s/Squidpy/Squidpy-1.4.1-foss-2023a.eb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/s/Squidpy/Squidpy-1.4.1-foss-2023a.eb b/easybuild/easyconfigs/s/Squidpy/Squidpy-1.4.1-foss-2023a.eb index 224bb3a8638..e57500557b2 100644 --- a/easybuild/easyconfigs/s/Squidpy/Squidpy-1.4.1-foss-2023a.eb +++ b/easybuild/easyconfigs/s/Squidpy/Squidpy-1.4.1-foss-2023a.eb @@ -97,6 +97,7 @@ exts_list = [ 'checksums': ['07db47c3358bdfad9688a5ee8064a219ec72a43deb65e30bd4e591adfe35d10f'], }), ('spatialdata', '0.0.15', { + 'preinstallopts': "sed -i 's/fsspec<=2023.6/fsspec/g' pyproject.toml &&", 'checksums': ['7372b13b9fa84c0eadcbfca2f2cd354a9ae8dd370401745d55d572864eb4dc75'], }), ('validators', '0.22.0', { @@ -111,8 +112,8 @@ exts_list = [ ('matplotlib-scalebar', '0.8.1', { 'checksums': ['14887af1093579c5e6afae51a0a1ecc3f715cdbc5c4d7ef59cdeec76ee6bb15d'], }), - ('fsspec', '2023.6.0', { - 'checksums': ['d0b2f935446169753e7a5c5c55681c54ea91996cc67be93c39a154fb3a2742af'], + ('fsspec', '2024.2.0', { + 'checksums': ['b6ad1a679f760dda52b1168c859d01b7b80648ea6f7f7c7f5a8a91dc3f3ecb84'], }), ('docrep', '0.3.2', { 'checksums': ['ed8a17e201abd829ef8da78a0b6f4d51fb99a4cbd0554adbed3309297f964314'], From a5fb906ef7ac1270dc8a7ce9f36668e61a09f0ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Mon, 6 May 2024 14:44:34 +0200 Subject: [PATCH 535/889] adding easyconfigs: eclib-20240408-GCC-13.2.0.eb, PARI-GP-2.15.5-GCCcore-13.2.0.eb --- .../e/eclib/eclib-20240408-GCC-13.2.0.eb | 36 +++++++++++++++++ .../PARI-GP/PARI-GP-2.15.5-GCCcore-13.2.0.eb | 39 +++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 easybuild/easyconfigs/e/eclib/eclib-20240408-GCC-13.2.0.eb create mode 100644 easybuild/easyconfigs/p/PARI-GP/PARI-GP-2.15.5-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/e/eclib/eclib-20240408-GCC-13.2.0.eb b/easybuild/easyconfigs/e/eclib/eclib-20240408-GCC-13.2.0.eb new file mode 100644 index 00000000000..10142dd830f --- /dev/null +++ b/easybuild/easyconfigs/e/eclib/eclib-20240408-GCC-13.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'eclib' +version = '20240408' + +homepage = 'https://github.com/JohnCremona/eclib' +description = """The eclib package includes mwrank (for 2-descent on elliptic curves over Q) + and modular symbol code used to create the elliptic curve database.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = ['https://github.com/JohnCremona/eclib/releases/download/v%(version)s'] +sources = [SOURCE_TAR_BZ2] +checksums = ['3ba908e2019de53fcba141449caa6fa82f03605bf83bf9da8092df538adabe7c'] + +builddependencies = [('Autotools', '20220317')] + +dependencies = [ + ('NTL', '11.5.1'), + ('PARI-GP', '2.15.5'), +] + +preconfigopts = "autoreconf --install && " + +configopts = "--with-ntl=$EBROOTNTL --with-pari=$EBROOTPARI" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['ecnf', 'mwrank', 'pcurve', 'qexp']] + + ['include/eclib/%s.h' % h for h in ['curve', 'egr', 'vector']] + + ['lib/libec.%s' % e for e in ['a', SHLIB_EXT]], + 'dirs': ['share'], +} + +sanity_check_commands = ["mwrank -h"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/PARI-GP/PARI-GP-2.15.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PARI-GP/PARI-GP-2.15.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..9dd9e9856e4 --- /dev/null +++ b/easybuild/easyconfigs/p/PARI-GP/PARI-GP-2.15.5-GCCcore-13.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'PARI-GP' +version = '2.15.5' + +homepage = 'https://pari.math.u-bordeaux.fr' +description = """PARI/GP is a widely used computer algebra system designed for fast computations in number theory + (factorizations, algebraic number theory, elliptic curves...), but also contains a large number of other useful + functions to compute with mathematical entities such as matrices, polynomials, power series, algebraic numbers etc., + and a lot of transcendental functions. PARI is also available as a C library to allow for faster computations. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://pari.math.u-bordeaux.fr/pub/pari/unix/'] +sources = ['pari-%(version)s.tar.gz'] +checksums = ['0efdda7515d9d954f63324c34b34c560e60f73a81c3924a71260a2cc91d5f981'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('libreadline', '8.2'), + ('ncurses', '6.4'), +] + +skipsteps = ['configure'] + +prebuildopts = './Configure --prefix=%(installdir)s &&' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['gp', 'gp-2.15', 'gphelp', 'tex2mail']] + + ['include/pari/%s' % x for x in ['pari.h', 'genpari.h']], + 'dirs': ['bin', 'include'] +} + +sanity_check_commands = ["gp --help"] + +moduleclass = 'math' + From 5e856ae7e26b7d2ed00a65bd8b59c60244ca282e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Mon, 6 May 2024 14:57:34 +0200 Subject: [PATCH 536/889] adding easyconfigs: lcalc-2.0.5-GCCcore-13.2.0.eb, gengetopt-2.23-GCCcore-13.2.0.eb --- .../gengetopt-2.23-GCCcore-13.2.0.eb | 27 +++++++++++++ .../l/lcalc/lcalc-2.0.5-GCCcore-13.2.0.eb | 38 +++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 easybuild/easyconfigs/g/gengetopt/gengetopt-2.23-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/l/lcalc/lcalc-2.0.5-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/g/gengetopt/gengetopt-2.23-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/gengetopt/gengetopt-2.23-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..c6654530643 --- /dev/null +++ b/easybuild/easyconfigs/g/gengetopt/gengetopt-2.23-GCCcore-13.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'gengetopt' +version = '2.23' + +homepage = 'https://www.gnu.org/software/gengetopt/gengetopt.html' +description = "Gengetopt is a tool to write command line option parsing code for C programs." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_XZ] +checksums = ['b941aec9011864978dd7fdeb052b1943535824169d2aa2b0e7eae9ab807584ac'] + +builddependencies = [ + ('binutils', '2.40'), + ('makeinfo', '7.1'), +] + +sanity_check_paths = { + 'files': ['bin/gengetopt'], + 'dirs': ['share'], +} + +sanity_check_commands = ["gengetopt --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/lcalc/lcalc-2.0.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/lcalc/lcalc-2.0.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..5ea399ff520 --- /dev/null +++ b/easybuild/easyconfigs/l/lcalc/lcalc-2.0.5-GCCcore-13.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'lcalc' +version = '2.0.5' + +homepage = 'https://gitlab.com/sagemath/lcalc' +description = "Lcalc is a package for working with L-functions." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://gitlab.com/sagemath/lcalc/uploads/25f029f3c02fcb6c3174972e0ac0e192/'] +sources = [SOURCE_TAR_XZ] +checksums = ['d780c385579cc6ee45fa27ccd2d3a3c4157fbb5ef8cd1b8951d1028bbc64c035'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.40'), + ('gengetopt', '2.23'), + ('pkgconf', '2.0.3'), +] + +preconfigopts = "autoreconf -f -i && " + +configopts = "--with-pari " + +dependencies = [ + ('MPFR', '4.2.1'), + ('PARI-GP', '2.15.5'), +] + +sanity_check_paths = { + 'files': ['bin/lcalc', 'include/lcalc/L.h', 'lib/libLfunction.%s' % SHLIB_EXT], + 'dirs': ['share'], +} + +sanity_check_commands = ["lcalc --help"] + +moduleclass = 'math' From a0eb980165fffa3597540a469837682dd820238d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Mon, 6 May 2024 14:59:44 +0200 Subject: [PATCH 537/889] remove blank line --- easybuild/easyconfigs/p/PARI-GP/PARI-GP-2.15.5-GCCcore-13.2.0.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/p/PARI-GP/PARI-GP-2.15.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PARI-GP/PARI-GP-2.15.5-GCCcore-13.2.0.eb index 9dd9e9856e4..f8bef46aa9c 100644 --- a/easybuild/easyconfigs/p/PARI-GP/PARI-GP-2.15.5-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/p/PARI-GP/PARI-GP-2.15.5-GCCcore-13.2.0.eb @@ -36,4 +36,3 @@ sanity_check_paths = { sanity_check_commands = ["gp --help"] moduleclass = 'math' - From 6c1a1f927c9ae3ae28b182551d14f7b0227f86f1 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Mon, 6 May 2024 15:03:21 +0200 Subject: [PATCH 538/889] adding easyconfigs: Check-0.15.2-GCCcore-12.3.0.eb --- .../c/Check/Check-0.15.2-GCCcore-12.3.0.eb | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 easybuild/easyconfigs/c/Check/Check-0.15.2-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/c/Check/Check-0.15.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/Check/Check-0.15.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..c700af315af --- /dev/null +++ b/easybuild/easyconfigs/c/Check/Check-0.15.2-GCCcore-12.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'Check' +version = '0.15.2' + +homepage = 'https://libcheck.github.io/check/' +description = """ +Check is a unit testing framework for C. It features a simple interface for +defining unit tests, putting little in the way of the developer. Tests are +run in a separate address space, so both assertion failures and code errors +that cause segmentation faults or other signals can be caught. Test results +are reportable in the following: Subunit, TAP, XML, and a generic logging +format.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +github_account = 'libcheck' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['998d355294bb94072f40584272cf4424571c396c631620ce463f6ea97aa67d2e'] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), + ('pkgconf', '1.9.5'), +] + +preconfigopts = "autoreconf -f -i && " +configopts = "--disable-build-docs" + +sanity_check_paths = { + 'files': ['bin/checkmk', 'lib/libcheck.a', 'lib/libcheck.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'] +} + +moduleclass = 'lib' From 0fd21b4bca799312b10c99dcf67adccfd8fbcbd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Mon, 6 May 2024 15:06:03 +0200 Subject: [PATCH 539/889] adding easyconfigs: m4rie-20200125-GCC-13.2.0.eb, m4ri-20200125-GCC-13.2.0.eb --- .../m/m4ri/m4ri-20200125-GCC-13.2.0.eb | 25 +++++++++++++++++ .../m/m4rie/m4rie-20200125-GCC-13.2.0.eb | 27 +++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 easybuild/easyconfigs/m/m4ri/m4ri-20200125-GCC-13.2.0.eb create mode 100644 easybuild/easyconfigs/m/m4rie/m4rie-20200125-GCC-13.2.0.eb diff --git a/easybuild/easyconfigs/m/m4ri/m4ri-20200125-GCC-13.2.0.eb b/easybuild/easyconfigs/m/m4ri/m4ri-20200125-GCC-13.2.0.eb new file mode 100644 index 00000000000..77325b93d92 --- /dev/null +++ b/easybuild/easyconfigs/m/m4ri/m4ri-20200125-GCC-13.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'm4ri' +version = '20200125' + +homepage = 'https://github.com/malb/m4ri' +description = "M4RI is a library for fast arithmetic with dense matrices over F2." + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = ['https://github.com/malb/m4ri/archive/refs/tags/'] +sources = ['release-%(version)s.tar.gz'] +checksums = ['7369adcecb72d4dacfb23fd437a6b59a956f76b26dee07f32558cb915a9d6e9d'] + +builddependencies = [('Autotools', '20220317')] + +preconfigopts = "autoreconf --install && " +configopts = "--enable-openmp " + +sanity_check_paths = { + 'files': ['include/m4ri/m4ri.h', 'lib/libm4ri.a', 'lib/libm4ri.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/m4rie/m4rie-20200125-GCC-13.2.0.eb b/easybuild/easyconfigs/m/m4rie/m4rie-20200125-GCC-13.2.0.eb new file mode 100644 index 00000000000..e1fa04ffef0 --- /dev/null +++ b/easybuild/easyconfigs/m/m4rie/m4rie-20200125-GCC-13.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'm4rie' +version = '20200125' + +homepage = 'https://github.com/malb/m4rie' +description = "M4RIE is a library for fast arithmetic with dense matrices." + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = ['https://github.com/malb/m4rie/archive/refs/tags/'] +sources = ['release-%(version)s.tar.gz'] +checksums = ['bc5c515e6151203b7a483f6ca84a22ec8c0407ea3621d8e11de3c997b5009d69'] + +builddependencies = [('Autotools', '20220317')] + +dependencies = [('m4ri', version)] + +preconfigopts = "autoreconf --install && " +configopts = "--enable-openmp " + +sanity_check_paths = { + 'files': ['include/m4rie/m4rie.h'] + ['lib/libm4rie.%s' % e for e in ['a', SHLIB_EXT]], + 'dirs': [], +} + +moduleclass = 'math' From 00442c12777f402683e93d856b69c5efb0ebd8e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Mon, 6 May 2024 15:17:35 +0200 Subject: [PATCH 540/889] adding easyconfigs: libhomfly-1.02r6-GCCcore-13.2.0.eb, gc-8.2.6-GCCcore-13.2.0.eb --- .../g/gc/gc-8.2.6-GCCcore-13.2.0.eb | 42 +++++++++++++++++++ .../libhomfly-1.02r6-GCCcore-13.2.0.eb | 32 ++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 easybuild/easyconfigs/g/gc/gc-8.2.6-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/l/libhomfly/libhomfly-1.02r6-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/g/gc/gc-8.2.6-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/gc/gc-8.2.6-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..934fbf3f7ac --- /dev/null +++ b/easybuild/easyconfigs/g/gc/gc-8.2.6-GCCcore-13.2.0.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'gc' +version = '8.2.6' +local_libatomic_version = '7.8.2' + +homepage = 'https://hboehm.info/gc/' +description = """The Boehm-Demers-Weiser conservative garbage collector can be used as a +garbage collecting replacement for C malloc or C++ new. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [ + 'https://github.com/ivmai/bdwgc/releases/download/v%(version)s/', # preferred for gc-%(version)s.tar.gz + 'https://hboehm.info/gc/gc_source/', # alternate for gc-%(version)s.tar.gz + 'https://github.com/ivmai/libatomic_ops/releases/download/v%s/' % local_libatomic_version, +] +sources = [ + SOURCE_TAR_GZ, + 'libatomic_ops-%s.tar.gz' % local_libatomic_version, +] +checksums = [ + {'gc-8.2.6.tar.gz': 'b9183fe49d4c44c7327992f626f8eaa1d8b14de140f243edb1c9dcff7719a7fc'}, + {'libatomic_ops-7.8.2.tar.gz': 'd305207fe207f2b3fb5cb4c019da12b44ce3fcbc593dfd5080d867b1a2419b51'}, +] + +builddependencies = [ + ('binutils', '2.40'), +] + +preconfigopts = 'ln -s %(builddir)s/libatomic_ops*/ libatomic_ops && ' + +configopts = "--enable-static" + +sanity_check_paths = { + 'files': ['include/gc.h', 'lib/libcord.a', 'lib/libcord.%s' % SHLIB_EXT, + 'lib/libgc.a', 'lib/libgc.%s' % SHLIB_EXT], + 'dirs': ['include/gc', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libhomfly/libhomfly-1.02r6-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libhomfly/libhomfly-1.02r6-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..dc28ef4045e --- /dev/null +++ b/easybuild/easyconfigs/l/libhomfly/libhomfly-1.02r6-GCCcore-13.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libhomfly' +version = '1.02r6' + +homepage = 'https://github.com/miguelmarco/libhomfly' +description = """This is basically a conversion of the program written by Robert J Jenkins Jr into a shared library. + It accepts as entry a character string, formatted in the same way as the input files that the original + code used (see below). The returned value is the string that the original program would print on screen.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/miguelmarco/libhomfly/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['cf5d5031c905318127c83fdffc891deb097c77ee48cdd0131f839ea6ecb64a84'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('gc', '8.2.6'), +] + +preconfigopts = "autoreconf -i && " + +sanity_check_paths = { + 'files': ['include/homfly.h', 'lib/libhomfly.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' From f753a3163f258754ddc0f3c4ee1cbddba8578051 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Mon, 6 May 2024 15:43:26 +0200 Subject: [PATCH 541/889] adding easyconfigs: LinBox-1.7.0-gfbf-2023b.eb, IML-1.0.5-gfbf-2023b.eb, FFLAS-FFPACK-2.5.0-gfbf-2023b.eb, Givaro-4.2.0-GCCcore-13.2.0.eb --- .../FFLAS-FFPACK-2.5.0-gfbf-2023b.eb | 43 +++++++++++++++++ .../g/Givaro/Givaro-4.2.0-GCCcore-13.2.0.eb | 47 +++++++++++++++++++ .../easyconfigs/i/IML/IML-1.0.5-gfbf-2023b.eb | 25 ++++++++++ .../l/LinBox/LinBox-1.7.0-gfbf-2023b.eb | 46 ++++++++++++++++++ 4 files changed, 161 insertions(+) create mode 100644 easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.5.0-gfbf-2023b.eb create mode 100644 easybuild/easyconfigs/g/Givaro/Givaro-4.2.0-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/i/IML/IML-1.0.5-gfbf-2023b.eb create mode 100644 easybuild/easyconfigs/l/LinBox/LinBox-1.7.0-gfbf-2023b.eb diff --git a/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.5.0-gfbf-2023b.eb b/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.5.0-gfbf-2023b.eb new file mode 100644 index 00000000000..2bd469f7978 --- /dev/null +++ b/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.5.0-gfbf-2023b.eb @@ -0,0 +1,43 @@ +## +# This file is an EasyBuild recipe; see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright (c) 2016 Riccardo Murri +# Authors:: Riccardo Murri +# License:: GPL +# +# Update: Petr Král (INUITS) +# +## + +easyblock = 'ConfigureMake' + +name = 'FFLAS-FFPACK' +version = '2.5.0' + +homepage = 'https://linbox-team.github.io/fflas-ffpack/' +description = "Finite Field Linear Algebra Subroutines / Package" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +source_urls = ['https://github.com/linbox-team/fflas-ffpack/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['dafb4c0835824d28e4f823748579be6e4c8889c9570c6ce9cce1e186c3ebbb23'] + +dependencies = [ + ('GMP', '6.3.0'), + ('Givaro', '4.2.0'), +] + +configopts = '--with-blas-libs="$LIBBLAS_MT" --with-blas-cflags="-I$BLAS_INC_DIR" ' +configopts += '--with-gmp=$EBROOTGMP --with-givaro=$EBROOTGIVARO --enable-openmp' + +buildopts = " && make autotune " + +sanity_check_paths = { + 'files': ['bin/fflas-ffpack-config', 'include/fflas-ffpack/fflas-ffpack.h'], + 'dirs': ['bin', 'include', 'lib'], +} + +sanity_check_commands = ["fflas-ffpack-config --help"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/Givaro/Givaro-4.2.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/Givaro/Givaro-4.2.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..d74fc7ec555 --- /dev/null +++ b/easybuild/easyconfigs/g/Givaro/Givaro-4.2.0-GCCcore-13.2.0.eb @@ -0,0 +1,47 @@ +## +# This file is an EasyBuild recipe; see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright (c) 2016 Riccardo Murri +# Authors:: Riccardo Murri +# License:: GPL +# +# Update: Petr Král (INUITS) +# +## + +easyblock = 'ConfigureMake' + +name = 'Givaro' +version = '4.2.0' + +homepage = 'https://github.com/linbox-team/givaro' +description = "C++ library for arithmetic and algebraic computations" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/linbox-team/givaro/archive'] +sources = ['v%(version)s.zip'] +checksums = ['bf51b47ac9a02be233fc39ac78d959d13630bcc78997007ffec410d940ed4c64'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.40'), +] + +dependencies = [ + ('GMP', '6.3.0'), +] + +preconfigopts = "env NOCONFIGURE=1 ./autogen.sh && " +configopts = "--with-gmp=$EBROOTGMP --enable-inline" + +prebuildopts = "sed -i 's/#include /#include \\n#include /g' src/library/poly1/givdegree.h && " + +sanity_check_paths = { + 'files': ['bin/givaro-config', 'include/givaro-config.h'], + 'dirs': ['bin', 'include', 'lib'], +} + +sanity_check_commands = ["givaro-config --help"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/i/IML/IML-1.0.5-gfbf-2023b.eb b/easybuild/easyconfigs/i/IML/IML-1.0.5-gfbf-2023b.eb new file mode 100644 index 00000000000..d9171489748 --- /dev/null +++ b/easybuild/easyconfigs/i/IML/IML-1.0.5-gfbf-2023b.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'IML' +version = '1.0.5' + +homepage = 'https://cs.uwaterloo.ca/~astorjoh/iml.html' +description = """IML is a free library of C source code which implements algorithms for computing + exact solutions to dense systems of linear equations over the integers.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +source_urls = ['http://www.cs.uwaterloo.ca/~astorjoh'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['1dad666850895a5709b00b97422e2273f293cfadea7697a9f90b90953e847c2a'] + +dependencies = [('GMP', '6.3.0')] + +configopts = '--with-cblas="$LIBBLAS" --with-gmp-include=$EBROOTGMP/include --with-gmp-lib=$EBROOTGMP/lib ' + +sanity_check_paths = { + 'files': ['include/iml.h', 'lib/libiml.a'], + 'dirs': ['share'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/LinBox/LinBox-1.7.0-gfbf-2023b.eb b/easybuild/easyconfigs/l/LinBox/LinBox-1.7.0-gfbf-2023b.eb new file mode 100644 index 00000000000..95ca1edf249 --- /dev/null +++ b/easybuild/easyconfigs/l/LinBox/LinBox-1.7.0-gfbf-2023b.eb @@ -0,0 +1,46 @@ +## +# This file is an EasyBuild recipe; see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright (c) 2016 Riccardo Murri +# Authors:: Riccardo Murri +# License:: GPL +# +# Update: Petr Král (INUITS) +# +## + +easyblock = 'ConfigureMake' + +name = 'LinBox' +version = '1.7.0' + +homepage = 'https://linalg.org/' +description = "C++ library for exact, high-performance linear algebra" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +source_urls = ['https://github.com/linbox-team/linbox/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['6d2159fd395be0298362dd37f6c696676237bc8e2757341fbc46520e3b466bcc'] + +dependencies = [ + ('FFLAS-FFPACK', '2.5.0'), + ('FLINT', '3.1.1'), + ('Givaro', '4.2.0'), + ('IML', '1.0.5'), + ('NTL', '11.5.1'), +] + +configopts = "--with-fflas-ffpack=$EBROOTFFLASMINFFPACK --with-flint=$EBROOTFLINT " +configopts += "--with-givaro=$EBROOTGIVARO --with-iml=$EBROOTIML --with-ntl=$EBROOTNTL " +configopts += "--enable-openmp --enable-shared " + +sanity_check_paths = { + 'files': ['bin/linbox-config', 'include/linbox/linbox-config.h'] + + ['lib/liblinbox.%s' % e for e in ['a', SHLIB_EXT]], + 'dirs': ['bin', 'include', 'lib'], +} + +sanity_check_commands = ["linbox-config --help"] + +moduleclass = 'math' From 180a95b5cd3b24dadc0105ac6617401f823a156a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Mon, 6 May 2024 15:55:48 +0200 Subject: [PATCH 542/889] add missing build dep --- .../easyconfigs/l/libhomfly/libhomfly-1.02r6-GCCcore-13.2.0.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/l/libhomfly/libhomfly-1.02r6-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libhomfly/libhomfly-1.02r6-GCCcore-13.2.0.eb index dc28ef4045e..4d14cf38cee 100644 --- a/easybuild/easyconfigs/l/libhomfly/libhomfly-1.02r6-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/l/libhomfly/libhomfly-1.02r6-GCCcore-13.2.0.eb @@ -15,6 +15,7 @@ sources = ['%(version)s.tar.gz'] checksums = ['cf5d5031c905318127c83fdffc891deb097c77ee48cdd0131f839ea6ecb64a84'] builddependencies = [ + ('Autotools', '20220317'), ('binutils', '2.40'), ] From 1bbc151eab5eacedad44859bef5c0f5d75835ff4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Mon, 6 May 2024 15:58:10 +0200 Subject: [PATCH 543/889] fix line too long --- easybuild/easyconfigs/g/Givaro/Givaro-4.2.0-GCCcore-13.2.0.eb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/Givaro/Givaro-4.2.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/Givaro/Givaro-4.2.0-GCCcore-13.2.0.eb index d74fc7ec555..5f488bdd7d0 100644 --- a/easybuild/easyconfigs/g/Givaro/Givaro-4.2.0-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/g/Givaro/Givaro-4.2.0-GCCcore-13.2.0.eb @@ -35,7 +35,8 @@ dependencies = [ preconfigopts = "env NOCONFIGURE=1 ./autogen.sh && " configopts = "--with-gmp=$EBROOTGMP --enable-inline" -prebuildopts = "sed -i 's/#include /#include \\n#include /g' src/library/poly1/givdegree.h && " +prebuildopts = "sed -i 's/#include /#include \\n" +prebuildopts += "#include /g' src/library/poly1/givdegree.h && " sanity_check_paths = { 'files': ['bin/givaro-config', 'include/givaro-config.h'], From 6f4b3e2846fd6f360d3e8f3a63dc6c9c36c6af79 Mon Sep 17 00:00:00 2001 From: casparl Date: Mon, 6 May 2024 17:14:55 +0200 Subject: [PATCH 544/889] Disable test that fetches from the web --- .../PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index b19df88e104..9b66f89d77d 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -71,6 +71,7 @@ exts_list = [ '" and not test_get_tokenizer_moses"' # requires sacremoses '" and not test_get_tokenizer_spacy"' # requires spaCy '" and not test_download_charngram_vectors"' # requires internet access and required host may fail + '" and not test_download_glove_vectors"' # requires internet access and required host may fail ), 'testinstall': True, }), From b5033a2cc64361ed7f224ab630ad9d60c7cdd8dc Mon Sep 17 00:00:00 2001 From: casparl Date: Mon, 6 May 2024 20:39:57 +0200 Subject: [PATCH 545/889] Add one more test to exclude --- .../PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index 9b66f89d77d..dcaf6c933d5 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -72,6 +72,7 @@ exts_list = [ '" and not test_get_tokenizer_spacy"' # requires spaCy '" and not test_download_charngram_vectors"' # requires internet access and required host may fail '" and not test_download_glove_vectors"' # requires internet access and required host may fail + '" and not test_vectors_get_vecs"' # requires internet access and required host may fail ), 'testinstall': True, }), From 4e96e8d4e9445794b8cf738b09f97ceaef5ff6c9 Mon Sep 17 00:00:00 2001 From: c3-builder Date: Mon, 6 May 2024 22:18:12 +0000 Subject: [PATCH 546/889] adding easyconfigs: ensmallen-2.21.1-foss-2023a.eb, mlpack-4.3.0-foss-2023a.eb --- .../ensmallen/ensmallen-2.21.1-foss-2023a.eb | 28 ++++++++++++++++ .../m/mlpack/mlpack-4.3.0-foss-2023a.eb | 32 +++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 easybuild/easyconfigs/e/ensmallen/ensmallen-2.21.1-foss-2023a.eb create mode 100644 easybuild/easyconfigs/m/mlpack/mlpack-4.3.0-foss-2023a.eb diff --git a/easybuild/easyconfigs/e/ensmallen/ensmallen-2.21.1-foss-2023a.eb b/easybuild/easyconfigs/e/ensmallen/ensmallen-2.21.1-foss-2023a.eb new file mode 100644 index 00000000000..b0a8a512f6d --- /dev/null +++ b/easybuild/easyconfigs/e/ensmallen/ensmallen-2.21.1-foss-2023a.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'ensmallen' +version = '2.21.1' + +homepage = 'https://ensmallen.org/' +description = """ensmallen is a high-quality C++ library for non-linear numerical optimization""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/mlpack/ensmallen/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['820eee4d8aa32662ff6a7d883a1bcaf4e9bf9ca0a3171d94c5398fe745008750'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('Armadillo', '12.6.2'), +] + +sanity_check_paths = { + 'files': ['include/ensmallen.hpp', 'include/ensmallen_bits/function.hpp'], + 'dirs': ['lib', 'include', 'include/ensmallen_bits/', 'lib/cmake'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/m/mlpack/mlpack-4.3.0-foss-2023a.eb b/easybuild/easyconfigs/m/mlpack/mlpack-4.3.0-foss-2023a.eb new file mode 100644 index 00000000000..beb49e03d1e --- /dev/null +++ b/easybuild/easyconfigs/m/mlpack/mlpack-4.3.0-foss-2023a.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'mlpack' +version = '4.3.0' + +homepage = 'https://www.mlpack.org/' +description = """mlpack is a fast, header-only C++ machine learning library +written in C++ and built on the Armadillo linear algebra library, the ensmallen +numerical optimization library, and the cereal serialization library.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/mlpack/mlpack/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['08cd54f711fde66fc3b6c9db89dc26776f9abf1a6256c77cfa3556e2a56f1a3d'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('Armadillo', '12.6.2'), + ('ensmallen', '2.21.1'), + ('Cereal', '1.3.2', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/mlpack_pca', 'include/mlpack.hpp'], + 'dirs': ['bin', 'include', 'lib64'], +} + +moduleclass = 'numlib' From b48655116c3a3c6a78a3576eb91dd5a02db42668 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Tue, 7 May 2024 09:20:15 +0200 Subject: [PATCH 547/889] adding easyconfigs: SeuratDisk-20231104-foss-2023a-R-4.3.2.eb --- .../SeuratDisk-20231104-foss-2023a-R-4.3.2.eb | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 easybuild/easyconfigs/s/SeuratDisk/SeuratDisk-20231104-foss-2023a-R-4.3.2.eb diff --git a/easybuild/easyconfigs/s/SeuratDisk/SeuratDisk-20231104-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/s/SeuratDisk/SeuratDisk-20231104-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..16d65a66c5b --- /dev/null +++ b/easybuild/easyconfigs/s/SeuratDisk/SeuratDisk-20231104-foss-2023a-R-4.3.2.eb @@ -0,0 +1,27 @@ +easyblock = 'RPackage' + +name = 'SeuratDisk' +local_commit = '877d4e1' +version = '20231104' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/mojaveazure/seurat-disk' +description = "Interfaces for HDF5-based Single Cell File Formats" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/mojaveazure/seurat-disk/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['d2d6b6604e8a1f6de90956d0401d34b51b07b30671a445d0e06876f2dec999ac'] + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-Bioconductor', '3.18', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' From b057148b7a0e18be46e806761ac7e1884272ebb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 7 May 2024 11:56:21 +0200 Subject: [PATCH 548/889] adding easyconfigs: BLIS-1.0-GCC-13.2.0.eb --- .../easyconfigs/b/BLIS/BLIS-1.0-GCC-13.2.0.eb | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 easybuild/easyconfigs/b/BLIS/BLIS-1.0-GCC-13.2.0.eb diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-1.0-GCC-13.2.0.eb b/easybuild/easyconfigs/b/BLIS/BLIS-1.0-GCC-13.2.0.eb new file mode 100644 index 00000000000..4ebb0543a39 --- /dev/null +++ b/easybuild/easyconfigs/b/BLIS/BLIS-1.0-GCC-13.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'BLIS' +version = '1.0' + +homepage = 'https://github.com/flame/blis/' +description = """BLIS is a portable software framework for instantiating high-performance +BLAS-like dense linear algebra libraries.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = ['https://github.com/flame/blis/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['9c12972aa1e50f64ca61684eba6828f2f3dd509384b1e41a1e8a9aedea4b16a6'] + +builddependencies = [ + ('Python', '3.11.5'), + ('Perl', '5.38.0'), +] + +configopts = '--enable-cblas --enable-threading=openmp --enable-shared CC="$CC" auto' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['include/blis/cblas.h', 'include/blis/blis.h', + 'lib/libblis.a', 'lib/libblis.%s' % SHLIB_EXT], + 'dirs': [], +} + +modextrapaths = {'CPATH': 'include/blis'} + +moduleclass = 'numlib' From 534411b53614e7b39560d916a36b4942bae87ecd Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Tue, 7 May 2024 14:26:47 +0200 Subject: [PATCH 549/889] adding easyconfigs: GCC-14.1.0.eb, GCCcore-14.1.0.eb, binutils-2.42.eb, binutils-2.42-GCCcore-14.1.0.eb, Bison-3.8.2-GCCcore-14.1.0.eb, flex-2.6.4-GCCcore-14.1.0.eb, help2man-1.49.3-GCCcore-14.1.0.eb, M4-1.4.19-GCCcore-14.1.0.eb, zlib-1.3.1-GCCcore-14.1.0.eb, zlib-1.3.1.eb --- .../b/Bison/Bison-3.8.2-GCCcore-14.1.0.eb | 28 +++++++++ .../binutils/binutils-2.42-GCCcore-14.1.0.eb | 31 +++++++++ .../easyconfigs/b/binutils/binutils-2.42.eb | 26 ++++++++ .../f/flex/flex-2.6.4-GCCcore-14.1.0.eb | 34 ++++++++++ easybuild/easyconfigs/g/GCC/GCC-14.1.0.eb | 22 +++++++ .../easyconfigs/g/GCCcore/GCCcore-14.1.0.eb | 63 +++++++++++++++++++ .../help2man-1.49.3-GCCcore-14.1.0.eb | 25 ++++++++ .../m/M4/M4-1.4.19-GCCcore-14.1.0.eb | 29 +++++++++ .../z/zlib/zlib-1.3.1-GCCcore-14.1.0.eb | 27 ++++++++ easybuild/easyconfigs/z/zlib/zlib-1.3.1.eb | 32 ++++++++++ 10 files changed, 317 insertions(+) create mode 100644 easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-14.1.0.eb create mode 100644 easybuild/easyconfigs/b/binutils/binutils-2.42-GCCcore-14.1.0.eb create mode 100644 easybuild/easyconfigs/b/binutils/binutils-2.42.eb create mode 100644 easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-14.1.0.eb create mode 100644 easybuild/easyconfigs/g/GCC/GCC-14.1.0.eb create mode 100644 easybuild/easyconfigs/g/GCCcore/GCCcore-14.1.0.eb create mode 100644 easybuild/easyconfigs/h/help2man/help2man-1.49.3-GCCcore-14.1.0.eb create mode 100644 easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-14.1.0.eb create mode 100644 easybuild/easyconfigs/z/zlib/zlib-1.3.1-GCCcore-14.1.0.eb create mode 100644 easybuild/easyconfigs/z/zlib/zlib-1.3.1.eb diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-14.1.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-14.1.0.eb new file mode 100644 index 00000000000..dc255caae50 --- /dev/null +++ b/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-14.1.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'Bison' +version = '3.8.2' + +homepage = 'https://www.gnu.org/software/bison' +description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar + into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" + +toolchain = {'name': 'GCCcore', 'version': '14.1.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['06c9e13bdf7eb24d4ceb6b59205a4f67c2c7e7213119644430fe82fbd14a0abb'] + +builddependencies = [ + ('M4', '1.4.19'), + # use same binutils version that was used when building GCCcore toolchain + ('binutils', '2.42', '', SYSTEM), +] + + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bison', 'yacc']] + [('lib/liby.a', 'lib64/liby.a')], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.42-GCCcore-14.1.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.42-GCCcore-14.1.0.eb new file mode 100644 index 00000000000..0ef5c688a3e --- /dev/null +++ b/easybuild/easyconfigs/b/binutils/binutils-2.42-GCCcore-14.1.0.eb @@ -0,0 +1,31 @@ +name = 'binutils' +version = '2.42' + +homepage = 'https://directory.fsf.org/project/binutils/' +description = "binutils: GNU binary utilities" + +toolchain = {'name': 'GCCcore', 'version': '14.1.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['5d2a6c1d49686a557869caae08b6c2e83699775efd27505e01b2f4db1a024ffc'] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils + ('binutils', version, '', SYSTEM) +] + +dependencies = [ + # zlib is a runtime dep to avoid that it gets embedded in libbfd.so, + # see https://github.com/easybuilders/easybuild-easyblocks/issues/1350 + ('zlib', '1.3.1'), +] + +# avoid build failure when makeinfo command is not available +# see https://sourceware.org/bugzilla/show_bug.cgi?id=15345 +buildopts = 'MAKEINFO=true' +installopts = buildopts + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.42.eb b/easybuild/easyconfigs/b/binutils/binutils-2.42.eb new file mode 100644 index 00000000000..93223d7387d --- /dev/null +++ b/easybuild/easyconfigs/b/binutils/binutils-2.42.eb @@ -0,0 +1,26 @@ +name = 'binutils' +version = '2.42' + +homepage = 'https://directory.fsf.org/project/binutils/' + +description = "binutils: GNU binary utilities" + +toolchain = SYSTEM + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['5d2a6c1d49686a557869caae08b6c2e83699775efd27505e01b2f4db1a024ffc'] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + # zlib required, but being linked in statically, so not a runtime dep + ('zlib', '1.3.1'), +] + +# avoid build failure when makeinfo command is not available +# see https://sourceware.org/bugzilla/show_bug.cgi?id=15345 +buildopts = 'MAKEINFO=true' +installopts = buildopts + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-14.1.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-14.1.0.eb new file mode 100644 index 00000000000..fc4217d30c2 --- /dev/null +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-14.1.0.eb @@ -0,0 +1,34 @@ +name = 'flex' +version = '2.6.4' + +homepage = 'https://github.com/westes/flex' + +description = """ + Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, + sometimes called a tokenizer, is a program which recognizes lexical patterns + in text. +""" + +toolchain = {'name': 'GCCcore', 'version': '14.1.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/westes/flex/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995'] + +builddependencies = [ + ('Bison', '3.8.2'), + ('help2man', '1.49.3'), + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.42', '', SYSTEM), +] + +dependencies = [ + ('M4', '1.4.19'), +] + +# glibc 2.26 requires _GNU_SOURCE defined to expose reallocarray in the correct +# header, see https://github.com/westes/flex/issues/241 +preconfigopts = 'export CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" && ' + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/g/GCC/GCC-14.1.0.eb b/easybuild/easyconfigs/g/GCC/GCC-14.1.0.eb new file mode 100644 index 00000000000..5d90c08c99e --- /dev/null +++ b/easybuild/easyconfigs/g/GCC/GCC-14.1.0.eb @@ -0,0 +1,22 @@ +easyblock = 'Bundle' + +name = 'GCC' +version = '14.1.0' + +homepage = 'https://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = SYSTEM + +dependencies = [ + ('GCCcore', version), + # binutils built on top of GCCcore, which was built on top of binutils (built with system toolchain) + ('binutils', '2.42', '', ('GCCcore', version)), +] + +altroot = 'GCCcore' +altversion = 'GCCcore' + +# this bundle serves as a compiler-only toolchain, so it should be marked as compiler (important for HMNS) +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-14.1.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-14.1.0.eb new file mode 100644 index 00000000000..fc0025ce01c --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-14.1.0.eb @@ -0,0 +1,63 @@ +easyblock = 'EB_GCC' + +name = 'GCCcore' +version = '14.1.0' + +homepage = 'https://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = SYSTEM + +source_urls = [ + 'https://ftpmirror.gnu.org/gnu/gcc/gcc-%(version)s', # GCC auto-resolving HTTP mirror + 'https://sourceware.org/pub/gcc/releases/gcc-%(version)s', # fallback URL for GCC + 'https://ftpmirror.gnu.org/gnu/gmp', # idem for GMP + 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR + 'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC + 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies + 'https://gcc.gnu.org/pub/gcc/infrastructure/', # HTTPS mirror for GCC dependencies + 'https://libisl.sourceforge.io/', # fallback URL for isl + 'https://sourceware.org/pub/newlib/', # for newlib + 'https://github.com/MentorEmbedded/nvptx-tools/archive', # for nvptx-tools +] +sources = [ + 'gcc-%(version)s.tar.gz', + 'gmp-6.3.0.tar.bz2', + 'mpfr-4.2.1.tar.bz2', + 'mpc-1.3.1.tar.gz', + 'isl-0.26.tar.bz2', + 'newlib-4.4.0.20231231.tar.gz', + {'download_filename': '9962793.tar.gz', 'filename': 'nvptx-tools-20240419.tar.gz'}, +] +patches = [ + 'GCCcore-6.2.0-fix-find-isl.patch', + 'GCCcore-9.3.0_gmp-c99.patch', +] +checksums = [ + {'gcc-14.1.0.tar.gz': 'a0be066c02775002a0fa65ad3c65fb56a8bfd923d072a26ed148c0439ecdb68f'}, + {'gmp-6.3.0.tar.bz2': 'ac28211a7cfb609bae2e2c8d6058d66c8fe96434f740cf6fe2e47b000d1c20cb'}, + {'mpfr-4.2.1.tar.bz2': 'b9df93635b20e4089c29623b19420c4ac848a1b29df1cfd59f26cab0d2666aa0'}, + {'mpc-1.3.1.tar.gz': 'ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8'}, + {'isl-0.26.tar.bz2': '5eac8664e9d67be6bd0bee5085d6840b8baf738c06814df47eaf4166d9776436'}, + {'newlib-4.4.0.20231231.tar.gz': '0c166a39e1bf0951dfafcd68949fe0e4b6d3658081d6282f39aeefc6310f2f13'}, + {'nvptx-tools-20240419.tar.gz': 'a4f65efe0ba960d75a18741faf2b93dbf51c2492a53b734d590ce5da4bd3f237'}, + {'GCCcore-6.2.0-fix-find-isl.patch': '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68'}, + {'GCCcore-9.3.0_gmp-c99.patch': '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e'}, +] + +builddependencies = [ + ('M4', '1.4.19'), + ('binutils', '2.42'), +] + +languages = ['c', 'c++', 'fortran'] + +withisl = True +withnvptx = True + +# Perl is only required when building with NVPTX support +if withnvptx: + osdependencies = ['perl'] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.49.3-GCCcore-14.1.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.49.3-GCCcore-14.1.0.eb new file mode 100644 index 00000000000..4edcbfa5190 --- /dev/null +++ b/easybuild/easyconfigs/h/help2man/help2man-1.49.3-GCCcore-14.1.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'help2man' +version = '1.49.3' + +homepage = 'https://www.gnu.org/software/help2man/' +description = """help2man produces simple manual pages from the '--help' and '--version' output of other commands.""" + +toolchain = {'name': 'GCCcore', 'version': '14.1.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_XZ] +checksums = ['4d7e4fdef2eca6afe07a2682151cea78781e0a4e8f9622142d9f70c083a2fd4f'] + +builddependencies = [ + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.42', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/help2man'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-14.1.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-14.1.0.eb new file mode 100644 index 00000000000..95aa2b91a0a --- /dev/null +++ b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-14.1.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'M4' +version = '1.4.19' + +homepage = 'https://www.gnu.org/software/m4/m4.html' +description = """GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible + although it has some extensions (for example, handling more than 9 positional parameters to macros). + GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.""" + +toolchain = {'name': 'GCCcore', 'version': '14.1.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3be4a26d825ffdfda52a56fc43246456989a3630093cced3fbddf4771ee58a70'] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.42', '', SYSTEM)] + +# '-fgnu89-inline' is required to avoid linking errors with older glibc's, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 +configopts = "--enable-c++ CPPFLAGS=-fgnu89-inline" + +sanity_check_paths = { + 'files': ['bin/m4'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.3.1-GCCcore-14.1.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.3.1-GCCcore-14.1.0.eb new file mode 100644 index 00000000000..39db9b778c4 --- /dev/null +++ b/easybuild/easyconfigs/z/zlib/zlib-1.3.1-GCCcore-14.1.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'zlib' +version = '1.3.1' + +homepage = 'https://www.zlib.net/' +description = """zlib is designed to be a free, general-purpose, legally unencumbered -- that is, + not covered by any patents -- lossless data-compression library for use on virtually any + computer hardware and operating system.""" + +toolchain = {'name': 'GCCcore', 'version': '14.1.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://zlib.net/fossils'] +sources = [SOURCELOWER_TAR_GZ] +# patches = ['zlib-%(version)s_fix-CC-logic-in-configure.patch'] +checksums = ['9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23'] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.42', '', SYSTEM)] + +sanity_check_paths = { + 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.3.1.eb b/easybuild/easyconfigs/z/zlib/zlib-1.3.1.eb new file mode 100644 index 00000000000..813ea85d0c2 --- /dev/null +++ b/easybuild/easyconfigs/z/zlib/zlib-1.3.1.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'zlib' +version = '1.3.1' + +homepage = 'https://www.zlib.net/' + +description = """ + zlib is designed to be a free, general-purpose, legally unencumbered -- that + is, not covered by any patents -- lossless data-compression library for use + on virtually any computer hardware and operating system. +""" + +toolchain = SYSTEM +toolchainopts = {'pic': True} + +source_urls = ['https://zlib.net/fossils/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23'] + +# need to take care of $CFLAGS ourselves with SYSTEM toolchain +# we need to add -fPIC, but should also include -O* option to avoid +# compiling with -O0 (default for GCC) +buildopts = 'CFLAGS="-O2 -fPIC"' + +sanity_check_paths = { + 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', + 'lib/libz.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' From 319f464827d06962a684c5efe89fa5e555cad7f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 7 May 2024 15:03:09 +0200 Subject: [PATCH 550/889] adding easyconfigs: Molpro-mpp-2024.1.0.linux_x86_64_sockets.eb, Molpro-mpp-2024.1.0.linux_x86_64_mpipr.eb --- .../Molpro-mpp-2024.1.0.linux_x86_64_mpipr.eb | 23 +++++++++++++++++++ ...olpro-mpp-2024.1.0.linux_x86_64_sockets.eb | 23 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 easybuild/easyconfigs/m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_mpipr.eb create mode 100644 easybuild/easyconfigs/m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_sockets.eb diff --git a/easybuild/easyconfigs/m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_mpipr.eb b/easybuild/easyconfigs/m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_mpipr.eb new file mode 100644 index 00000000000..b22f9122d87 --- /dev/null +++ b/easybuild/easyconfigs/m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_mpipr.eb @@ -0,0 +1,23 @@ +name = 'Molpro' +versionprefix = 'mpp-' +version = '2024.1.0' +versionsuffix = '.linux_x86_64_mpipr' + +homepage = 'https://www.molpro.net' +description = """Molpro is a complete system of ab initio programs for molecular electronic structure calculations.""" + +toolchain = SYSTEM + +download_instructions = """Molpro is proprietary software, see https://www.molpro.net/info/ordering.php + on how to obtain the software.""" + +sources = ['%(namelower)s-%(versionprefix)s%(version)s%(versionsuffix)s.sh'] + +precompiled_binaries = True + +# license file - uncomment if a licence file is supplied by your site and +# is valid for all users - the value of license_file may have to be changed +# license_file = HOME + '/licenses/%(name)s/license.lic' + +moduleclass = 'chem' + diff --git a/easybuild/easyconfigs/m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_sockets.eb b/easybuild/easyconfigs/m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_sockets.eb new file mode 100644 index 00000000000..ebbbf6cb5f4 --- /dev/null +++ b/easybuild/easyconfigs/m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_sockets.eb @@ -0,0 +1,23 @@ +name = 'Molpro' +versionprefix = 'mpp-' +version = '2024.1.0' +versionsuffix = '.linux_x86_64_sockets' + +homepage = 'https://www.molpro.net' +description = """Molpro is a complete system of ab initio programs for molecular electronic structure calculations.""" + +toolchain = SYSTEM + +download_instructions = """Molpro is proprietary software, see https://www.molpro.net/info/ordering.php + on how to obtain the software.""" + +sources = ['%(namelower)s-%(versionprefix)s%(version)s%(versionsuffix)s.sh'] + +precompiled_binaries = True + +# license file - uncomment if a licence file is supplied by your site and +# is valid for all users - the value of license_file may have to be changed +# license_file = HOME + '/licenses/%(name)s/license.lic' + +moduleclass = 'chem' + From 6e2f808eb162f7c0436fe1236df4b534afad2929 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 7 May 2024 15:05:53 +0200 Subject: [PATCH 551/889] add checksum --- .../m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_mpipr.eb | 1 + .../m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_sockets.eb | 1 + 2 files changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_mpipr.eb b/easybuild/easyconfigs/m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_mpipr.eb index b22f9122d87..7167b7af45e 100644 --- a/easybuild/easyconfigs/m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_mpipr.eb +++ b/easybuild/easyconfigs/m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_mpipr.eb @@ -12,6 +12,7 @@ download_instructions = """Molpro is proprietary software, see https://www.molpr on how to obtain the software.""" sources = ['%(namelower)s-%(versionprefix)s%(version)s%(versionsuffix)s.sh'] +checksums = ['30ee6b4a807481ca1a118dfe16a00fae1cff50ce3b872cbfe49aa0f4702d13ad'] precompiled_binaries = True diff --git a/easybuild/easyconfigs/m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_sockets.eb b/easybuild/easyconfigs/m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_sockets.eb index ebbbf6cb5f4..d9a63f6113c 100644 --- a/easybuild/easyconfigs/m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_sockets.eb +++ b/easybuild/easyconfigs/m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_sockets.eb @@ -12,6 +12,7 @@ download_instructions = """Molpro is proprietary software, see https://www.molpr on how to obtain the software.""" sources = ['%(namelower)s-%(versionprefix)s%(version)s%(versionsuffix)s.sh'] +checksums = ['0d983455af62816b91b92d6413948a626797670533d0d6e6e30ce4a0172df043'] precompiled_binaries = True From a123667f615907749eb550b9d4bcd3d4510c7db3 Mon Sep 17 00:00:00 2001 From: Samuel Moors Date: Tue, 7 May 2024 15:21:12 +0200 Subject: [PATCH 552/889] adding easyconfigs: Kalign-3.4.0-GCCcore-12.3.0.eb --- .../k/Kalign/Kalign-3.4.0-GCCcore-12.3.0.eb | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 easybuild/easyconfigs/k/Kalign/Kalign-3.4.0-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/k/Kalign/Kalign-3.4.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/k/Kalign/Kalign-3.4.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..62ff0095f46 --- /dev/null +++ b/easybuild/easyconfigs/k/Kalign/Kalign-3.4.0-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +# Contribution from the NIHR Biomedical Research Centre +easyblock = 'CMakeMake' + +name = 'Kalign' +version = '3.4.0' + +homepage = 'https://github.com/TimoLassmann/kalign' +description = "Kalign is a fast multiple sequence alignment program for biological sequences." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/TimoLassmann/kalign/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['67d1a562d54b3b7622cc3164588c05b9e2bf8f1a5140bb48a4e816c61a87d4a8'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +sanity_check_paths = { + 'files': ['bin/kalign'], + 'dirs': [], +} + +sanity_check_commands = ["kalign --help"] + +moduleclass = 'bio' From 49b59a47d31c080206d0d7b9759c763922dac730 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 7 May 2024 15:26:47 +0200 Subject: [PATCH 553/889] remove blank line at end of file --- .../m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_mpipr.eb | 1 - .../m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_sockets.eb | 1 - 2 files changed, 2 deletions(-) diff --git a/easybuild/easyconfigs/m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_mpipr.eb b/easybuild/easyconfigs/m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_mpipr.eb index 7167b7af45e..cf49bc2f86c 100644 --- a/easybuild/easyconfigs/m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_mpipr.eb +++ b/easybuild/easyconfigs/m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_mpipr.eb @@ -21,4 +21,3 @@ precompiled_binaries = True # license_file = HOME + '/licenses/%(name)s/license.lic' moduleclass = 'chem' - diff --git a/easybuild/easyconfigs/m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_sockets.eb b/easybuild/easyconfigs/m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_sockets.eb index d9a63f6113c..74ee3b41b35 100644 --- a/easybuild/easyconfigs/m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_sockets.eb +++ b/easybuild/easyconfigs/m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_sockets.eb @@ -21,4 +21,3 @@ precompiled_binaries = True # license_file = HOME + '/licenses/%(name)s/license.lic' moduleclass = 'chem' - From 02258f21c3aa2496282cdc11eaa439383e96bab4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Tue, 7 May 2024 17:22:35 +0200 Subject: [PATCH 554/889] adding easyconfigs: torchvision-0.16.0-foss-2023a-CUDA-12.1.1.eb --- ...rchvision-0.16.0-foss-2023a-CUDA-12.1.1.eb | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 easybuild/easyconfigs/t/torchvision/torchvision-0.16.0-foss-2023a-CUDA-12.1.1.eb diff --git a/easybuild/easyconfigs/t/torchvision/torchvision-0.16.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/t/torchvision/torchvision-0.16.0-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..68696ef7dba --- /dev/null +++ b/easybuild/easyconfigs/t/torchvision/torchvision-0.16.0-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,34 @@ +name = 'torchvision' +version = '0.16.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/pytorch/vision' +description = " Datasets, Transforms and Models specific to Computer Vision" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'cstd': 'c++17'} + +source_urls = ['https://github.com/pytorch/vision/archive'] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_fix-build-with-FFmpeg6.patch', +] +checksums = [ + {'v0.16.0.tar.gz': '79b30b082237e3ead21e74587cedf4a4d832f977cf7dfeccfb65f67988b12ceb'}, + {'torchvision-0.16.0_fix-build-with-FFmpeg6.patch': + 'a49336e7bfa1c950e886852bff37a3ea2146ac7bda87241e3ffb31c5cb869cce'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('FFmpeg', '6.0'), + ('Pillow-SIMD', '9.5.0'), + ('PyTorch', '2.1.2', versionsuffix), +] + +moduleclass = 'vis' From 38c2da4e596575a3bc56f49f16e3726de81f6ec2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Tue, 7 May 2024 17:25:03 +0200 Subject: [PATCH 555/889] adding easyconfigs: MONAI-1.3.0-foss-2023a-CUDA-12.1.1.eb --- .../MONAI-1.3.0-foss-2023a-CUDA-12.1.1.eb | 97 +++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 easybuild/easyconfigs/m/MONAI/MONAI-1.3.0-foss-2023a-CUDA-12.1.1.eb diff --git a/easybuild/easyconfigs/m/MONAI/MONAI-1.3.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/m/MONAI/MONAI-1.3.0-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..a72067a307e --- /dev/null +++ b/easybuild/easyconfigs/m/MONAI/MONAI-1.3.0-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,97 @@ +easyblock = 'PythonBundle' + +name = 'MONAI' +version = '1.3.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://monai.io/' +description = """ +MONAI is a PyTorch-based, open-source framework for deep learning in healthcare +imaging, part of PyTorch Ecosystem. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +github_account = 'Project-MONAI' + +builddependencies = [ + ('hatchling', '1.18.0'), + ('Ninja', '1.11.1'), +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('PyTorch', '2.1.2', versionsuffix), + ('einops', '0.7.0'), + ('ITK', '5.3.0'), + ('NiBabel', '5.2.0'), + ('scikit-image', '0.22.0'), + ('tensorboard', '2.15.1'), + ('torchvision', '0.16.0', versionsuffix), + ('tqdm', '4.66.1'), + ('Pillow', '10.0.0'), + ('openslide-python', '1.3.1'), + ('BeautifulSoup', '4.12.2'), +] + +use_pip = True + +# install MONAI with list of 'extras', which require additional dependencies +local_pip_extras = "einops,fire,gdown,ignite,itk,jsonschema,lmdb,nibabel," +local_pip_extras += "openslide,pandas,pillow,psutil,pydicom,pyyaml,scipy," +local_pip_extras += "skimage,tensorboard,torchvision,tqdm" + +# PyTorch-Ignite v0.4.11 bundled as an extension because MONAI v1.3.0 has a strict requirement on it +exts_list = [ + ('gdown', '4.7.1', { + 'checksums': ['347f23769679aaf7efa73e5655270fcda8ca56be65eb84a4a21d143989541045'], + }), + ('lmdb', '1.4.1', { + 'checksums': ['1f4c76af24e907593487c904ef5eba1993beb38ed385af82adb25a858f2d658d'], + }), + ('termcolor', '2.3.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['3afb05607b89aed0ffe25202399ee0867ad4d3cb4180d98aaf8eefa6a5f7d475'], + }), + ('fire', '0.5.0', { + 'checksums': ['a6b0d49e98c8963910021f92bba66f65ab440da2982b78eb1bbf95a0a34aacc6'], + }), + ('pytorch-ignite', '0.4.11', { + 'modulename': 'ignite', + 'patches': ['PyTorch-Ignite-0.4.11_fix_error_on_importing_Events.patch'], + 'checksums': [ + {'pytorch-ignite-0.4.11.tar.gz': 'ee31096a58679417097ef7f3f27d88bec40b789ac5e13cd9ed08bc89ca8ce2e2'}, + {'PyTorch-Ignite-0.4.11_fix_error_on_importing_Events.patch': + 'd45c0da30c01f7ce47b7be49a6d5d6eb9529c94a0b9de89260d4b07d9d2359e0'}, + ], + }), + (name, version, { + 'preinstallopts': 'BUILD_MONAI=1', + 'source_urls': ['https://github.com/%(github_account)s/%(name)s/archive'], + 'sources': ['%(version)s.tar.gz'], + 'use_pip_extras': local_pip_extras, + 'checksums': ['67e0f55678faad4bd38b1ea69d5de94586b20b551b8ad745415623a8b6c1c5e2'], + }), +] + +sanity_pip_check = True + +# 'pip check' does not verify whether all optional dependencies required to support 'extras' +# are actually available, so we do it here via an import check; +local_extra_mod_check = {x: x for x in local_pip_extras.split(",")} +# Some special cases with different module name than extra name +local_extra_mod_check['pillow'] = 'PIL' +local_extra_mod_check['pyyaml'] = 'yaml' + +sanity_check_commands = ["python -c 'import monai; monai.config.print_config()'"] +sanity_check_commands += ["python -c 'import %s'" % local_extra_mod_check[x] for x in local_extra_mod_check] + +sanity_check_paths = { + 'files': ['lib/python%%(pyshortver)s/site-packages/%%(namelower)s/_C.%s' % SHLIB_EXT], + 'dirs': ['lib/python%(pyshortver)s/site-packages/ignite'], +} + +moduleclass = 'vis' From 6bece542b3c2eef2320fda9706d10818a9e27fbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 7 May 2024 23:17:36 +0200 Subject: [PATCH 556/889] add checksum for riscv64 source --- easybuild/easyconfigs/j/Java/Java-21.0.2.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/j/Java/Java-21.0.2.eb b/easybuild/easyconfigs/j/Java/Java-21.0.2.eb index e96da822b0b..bcbc951be1b 100644 --- a/easybuild/easyconfigs/j/Java/Java-21.0.2.eb +++ b/easybuild/easyconfigs/j/Java/Java-21.0.2.eb @@ -24,6 +24,8 @@ checksums = [ '3ce6a2b357e2ef45fd6b53d6587aa05bfec7771e7fb982f2c964f6b771b7526a', local_tarball_tmpl % ('ppc64le', local_build): 'd08de863499d8851811c893e8915828f2cd8eb67ed9e29432a6b4e222d80a12f', + local_tarball_tmpl % ('riscv64', local_build): + '791a37ddb040e1a02bbfc61abfbc7e7321431a28054c9ac59ba1738fd5320b02', } ] From 051f7d63b08bca96d66aa6286d887dbe423d5077 Mon Sep 17 00:00:00 2001 From: jfgrimm Date: Wed, 8 May 2024 16:36:33 +0100 Subject: [PATCH 557/889] adding easyconfigs: PSM2-12.0.1-GCCcore-10.3.0.eb, PSM2-12.0.1-GCCcore-11.2.0.eb, PSM2-12.0.1-GCCcore-11.3.0.eb, PSM2-12.0.1-GCCcore-12.2.0.eb, PSM2-12.0.1-GCCcore-12.3.0.eb and patches: PSM2-11.2.80_hfi-user.patch --- .../p/PSM2/PSM2-11.2.80_hfi-user.patch | 981 ++++++++++++++++++ .../p/PSM2/PSM2-12.0.1-GCCcore-10.3.0.eb | 44 + .../p/PSM2/PSM2-12.0.1-GCCcore-11.2.0.eb | 44 + .../p/PSM2/PSM2-12.0.1-GCCcore-11.3.0.eb | 44 + .../p/PSM2/PSM2-12.0.1-GCCcore-12.2.0.eb | 44 + .../p/PSM2/PSM2-12.0.1-GCCcore-12.3.0.eb | 44 + 6 files changed, 1201 insertions(+) create mode 100644 easybuild/easyconfigs/p/PSM2/PSM2-11.2.80_hfi-user.patch create mode 100644 easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-10.3.0.eb create mode 100644 easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.2.0.eb create mode 100644 easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.3.0.eb create mode 100644 easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.2.0.eb create mode 100644 easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-11.2.80_hfi-user.patch b/easybuild/easyconfigs/p/PSM2/PSM2-11.2.80_hfi-user.patch new file mode 100644 index 00000000000..b9e11fa3a65 --- /dev/null +++ b/easybuild/easyconfigs/p/PSM2/PSM2-11.2.80_hfi-user.patch @@ -0,0 +1,981 @@ +diff -urN libpsm2-11.2.80.orig/include/rdma/hfi/hfi1_ioctl.h libpsm2-11.2.80/include/rdma/hfi/hfi1_ioctl.h +--- libpsm2-11.2.80.orig/include/rdma/hfi/hfi1_ioctl.h 1970-01-01 00:00:00.000000000 +0000 ++++ libpsm2-11.2.80/include/rdma/hfi/hfi1_ioctl.h 2019-02-27 21:28:05.000000000 +0000 +@@ -0,0 +1,283 @@ ++/* ++ * ++ * This file is provided under a dual BSD/GPLv2 license. When using or ++ * redistributing this file, you may do so under either license. ++ * ++ * GPL LICENSE SUMMARY ++ * ++ * Copyright(c) 2015 Intel Corporation. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of version 2 of the GNU General Public License as ++ * published by the Free Software Foundation. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ * ++ * BSD LICENSE ++ * ++ * Copyright(c) 2015 Intel Corporation. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * ++ * - Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * - Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in ++ * the documentation and/or other materials provided with the ++ * distribution. ++ * - Neither the name of Intel Corporation nor the names of its ++ * contributors may be used to endorse or promote products derived ++ * from this software without specific prior written permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * ++ */ ++ ++#ifndef _LINUX__HFI1_IOCTL_H ++#define _LINUX__HFI1_IOCTL_H ++#include ++ ++/* ++ * This structure is passed to the driver to tell it where ++ * user code buffers are, sizes, etc. The offsets and sizes of the ++ * fields must remain unchanged, for binary compatibility. It can ++ * be extended, if userversion is changed so user code can tell, if needed ++ */ ++struct hfi1_user_info { ++ /* ++ * version of user software, to detect compatibility issues. ++ * Should be set to HFI1_USER_SWVERSION. ++ */ ++ __u32 userversion; ++ __u32 pad; ++ /* ++ * If two or more processes wish to share a context, each process ++ * must set the subcontext_cnt and subcontext_id to the same ++ * values. The only restriction on the subcontext_id is that ++ * it be unique for a given node. ++ */ ++ __u16 subctxt_cnt; ++ __u16 subctxt_id; ++ /* 128bit UUID passed in by PSM. */ ++ __u8 uuid[16]; ++}; ++ ++struct hfi1_ctxt_info { ++ __u64 runtime_flags; /* chip/drv runtime flags (HFI1_CAP_*) */ ++ __u32 rcvegr_size; /* size of each eager buffer */ ++ __u16 num_active; /* number of active units */ ++ __u16 unit; /* unit (chip) assigned to caller */ ++ __u16 ctxt; /* ctxt on unit assigned to caller */ ++ __u16 subctxt; /* subctxt on unit assigned to caller */ ++ __u16 rcvtids; /* number of Rcv TIDs for this context */ ++ __u16 credits; /* number of PIO credits for this context */ ++ __u16 numa_node; /* NUMA node of the assigned device */ ++ __u16 rec_cpu; /* cpu # for affinity (0xffff if none) */ ++ __u16 send_ctxt; /* send context in use by this user context */ ++ __u16 egrtids; /* number of RcvArray entries for Eager Rcvs */ ++ __u16 rcvhdrq_cnt; /* number of RcvHdrQ entries */ ++ __u16 rcvhdrq_entsize; /* size (in bytes) for each RcvHdrQ entry */ ++ __u16 sdma_ring_size; /* number of entries in SDMA request ring */ ++}; ++ ++struct hfi1_tid_info { ++ /* virtual address of first page in transfer */ ++ __u64 vaddr; ++ /* pointer to tid array. this array is big enough */ ++ __u64 tidlist; ++ /* number of tids programmed by this request */ ++ __u32 tidcnt; ++ /* length of transfer buffer programmed by this request */ ++ __u32 length; ++}; ++ ++#ifdef NVIDIA_GPU_DIRECT ++/* ++ * struct hfi1_tid_info_v2 is a copy of struct hfi1_tid_info plus a flags field ++ * added at the end of the structure. A new structure is defined instead of ++ * adding the flags field to struct hfi1_tid_info to prevent changing the IOCTL ++ * command number and maintain backwards compatibility with older PSM versions. ++ */ ++struct hfi1_tid_info_v2 { ++ /* virtual address of first page in transfer */ ++ __u64 vaddr; ++ /* pointer to tid array. this array is big enough */ ++ __u64 tidlist; ++ /* number of tids programmed by this request */ ++ __u32 tidcnt; ++ /* length of transfer buffer programmed by this request */ ++ __u32 length; ++ /* Buffer flags. See HFI1_BUF_* */ ++ __u16 flags; ++}; ++#endif ++ ++/* ++ * This structure is returned by the driver immediately after ++ * open to get implementation-specific info, and info specific to this ++ * instance. ++ * ++ * This struct must have explicit pad fields where type sizes ++ * may result in different alignments between 32 and 64 bit ++ * programs, since the 64 bit * bit kernel requires the user code ++ * to have matching offsets ++ */ ++struct hfi1_base_info { ++ /* version of hardware, for feature checking. */ ++ __u32 hw_version; ++ /* version of software, for feature checking. */ ++ __u32 sw_version; ++ /* Job key */ ++ __u16 jkey; ++ __u16 padding1; ++ /* ++ * The special QP (queue pair) value that identifies PSM ++ * protocol packet from standard IB packets. ++ */ ++ __u32 bthqp; ++ /* PIO credit return address, */ ++ __u64 sc_credits_addr; ++ /* ++ * Base address of write-only pio buffers for this process. ++ * Each buffer has sendpio_credits*64 bytes. ++ */ ++ __u64 pio_bufbase_sop; ++ /* ++ * Base address of write-only pio buffers for this process. ++ * Each buffer has sendpio_credits*64 bytes. ++ */ ++ __u64 pio_bufbase; ++ /* address where receive buffer queue is mapped into */ ++ __u64 rcvhdr_bufbase; ++ /* base address of Eager receive buffers. */ ++ __u64 rcvegr_bufbase; ++ /* base address of SDMA completion ring */ ++ __u64 sdma_comp_bufbase; ++ /* ++ * User register base for init code, not to be used directly by ++ * protocol or applications. Always maps real chip register space. ++ * the register addresses are: ++ * ur_rcvhdrhead, ur_rcvhdrtail, ur_rcvegrhead, ur_rcvegrtail, ++ * ur_rcvtidflow ++ */ ++ __u64 user_regbase; ++ /* notification events */ ++ __u64 events_bufbase; ++ /* status page */ ++ __u64 status_bufbase; ++ /* rcvhdrtail update */ ++ __u64 rcvhdrtail_base; ++ /* ++ * shared memory pages for subctxts if ctxt is shared; these cover ++ * all the processes in the group sharing a single context. ++ * all have enough space for the num_subcontexts value on this job. ++ */ ++ __u64 subctxt_uregbase; ++ __u64 subctxt_rcvegrbuf; ++ __u64 subctxt_rcvhdrbuf; ++}; ++ ++#ifdef NVIDIA_GPU_DIRECT ++ ++/* ++ * Use this for the version field in all the GDR related ioctl parameter ++ * structures. We are starting with version 1. ++ */ ++#define HFI1_GDR_VERSION 0x1UL ++ ++/** ++ * struct hfi1_sdma_gpu_cache_evict_params - arguments for sdma cache evict ++ * @evict_params_in: Values passed into the ioctl ++ * @version: The version number for this ioctl. ++ * @pages_to_evict: The number of GPU pages we want evicted from this cache. ++ * @evict_params_out: Values returned from the ioctl ++ * @pages_evicted: The number of GPU pages that were actually evicted. ++ * @pages_in_cache: The number of GPU pages resident in this cache. ++ */ ++struct hfi1_sdma_gpu_cache_evict_params { ++ union { ++ struct { ++ __u32 version; ++ __u32 pages_to_evict; ++ } evict_params_in; ++ struct { ++ __u32 pages_evicted; ++ __u32 pages_in_cache; ++ } evict_params_out; ++ }; ++}; ++ ++/** ++ * struct hfi1_gdr_query_parms - argument for gdr driver ioctl command ++ * @query_parms_in: Union member containing values passed into the ioctl() ++ * @version: A way to pass in a version number for this interface. ++ * @gpu_buf_addr: The starting address of a gpu buffer to be operated upon ++ * @gpu_buf_size: The size of a gpu buffer to be operated upon ++ * @query_params_out: Union member containig values pass back from ioctl() ++ * @host_buf_addr: the host address of a pinned and mmaped gpu buffer. ++ * ++ * This structure is associated with the gdr_ops driver's ioctl commands; ++ * ++ * HFI1_IOCTL_GDR_GPU_PIN_MMAP ++ * HFI1_IOCTL_GDR_GPU_MUNMAP_UNPIN ++ * ++ * It is used to pass in GPU buffer descriptors into the hfi_ops ++ * driver. ++ * ++ * The driver will reject any gpu buffer address or gpu buffer size that ++ * is NOT rounded to GPU buffer boundaries. GPU buffer addresses must ++ * start on a NV_GPU_PAGE_SIZE boundary, and a multiple of NV_GPU_PAGE_SIZE ++ * in length. ++ * ++ */ ++struct hfi1_gdr_query_params { ++ union { ++ struct { ++ __u32 version; ++ __u32 gpu_buf_size; ++ __u64 gpu_buf_addr; ++ } query_params_in; ++ struct { ++ __u64 host_buf_addr; ++ } query_params_out; ++ }; ++}; ++ ++/** ++ * struct hfi1_gdr_cache_evict_params - arguments for GDR cache evict ioctl ++ * @version: The version number for this ioctl. ++ * @evict_params_in: Values passed into the ioctl ++ * @pages_to_evict: The number of GPU pages we want evicted from this cache. ++ * @evict_params_out: Values returned from the ioctl ++ * @pages_evicted: The number of GPU pages that were actually evicted. ++ * @pages_in_cache: The number of GPU pages resident in this cache. ++ */ ++struct hfi1_gdr_cache_evict_params { ++ union { ++ struct { ++ __u32 version; ++ __u32 pages_to_evict; ++ } evict_params_in; ++ struct { ++ __u32 pages_evicted; ++ __u32 pages_in_cache; ++ } evict_params_out; ++ }; ++}; ++#endif ++#endif /* _LINIUX__HFI1_IOCTL_H */ +diff -urN libpsm2-11.2.80.orig/include/rdma/hfi/hfi1_user.h libpsm2-11.2.80/include/rdma/hfi/hfi1_user.h +--- libpsm2-11.2.80.orig/include/rdma/hfi/hfi1_user.h 1970-01-01 00:00:00.000000000 +0000 ++++ libpsm2-11.2.80/include/rdma/hfi/hfi1_user.h 2019-02-27 21:28:05.000000000 +0000 +@@ -0,0 +1,287 @@ ++/* ++ * ++ * This file is provided under a dual BSD/GPLv2 license. When using or ++ * redistributing this file, you may do so under either license. ++ * ++ * GPL LICENSE SUMMARY ++ * ++ * Copyright(c) 2015 Intel Corporation. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of version 2 of the GNU General Public License as ++ * published by the Free Software Foundation. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ * ++ * BSD LICENSE ++ * ++ * Copyright(c) 2015 Intel Corporation. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * ++ * - Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * - Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in ++ * the documentation and/or other materials provided with the ++ * distribution. ++ * - Neither the name of Intel Corporation nor the names of its ++ * contributors may be used to endorse or promote products derived ++ * from this software without specific prior written permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * ++ */ ++ ++/* ++ * This file contains defines, structures, etc. that are used ++ * to communicate between kernel and user code. ++ */ ++ ++#ifndef _LINUX__HFI1_USER_H ++#define _LINUX__HFI1_USER_H ++ ++#include ++#include ++ ++/* ++ * This version number is given to the driver by the user code during ++ * initialization in the spu_userversion field of hfi1_user_info, so ++ * the driver can check for compatibility with user code. ++ * ++ * The major version changes when data structures change in an incompatible ++ * way. The driver must be the same for initialization to succeed. ++ */ ++#define HFI1_USER_SWMAJOR 6 ++ ++/* ++ * Minor version differences are always compatible ++ * a within a major version, however if user software is larger ++ * than driver software, some new features and/or structure fields ++ * may not be implemented; the user code must deal with this if it ++ * cares, or it must abort after initialization reports the difference. ++ */ ++#define HFI1_USER_SWMINOR 3 ++ ++/* ++ * We will encode the major/minor inside a single 32bit version number. ++ */ ++#define HFI1_SWMAJOR_SHIFT 16 ++ ++/* ++ * Set of HW and driver capability/feature bits. ++ * These bit values are used to configure enabled/disabled HW and ++ * driver features. The same set of bits are communicated to user ++ * space. ++ */ ++#define HFI1_CAP_DMA_RTAIL (1UL << 0) /* Use DMA'ed RTail value */ ++#define HFI1_CAP_SDMA (1UL << 1) /* Enable SDMA support */ ++#define HFI1_CAP_SDMA_AHG (1UL << 2) /* Enable SDMA AHG support */ ++#define HFI1_CAP_EXTENDED_PSN (1UL << 3) /* Enable Extended PSN support */ ++#define HFI1_CAP_HDRSUPP (1UL << 4) /* Enable Header Suppression */ ++#define HFI1_CAP_TID_RDMA (1UL << 5) /* Enable TID RDMA operations */ ++#define HFI1_CAP_USE_SDMA_HEAD (1UL << 6) /* DMA Hdr Q tail vs. use CSR */ ++#define HFI1_CAP_MULTI_PKT_EGR (1UL << 7) /* Enable multi-packet Egr buffs*/ ++#define HFI1_CAP_NODROP_RHQ_FULL (1UL << 8) /* Don't drop on Hdr Q full */ ++#define HFI1_CAP_NODROP_EGR_FULL (1UL << 9) /* Don't drop on EGR buffs full */ ++#define HFI1_CAP_TID_UNMAP (1UL << 10) /* Disable Expected TID caching */ ++#define HFI1_CAP_PRINT_UNIMPL (1UL << 11) /* Show for unimplemented feats */ ++#define HFI1_CAP_ALLOW_PERM_JKEY (1UL << 12) /* Allow use of permissive JKEY */ ++#define HFI1_CAP_NO_INTEGRITY (1UL << 13) /* Enable ctxt integrity checks */ ++#define HFI1_CAP_PKEY_CHECK (1UL << 14) /* Enable ctxt PKey checking */ ++#define HFI1_CAP_STATIC_RATE_CTRL (1UL << 15) /* Allow PBC.StaticRateControl */ ++#define HFI1_CAP_OPFN (1UL << 16) /* Enable the OPFN protocol */ ++#define HFI1_CAP_SDMA_HEAD_CHECK (1UL << 17) /* SDMA head checking */ ++#define HFI1_CAP_EARLY_CREDIT_RETURN (1UL << 18) /* early credit return */ ++ ++#ifdef NVIDIA_GPU_DIRECT ++/* ++ * Bit-63 is being used instead of the LSB that is available since ++ * HFI1_CAP_GPUDIRECT_OT will only be used in an out of tree driver. ++ */ ++#define HFI1_CAP_GPUDIRECT_OT (1UL << 63) /* GPU Direct RDMA support */ ++#endif ++ ++#define HFI1_RCVHDR_ENTSIZE_2 (1UL << 0) ++#define HFI1_RCVHDR_ENTSIZE_16 (1UL << 1) ++#define HFI1_RCVDHR_ENTSIZE_32 (1UL << 2) ++ ++#define _HFI1_EVENT_FROZEN_BIT 0 ++#define _HFI1_EVENT_LINKDOWN_BIT 1 ++#define _HFI1_EVENT_LID_CHANGE_BIT 2 ++#define _HFI1_EVENT_LMC_CHANGE_BIT 3 ++#define _HFI1_EVENT_SL2VL_CHANGE_BIT 4 ++#define _HFI1_EVENT_TID_MMU_NOTIFY_BIT 5 ++#define _HFI1_MAX_EVENT_BIT _HFI1_EVENT_TID_MMU_NOTIFY_BIT ++ ++#define HFI1_EVENT_FROZEN (1UL << _HFI1_EVENT_FROZEN_BIT) ++#define HFI1_EVENT_LINKDOWN (1UL << _HFI1_EVENT_LINKDOWN_BIT) ++#define HFI1_EVENT_LID_CHANGE (1UL << _HFI1_EVENT_LID_CHANGE_BIT) ++#define HFI1_EVENT_LMC_CHANGE (1UL << _HFI1_EVENT_LMC_CHANGE_BIT) ++#define HFI1_EVENT_SL2VL_CHANGE (1UL << _HFI1_EVENT_SL2VL_CHANGE_BIT) ++#define HFI1_EVENT_TID_MMU_NOTIFY (1UL << _HFI1_EVENT_TID_MMU_NOTIFY_BIT) ++ ++#ifdef NVIDIA_GPU_DIRECT ++#define HFI1_BUF_GPU_MEM_BIT 0 ++#define HFI1_BUF_GPU_MEM (1UL << HFI1_BUF_GPU_MEM_BIT) ++#endif ++ ++/* ++ * These are the status bits readable (in ASCII form, 64bit value) ++ * from the "status" sysfs file. For binary compatibility, values ++ * must remain as is; removed states can be reused for different ++ * purposes. ++ */ ++#define HFI1_STATUS_INITTED 0x1 /* basic initialization done */ ++/* Chip has been found and initialized */ ++#define HFI1_STATUS_CHIP_PRESENT 0x20 ++/* IB link is at ACTIVE, usable for data traffic */ ++#define HFI1_STATUS_IB_READY 0x40 ++/* link is configured, LID, MTU, etc. have been set */ ++#define HFI1_STATUS_IB_CONF 0x80 ++/* A Fatal hardware error has occurred. */ ++#define HFI1_STATUS_HWERROR 0x200 ++ ++/* ++ * Number of supported shared contexts. ++ * This is the maximum number of software contexts that can share ++ * a hardware send/receive context. ++ */ ++#define HFI1_MAX_SHARED_CTXTS 8 ++ ++/* ++ * Poll types ++ */ ++#define HFI1_POLL_TYPE_ANYRCV 0x0 ++#define HFI1_POLL_TYPE_URGENT 0x1 ++ ++enum hfi1_sdma_comp_state { ++ FREE = 0, ++ QUEUED, ++ COMPLETE, ++ ERROR ++}; ++ ++/* ++ * SDMA completion ring entry ++ */ ++struct hfi1_sdma_comp_entry { ++ __u32 status; ++ __u32 errcode; ++}; ++ ++/* ++ * Device status and notifications from driver to user-space. ++ */ ++struct hfi1_status { ++ __u64 dev; /* device/hw status bits */ ++ __u64 port; /* port state and status bits */ ++ char freezemsg[0]; ++}; ++ ++enum sdma_req_opcode { ++ EXPECTED = 0, ++ EAGER ++}; ++ ++#define HFI1_SDMA_REQ_VERSION_MASK 0xF ++#define HFI1_SDMA_REQ_VERSION_SHIFT 0x0 ++#define HFI1_SDMA_REQ_OPCODE_MASK 0xF ++#define HFI1_SDMA_REQ_OPCODE_SHIFT 0x4 ++#define HFI1_SDMA_REQ_IOVCNT_MASK 0xFF ++#define HFI1_SDMA_REQ_IOVCNT_SHIFT 0x8 ++ ++struct sdma_req_info { ++ /* ++ * bits 0-3 - version (currently used only for GPU direct) ++ * 1 - user space is NOT using flags field ++ * 2 - user space is using flags field ++ * bits 4-7 - opcode (enum sdma_req_opcode) ++ * bits 8-15 - io vector count ++ */ ++ __u16 ctrl; ++ /* ++ * Number of fragments contained in this request. ++ * User-space has already computed how many ++ * fragment-sized packet the user buffer will be ++ * split into. ++ */ ++ __u16 npkts; ++ /* ++ * Size of each fragment the user buffer will be ++ * split into. ++ */ ++ __u16 fragsize; ++ /* ++ * Index of the slot in the SDMA completion ring ++ * this request should be using. User-space is ++ * in charge of managing its own ring. ++ */ ++ __u16 comp_idx; ++#ifdef NVIDIA_GPU_DIRECT ++ /* ++ * Buffer flags for this request. See HFI1_BUF_* ++ */ ++ __u16 flags; ++#endif ++} __attribute__((packed)); ++ ++/* ++ * SW KDETH header. ++ * swdata is SW defined portion. ++ */ ++struct hfi1_kdeth_header { ++ __le32 ver_tid_offset; ++ __le16 jkey; ++ __le16 hcrc; ++ __le32 swdata[7]; ++} __attribute__((packed)); ++ ++/* ++ * Structure describing the headers that User space uses. The ++ * structure above is a subset of this one. ++ */ ++struct hfi1_pkt_header { ++ __le16 pbc[4]; ++ __be16 lrh[4]; ++ __be32 bth[3]; ++ struct hfi1_kdeth_header kdeth; ++} __attribute__((packed)); ++ ++ ++/* ++ * The list of usermode accessible registers. ++ */ ++enum hfi1_ureg { ++ /* (RO) DMA RcvHdr to be used next. */ ++ ur_rcvhdrtail = 0, ++ /* (RW) RcvHdr entry to be processed next by host. */ ++ ur_rcvhdrhead = 1, ++ /* (RO) Index of next Eager index to use. */ ++ ur_rcvegrindextail = 2, ++ /* (RW) Eager TID to be processed next */ ++ ur_rcvegrindexhead = 3, ++ /* (RO) Receive Eager Offset Tail */ ++ ur_rcvegroffsettail = 4, ++ /* For internal use only; max register number. */ ++ ur_maxreg, ++ /* (RW) Receive TID flow table */ ++ ur_rcvtidflowtable = 256 ++}; ++ ++#endif /* _LINIUX__HFI1_USER_H */ +diff -urN libpsm2-11.2.80.orig/include/rdma/ib_user_mad.h libpsm2-11.2.80/include/rdma/ib_user_mad.h +--- libpsm2-11.2.80.orig/include/rdma/ib_user_mad.h 1970-01-01 00:00:00.000000000 +0000 ++++ libpsm2-11.2.80/include/rdma/ib_user_mad.h 2019-02-01 15:04:28.000000000 +0000 +@@ -0,0 +1,233 @@ ++/* ++ * Copyright (c) 2004 Topspin Communications. All rights reserved. ++ * Copyright (c) 2005 Voltaire, Inc. All rights reserved. ++ * ++ * This software is available to you under a choice of one of two ++ * licenses. You may choose to be licensed under the terms of the GNU ++ * General Public License (GPL) Version 2, available from the file ++ * COPYING in the main directory of this source tree, or the ++ * OpenIB.org BSD license below: ++ * ++ * Redistribution and use in source and binary forms, with or ++ * without modification, are permitted provided that the following ++ * conditions are met: ++ * ++ * - Redistributions of source code must retain the above ++ * copyright notice, this list of conditions and the following ++ * disclaimer. ++ * ++ * - Redistributions in binary form must reproduce the above ++ * copyright notice, this list of conditions and the following ++ * disclaimer in the documentation and/or other materials ++ * provided with the distribution. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS ++ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ++ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ++ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++ * SOFTWARE. ++ */ ++ ++#ifndef IB_USER_MAD_H ++#define IB_USER_MAD_H ++ ++#include ++#include ++ ++/* ++ * Increment this value if any changes that break userspace ABI ++ * compatibility are made. ++ */ ++#define IB_USER_MAD_ABI_VERSION 5 ++ ++/* ++ * Make sure that all structs defined in this file remain laid out so ++ * that they pack the same way on 32-bit and 64-bit architectures (to ++ * avoid incompatibility between 32-bit userspace and 64-bit kernels). ++ */ ++ ++/** ++ * ib_user_mad_hdr_old - Old version of MAD packet header without pkey_index ++ * @id - ID of agent MAD received with/to be sent with ++ * @status - 0 on successful receive, ETIMEDOUT if no response ++ * received (transaction ID in data[] will be set to TID of original ++ * request) (ignored on send) ++ * @timeout_ms - Milliseconds to wait for response (unset on receive) ++ * @retries - Number of automatic retries to attempt ++ * @qpn - Remote QP number received from/to be sent to ++ * @qkey - Remote Q_Key to be sent with (unset on receive) ++ * @lid - Remote lid received from/to be sent to ++ * @sl - Service level received with/to be sent with ++ * @path_bits - Local path bits received with/to be sent with ++ * @grh_present - If set, GRH was received/should be sent ++ * @gid_index - Local GID index to send with (unset on receive) ++ * @hop_limit - Hop limit in GRH ++ * @traffic_class - Traffic class in GRH ++ * @gid - Remote GID in GRH ++ * @flow_label - Flow label in GRH ++ */ ++struct ib_user_mad_hdr_old { ++ __u32 id; ++ __u32 status; ++ __u32 timeout_ms; ++ __u32 retries; ++ __u32 length; ++ __be32 qpn; ++ __be32 qkey; ++ __be16 lid; ++ __u8 sl; ++ __u8 path_bits; ++ __u8 grh_present; ++ __u8 gid_index; ++ __u8 hop_limit; ++ __u8 traffic_class; ++ __u8 gid[16]; ++ __be32 flow_label; ++}; ++ ++/** ++ * ib_user_mad_hdr - MAD packet header ++ * This layout allows specifying/receiving the P_Key index. To use ++ * this capability, an application must call the ++ * IB_USER_MAD_ENABLE_PKEY ioctl on the user MAD file handle before ++ * any other actions with the file handle. ++ * @id - ID of agent MAD received with/to be sent with ++ * @status - 0 on successful receive, ETIMEDOUT if no response ++ * received (transaction ID in data[] will be set to TID of original ++ * request) (ignored on send) ++ * @timeout_ms - Milliseconds to wait for response (unset on receive) ++ * @retries - Number of automatic retries to attempt ++ * @qpn - Remote QP number received from/to be sent to ++ * @qkey - Remote Q_Key to be sent with (unset on receive) ++ * @lid - Remote lid received from/to be sent to ++ * @sl - Service level received with/to be sent with ++ * @path_bits - Local path bits received with/to be sent with ++ * @grh_present - If set, GRH was received/should be sent ++ * @gid_index - Local GID index to send with (unset on receive) ++ * @hop_limit - Hop limit in GRH ++ * @traffic_class - Traffic class in GRH ++ * @gid - Remote GID in GRH ++ * @flow_label - Flow label in GRH ++ * @pkey_index - P_Key index ++ */ ++struct ib_user_mad_hdr { ++ __u32 id; ++ __u32 status; ++ __u32 timeout_ms; ++ __u32 retries; ++ __u32 length; ++ __be32 qpn; ++ __be32 qkey; ++ __be16 lid; ++ __u8 sl; ++ __u8 path_bits; ++ __u8 grh_present; ++ __u8 gid_index; ++ __u8 hop_limit; ++ __u8 traffic_class; ++ __u8 gid[16]; ++ __be32 flow_label; ++ __u16 pkey_index; ++ __u8 reserved[6]; ++}; ++ ++/** ++ * ib_user_mad - MAD packet ++ * @hdr - MAD packet header ++ * @data - Contents of MAD ++ * ++ */ ++struct ib_user_mad { ++ struct ib_user_mad_hdr hdr; ++ __aligned_u64 data[0]; ++}; ++ ++/* ++ * Earlier versions of this interface definition declared the ++ * method_mask[] member as an array of __u32 but treated it as a ++ * bitmap made up of longs in the kernel. This ambiguity meant that ++ * 32-bit big-endian applications that can run on both 32-bit and ++ * 64-bit kernels had no consistent ABI to rely on, and 64-bit ++ * big-endian applications that treated method_mask as being made up ++ * of 32-bit words would have their bitmap misinterpreted. ++ * ++ * To clear up this confusion, we change the declaration of ++ * method_mask[] to use unsigned long and handle the conversion from ++ * 32-bit userspace to 64-bit kernel for big-endian systems in the ++ * compat_ioctl method. Unfortunately, to keep the structure layout ++ * the same, we need the method_mask[] array to be aligned only to 4 ++ * bytes even when long is 64 bits, which forces us into this ugly ++ * typedef. ++ */ ++typedef unsigned long __attribute__((aligned(4))) packed_ulong; ++#define IB_USER_MAD_LONGS_PER_METHOD_MASK (128 / (8 * sizeof (long))) ++ ++/** ++ * ib_user_mad_reg_req - MAD registration request ++ * @id - Set by the kernel; used to identify agent in future requests. ++ * @qpn - Queue pair number; must be 0 or 1. ++ * @method_mask - The caller will receive unsolicited MADs for any method ++ * where @method_mask = 1. ++ * @mgmt_class - Indicates which management class of MADs should be receive ++ * by the caller. This field is only required if the user wishes to ++ * receive unsolicited MADs, otherwise it should be 0. ++ * @mgmt_class_version - Indicates which version of MADs for the given ++ * management class to receive. ++ * @oui: Indicates IEEE OUI when mgmt_class is a vendor class ++ * in the range from 0x30 to 0x4f. Otherwise not used. ++ * @rmpp_version: If set, indicates the RMPP version used. ++ * ++ */ ++struct ib_user_mad_reg_req { ++ __u32 id; ++ packed_ulong method_mask[IB_USER_MAD_LONGS_PER_METHOD_MASK]; ++ __u8 qpn; ++ __u8 mgmt_class; ++ __u8 mgmt_class_version; ++ __u8 oui[3]; ++ __u8 rmpp_version; ++}; ++ ++/** ++ * ib_user_mad_reg_req2 - MAD registration request ++ * ++ * @id - Set by the _kernel_; used by userspace to identify the ++ * registered agent in future requests. ++ * @qpn - Queue pair number; must be 0 or 1. ++ * @mgmt_class - Indicates which management class of MADs should be ++ * receive by the caller. This field is only required if ++ * the user wishes to receive unsolicited MADs, otherwise ++ * it should be 0. ++ * @mgmt_class_version - Indicates which version of MADs for the given ++ * management class to receive. ++ * @res - Ignored. ++ * @flags - additional registration flags; Must be in the set of ++ * flags defined in IB_USER_MAD_REG_FLAGS_CAP ++ * @method_mask - The caller wishes to receive unsolicited MADs for the ++ * methods whose bit(s) is(are) set. ++ * @oui - Indicates IEEE OUI to use when mgmt_class is a vendor ++ * class in the range from 0x30 to 0x4f. Otherwise not ++ * used. ++ * @rmpp_version - If set, indicates the RMPP version to use. ++ */ ++enum { ++ IB_USER_MAD_USER_RMPP = (1 << 0), ++}; ++#define IB_USER_MAD_REG_FLAGS_CAP (IB_USER_MAD_USER_RMPP) ++struct ib_user_mad_reg_req2 { ++ __u32 id; ++ __u32 qpn; ++ __u8 mgmt_class; ++ __u8 mgmt_class_version; ++ __u16 res; ++ __u32 flags; ++ __aligned_u64 method_mask[2]; ++ __u32 oui; ++ __u8 rmpp_version; ++ __u8 reserved[3]; ++}; ++ ++#endif /* IB_USER_MAD_H */ +diff -urN libpsm2-11.2.80.orig/include/rdma/rdma_user_ioctl.h libpsm2-11.2.80/include/rdma/rdma_user_ioctl.h +--- libpsm2-11.2.80.orig/include/rdma/rdma_user_ioctl.h 1970-01-01 00:00:00.000000000 +0000 ++++ libpsm2-11.2.80/include/rdma/rdma_user_ioctl.h 2018-08-23 03:06:42.000000000 +0000 +@@ -0,0 +1,162 @@ ++/* ++ * Copyright (c) 2016 Mellanox Technologies, LTD. All rights reserved. ++ * ++ * This software is available to you under a choice of one of two ++ * licenses. You may choose to be licensed under the terms of the GNU ++ * General Public License (GPL) Version 2, available from the file ++ * COPYING in the main directory of this source tree, or the ++ * OpenIB.org BSD license below: ++ * ++ * Redistribution and use in source and binary forms, with or ++ * without modification, are permitted provided that the following ++ * conditions are met: ++ * ++ * - Redistributions of source code must retain the above ++ * copyright notice, this list of conditions and the following ++ * disclaimer. ++ * ++ * - Redistributions in binary form must reproduce the above ++ * copyright notice, this list of conditions and the following ++ * disclaimer in the documentation and/or other materials ++ * provided with the distribution. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS ++ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ++ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ++ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++ * SOFTWARE. ++ */ ++ ++#ifndef RDMA_USER_IOCTL_H ++#define RDMA_USER_IOCTL_H ++ ++#include ++#include ++#include ++#include ++ ++/* Documentation/ioctl/ioctl-number.txt */ ++#define RDMA_IOCTL_MAGIC 0x1b ++/* Legacy name, for user space application which already use it */ ++#ifndef IB_IOCTL_MAGIC ++#define IB_IOCTL_MAGIC RDMA_IOCTL_MAGIC ++#endif ++ ++#define RDMA_VERBS_IOCTL \ ++ _IOWR(RDMA_IOCTL_MAGIC, 1, struct ib_uverbs_ioctl_hdr) ++ ++#define UVERBS_ID_NS_MASK 0xF000 ++#define UVERBS_ID_NS_SHIFT 12 ++ ++enum { ++ /* User input */ ++ UVERBS_ATTR_F_MANDATORY = 1U << 0, ++ /* ++ * Valid output bit should be ignored and considered set in ++ * mandatory fields. This bit is kernel output. ++ */ ++ UVERBS_ATTR_F_VALID_OUTPUT = 1U << 1, ++}; ++ ++struct ib_uverbs_attr { ++ __u16 attr_id; /* command specific type attribute */ ++ __u16 len; /* only for pointers */ ++ __u16 flags; /* combination of UVERBS_ATTR_F_XXXX */ ++ __u16 reserved; ++ __u64 data; /* ptr to command, inline data or idr/fd */ ++}; ++ ++struct ib_uverbs_ioctl_hdr { ++ __u16 length; ++ __u16 object_id; ++ __u16 method_id; ++ __u16 num_attrs; ++ __u64 reserved; ++ struct ib_uverbs_attr attrs[0]; ++}; ++ ++/* ++ * General blocks assignments ++ * It is closed on purpose do not expose it it user space ++ * #define MAD_CMD_BASE 0x00 ++ * #define HFI1_CMD_BAS 0xE0 ++ */ ++ ++/* MAD specific section */ ++#ifndef IB_USER_MAD_REGISTER_AGENT ++#define IB_USER_MAD_REGISTER_AGENT _IOWR(RDMA_IOCTL_MAGIC, 0x01, struct ib_user_mad_reg_req) ++#endif ++#ifndef IB_USER_MAD_UNREGISTER_AGENT ++#define IB_USER_MAD_UNREGISTER_AGENT _IOW(RDMA_IOCTL_MAGIC, 0x02, __u32) ++#endif ++#ifndef IB_USER_MAD_ENABLE_PKEY ++#define IB_USER_MAD_ENABLE_PKEY _IO(RDMA_IOCTL_MAGIC, 0x03) ++#endif ++#ifndef IB_USER_MAD_REGISTER_AGENT2 ++#define IB_USER_MAD_REGISTER_AGENT2 _IOWR(RDMA_IOCTL_MAGIC, 0x04, struct ib_user_mad_reg_req2) ++#endif ++ ++/* HFI specific section */ ++/* allocate HFI and context */ ++#define HFI1_IOCTL_ASSIGN_CTXT _IOWR(RDMA_IOCTL_MAGIC, 0xE1, struct hfi1_user_info) ++/* find out what resources we got */ ++#define HFI1_IOCTL_CTXT_INFO _IOW(RDMA_IOCTL_MAGIC, 0xE2, struct hfi1_ctxt_info) ++/* set up userspace */ ++#define HFI1_IOCTL_USER_INFO _IOW(RDMA_IOCTL_MAGIC, 0xE3, struct hfi1_base_info) ++/* update expected TID entries */ ++#define HFI1_IOCTL_TID_UPDATE _IOWR(RDMA_IOCTL_MAGIC, 0xE4, struct hfi1_tid_info) ++/* free expected TID entries */ ++#define HFI1_IOCTL_TID_FREE _IOWR(RDMA_IOCTL_MAGIC, 0xE5, struct hfi1_tid_info) ++/* force an update of PIO credit */ ++#define HFI1_IOCTL_CREDIT_UPD _IO(RDMA_IOCTL_MAGIC, 0xE6) ++/* control receipt of packets */ ++#define HFI1_IOCTL_RECV_CTRL _IOW(RDMA_IOCTL_MAGIC, 0xE8, int) ++/* set the kind of polling we want */ ++#define HFI1_IOCTL_POLL_TYPE _IOW(RDMA_IOCTL_MAGIC, 0xE9, int) ++/* ack & clear user status bits */ ++#define HFI1_IOCTL_ACK_EVENT _IOW(RDMA_IOCTL_MAGIC, 0xEA, unsigned long) ++/* set context's pkey */ ++#define HFI1_IOCTL_SET_PKEY _IOW(RDMA_IOCTL_MAGIC, 0xEB, __u16) ++/* reset context's HW send context */ ++#define HFI1_IOCTL_CTXT_RESET _IO(RDMA_IOCTL_MAGIC, 0xEC) ++/* read TID cache invalidations */ ++#define HFI1_IOCTL_TID_INVAL_READ _IOWR(RDMA_IOCTL_MAGIC, 0xED, struct hfi1_tid_info) ++/* get the version of the user cdev */ ++#define HFI1_IOCTL_GET_VERS _IOR(RDMA_IOCTL_MAGIC, 0xEE, int) ++ ++#ifdef NVIDIA_GPU_DIRECT ++#define HFI1_IOCTL_SDMA_CACHE_EVICT _IOWR(RDMA_IOCTL_MAGIC, 0xFD, struct hfi1_sdma_gpu_cache_evict_params) ++ ++#define HFI1_IOCTL_TID_UPDATE_V2 _IOWR(RDMA_IOCTL_MAGIC, 0xFE, struct hfi1_tid_info_v2) ++ ++/* ++ * gdr_ops driver ioctl related declarations ++ * HFI1_IOCTL_GDR_GPU_PIN_MMAP ++ * return the host address of a gpu buffer that has been pinned ++ * and mmaped. ++ * ++ * HFI1_IOCTL_GDR_GPU_MUNMAP_UNPIN ++ * unpin a gpu buffer and unmap it from the user address space. ++ * ++ * HFI1_IOCTL_GDR_GPU_CACHE_EVICT ++ * Try to evict a number of pages from the GDR cache. ++ * Return the number of pages evicted, and the ++ * number of pages in that cache. ++ */ ++#define GDR_IOCTL_MAGIC 0xDA /* See Documentation/ioctl/ioctl-number.txt */ ++ ++#define HFI1_IOCTL_GDR_GPU_PIN_MMAP \ ++ _IOWR(GDR_IOCTL_MAGIC, 1, struct hfi1_gdr_query_params) ++ ++#define HFI1_IOCTL_GDR_GPU_MUNMAP_UNPIN \ ++ _IOWR(GDR_IOCTL_MAGIC, 2, struct hfi1_gdr_query_params) ++ ++#define HFI1_IOCTL_GDR_GPU_CACHE_EVICT \ ++ _IOWR(GDR_IOCTL_MAGIC, 3, struct hfi1_gdr_cache_evict_params) ++ ++#endif /* NVIDIA_GPU_DIRECT */ ++ ++#endif /* RDMA_USER_IOCTL_H */ diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..a78b2dde924 --- /dev/null +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-10.3.0.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'PSM2' +version = '12.0.1' + +homepage = 'https://github.com/cornelisnetworks/opa-psm2/' +description = """ +Low-level user-space communications interface for the Intel(R) OPA family of products. +""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/cornelisnetworks/opa-psm2/archive/refs/tags'] +sources = ['%(name)s_%(version)s.tar.gz'] +patches = [ + ('PSM2-11.2.80_hfi-user.patch', 1), +] + +checksums = [ + 'e41af2d7d36a6ab67639ecbd5c1012aa20b2b464bf5cfbdac60e7eb37bfe58de', # PSM2_12.0.1.tar.gz + '7c97f9dc3b2a6f0e5b5d80abca87d44771f03c0895fa363229398de6df4b0884', # PSM2-hfi-user.patch +] + +builddependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), +] + +dependencies = [ + ('numactl', '2.0.14'), +] + +skipsteps = ['configure'] + +prebuildopts = "sed -i 's|fprintf(stderr,|_HFI_DBG(|' psm_context.c && sed -i 's|/usr|/|' Makefile && " +buildopts = "arch=%s USE_PSM_UUID=1 PSM_CUDA=1 WERROR=" % ARCH +installopts = "arch=%s UDEVDIR=/lib/udev DESTDIR=%%(installdir)s" % ARCH + +sanity_check_paths = { + 'files': ['lib/lib%%(namelower)s.%s' % SHLIB_EXT, 'include/%(namelower)s.h'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..62ce7bb7b74 --- /dev/null +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.2.0.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'PSM2' +version = '12.0.1' + +homepage = 'https://github.com/cornelisnetworks/opa-psm2/' +description = """ +Low-level user-space communications interface for the Intel(R) OPA family of products. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/cornelisnetworks/opa-psm2/archive/refs/tags'] +sources = ['%(name)s_%(version)s.tar.gz'] +patches = [ + ('PSM2-11.2.80_hfi-user.patch', 1), +] + +checksums = [ + 'e41af2d7d36a6ab67639ecbd5c1012aa20b2b464bf5cfbdac60e7eb37bfe58de', # PSM2_12.0.1.tar.gz + '7c97f9dc3b2a6f0e5b5d80abca87d44771f03c0895fa363229398de6df4b0884', # PSM2-hfi-user.patch +] + +builddependencies = [ + ('CUDA', '11.5.2', '', SYSTEM), +] + +dependencies = [ + ('numactl', '2.0.14'), +] + +skipsteps = ['configure'] + +prebuildopts = "sed -i 's|fprintf(stderr,|_HFI_DBG(|' psm_context.c && sed -i 's|/usr|/|' Makefile && " +buildopts = "arch=%s USE_PSM_UUID=1 PSM_CUDA=1 WERROR=" % ARCH +installopts = "arch=%s UDEVDIR=/lib/udev DESTDIR=%%(installdir)s" % ARCH + +sanity_check_paths = { + 'files': ['lib/lib%%(namelower)s.%s' % SHLIB_EXT, 'include/%(namelower)s.h'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..7878c36228a --- /dev/null +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.3.0.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'PSM2' +version = '12.0.1' + +homepage = 'https://github.com/cornelisnetworks/opa-psm2/' +description = """ +Low-level user-space communications interface for the Intel(R) OPA family of products. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/cornelisnetworks/opa-psm2/archive/refs/tags'] +sources = ['%(name)s_%(version)s.tar.gz'] +patches = [ + ('PSM2-11.2.80_hfi-user.patch', 1), +] + +checksums = [ + 'e41af2d7d36a6ab67639ecbd5c1012aa20b2b464bf5cfbdac60e7eb37bfe58de', # PSM2_12.0.1.tar.gz + '7c97f9dc3b2a6f0e5b5d80abca87d44771f03c0895fa363229398de6df4b0884', # PSM2-hfi-user.patch +] + +builddependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), +] + +dependencies = [ + ('numactl', '2.0.14'), +] + +skipsteps = ['configure'] + +prebuildopts = "sed -i 's|fprintf(stderr,|_HFI_DBG(|' psm_context.c && sed -i 's|/usr|/|' Makefile && " +buildopts = "arch=%s USE_PSM_UUID=1 PSM_CUDA=1 WERROR=" % ARCH +installopts = "arch=%s UDEVDIR=/lib/udev DESTDIR=%%(installdir)s" % ARCH + +sanity_check_paths = { + 'files': ['lib/lib%%(namelower)s.%s' % SHLIB_EXT, 'include/%(namelower)s.h'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..fdbdd0e94dd --- /dev/null +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.2.0.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'PSM2' +version = '12.0.1' + +homepage = 'https://github.com/cornelisnetworks/opa-psm2/' +description = """ +Low-level user-space communications interface for the Intel(R) OPA family of products. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/cornelisnetworks/opa-psm2/archive/refs/tags'] +sources = ['%(name)s_%(version)s.tar.gz'] +patches = [ + ('PSM2-11.2.80_hfi-user.patch', 1), +] + +checksums = [ + 'e41af2d7d36a6ab67639ecbd5c1012aa20b2b464bf5cfbdac60e7eb37bfe58de', # PSM2_12.0.1.tar.gz + '7c97f9dc3b2a6f0e5b5d80abca87d44771f03c0895fa363229398de6df4b0884', # PSM2-hfi-user.patch +] + +builddependencies = [ + ('CUDA', '12.0.0', '', SYSTEM), +] + +dependencies = [ + ('numactl', '2.0.16'), +] + +skipsteps = ['configure'] + +prebuildopts = "sed -i 's|fprintf(stderr,|_HFI_DBG(|' psm_context.c && sed -i 's|/usr|/|' Makefile && " +buildopts = "arch=%s USE_PSM_UUID=1 PSM_CUDA=1 WERROR=" % ARCH +installopts = "arch=%s UDEVDIR=/lib/udev DESTDIR=%%(installdir)s" % ARCH + +sanity_check_paths = { + 'files': ['lib/lib%%(namelower)s.%s' % SHLIB_EXT, 'include/%(namelower)s.h'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..9121bf8bd3d --- /dev/null +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.3.0.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'PSM2' +version = '12.0.1' + +homepage = 'https://github.com/cornelisnetworks/opa-psm2/' +description = """ +Low-level user-space communications interface for the Intel(R) OPA family of products. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/cornelisnetworks/opa-psm2/archive/refs/tags'] +sources = ['%(name)s_%(version)s.tar.gz'] +patches = [ + ('PSM2-11.2.80_hfi-user.patch', 1), +] + +checksums = [ + 'e41af2d7d36a6ab67639ecbd5c1012aa20b2b464bf5cfbdac60e7eb37bfe58de', # PSM2_12.0.1.tar.gz + '7c97f9dc3b2a6f0e5b5d80abca87d44771f03c0895fa363229398de6df4b0884', # PSM2-hfi-user.patch +] + +builddependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), +] + +dependencies = [ + ('numactl', '2.0.16'), +] + +skipsteps = ['configure'] + +prebuildopts = "sed -i 's|fprintf(stderr,|_HFI_DBG(|' psm_context.c && sed -i 's|/usr|/|' Makefile && " +buildopts = "arch=%s USE_PSM_UUID=1 PSM_CUDA=1 WERROR=" % ARCH +installopts = "arch=%s UDEVDIR=/lib/udev DESTDIR=%%(installdir)s" % ARCH + +sanity_check_paths = { + 'files': ['lib/lib%%(namelower)s.%s' % SHLIB_EXT, 'include/%(namelower)s.h'], + 'dirs': [] +} + +moduleclass = 'lib' From 96a3e1e2bef56c0c2b02fae1ee4bf7f60b2d5a59 Mon Sep 17 00:00:00 2001 From: Samuel Moors Date: Wed, 8 May 2024 20:37:56 +0200 Subject: [PATCH 558/889] adding easyconfigs: HH-suite-3.3.0-gompi-2023a.eb --- .../h/HH-suite/HH-suite-3.3.0-gompi-2023a.eb | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 easybuild/easyconfigs/h/HH-suite/HH-suite-3.3.0-gompi-2023a.eb diff --git a/easybuild/easyconfigs/h/HH-suite/HH-suite-3.3.0-gompi-2023a.eb b/easybuild/easyconfigs/h/HH-suite/HH-suite-3.3.0-gompi-2023a.eb new file mode 100644 index 00000000000..c725a0bd92e --- /dev/null +++ b/easybuild/easyconfigs/h/HH-suite/HH-suite-3.3.0-gompi-2023a.eb @@ -0,0 +1,90 @@ +## +# This file is an EasyBuild recipy as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# https://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +## +# Updated to use gompi-2020b toolchain: +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'CMakeMake' + +name = 'HH-suite' +version = '3.3.0' + +homepage = 'https://github.com/soedinglab/hh-suite' +description = """The HH-suite is an open-source software package + for sensitive protein sequence searching based on the pairwise + alignment of hidden Markov models (HMMs).""" + +toolchain = {'name': 'gompi', 'version': '2023a'} + +source_urls = ['https://github.com/soedinglab/hh-suite/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['dd67f7f3bf601e48c9c0bc4cf1fbe3b946f787a808bde765e9436a48d27b0964'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('Perl', '5.36.1'), + ('Python', '3.11.3'), +] + +_binaries_help = [ + 'cstranslate', 'cstranslate_mpi', 'hhalign', 'hhalign_mpi', 'hhalign_omp', 'hhconsensus', + 'hhfilter', 'hhmake' +] + +_binaries_h = [ + 'a3m_database_extract', 'a3m_database_filter', 'a3m_database_reduce', 'a3m_extract', 'a3m_reduce', + 'hhblits', 'hhblits_ca3m', 'hhblits_mpi', 'hhblits_omp', 'hhsearch', 'hhsearch_mpi', 'hhsearch_omp' +] + +_binaries_version = ['ffindex_build', 'ffindex_from_fasta', 'ffindex_modify'] + +_binaries_v = ['ffindex_from_fasta_with_split'] + +_binaries_helpless = [ + 'ffindex_apply', 'ffindex_apply_mpi', 'ffindex_get', + 'ffindex_order', 'ffindex_reduce', 'ffindex_unpack' +] + +_scriptfiles = ['hhmakemodel.py', 'hh_reader.py', 'hhsuitedb.py', 'cif2fasta.py'] + +fix_perl_shebang_for = ['scripts/*pl'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _binaries_help] + + ['bin/%s' % x for x in _binaries_h] + + ['bin/%s' % x for x in _binaries_version] + + ['bin/%s' % x for x in _binaries_v] + + ['bin/%s' % x for x in _binaries_helpless] + + ['scripts/%s' % y for y in _scriptfiles], + 'dirs': ['data', 'scripts'] +} + +sanity_check_commands = ['%s --help' % x for x in _binaries_help] +sanity_check_commands += ['%s -h' % x for x in _binaries_h] +sanity_check_commands += ['%s --version' % x for x in _binaries_version] +sanity_check_commands += ['%s -v' % x for x in _binaries_v] +sanity_check_commands += ['%s 2>&1 | grep USAGE' % x for x in _binaries_helpless] + +modextrapaths = { + 'PATH': 'scripts', + 'PERL5LIB': 'scripts', +} + +modextravars = { + 'HHLIB': '%(installdir)s', +} + +moduleclass = 'bio' From 190d9be25ead791b09ca50d1bf8f89b8a7443b41 Mon Sep 17 00:00:00 2001 From: jfgrimm Date: Thu, 9 May 2024 11:23:00 +0100 Subject: [PATCH 559/889] add binutils build dep and GCCcore 13.2.0 version --- .../p/PSM2/PSM2-12.0.1-GCCcore-10.3.0.eb | 1 + .../p/PSM2/PSM2-12.0.1-GCCcore-11.2.0.eb | 1 + .../p/PSM2/PSM2-12.0.1-GCCcore-11.3.0.eb | 1 + .../p/PSM2/PSM2-12.0.1-GCCcore-12.2.0.eb | 1 + .../p/PSM2/PSM2-12.0.1-GCCcore-12.3.0.eb | 1 + .../p/PSM2/PSM2-12.0.1-GCCcore-13.2.0.eb | 45 +++++++++++++++++++ 6 files changed, 50 insertions(+) create mode 100644 easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-10.3.0.eb index a78b2dde924..98103be3254 100644 --- a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-10.3.0.eb @@ -23,6 +23,7 @@ checksums = [ ] builddependencies = [ + ('binutils', '2.36.1'), ('CUDA', '11.3.1', '', SYSTEM), ] diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.2.0.eb index 62ce7bb7b74..86d18b386bc 100644 --- a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.2.0.eb @@ -23,6 +23,7 @@ checksums = [ ] builddependencies = [ + ('binutils', '2.37'), ('CUDA', '11.5.2', '', SYSTEM), ] diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.3.0.eb index 7878c36228a..4e8a0dabf92 100644 --- a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.3.0.eb @@ -23,6 +23,7 @@ checksums = [ ] builddependencies = [ + ('binutils', '2.38'), ('CUDA', '11.7.0', '', SYSTEM), ] diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.2.0.eb index fdbdd0e94dd..7ac2292cc81 100644 --- a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.2.0.eb @@ -23,6 +23,7 @@ checksums = [ ] builddependencies = [ + ('binutils', '2.39'), ('CUDA', '12.0.0', '', SYSTEM), ] diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.3.0.eb index 9121bf8bd3d..7964e60b4ff 100644 --- a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.3.0.eb @@ -23,6 +23,7 @@ checksums = [ ] builddependencies = [ + ('binutils', '2.40'), ('CUDA', '12.1.1', '', SYSTEM), ] diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..0e768d1ecf1 --- /dev/null +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-13.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'PSM2' +version = '12.0.1' + +homepage = 'https://github.com/cornelisnetworks/opa-psm2/' +description = """ +Low-level user-space communications interface for the Intel(R) OPA family of products. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/cornelisnetworks/opa-psm2/archive/refs/tags'] +sources = ['%(name)s_%(version)s.tar.gz'] +patches = [ + ('PSM2-11.2.80_hfi-user.patch', 1), +] + +checksums = [ + 'e41af2d7d36a6ab67639ecbd5c1012aa20b2b464bf5cfbdac60e7eb37bfe58de', # PSM2_12.0.1.tar.gz + '7c97f9dc3b2a6f0e5b5d80abca87d44771f03c0895fa363229398de6df4b0884', # PSM2-hfi-user.patch +] + +builddependencies = [ + ('binutils', '2.40'), + ('CUDA', '12.4.0', '', SYSTEM), +] + +dependencies = [ + ('numactl', '2.0.16'), +] + +skipsteps = ['configure'] + +prebuildopts = "sed -i 's|fprintf(stderr,|_HFI_DBG(|' psm_context.c && sed -i 's|/usr|/|' Makefile && " +buildopts = "arch=%s USE_PSM_UUID=1 PSM_CUDA=1 WERROR=" % ARCH +installopts = "arch=%s UDEVDIR=/lib/udev DESTDIR=%%(installdir)s" % ARCH + +sanity_check_paths = { + 'files': ['lib/lib%%(namelower)s.%s' % SHLIB_EXT, 'include/%(namelower)s.h'], + 'dirs': [] +} + +moduleclass = 'lib' From 3b4c741e007fb7b092a10011763615348d3aef7e Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Thu, 9 May 2024 12:32:54 +0200 Subject: [PATCH 560/889] update sed in postinstallcmds and update description in a patch --- .../easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022b.eb | 9 +++------ .../CheckM2-1.0.2_fileManager.py-database-fix.patch | 4 ++++ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022b.eb b/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022b.eb index bd35a141653..2dab4ab6a7c 100644 --- a/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022b.eb +++ b/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022b.eb @@ -34,7 +34,7 @@ exts_list = [ 'checksums': [ {'1.0.2.tar.gz': '9d3129e4d0b53acc38519a259cc1e20a215dff0cbce51cef874545ca2fff005a'}, {'CheckM2-1.0.2_fileManager.py-database-fix.patch': - '67a58b4169a013eac6587af1cc12cdc8297ea2685046af780096cec5b88b7001'}, + '5f0124ed41a25587b4f98abaacc8005b61c13778616fe7ecf0c9b12f3d034cfa'}, ], }), ] @@ -43,11 +43,8 @@ postinstallcmds = [ # np.float is depreciated in newer numpy 'sed -i "s/np.float/float/g" %(installdir)s/lib/python%(pyshortver)s/site-packages/checkm2/predictQuality.py', # update DB_LOCATION_DEFINITION in defaultValues.py to env CHECKM2DB - 'sed -i "31d" %(installdir)s/lib/python%(pyshortver)s/site-packages/checkm2/defaultValues.py', - "sed -i '30 a\ DB_LOCATION_DEFINITION = os.environ.get(\"CHECKM2DB\", \"Not Set\")' " + - "%(installdir)s/lib/python%(pyshortver)s/site-packages/checkm2/defaultValues.py", - # convert defaultsValues.py to dos style - "unix2dos %(installdir)s/lib/python%(pyshortver)s/site-packages/checkm2/defaultValues.py", + "cd %(installdir)s/lib/python%(pyshortver)s/site-packages/checkm2 && " + r"sed -i 's/\(DB_LOCATION_DEFINITION\) = .*/\1 = os.environ.get(\"CHECKM2DB\", \"Not Set\")/' defaultValues.py", ] modloadmsg = """You need download a diamond database now and setup a path to this db: diff --git a/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2_fileManager.py-database-fix.patch b/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2_fileManager.py-database-fix.patch index 3f460c3b6a3..54f0f72ee46 100644 --- a/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2_fileManager.py-database-fix.patch +++ b/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2_fileManager.py-database-fix.patch @@ -1,3 +1,7 @@ +Author: Pavel Tomanek (Inuits) +This patch changes the way a path to the diamond database is set. It used to be stored in install dir in +diamond_path.json, but since this is unmodifiable file for user, the path is stored in env variable CHECKM2DB. +The patch needs to change whole file - there was a problem with dos style endings (CRLF). --- checkm2/fileManager.py.orig 2024-04-23 14:17:24.825732872 +0200 +++ checkm2/fileManager.py 2024-04-24 11:23:05.737180000 +0200 @@ -1,228 +1,173 @@ From 58705e13f0a4b8f23ee3a0ff6c962c84f9276ee7 Mon Sep 17 00:00:00 2001 From: jfgrimm Date: Thu, 9 May 2024 11:44:46 +0100 Subject: [PATCH 561/889] patch description --- easybuild/easyconfigs/p/PSM2/PSM2-11.2.80_hfi-user.patch | 1 + easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-10.3.0.eb | 5 ++--- easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.2.0.eb | 5 ++--- easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.3.0.eb | 5 ++--- easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.2.0.eb | 5 ++--- easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.3.0.eb | 5 ++--- easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-13.2.0.eb | 5 ++--- 7 files changed, 13 insertions(+), 18 deletions(-) diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-11.2.80_hfi-user.patch b/easybuild/easyconfigs/p/PSM2/PSM2-11.2.80_hfi-user.patch index b9e11fa3a65..b63fd7d1854 100644 --- a/easybuild/easyconfigs/p/PSM2/PSM2-11.2.80_hfi-user.patch +++ b/easybuild/easyconfigs/p/PSM2/PSM2-11.2.80_hfi-user.patch @@ -1,3 +1,4 @@ +Patch in rdma headers required to build PSM2 diff -urN libpsm2-11.2.80.orig/include/rdma/hfi/hfi1_ioctl.h libpsm2-11.2.80/include/rdma/hfi/hfi1_ioctl.h --- libpsm2-11.2.80.orig/include/rdma/hfi/hfi1_ioctl.h 1970-01-01 00:00:00.000000000 +0000 +++ libpsm2-11.2.80/include/rdma/hfi/hfi1_ioctl.h 2019-02-27 21:28:05.000000000 +0000 diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-10.3.0.eb index 98103be3254..d100dc8bb02 100644 --- a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-10.3.0.eb @@ -16,10 +16,9 @@ sources = ['%(name)s_%(version)s.tar.gz'] patches = [ ('PSM2-11.2.80_hfi-user.patch', 1), ] - checksums = [ - 'e41af2d7d36a6ab67639ecbd5c1012aa20b2b464bf5cfbdac60e7eb37bfe58de', # PSM2_12.0.1.tar.gz - '7c97f9dc3b2a6f0e5b5d80abca87d44771f03c0895fa363229398de6df4b0884', # PSM2-hfi-user.patch + {'PSM2_12.0.1.tar.gz': 'e41af2d7d36a6ab67639ecbd5c1012aa20b2b464bf5cfbdac60e7eb37bfe58de'}, + {'PSM2-11.2.80_hfi-user.patch': 'e43138859387213506050af9b76e193c3cd0a162d148998c39e551f220392abb'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.2.0.eb index 86d18b386bc..a0d2341bca9 100644 --- a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.2.0.eb @@ -16,10 +16,9 @@ sources = ['%(name)s_%(version)s.tar.gz'] patches = [ ('PSM2-11.2.80_hfi-user.patch', 1), ] - checksums = [ - 'e41af2d7d36a6ab67639ecbd5c1012aa20b2b464bf5cfbdac60e7eb37bfe58de', # PSM2_12.0.1.tar.gz - '7c97f9dc3b2a6f0e5b5d80abca87d44771f03c0895fa363229398de6df4b0884', # PSM2-hfi-user.patch + {'PSM2_12.0.1.tar.gz': 'e41af2d7d36a6ab67639ecbd5c1012aa20b2b464bf5cfbdac60e7eb37bfe58de'}, + {'PSM2-11.2.80_hfi-user.patch': 'e43138859387213506050af9b76e193c3cd0a162d148998c39e551f220392abb'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.3.0.eb index 4e8a0dabf92..d009e8b20a8 100644 --- a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.3.0.eb @@ -16,10 +16,9 @@ sources = ['%(name)s_%(version)s.tar.gz'] patches = [ ('PSM2-11.2.80_hfi-user.patch', 1), ] - checksums = [ - 'e41af2d7d36a6ab67639ecbd5c1012aa20b2b464bf5cfbdac60e7eb37bfe58de', # PSM2_12.0.1.tar.gz - '7c97f9dc3b2a6f0e5b5d80abca87d44771f03c0895fa363229398de6df4b0884', # PSM2-hfi-user.patch + {'PSM2_12.0.1.tar.gz': 'e41af2d7d36a6ab67639ecbd5c1012aa20b2b464bf5cfbdac60e7eb37bfe58de'}, + {'PSM2-11.2.80_hfi-user.patch': 'e43138859387213506050af9b76e193c3cd0a162d148998c39e551f220392abb'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.2.0.eb index 7ac2292cc81..a3ade432f96 100644 --- a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.2.0.eb @@ -16,10 +16,9 @@ sources = ['%(name)s_%(version)s.tar.gz'] patches = [ ('PSM2-11.2.80_hfi-user.patch', 1), ] - checksums = [ - 'e41af2d7d36a6ab67639ecbd5c1012aa20b2b464bf5cfbdac60e7eb37bfe58de', # PSM2_12.0.1.tar.gz - '7c97f9dc3b2a6f0e5b5d80abca87d44771f03c0895fa363229398de6df4b0884', # PSM2-hfi-user.patch + {'PSM2_12.0.1.tar.gz': 'e41af2d7d36a6ab67639ecbd5c1012aa20b2b464bf5cfbdac60e7eb37bfe58de'}, + {'PSM2-11.2.80_hfi-user.patch': 'e43138859387213506050af9b76e193c3cd0a162d148998c39e551f220392abb'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.3.0.eb index 7964e60b4ff..f505de132d8 100644 --- a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.3.0.eb @@ -16,10 +16,9 @@ sources = ['%(name)s_%(version)s.tar.gz'] patches = [ ('PSM2-11.2.80_hfi-user.patch', 1), ] - checksums = [ - 'e41af2d7d36a6ab67639ecbd5c1012aa20b2b464bf5cfbdac60e7eb37bfe58de', # PSM2_12.0.1.tar.gz - '7c97f9dc3b2a6f0e5b5d80abca87d44771f03c0895fa363229398de6df4b0884', # PSM2-hfi-user.patch + {'PSM2_12.0.1.tar.gz': 'e41af2d7d36a6ab67639ecbd5c1012aa20b2b464bf5cfbdac60e7eb37bfe58de'}, + {'PSM2-11.2.80_hfi-user.patch': 'e43138859387213506050af9b76e193c3cd0a162d148998c39e551f220392abb'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-13.2.0.eb index 0e768d1ecf1..2aaa025649b 100644 --- a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-13.2.0.eb @@ -16,10 +16,9 @@ sources = ['%(name)s_%(version)s.tar.gz'] patches = [ ('PSM2-11.2.80_hfi-user.patch', 1), ] - checksums = [ - 'e41af2d7d36a6ab67639ecbd5c1012aa20b2b464bf5cfbdac60e7eb37bfe58de', # PSM2_12.0.1.tar.gz - '7c97f9dc3b2a6f0e5b5d80abca87d44771f03c0895fa363229398de6df4b0884', # PSM2-hfi-user.patch + {'PSM2_12.0.1.tar.gz': 'e41af2d7d36a6ab67639ecbd5c1012aa20b2b464bf5cfbdac60e7eb37bfe58de'}, + {'PSM2-11.2.80_hfi-user.patch': 'e43138859387213506050af9b76e193c3cd0a162d148998c39e551f220392abb'}, ] builddependencies = [ From ac7ad288a6fb8c46f6a921ddd210da5461a58ff0 Mon Sep 17 00:00:00 2001 From: jfgrimm Date: Thu, 9 May 2024 12:11:29 +0100 Subject: [PATCH 562/889] linting --- easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-10.3.0.eb | 2 +- easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.2.0.eb | 2 +- easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.3.0.eb | 2 +- easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.2.0.eb | 2 +- easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.3.0.eb | 2 +- easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-13.2.0.eb | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-10.3.0.eb index d100dc8bb02..a7f0ee5d469 100644 --- a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-10.3.0.eb @@ -32,7 +32,7 @@ dependencies = [ skipsteps = ['configure'] -prebuildopts = "sed -i 's|fprintf(stderr,|_HFI_DBG(|' psm_context.c && sed -i 's|/usr|/|' Makefile && " +prebuildopts = "sed -i 's|fprintf(stderr,|_HFI_DBG(|' psm_context.c && sed -i 's|/usr|/|' Makefile && " buildopts = "arch=%s USE_PSM_UUID=1 PSM_CUDA=1 WERROR=" % ARCH installopts = "arch=%s UDEVDIR=/lib/udev DESTDIR=%%(installdir)s" % ARCH diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.2.0.eb index a0d2341bca9..779d6bcdd0a 100644 --- a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.2.0.eb @@ -32,7 +32,7 @@ dependencies = [ skipsteps = ['configure'] -prebuildopts = "sed -i 's|fprintf(stderr,|_HFI_DBG(|' psm_context.c && sed -i 's|/usr|/|' Makefile && " +prebuildopts = "sed -i 's|fprintf(stderr,|_HFI_DBG(|' psm_context.c && sed -i 's|/usr|/|' Makefile && " buildopts = "arch=%s USE_PSM_UUID=1 PSM_CUDA=1 WERROR=" % ARCH installopts = "arch=%s UDEVDIR=/lib/udev DESTDIR=%%(installdir)s" % ARCH diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.3.0.eb index d009e8b20a8..7fa4c192e3b 100644 --- a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.3.0.eb @@ -32,7 +32,7 @@ dependencies = [ skipsteps = ['configure'] -prebuildopts = "sed -i 's|fprintf(stderr,|_HFI_DBG(|' psm_context.c && sed -i 's|/usr|/|' Makefile && " +prebuildopts = "sed -i 's|fprintf(stderr,|_HFI_DBG(|' psm_context.c && sed -i 's|/usr|/|' Makefile && " buildopts = "arch=%s USE_PSM_UUID=1 PSM_CUDA=1 WERROR=" % ARCH installopts = "arch=%s UDEVDIR=/lib/udev DESTDIR=%%(installdir)s" % ARCH diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.2.0.eb index a3ade432f96..fbf417d2bc8 100644 --- a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.2.0.eb @@ -32,7 +32,7 @@ dependencies = [ skipsteps = ['configure'] -prebuildopts = "sed -i 's|fprintf(stderr,|_HFI_DBG(|' psm_context.c && sed -i 's|/usr|/|' Makefile && " +prebuildopts = "sed -i 's|fprintf(stderr,|_HFI_DBG(|' psm_context.c && sed -i 's|/usr|/|' Makefile && " buildopts = "arch=%s USE_PSM_UUID=1 PSM_CUDA=1 WERROR=" % ARCH installopts = "arch=%s UDEVDIR=/lib/udev DESTDIR=%%(installdir)s" % ARCH diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.3.0.eb index f505de132d8..0470fe64363 100644 --- a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.3.0.eb @@ -32,7 +32,7 @@ dependencies = [ skipsteps = ['configure'] -prebuildopts = "sed -i 's|fprintf(stderr,|_HFI_DBG(|' psm_context.c && sed -i 's|/usr|/|' Makefile && " +prebuildopts = "sed -i 's|fprintf(stderr,|_HFI_DBG(|' psm_context.c && sed -i 's|/usr|/|' Makefile && " buildopts = "arch=%s USE_PSM_UUID=1 PSM_CUDA=1 WERROR=" % ARCH installopts = "arch=%s UDEVDIR=/lib/udev DESTDIR=%%(installdir)s" % ARCH diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-13.2.0.eb index 2aaa025649b..cfe3fe9f1e4 100644 --- a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-13.2.0.eb @@ -32,7 +32,7 @@ dependencies = [ skipsteps = ['configure'] -prebuildopts = "sed -i 's|fprintf(stderr,|_HFI_DBG(|' psm_context.c && sed -i 's|/usr|/|' Makefile && " +prebuildopts = "sed -i 's|fprintf(stderr,|_HFI_DBG(|' psm_context.c && sed -i 's|/usr|/|' Makefile && " buildopts = "arch=%s USE_PSM_UUID=1 PSM_CUDA=1 WERROR=" % ARCH installopts = "arch=%s UDEVDIR=/lib/udev DESTDIR=%%(installdir)s" % ARCH From d3d3e57ba93c3a1340c63651758a1fc63861f441 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Thu, 9 May 2024 15:02:18 +0200 Subject: [PATCH 563/889] adding easyconfigs: Compass-2024.04-foss-2021b.eb, anndata-0.9.2-foss-2021b.eb, python-libsbml-5.20.2-foss-2021b.eb --- .../a/anndata/anndata-0.9.2-foss-2021b.eb | 53 +++++++++++++++++++ .../c/Compass/Compass-2024.04-foss-2021b.eb | 39 ++++++++++++++ .../python-libsbml-5.20.2-foss-2021b.eb | 44 +++++++++++++++ 3 files changed, 136 insertions(+) create mode 100644 easybuild/easyconfigs/a/anndata/anndata-0.9.2-foss-2021b.eb create mode 100644 easybuild/easyconfigs/c/Compass/Compass-2024.04-foss-2021b.eb create mode 100644 easybuild/easyconfigs/p/python-libsbml/python-libsbml-5.20.2-foss-2021b.eb diff --git a/easybuild/easyconfigs/a/anndata/anndata-0.9.2-foss-2021b.eb b/easybuild/easyconfigs/a/anndata/anndata-0.9.2-foss-2021b.eb new file mode 100644 index 00000000000..c2cd0f0bfa0 --- /dev/null +++ b/easybuild/easyconfigs/a/anndata/anndata-0.9.2-foss-2021b.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonBundle' + +name = 'anndata' +version = '0.9.2' + +homepage = 'https://github.com/scverse/anndata' +description = """anndata is a Python package for handling annotated data matrices in memory and on disk, + positioned between pandas and xarray""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('h5py', '3.6.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('natsort', '8.4.0', { + 'checksums': ['45312c4a0e5507593da193dedd04abb1469253b601ecaf63445ad80f0a1ea581'], + }), + (name, version, { + 'checksums': ['e5b8383d09723af674cae7ad0c2ef53eb1f8c73949b7f4c182a6e30f42196327'], + }), +] + + # ('tomli', '2.0.1', { + # 'checksums': ['de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f'], + # }), + # ('pathspec', '0.12.1', { + # 'checksums': ['a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712'], + # }), + # ('hatchling', '1.24.2', { + # 'checksums': ['41ddc27cdb25db9ef7b68bef075f829c84cb349aa1bff8240797d012510547b0'], + # }), + # ('packaging', '23.2', { + # 'checksums': ['048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5'], + # }), + # ('array_api_compat', '1.4.1', { + # 'checksums': ['053103b7c0ba73626bff7380abf27a29dc80de144394137bc7455b7eba23d8c0'], + # }), + +sanity_check_paths = { + 'files': ['bin/natsort'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["natsort --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/Compass/Compass-2024.04-foss-2021b.eb b/easybuild/easyconfigs/c/Compass/Compass-2024.04-foss-2021b.eb new file mode 100644 index 00000000000..f5b4ec775cf --- /dev/null +++ b/easybuild/easyconfigs/c/Compass/Compass-2024.04-foss-2021b.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'Compass' +version = '2024.04' + +homepage = 'https://github.com/YosefLab/Compass' +description = """In-Silico Modeling of Metabolic Heterogeneity using Single-Cell Transcriptomes.""" +local_commit = "7664cb0" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('tqdm', '4.62.3'), + ('python-libsbml', '5.20.2'), + ('scikit-learn', '1.0.2'), + ('python-igraph', '0.9.8'), + ('leidenalg', '0.8.8'), + ('anndata', '0.9.2'), + ('CPLEX', '22.1.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('compass', version, { + # delete dependecy python-igraph - pip check failing + 'preinstallopts': "sed -i '27d' setup.py && ", + 'source_urls': ['https://github.com/YosefLab/Compass/archive/'], + 'sources': [{'download_filename': '7664cb0.tar.gz', 'filename': '%(name)s-%(version)s-7664cb0.tar.gz'}], + 'checksums': ['87529c5fae108fa2a8e3e35438d3b25874faa78af670a2349228c76fa0843376'], + }), +] + +sanity_check_commands = ["python -c 'import igraph'", "compass -h", "python -c 'import cplex'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/python-libsbml/python-libsbml-5.20.2-foss-2021b.eb b/easybuild/easyconfigs/p/python-libsbml/python-libsbml-5.20.2-foss-2021b.eb new file mode 100644 index 00000000000..f0bd3d688c2 --- /dev/null +++ b/easybuild/easyconfigs/p/python-libsbml/python-libsbml-5.20.2-foss-2021b.eb @@ -0,0 +1,44 @@ +# This is a contribution from SIB Swiss Institute of Bioinformatics +# Homepage: https://www.sib.swiss/research-infrastructure/competence-centers/vital-it +# Authors: Sebastien Moretti +# Update: Pavel Tománek (INUITS) + +easyblock = 'PythonBundle' + +name = 'python-libsbml' +version = '5.20.2' + +homepage = 'https://sbml.org/' +description = """LibSBML Python API.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), + ('make', '4.3'), + ('Check', '0.15.2'), + ('SWIG', '4.0.2'), + ('expat', '2.4.1'), + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('libxml2', '2.9.10'), + ('libxslt', '1.1.34'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'modulename': 'libsbml', + 'checksums': ['0af5cbff68c9b52bac4bd7bb261f93a60832dc8cb31dafc90d3aff51467935b7'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' From 966bcea330d7bb8fc984de1e322654ec121fb45d Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Thu, 9 May 2024 15:03:44 +0200 Subject: [PATCH 564/889] delete unused extensions --- .../a/anndata/anndata-0.9.2-foss-2021b.eb | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/easybuild/easyconfigs/a/anndata/anndata-0.9.2-foss-2021b.eb b/easybuild/easyconfigs/a/anndata/anndata-0.9.2-foss-2021b.eb index c2cd0f0bfa0..f5f7d79dadf 100644 --- a/easybuild/easyconfigs/a/anndata/anndata-0.9.2-foss-2021b.eb +++ b/easybuild/easyconfigs/a/anndata/anndata-0.9.2-foss-2021b.eb @@ -27,22 +27,6 @@ exts_list = [ }), ] - # ('tomli', '2.0.1', { - # 'checksums': ['de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f'], - # }), - # ('pathspec', '0.12.1', { - # 'checksums': ['a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712'], - # }), - # ('hatchling', '1.24.2', { - # 'checksums': ['41ddc27cdb25db9ef7b68bef075f829c84cb349aa1bff8240797d012510547b0'], - # }), - # ('packaging', '23.2', { - # 'checksums': ['048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5'], - # }), - # ('array_api_compat', '1.4.1', { - # 'checksums': ['053103b7c0ba73626bff7380abf27a29dc80de144394137bc7455b7eba23d8c0'], - # }), - sanity_check_paths = { 'files': ['bin/natsort'], 'dirs': ['lib/python%(pyshortver)s/site-packages'], From 1397f82f485f138355ccdf93ec18a61a70cfd343 Mon Sep 17 00:00:00 2001 From: jfgrimm Date: Thu, 9 May 2024 14:11:52 +0100 Subject: [PATCH 565/889] add PSM2 dependency to libfabric 1.12.1 and newer --- .../easyconfigs/l/libfabric/libfabric-1.12.1-GCCcore-10.3.0.eb | 3 ++- .../easyconfigs/l/libfabric/libfabric-1.13.0-GCCcore-11.2.0.eb | 3 ++- .../easyconfigs/l/libfabric/libfabric-1.13.1-GCCcore-11.2.0.eb | 3 ++- .../easyconfigs/l/libfabric/libfabric-1.13.2-GCCcore-11.2.0.eb | 3 ++- .../easyconfigs/l/libfabric/libfabric-1.15.1-GCCcore-11.3.0.eb | 1 + .../easyconfigs/l/libfabric/libfabric-1.16.1-GCCcore-12.2.0.eb | 1 + .../easyconfigs/l/libfabric/libfabric-1.18.0-GCCcore-12.3.0.eb | 1 + .../easyconfigs/l/libfabric/libfabric-1.19.0-GCCcore-13.2.0.eb | 1 + 8 files changed, 12 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.12.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.12.1-GCCcore-10.3.0.eb index 80c3e4f2651..553ff1edf76 100644 --- a/easybuild/easyconfigs/l/libfabric/libfabric-1.12.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.12.1-GCCcore-10.3.0.eb @@ -43,6 +43,7 @@ builddependencies = [ dependencies = [ ('numactl', '2.0.14'), + ('PSM2', '12.0.1'), ] osdependencies = [OS_PKG_IBVERBS_DEV] @@ -53,7 +54,7 @@ preconfigopts = "autoreconf -f -i &&" # Disable deprecated "sockets" provider configopts = "--disable-sockets " -# Disable usNIC provider by default as this requires specific osdependencies +# Disable usNIC provider by default as this requires specific osdependencies # If you want to enable this provider you need to uncomment the following line: # osdependencies.append(('libnl3-devel', 'libnl3-dev')) configopts += "--disable-usnic " diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.13.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.13.0-GCCcore-11.2.0.eb index bb2faf1ae40..9eed1d10b73 100644 --- a/easybuild/easyconfigs/l/libfabric/libfabric-1.13.0-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.13.0-GCCcore-11.2.0.eb @@ -37,6 +37,7 @@ builddependencies = [ dependencies = [ ('numactl', '2.0.14'), + ('PSM2', '12.0.1'), ] osdependencies = [OS_PKG_IBVERBS_DEV] @@ -47,7 +48,7 @@ preconfigopts = "autoreconf -f -i &&" # Disable deprecated "sockets" provider configopts = "--disable-sockets " -# Disable usNIC provider by default as this requires specific osdependencies +# Disable usNIC provider by default as this requires specific osdependencies # If you want to enable this provider you need to uncomment the following line: # osdependencies.append(('libnl3-devel', 'libnl3-dev')) configopts += "--disable-usnic " diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.13.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.13.1-GCCcore-11.2.0.eb index 5059fe59d70..103995357f0 100644 --- a/easybuild/easyconfigs/l/libfabric/libfabric-1.13.1-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.13.1-GCCcore-11.2.0.eb @@ -37,6 +37,7 @@ builddependencies = [ dependencies = [ ('numactl', '2.0.14'), + ('PSM2', '12.0.1'), ] osdependencies = [OS_PKG_IBVERBS_DEV] @@ -47,7 +48,7 @@ preconfigopts = "autoreconf -f -i &&" # Disable deprecated "sockets" provider configopts = "--disable-sockets " -# Disable usNIC provider by default as this requires specific osdependencies +# Disable usNIC provider by default as this requires specific osdependencies # If you want to enable this provider you need to uncomment the following line: # osdependencies.append(('libnl3-devel', 'libnl3-dev')) configopts += "--disable-usnic " diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.13.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.13.2-GCCcore-11.2.0.eb index 9205e38e09d..8ec4cbdf361 100644 --- a/easybuild/easyconfigs/l/libfabric/libfabric-1.13.2-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.13.2-GCCcore-11.2.0.eb @@ -37,6 +37,7 @@ builddependencies = [ dependencies = [ ('numactl', '2.0.14'), + ('PSM2', '12.0.1'), ] osdependencies = [OS_PKG_IBVERBS_DEV] @@ -47,7 +48,7 @@ preconfigopts = "autoreconf -f -i &&" # Disable deprecated "sockets" provider configopts = "--disable-sockets " -# Disable usNIC provider by default as this requires specific osdependencies +# Disable usNIC provider by default as this requires specific osdependencies # If you want to enable this provider you need to uncomment the following line: # osdependencies.append(('libnl3-devel', 'libnl3-dev')) configopts += "--disable-usnic " diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.15.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.15.1-GCCcore-11.3.0.eb index f2d512f14d0..20d2cd53407 100644 --- a/easybuild/easyconfigs/l/libfabric/libfabric-1.15.1-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.15.1-GCCcore-11.3.0.eb @@ -37,6 +37,7 @@ builddependencies = [ dependencies = [ ('numactl', '2.0.14'), + ('PSM2', '12.0.1'), ] osdependencies = [OS_PKG_IBVERBS_DEV] diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.16.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.16.1-GCCcore-12.2.0.eb index 97eacfc006e..d554608ff27 100644 --- a/easybuild/easyconfigs/l/libfabric/libfabric-1.16.1-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.16.1-GCCcore-12.2.0.eb @@ -34,6 +34,7 @@ builddependencies = [ dependencies = [ ('numactl', '2.0.16'), + ('PSM2', '12.0.1'), ] osdependencies = [OS_PKG_IBVERBS_DEV] diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.18.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.18.0-GCCcore-12.3.0.eb index a0acd145b4c..abb669e3494 100644 --- a/easybuild/easyconfigs/l/libfabric/libfabric-1.18.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.18.0-GCCcore-12.3.0.eb @@ -34,6 +34,7 @@ builddependencies = [ dependencies = [ ('numactl', '2.0.16'), + ('PSM2', '12.0.1'), ] osdependencies = [OS_PKG_IBVERBS_DEV] diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.19.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.19.0-GCCcore-13.2.0.eb index 3a1dce0b2dc..ea4530cbc2b 100644 --- a/easybuild/easyconfigs/l/libfabric/libfabric-1.19.0-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.19.0-GCCcore-13.2.0.eb @@ -34,6 +34,7 @@ builddependencies = [ dependencies = [ ('numactl', '2.0.16'), + ('PSM2', '12.0.1'), ] osdependencies = [OS_PKG_IBVERBS_DEV] From b3c651c6b7cc8d34317befe1dffe49e49454801a Mon Sep 17 00:00:00 2001 From: Adam Huffman <12435+verdurin@users.noreply.github.com> Date: Thu, 9 May 2024 15:43:01 +0000 Subject: [PATCH 566/889] adding easyconfigs: pyseer-1.3.11-foss-2022b.eb --- .../p/pyseer/pyseer-1.3.11-foss-2022b.eb | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 easybuild/easyconfigs/p/pyseer/pyseer-1.3.11-foss-2022b.eb diff --git a/easybuild/easyconfigs/p/pyseer/pyseer-1.3.11-foss-2022b.eb b/easybuild/easyconfigs/p/pyseer/pyseer-1.3.11-foss-2022b.eb new file mode 100644 index 00000000000..4e728d27fe7 --- /dev/null +++ b/easybuild/easyconfigs/p/pyseer/pyseer-1.3.11-foss-2022b.eb @@ -0,0 +1,55 @@ +# Borrowed from the BEAR RSG team, University of Birmingham +easyblock = 'PythonBundle' + +name = 'pyseer' +version = '1.3.11' + +homepage = 'https://github.com/mgalardini/pyseer' +description = """pyseer was first written a python reimplementation of seer, which was written in C++. pyseer uses + linear models with fixed or mixed effects to estimate the effect of genetic variation in a bacterial population + on a phenotype of interest, while accounting for potentially very strong confounding population structure. + This allows for genome-wide association studies (GWAS) to be performed in clonal organisms + such as bacteria and viruses.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('pybedtools', '0.9.0'), + ('statsmodels', '0.14.0'), + ('scikit-learn', '1.2.1'), + ('Pysam', '0.21.0'), + ('DendroPy', '4.5.2'), + ('matplotlib', '3.7.0'), + ('tqdm', '4.64.1'), +] + +use_pip = True + +exts_list = [ + ('glmnet-python', '1.0.2', { + 'source_urls': ['https://github.com/johnlees/glmnet_python/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['7a5550514140dabbd27ad4eb1c04db64199d9bb89541e088d9bb162570205e76'], + }), + (name, version, { + 'source_urls': ['https://github.com/mgalardini/pyseer/archive'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['06ea2987509f9c1952bbb90e4b59c6f5a4f2ca9e88e7dac5f5cb7f43aa693a1b'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pyseer', 'bin/square_mash'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + '%(namelower)s --help', + 'square_mash --help', +] + +sanity_pip_check = True + +moduleclass = 'bio' From 481e2061fe1fe446b74bfee43eeee39062680e9a Mon Sep 17 00:00:00 2001 From: Samuel Moors Date: Thu, 9 May 2024 18:17:07 +0200 Subject: [PATCH 567/889] remove TORCHVISION_INCLUDE from PyTorch-bundle easyconfigs --- .../PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb | 1 - .../p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb | 1 - 2 files changed, 2 deletions(-) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb index b19df88e104..377617ac009 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -78,7 +78,6 @@ exts_list = [ 'checksums': ['7f6b125602ac6d743e523ae0bfa71e1a697a2f5534064528c6ff84c2f7c2fc7f'], }), ('torchvision', '0.16.2', { - 'preinstallopts': 'WITH_CUDA=1 TORCHVISION_INCLUDE="$EBROOTLIBJPEGMINTURBO/include:$TORCHVISION_INCLUDE"', 'installopts': '-v', 'patches': [ 'torchvision-0.16.2_ffmpeg-6.0-fix.patch', diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb index 10b6b0d37d6..4c8d8ef847a 100644 --- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb @@ -76,7 +76,6 @@ exts_list = [ 'checksums': ['7f6b125602ac6d743e523ae0bfa71e1a697a2f5534064528c6ff84c2f7c2fc7f'], }), ('torchvision', '0.16.2', { - 'preinstallopts': 'WITH_CUDA=0 TORCHVISION_INCLUDE="$EBROOTLIBJPEGMINTURBO/include:$TORCHVISION_INCLUDE"', 'installopts': '-v', 'patches': [ 'torchvision-0.16.2_ffmpeg-6.0-fix.patch', From 6af5b9db7adff477152934bb227774d1923a8931 Mon Sep 17 00:00:00 2001 From: Simon Branford Date: Fri, 10 May 2024 09:33:11 +0100 Subject: [PATCH 568/889] adding easyconfigs: CREST-3.0.1-gfbf-2022b.eb, xtb-6.6.1-gfbf-2022b.eb --- .../c/CREST/CREST-3.0.1-gfbf-2022b.eb | 47 +++++++++++++++++++ .../easyconfigs/x/xtb/xtb-6.6.1-gfbf-2022b.eb | 41 ++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 easybuild/easyconfigs/c/CREST/CREST-3.0.1-gfbf-2022b.eb create mode 100644 easybuild/easyconfigs/x/xtb/xtb-6.6.1-gfbf-2022b.eb diff --git a/easybuild/easyconfigs/c/CREST/CREST-3.0.1-gfbf-2022b.eb b/easybuild/easyconfigs/c/CREST/CREST-3.0.1-gfbf-2022b.eb new file mode 100644 index 00000000000..5f1a29e51d3 --- /dev/null +++ b/easybuild/easyconfigs/c/CREST/CREST-3.0.1-gfbf-2022b.eb @@ -0,0 +1,47 @@ +easyblock = 'CMakeMake' + +name = 'CREST' +version = '3.0.1' + +homepage = 'https://xtb-docs.readthedocs.io/en/latest/crest.html' +description = """CREST is an utility/driver program for the xtb program. Originally it was designed + as conformer sampling program, hence the abbreviation Conformer–Rotamer Ensemble Sampling Tool, + but now offers also some utility functions for calculations with the GFNn–xTB methods. Generally + the program functions as an IO based OMP scheduler (i.e., calculations are performed by the xtb + program) and tool for the creation and analysation of structure ensembles. +""" + +toolchain = {'name': 'gfbf', 'version': '2022b'} +toolchainopts = {'opt': True} + +sources = [{ + 'filename': SOURCE_TAR_GZ, + 'git_config': { + 'url': 'https://github.com/crest-lab', + 'repo_name': 'crest', + 'tag': 'v%s' % version, + 'recursive': True, + }, +}] +checksums = [None] + +builddependencies = [('CMake', '3.24.3')] + +dependencies = [ + ('dftd4', '3.4.0'), + ('mctc-lib', '0.3.1'), + ('mstore', '0.2.0'), + ('multicharge', '0.2.0'), + ('xtb', '6.6.1'), +] + +runtest = "test" + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ["crest -h", "crest --cite"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/x/xtb/xtb-6.6.1-gfbf-2022b.eb b/easybuild/easyconfigs/x/xtb/xtb-6.6.1-gfbf-2022b.eb new file mode 100644 index 00000000000..7d54b0b36b1 --- /dev/null +++ b/easybuild/easyconfigs/x/xtb/xtb-6.6.1-gfbf-2022b.eb @@ -0,0 +1,41 @@ +easyblock = 'MesonNinja' + +name = 'xtb' +version = '6.6.1' + +homepage = 'https://xtb-docs.readthedocs.io' +description = """ xtb - An extended tight-binding semi-empirical program package. """ + +toolchain = {'name': 'gfbf', 'version': '2022b'} + +github_account = 'grimme-lab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['df9a9fbcbf685a94ba6e1a97a6fe6a8530227ea380a1507cb758e72907542dfe'] + +builddependencies = [ + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.3'), +] + +configopts = "-Dlapack='custom' " +configopts += "-Dcustom_libraries='flexiblas' " +configopts += "--buildtype release " + +runtest = 'meson' +testopts = 'test -C %(builddir)s/easybuild_obj -t 60' # Ensure test don't timeout + +sanity_check_paths = { + 'files': ['bin/xtb', 'include/xtb.h'] + ['lib/libxtb.%s' % e for e in ('a', SHLIB_EXT)], + 'dirs': ['share'], +} + +sanity_check_commands = ["xtb --help"] + +modextravars = { + 'XTBHOME': '%(installdir)s', + 'XTBPATH': '%(installdir)s', +} + +moduleclass = 'chem' From 375842e4a3ad8e054f95e57ff8cf08a244c36454 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Fri, 10 May 2024 10:58:38 +0200 Subject: [PATCH 569/889] update sklearn version --- easybuild/easyconfigs/c/Compass/Compass-2024.04-foss-2021b.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/c/Compass/Compass-2024.04-foss-2021b.eb b/easybuild/easyconfigs/c/Compass/Compass-2024.04-foss-2021b.eb index f5b4ec775cf..d4693babd9e 100644 --- a/easybuild/easyconfigs/c/Compass/Compass-2024.04-foss-2021b.eb +++ b/easybuild/easyconfigs/c/Compass/Compass-2024.04-foss-2021b.eb @@ -14,7 +14,7 @@ dependencies = [ ('SciPy-bundle', '2021.10'), ('tqdm', '4.62.3'), ('python-libsbml', '5.20.2'), - ('scikit-learn', '1.0.2'), + ('scikit-learn', '1.0.1'), ('python-igraph', '0.9.8'), ('leidenalg', '0.8.8'), ('anndata', '0.9.2'), From 2a4af12c0270198007d320928c5662b39e9d3600 Mon Sep 17 00:00:00 2001 From: Samuel Moors Date: Fri, 10 May 2024 11:26:16 +0200 Subject: [PATCH 570/889] add package XBRL to R-bundle-CRAN --- .../r/R-bundle-CRAN/R-bundle-CRAN-2023.12-foss-2023a.eb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/easybuild/easyconfigs/r/R-bundle-CRAN/R-bundle-CRAN-2023.12-foss-2023a.eb b/easybuild/easyconfigs/r/R-bundle-CRAN/R-bundle-CRAN-2023.12-foss-2023a.eb index fbd245a622f..8b25f65bdde 100644 --- a/easybuild/easyconfigs/r/R-bundle-CRAN/R-bundle-CRAN-2023.12-foss-2023a.eb +++ b/easybuild/easyconfigs/r/R-bundle-CRAN/R-bundle-CRAN-2023.12-foss-2023a.eb @@ -3419,6 +3419,9 @@ exts_list = [ ('cmna', '1.0.5', { 'checksums': ['7cf99880cb70e8fd0b022184167888b1ad32dca503e0250c1d552a84f0613898'], }), + ('XBRL', '0.99.19.1', { + 'checksums': ['ad9ebb5431bdfecc38b8bf3b2552f1a048878a9ac02f5a9d71279b3b099a9757'], + }), ] modextrapaths = {'R_LIBS_SITE': ''} From 60963428f537374dac09ac6faecfcf888cef2480 Mon Sep 17 00:00:00 2001 From: Cintia Willemyns <115622907+WilleBell@users.noreply.github.com> Date: Fri, 10 May 2024 11:55:51 +0200 Subject: [PATCH 571/889] Add author information --- .../easyconfigs/s/SDL2_mixer/SDL2_mixer-2.8.0-GCCcore-12.3.0.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/s/SDL2_mixer/SDL2_mixer-2.8.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/SDL2_mixer/SDL2_mixer-2.8.0-GCCcore-12.3.0.eb index 19c64e03c8c..cde74228da6 100644 --- a/easybuild/easyconfigs/s/SDL2_mixer/SDL2_mixer-2.8.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/s/SDL2_mixer/SDL2_mixer-2.8.0-GCCcore-12.3.0.eb @@ -1,3 +1,5 @@ +# Authors:: Jack Perdue - TAMU HPRC - http://hprc.tamu.edu + easyblock = 'ConfigureMake' name = 'SDL2_mixer' From b51e938a0b6aacc36f5c748247082ea9b4942f07 Mon Sep 17 00:00:00 2001 From: Cintia Willemyns <115622907+WilleBell@users.noreply.github.com> Date: Fri, 10 May 2024 11:57:39 +0200 Subject: [PATCH 572/889] rename source Co-authored-by: Sam Moors --- .../h/hmmcopy_utils/hmmcopy_utils-20210728-GCCcore-12.3.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/h/hmmcopy_utils/hmmcopy_utils-20210728-GCCcore-12.3.0.eb b/easybuild/easyconfigs/h/hmmcopy_utils/hmmcopy_utils-20210728-GCCcore-12.3.0.eb index 9ebfd1fb500..247df603580 100644 --- a/easybuild/easyconfigs/h/hmmcopy_utils/hmmcopy_utils-20210728-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/h/hmmcopy_utils/hmmcopy_utils-20210728-GCCcore-12.3.0.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'GCCcore', 'version': '12.3.0'} github_account = 'shahcompbio' source_urls = ['https://github.com/shahcompbio/hmmcopy_utils/archive'] -sources = ['%s.tar.gz' % _commit] +sources = [{'download_filename': '%s.tar.gz' % _commit, 'filename': SOURCE_TAR_GZ}] checksums = ['84f6ed50e6124c3774b96660939d49fc81ca1568887510b7368a5005860b0850'] builddependencies = [ From bb1608fa58f36d2754689fd91c3b9069becdcd33 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Fri, 10 May 2024 14:23:10 +0200 Subject: [PATCH 573/889] fix code style in GAMESS-US-20230930-R2-gompi-2022a.eb --- .../g/GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb index d0863f4a375..b396d24c18b 100644 --- a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb +++ b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb @@ -38,7 +38,7 @@ sources = ['gamess-%(version)s.tar.gz'] patches = ['GAMESS-US-20230930_add_slurm_support_mpi_target.patch'] checksums = [ {'gamess-20230930-R2.tar.gz': '2b7cf4af17fb2eab5bf3609bf820437728cd36d87f44857dce25bafa9e9622ad'}, - {'GAMESS-US-20230930_add_slurm_support_mpi_target.patch': + {'GAMESS-US-20230930_add_slurm_support_mpi_target.patch': 'ceed5f160678aba3b1885337a3e5955177b9df465c0ef2f50e4c5e52fe11f70d'}, ] From a85b3246d29d203110db166b7d845e71f9758ba0 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Fri, 10 May 2024 15:07:09 +0200 Subject: [PATCH 574/889] fix code style in GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb --- .../GAMESS-US/GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb index c16b820edd3..2a6fc990c6f 100644 --- a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb +++ b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb @@ -39,7 +39,7 @@ sources = ['gamess-%(version)s.tar.gz'] patches = ['GAMESS-US-20230930_add_slurm_support_mpi_target.patch'] checksums = [ {'gamess-20230930-R2.tar.gz': '2b7cf4af17fb2eab5bf3609bf820437728cd36d87f44857dce25bafa9e9622ad'}, - {'GAMESS-US-20230930_add_slurm_support_mpi_target.patch': + {'GAMESS-US-20230930_add_slurm_support_mpi_target.patch': 'ceed5f160678aba3b1885337a3e5955177b9df465c0ef2f50e4c5e52fe11f70d'}, ] From 0ae44ce6595dabb9f9c4b004ecb2ee1b02536724 Mon Sep 17 00:00:00 2001 From: crivella Date: Fri, 10 May 2024 16:21:24 +0200 Subject: [PATCH 575/889] Allow oversubscribing cores for test suite --- .../easyconfigs/m/MetalWalls/MetalWalls-21.06.1-foss-2023a.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/m/MetalWalls/MetalWalls-21.06.1-foss-2023a.eb b/easybuild/easyconfigs/m/MetalWalls/MetalWalls-21.06.1-foss-2023a.eb index 432ac83e890..7f8f6858397 100644 --- a/easybuild/easyconfigs/m/MetalWalls/MetalWalls-21.06.1-foss-2023a.eb +++ b/easybuild/easyconfigs/m/MetalWalls/MetalWalls-21.06.1-foss-2023a.eb @@ -42,5 +42,6 @@ files_to_copy = [ ] runtest = 'test' +pretestopts = 'export OMPI_MCA_rmaps_base_oversubscribe=true && ' # Test-suite requires minimum number of cores moduleclass = 'chem' From 7021fd2a52030b8f3d7b5a4b825829df3d992489 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Fri, 10 May 2024 16:58:44 +0200 Subject: [PATCH 576/889] replace SQLAlchemy extension with regular dependency on Optuna v3.5.0 --- .../easyconfigs/o/Optuna/Optuna-3.5.0-foss-2023a.eb | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/easybuild/easyconfigs/o/Optuna/Optuna-3.5.0-foss-2023a.eb b/easybuild/easyconfigs/o/Optuna/Optuna-3.5.0-foss-2023a.eb index 90959bb82f0..73bf89e6cc8 100644 --- a/easybuild/easyconfigs/o/Optuna/Optuna-3.5.0-foss-2023a.eb +++ b/easybuild/easyconfigs/o/Optuna/Optuna-3.5.0-foss-2023a.eb @@ -22,26 +22,19 @@ dependencies = [ ('plotly.py', '5.16.0'), # optional ('redis-py', '5.0.1'), # optional ('scikit-learn', '1.3.1'), # optional - ('Mako', '1.2.4'), - ('Greenlet', '3.0.2'), + ('SQLAlchemy', '2.0.25'), ] use_pip = True sanity_pip_check = True exts_list = [ - ('alembic', '1.13.0', { - 'checksums': ['ab4b3b94d2e1e5f81e34be8a9b7b7575fc9dd5398fccb0bef351ec9b14872623'], - }), ('cmaes', '0.10.0', { 'checksums': ['48afc70df027114739872b50489ae6b32461c307b92d084a63c7090a9742faf9'], }), ('colorlog', '6.8.0', { 'checksums': ['fbb6fdf9d5685f2517f388fb29bb27d54e8654dd31f58bc2a3b217e967a95ca6'], }), - ('SQLAlchemy', '2.0.23', { - 'checksums': ['c1bda93cbbe4aa2aa0aa8655c5aeda505cd219ff3e8da91d1d329e143e4aff69'], - }), ('optuna', version, { 'use_pip_extras': 'optional', 'checksums': ['ca9e1ce16aa6c6a5af0e1cc1d0cbcd98eb1c75b6a2f06be6bd9c0c5ab0698724'], From a44c8eb907324737f6bbf3c8ebcb50bbb864eec4 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Fri, 10 May 2024 17:11:53 +0200 Subject: [PATCH 577/889] replace SQLAlchemy extension with regular dependency in JupyterHub v4.0.2 --- .../j/JupyterHub/JupyterHub-4.0.2-GCCcore-12.3.0.eb | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/easybuild/easyconfigs/j/JupyterHub/JupyterHub-4.0.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/JupyterHub/JupyterHub-4.0.2-GCCcore-12.3.0.eb index a83e3042286..04740042f7a 100644 --- a/easybuild/easyconfigs/j/JupyterHub/JupyterHub-4.0.2-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/j/JupyterHub/JupyterHub-4.0.2-GCCcore-12.3.0.eb @@ -15,12 +15,12 @@ builddependencies = [ dependencies = [ ('Python', '3.11.3'), ('IPython', '8.14.0'), - ('Mako', '1.2.4'), + ('bcrypt', '4.0.1'), ('configurable-http-proxy', '4.5.6'), ('OpenSSL', '1.1', '', SYSTEM), ('tornado', '6.3.2'), - ('bcrypt', '4.0.1'), ('PycURL', '7.45.2'), # optional, recommended with large number of users + ('SQLAlchemy', '2.0.25'), ] sanity_pip_check = True @@ -35,18 +35,9 @@ exts_list = [ ('pamela', '1.1.0', { 'checksums': ['d4b139fe600e192e176a2a368059207a6bffa0e7879879b13f4fcba0163481be'], }), - ('greenlet', '2.0.2', { - 'checksums': ['e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0'], - }), ('async_generator', '1.10', { 'checksums': ['6ebb3d106c12920aaae42ccb6f787ef5eefdcdd166ea3d628fa8476abe712144'], }), - ('SQLAlchemy', '2.0.20', { - 'checksums': ['ca8a5ff2aa7f3ade6c498aaafce25b1eaeabe4e42b73e25519183e4566a16fc6'], - }), - ('alembic', '1.11.3', { - 'checksums': ['3db4ce81a9072e1b5aa44c2d202add24553182672a12daf21608d6f62a8f9cf9'], - }), ('oauthlib', '3.2.2', { 'checksums': ['9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918'], }), From cce3c8cb6fb3ea658f68bf7d254c5eb91669c50f Mon Sep 17 00:00:00 2001 From: sassy Date: Fri, 10 May 2024 17:23:29 +0100 Subject: [PATCH 578/889] adding easyconfigs: nvitop-1.3.2-GCCcore-12.3.0-CUDA-12.3.0.eb --- ...nvitop-1.3.2-GCCcore-12.3.0-CUDA-12.3.0.eb | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 easybuild/easyconfigs/n/nvitop/nvitop-1.3.2-GCCcore-12.3.0-CUDA-12.3.0.eb diff --git a/easybuild/easyconfigs/n/nvitop/nvitop-1.3.2-GCCcore-12.3.0-CUDA-12.3.0.eb b/easybuild/easyconfigs/n/nvitop/nvitop-1.3.2-GCCcore-12.3.0-CUDA-12.3.0.eb new file mode 100644 index 00000000000..86418708323 --- /dev/null +++ b/easybuild/easyconfigs/n/nvitop/nvitop-1.3.2-GCCcore-12.3.0-CUDA-12.3.0.eb @@ -0,0 +1,47 @@ +# Autor: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'nvitop' +version = '1.3.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://nvitop.readthedocs.io.' +description = """An interactive NVIDIA-GPU process viewer and beyond, the one-stop +solution for GPU process management.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('CUDA', '12.3.0', '', SYSTEM), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('termcolor', '2.3.0', { + 'checksums': ['b5b08f68937f138fe92f6c089b99f1e2da0ae56c52b78bf7075fd95420fd9a5a'], + }), + ('cachetools', '5.3.3', { + 'checksums': ['ba29e2dfa0b8b556606f097407ed1aa62080ee108ab0dc5ec9d6a723a007d105'], + }), + ('psutil', '5.9.8', { + 'checksums': ['6be126e3225486dff286a8fb9a06246a5253f4c7c53b475ea5f5ac934e64194c'], + }), + ('nvidia-ml-py', '12.535.161', { + 'checksums': ['2bcc31ff7a0ea291ed8d7fc39b149391a42c2fb1cb4256c935e692de488b4d17'], + 'modulename': 'pynvml', + }), + (name, version, { + 'checksums': ['9ea401dfca6b268cf30c041e428f461aab31e4bc5e17bc8e923568e16c9cb1f1'], + }), +] + +moduleclass = 'vis' From ef7d76133c2ea0f89fe78b60b336d6d4c3808ada Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Sat, 11 May 2024 00:46:37 +0200 Subject: [PATCH 579/889] fix sanity checks of JupyterLab-4.0.5-GCCcore-12.3.0.eb --- .../JupyterLab-4.0.5-GCCcore-12.3.0.eb | 34 +++++++++---------- 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/easybuild/easyconfigs/j/JupyterLab/JupyterLab-4.0.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-4.0.5-GCCcore-12.3.0.eb index cc3dbfb5a12..df819f0e4fc 100644 --- a/easybuild/easyconfigs/j/JupyterLab/JupyterLab-4.0.5-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-4.0.5-GCCcore-12.3.0.eb @@ -20,18 +20,8 @@ dependencies = [ ('jupyter-server', '2.7.2'), ] -# keep user's configuration in their home directory -# note: '~' is not expanded by JupyterLab -modluafooter = """ -setenv("JUPYTERLAB_SETTINGS_DIR", pathJoin(os.getenv("HOME"), ".jupyter", "lab", "user-settings")) -setenv("JUPYTERLAB_WORKSPACES_DIR", pathJoin(os.getenv("HOME"), ".jupyter", "lab", "workspaces")) -""" -modtclfooter = """ -setenv JUPYTERLAB_SETTINGS_DIR "$::env(HOME)/.jupyter/lab/user-settings" -setenv JUPYTERLAB_WORKSPACES_DIR "$::env(HOME)/.jupyter/lab/workspaces" -""" -sanity_pip_check = True use_pip = True +sanity_pip_check = True exts_list = [ ('json5', '0.9.14', { @@ -51,20 +41,28 @@ exts_list = [ }), ] -local_binaries = [ - 'jupyter-lab', - 'jupyter-labextension', - 'jupyter-labhub', -] sanity_check_paths = { - 'files': [], + 'files': ['bin/jupyter-lab', 'bin/jupyter-labextension', 'bin/jupyter-labhub'], 'dirs': ['etc/jupyter', 'share/jupyter'], } sanity_check_commands = ['jupyter lab --help'] modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} +modextravars = { + # only one path allowed as JUPYTERLAB_DIR + 'JUPYTERLAB_DIR': '%(installdir)s/share/jupyter/lab', +} -modextravars = {'JUPYTERLAB_DIR': '%(installdir)s/share/jupyter/lab'} +# keep user's configuration in their home directory +# note: '~' is not expanded by JupyterLab +modluafooter = """ +setenv("JUPYTERLAB_SETTINGS_DIR", pathJoin(os.getenv("HOME"), ".jupyter", "lab", "user-settings")) +setenv("JUPYTERLAB_WORKSPACES_DIR", pathJoin(os.getenv("HOME"), ".jupyter", "lab", "workspaces")) +""" +modtclfooter = """ +setenv JUPYTERLAB_SETTINGS_DIR "$::env(HOME)/.jupyter/lab/user-settings" +setenv JUPYTERLAB_WORKSPACES_DIR "$::env(HOME)/.jupyter/lab/workspaces" +""" moduleclass = 'tools' From b4bdfaae13db38bc85868de0c85fc73a1a990e4b Mon Sep 17 00:00:00 2001 From: Alan O'Cais Date: Mon, 13 May 2024 13:18:27 +0000 Subject: [PATCH 580/889] Fix detection of CC/CXX compilers for wmake for dot_com OpenFOAM --- .../OpenFOAM-v2212-wmake-OpenMPI.patch | 30 +++++++++++++++++++ .../o/OpenFOAM/OpenFOAM-v2312-foss-2023a.eb | 2 +- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2212-wmake-OpenMPI.patch b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2212-wmake-OpenMPI.patch index 0cd23ac34f7..4c442fa0060 100644 --- a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2212-wmake-OpenMPI.patch +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2212-wmake-OpenMPI.patch @@ -1,6 +1,36 @@ +# - Corrected output of "wmake -show-c" and "wmake -show-c++" with OpenMPI in +# order to allow compilation of paraFoam. This is required as we define the +# compiler as "OMPI_CC=gcc mpicc" when using OpenMPI +# (this patch should not be removed in future versions due to this definition) # - Add mplibEASYBUILDMPI configuration for wmake (OpenMPI version) # # author: Jiri Furst +--- OpenFOAM-v2112/wmake/makefiles/info.orig 2019-11-07 18:12:53.000000000 +0100 ++++ OpenFOAM-v2112/wmake/makefiles/info 2019-11-23 12:52:50.700688579 +0100 +@@ -73,19 +73,19 @@ + + .PHONY: c + c: +- @echo "$(firstword $(cc))" ++ @echo "$(lastword $(cc))" + + .PHONY: cxx + cxx: +- @echo "$(firstword $(CC))" ++ @echo "$(lastword $(CC))" + + .PHONY: cflags + cflags: +- @echo "$(wordlist 2,$(words $(COMPILE_C)), $(COMPILE_C))" ++ @echo "$(wordlist 3,$(words $(COMPILE_C)), $(COMPILE_C))" + + .PHONY: cxxflags + cxxflags: +- @echo "$(wordlist 2,$(words $(COMPILE_CXX)), $(COMPILE_CXX))" ++ @echo "$(wordlist 3,$(words $(COMPILE_CXX)), $(COMPILE_CXX))" + + .PHONY: cflags-arch + cflags-arch: --- /dev/null 2023-03-06 18:30:28.397302047 +0100 +++ OpenFOAM-v2212/wmake/rules/General/mplibEASYBUILDMPI 2023-03-10 14:52:38.100740228 +0100 @@ -0,0 +1,6 @@ diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2312-foss-2023a.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2312-foss-2023a.eb index 661327ff9a6..bc5f33912b5 100644 --- a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2312-foss-2023a.eb +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2312-foss-2023a.eb @@ -22,7 +22,7 @@ patches = [ checksums = [ {'OpenFOAM-v2312.tgz': 'f113183a4d027c93939212af8967053c5f8fe76fb62e5848cb11bbcf8e829552'}, {'OpenFOAM-v2312-cleanup.patch': 'f1389e5d89510209d99d35917a4a6bd727134121bbbaa12471235042e675dacf'}, - {'OpenFOAM-v2212-wmake-OpenMPI.patch': '4f5110e98df1f057dc4b478a004e4ae2dc5cc763899f0d3ceb6773315c5c8ba9'}, + {'OpenFOAM-v2212-wmake-OpenMPI.patch': '241dc4898c22aab0cbd10c1ea931a07a786508ee03462d45dbc1c202fee3ebe8'}, ] builddependencies = [ From 96cdfdd20d9904e592f267e8a48190f2c76e6408 Mon Sep 17 00:00:00 2001 From: ocaisa Date: Mon, 13 May 2024 15:43:34 +0200 Subject: [PATCH 581/889] Update checksum for patch --- easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2306-foss-2022b.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2306-foss-2022b.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2306-foss-2022b.eb index 74d81fdd5a1..f4380374929 100644 --- a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2306-foss-2022b.eb +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2306-foss-2022b.eb @@ -22,7 +22,7 @@ patches = [ checksums = [ {'OpenFOAM-v2306.tgz': 'd7fba773658c0f06ad17f90199565f32e9bf502b7bb03077503642064e1f5344'}, {'OpenFOAM-v2206-cleanup.patch': '25333124581acae57c173587de4ebd6e143b894b1a26e4f0326db8b7e0cb1972'}, - {'OpenFOAM-v2212-wmake-OpenMPI.patch': '4f5110e98df1f057dc4b478a004e4ae2dc5cc763899f0d3ceb6773315c5c8ba9'}, + {'OpenFOAM-v2212-wmake-OpenMPI.patch': '241dc4898c22aab0cbd10c1ea931a07a786508ee03462d45dbc1c202fee3ebe8'}, ] builddependencies = [ From b1e014b9a567448963efb7f53997f802b003d89c Mon Sep 17 00:00:00 2001 From: thoffman Date: Mon, 13 May 2024 16:27:20 +0200 Subject: [PATCH 582/889] {bio}[GCCcore/12.3.0] gemmi v0.6.5 --- .../g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..363c73a7d0f --- /dev/null +++ b/easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb @@ -0,0 +1,57 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/05 +easyblock = 'CMakePythonPackage' + +name = 'gemmi' +version = '0.6.5' + +homepage = 'https://gemmi.readthedocs.io/' +description = """Gemmi is a library, accompanied by a set of programs, developed primarily for +use in macromolecular crystallography (MX). For working with: + +macromolecular models (content of PDB, PDBx/mmCIF and mmJSON files), refinement +restraints (CIF files), reflection data (MTZ and mmCIF formats), data on a 3D +grid (electron density maps, masks, MRC/CCP4 format) crystallographic symmetry. +Parts of this library can be useful in structural bioinformatics (for symmetry- +aware analysis of protein models), and in other molecular-structure sciences +that use CIF files (we have the fastest open-source CIF parser).""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'opt': True} + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['9159506a16e0d22bbeeefc4d34137099318307db1b2bebf06fb2ae501571b19c'] + +github_account = 'project-gemmi' + +configopts = [ + '-DSTRIP_BINARY=ON ' + '-DUSE_FORTRAN=1 -DBUILD_SHARED_LIBS=%s' % x for x in ['OFF', 'ON']] + +builddependencies = [ + ('pybind11', '2.11.1'), + ('pybind11-stubgen', '2.5.1'), + ('CMake', '3.26.3'), + ('scikit-build-core', '0.5.0'), + ('meson-python', '0.13.2'), +] +dependencies = [('Python', '3.11.3')] + +local_pipcmd = "mkdir %(builddir)s/pybuild &&" +local_pipcmd += "python -m pip install -ve %(builddir)s/%(name)s-%(version)s" +local_pipcmd += " --no-deps --ignore-installed --prefix=%(installdir)s --no-build-isolation" +local_pipcmd += ' --config-settings="cmake.args=-DSTANDALONE_PYTHON_MODULE=OFF"' # use lib/libgemmi_cpp.so +local_pipcmd += ' --config-settings="cmake.args=-DBUILD_GEMMI_PROGRAM=OFF"' +local_pipcmd += ' --config-settings="cmake.args=-DINSTALL_DEV_FILES=OFF"' +local_pipcmd += ' --config-settings=editable.rebuild=true -Cbuild-dir=%(builddir)s/pybuild ' +postinstallcmds = [ + (local_pipcmd) +] + +sanity_check_paths = { + 'files': ['bin/gemmi', 'lib/libgemmi_cpp.%s' % SHLIB_EXT, 'lib/libgemmi_cpp.a'], + 'dirs': ['bin', 'lib', 'include/gemmi', 'lib/python%(pyshortver)s/site-packages/%(name)s-%(version)s.dist-info'] +} + +moduleclass = 'bio' + From 0c7d7e5b6ed7fddba5c541bab6e3d7c3ec96bd52 Mon Sep 17 00:00:00 2001 From: thoffman Date: Mon, 13 May 2024 17:01:07 +0200 Subject: [PATCH 583/889] fix style --- easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb index 363c73a7d0f..27b938dfc58 100644 --- a/easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb @@ -54,4 +54,3 @@ sanity_check_paths = { } moduleclass = 'bio' - From 7369aa42488e0e22ef99f79f6b9c2f50279568a9 Mon Sep 17 00:00:00 2001 From: thoffman Date: Mon, 13 May 2024 17:36:21 +0200 Subject: [PATCH 584/889] binutils --- easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb index 27b938dfc58..e68f3631654 100644 --- a/easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb @@ -34,6 +34,7 @@ builddependencies = [ ('CMake', '3.26.3'), ('scikit-build-core', '0.5.0'), ('meson-python', '0.13.2'), + ('binutils', '2.40') ] dependencies = [('Python', '3.11.3')] From 43ca062b7741573d212df9855e40732719e7c2d2 Mon Sep 17 00:00:00 2001 From: thoffman Date: Mon, 13 May 2024 18:52:27 +0200 Subject: [PATCH 585/889] add EC for pybind11-stubgen --- .../pybind11-stubgen-2.5.1-GCCcore-12.3.0.eb | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 easybuild/easyconfigs/p/pybind11-stubgen/pybind11-stubgen-2.5.1-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/p/pybind11-stubgen/pybind11-stubgen-2.5.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pybind11-stubgen/pybind11-stubgen-2.5.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..f1505c6da3a --- /dev/null +++ b/easybuild/easyconfigs/p/pybind11-stubgen/pybind11-stubgen-2.5.1-GCCcore-12.3.0.eb @@ -0,0 +1,36 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/04 +easyblock = 'PythonBundle' + +name = 'pybind11-stubgen' +version = '2.5.1' + +homepage = 'https://github.com/sizmailov/pybind11-stubgen' +description = """ +Static analysis tools and IDE usually struggle to understand python binary +extensions. pybind11-stubgen generates stubs for python extensions to make them +less opaque. + +While the CLI tool includes tweaks to target modules compiled specifically with +pybind11 but it should work well with modules built with other libraries. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['4427a67038a00c5ac1637ffa6c65728c67c5b1251ecc23c7704152be0b14cc0b'], + }), +] + +moduleclass = 'lib' + From 1254c033095331e0aa5e4195bd80893ffc08e65b Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Mon, 13 May 2024 23:09:17 +0200 Subject: [PATCH 586/889] Update pybind11-stubgen-2.5.1-GCCcore-12.3.0.eb --- .../p/pybind11-stubgen/pybind11-stubgen-2.5.1-GCCcore-12.3.0.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/p/pybind11-stubgen/pybind11-stubgen-2.5.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pybind11-stubgen/pybind11-stubgen-2.5.1-GCCcore-12.3.0.eb index f1505c6da3a..14e409a2101 100644 --- a/easybuild/easyconfigs/p/pybind11-stubgen/pybind11-stubgen-2.5.1-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/pybind11-stubgen/pybind11-stubgen-2.5.1-GCCcore-12.3.0.eb @@ -33,4 +33,3 @@ exts_list = [ ] moduleclass = 'lib' - From e8f52b863d8bd6448cdbafbb756f28cc188cfa60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Tue, 14 May 2024 10:49:51 +0200 Subject: [PATCH 587/889] adding easyconfigs: wfdb-4.1.2-foss-2022a.eb --- .../w/wfdb/wfdb-4.1.2-foss-2022a.eb | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 easybuild/easyconfigs/w/wfdb/wfdb-4.1.2-foss-2022a.eb diff --git a/easybuild/easyconfigs/w/wfdb/wfdb-4.1.2-foss-2022a.eb b/easybuild/easyconfigs/w/wfdb/wfdb-4.1.2-foss-2022a.eb new file mode 100644 index 00000000000..456617f9698 --- /dev/null +++ b/easybuild/easyconfigs/w/wfdb/wfdb-4.1.2-foss-2022a.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'wfdb' +version = '4.1.2' + +homepage = 'https://wfdb.readthedocs.io/en/latest/' +description = """The native Python waveform-database (WFDB) package. + A library of tools for reading, writing, and processing WFDB signals and annotations.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('poetry', '1.2.2'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('cffi', '1.15.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('soundfile', '0.12.1', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['828a79c2e75abab5359f780c81dccd4953c45a2c4cd4f05ba3e233ddf984b882'], + }), + ('certifi', '2024.2.2', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1'], + }), + ('idna', '3.7', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0'], + }), + ('charset-normalizer', '3.3.2', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc'], + }), + # not the latest version to avoid hatchling + ('urllib3', '1.26.18', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['34b97092d7e0a3a8cf7cd10e386f401b3737364026c45e622aa02903dffe0f07'], + }), + ('requests', '2.31.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f'], + }), + (name, version, { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['57ef64309ec7793bb11611c646d129f0b1936b598947fed8c14f90a35665053d'], + }), +] + +moduleclass = 'lib' From 3882e66f1dbee387a9dab37d21c70e4b27aef820 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 14 May 2024 11:39:34 +0200 Subject: [PATCH 588/889] bump gmxapi version to 0.5.0 and use correct gromacs source tarball --- .../easyconfigs/g/GROMACS/GROMACS-2024.1-foss-2023b.eb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.1-foss-2023b.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.1-foss-2023b.eb index 241ca8a7b98..5489807f3b6 100644 --- a/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.1-foss-2023b.eb +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.1-foss-2023b.eb @@ -74,12 +74,12 @@ exts_default_options = { } exts_list = [ - ('gmxapi', '0.4.2', { + ('gmxapi', '0.5.0', { 'preinstallopts': 'export CMAKE_ARGS="-Dgmxapi_ROOT=%(installdir)s ' + '-C %(installdir)s/share/cmake/gromacs_mpi/gromacs-hints_mpi.cmake" && ', - 'source_tmpl': 'gromacs-2023.3.tar.gz', + 'source_tmpl': 'gromacs-2024.1.tar.gz', 'start_dir': 'python_packaging/gmxapi', - 'checksums': ['4ec8f8d0c7af76b13f8fd16db8e2c120e749de439ae9554d9f653f812d78d1cb'], + 'checksums': ['937d8f12a36fffbf2af7add71adbb5aa5c5537892d46c9a76afbecab1aa0aac7'], }), ] From fe47406fd44c03509b1fad03441acac752d762da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Tue, 14 May 2024 11:55:14 +0200 Subject: [PATCH 589/889] fix dependency name --- easybuild/easyconfigs/w/wfdb/wfdb-4.1.2-foss-2022a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/w/wfdb/wfdb-4.1.2-foss-2022a.eb b/easybuild/easyconfigs/w/wfdb/wfdb-4.1.2-foss-2022a.eb index 456617f9698..4a6a49e6f2c 100644 --- a/easybuild/easyconfigs/w/wfdb/wfdb-4.1.2-foss-2022a.eb +++ b/easybuild/easyconfigs/w/wfdb/wfdb-4.1.2-foss-2022a.eb @@ -35,7 +35,7 @@ exts_list = [ 'source_tmpl': SOURCE_PY3_WHL, 'checksums': ['82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0'], }), - ('charset-normalizer', '3.3.2', { + ('charset_normalizer', '3.3.2', { 'source_tmpl': SOURCE_PY3_WHL, 'checksums': ['3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc'], }), From 76d2c5cdb621742718d84848ee96fc58544bd4f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Tue, 14 May 2024 12:04:46 +0200 Subject: [PATCH 590/889] add missing dependency --- easybuild/easyconfigs/w/wfdb/wfdb-4.1.2-foss-2022a.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/w/wfdb/wfdb-4.1.2-foss-2022a.eb b/easybuild/easyconfigs/w/wfdb/wfdb-4.1.2-foss-2022a.eb index 4a6a49e6f2c..01c86729ca9 100644 --- a/easybuild/easyconfigs/w/wfdb/wfdb-4.1.2-foss-2022a.eb +++ b/easybuild/easyconfigs/w/wfdb/wfdb-4.1.2-foss-2022a.eb @@ -17,6 +17,7 @@ dependencies = [ ('Python', '3.10.4'), ('SciPy-bundle', '2022.05'), ('cffi', '1.15.1'), + ('matplotlib', '3.5.2'), ] use_pip = True From 4083b8a85f70975fa583c209b0d84ce676a7b6f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Tue, 14 May 2024 12:19:32 +0200 Subject: [PATCH 591/889] add missing dependency --- easybuild/easyconfigs/w/wfdb/wfdb-4.1.2-foss-2022a.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/w/wfdb/wfdb-4.1.2-foss-2022a.eb b/easybuild/easyconfigs/w/wfdb/wfdb-4.1.2-foss-2022a.eb index 01c86729ca9..f80a2d11ffd 100644 --- a/easybuild/easyconfigs/w/wfdb/wfdb-4.1.2-foss-2022a.eb +++ b/easybuild/easyconfigs/w/wfdb/wfdb-4.1.2-foss-2022a.eb @@ -18,6 +18,7 @@ dependencies = [ ('SciPy-bundle', '2022.05'), ('cffi', '1.15.1'), ('matplotlib', '3.5.2'), + ('libsndfile', '1.1.0'), ] use_pip = True From 8cce709db03a375fc56d2c4f39514b0af3549189 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Tue, 14 May 2024 13:45:20 +0200 Subject: [PATCH 592/889] adding easyconfigs: gcloud-472.0.0.eb --- .../easyconfigs/g/gcloud/gcloud-472.0.0.eb | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 easybuild/easyconfigs/g/gcloud/gcloud-472.0.0.eb diff --git a/easybuild/easyconfigs/g/gcloud/gcloud-472.0.0.eb b/easybuild/easyconfigs/g/gcloud/gcloud-472.0.0.eb new file mode 100644 index 00000000000..a3c1bf161fe --- /dev/null +++ b/easybuild/easyconfigs/g/gcloud/gcloud-472.0.0.eb @@ -0,0 +1,24 @@ +easyblock = 'Tarball' + +name = "gcloud" +version = "472.0.0" + +homepage = "https://cloud.google.com/sdk" +description = "Libraries and tools for interacting with Google Cloud products and services." + +toolchain = SYSTEM + +source_urls = ["https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/"] +sources = ["google-cloud-sdk-%(version)s-linux-x86_64.tar.gz"] +checksums = ['da57049ca6de98815d92bd66b45798056d5082d94dd83f376ab706b9cf2c518b'] + +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +sanity_check_paths = { + 'files': ["bin/gcloud"], + 'dirs': [] +} + +sanity_check_commands = ["gcloud version"] + +moduleclass = "tools" From 9dcac30e95992ce7f62b1898fa8170565eb4dd0b Mon Sep 17 00:00:00 2001 From: WilleBell Date: Tue, 14 May 2024 16:15:02 +0200 Subject: [PATCH 593/889] adding easyconfigs: Cython-3.0.8-GCCcore-12.3.0.eb, scikit-learn-1.4.2-gfbf-2023a.eb --- .../c/Cython/Cython-3.0.8-GCCcore-12.3.0.eb | 40 +++++++++++++++++++ .../scikit-learn-1.4.2-gfbf-2023a.eb | 36 +++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 easybuild/easyconfigs/c/Cython/Cython-3.0.8-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.4.2-gfbf-2023a.eb diff --git a/easybuild/easyconfigs/c/Cython/Cython-3.0.8-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/Cython/Cython-3.0.8-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..ac694119ebc --- /dev/null +++ b/easybuild/easyconfigs/c/Cython/Cython-3.0.8-GCCcore-12.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonPackage' + +name = 'Cython' +version = '3.0.8' + +homepage = 'https://cython.org/' +description = """ +Cython is an optimising static compiler for both the Python programming +language and the extended Cython programming language (based on Pyrex). +""" +docurls = [ + 'https://cython.org/#documentation', + 'https://github.com/cython/cython', +] + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['8333423d8fd5765e7cceea3a9985dd1e0a5dfeb2734629e1a2ed2d6233d39de6'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/cygdb', 'bin/cython', 'bin/cythonize'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["cython --version"] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.4.2-gfbf-2023a.eb b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.4.2-gfbf-2023a.eb new file mode 100644 index 00000000000..c94ab50744a --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.4.2-gfbf-2023a.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonBundle' + +name = 'scikit-learn' +version = '1.4.2' + +homepage = 'https://scikit-learn.org/stable/index.html' +description = """Scikit-learn integrates machine learning algorithms in the tightly-knit scientific Python world, +building upon numpy, scipy, and matplotlib. As a machine-learning module, +it provides versatile tools for data mining and analysis in any field of science and engineering. +It strives to be simple and efficient, accessible to everybody, and reusable in various contexts.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + # Build requires "Cython>=3.0.8" + # Cython included with Python-bundle-PyPI (0.29.35) is too old + ('Cython', '3.0.8'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'modulename': 'sklearn', + 'checksums': ['daa1c471d95bad080c6e44b4946c9390a4842adc3082572c20e4f8884e39e959'], + }), + ('sklearn', '0.0', { + 'checksums': ['e23001573aa194b834122d2b9562459bf5ae494a2d59ca6b8aa22c85a44c0e31'], + }), +] + +moduleclass = 'data' From 6a0d14fbb061be4fc48b133982df056d290f0978 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 14 May 2024 17:05:35 +0200 Subject: [PATCH 594/889] adding easyconfigs: scikit-build-core-0.9.3-GCCcore-13.2.0.eb --- .../scikit-build-core-0.9.3-GCCcore-13.2.0.eb | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.9.3-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.9.3-GCCcore-13.2.0.eb b/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.9.3-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..691bd671f50 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.9.3-GCCcore-13.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'scikit-build-core' +version = '0.9.3' + +homepage = 'https://scikit-build.readthedocs.io/en/latest/' +description = """Scikit-build-core is a complete ground-up rewrite of scikit-build on top of +modern packaging APIs. It provides a bridge between CMake and the Python build +system, allowing you to make Python modules with CMake.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('CMake', '3.27.6'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('scikit_build_core', version, { + 'checksums': ['341d113e473a5409dc62522e8b1b1b8b1647a0b95557ad15f6be2a36071fd390'], + }), +] + +moduleclass = 'lib' From 38f300e31ae9454e92db702fcea8389e4962b2a8 Mon Sep 17 00:00:00 2001 From: Cintia Willemyns <115622907+WilleBell@users.noreply.github.com> Date: Tue, 14 May 2024 17:22:43 +0200 Subject: [PATCH 595/889] Change Cython version in Cartopy to avoid fail of test_dep_versions --- easybuild/easyconfigs/c/Cartopy/Cartopy-0.22.0-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/c/Cartopy/Cartopy-0.22.0-foss-2023a.eb b/easybuild/easyconfigs/c/Cartopy/Cartopy-0.22.0-foss-2023a.eb index 9dfe231d9e6..73fc95af612 100644 --- a/easybuild/easyconfigs/c/Cartopy/Cartopy-0.22.0-foss-2023a.eb +++ b/easybuild/easyconfigs/c/Cartopy/Cartopy-0.22.0-foss-2023a.eb @@ -16,7 +16,7 @@ dependencies = [ # sufficiently recent Cython is required, to fix issues like: # pykdtree/kdtree.c:2437:76: error: PyArrayObject {aka struct tagPyArrayObject} has no member named data # Cython included with Python-bundle-PyPI (0.29.35) is not sufficient - ('Cython', '3.0.7'), + ('Cython', '3.0.8'), ('Fiona', '1.9.5'), ('GDAL', '3.7.1'), ('GEOS', '3.12.0'), From e5861a0104bda3da93f6e92f13e0a0fc1688f95b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 14 May 2024 18:47:54 +0200 Subject: [PATCH 596/889] replace scikit-build by scikit-build-core --- easybuild/easyconfigs/g/GROMACS/GROMACS-2024.1-foss-2023b.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.1-foss-2023b.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.1-foss-2023b.eb index 5489807f3b6..1aa835572d7 100644 --- a/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.1-foss-2023b.eb +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.1-foss-2023b.eb @@ -54,7 +54,7 @@ checksums = [ builddependencies = [ ('CMake', '3.27.6'), - ('scikit-build', '0.17.6'), + ('scikit-build-core', '0.9.3'), ] dependencies = [ From 1f60b8b26f08f729baddcac80b08cce293ba6297 Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Tue, 14 May 2024 22:36:38 +0200 Subject: [PATCH 597/889] Update easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb Co-authored-by: Sam Moors --- easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb index e68f3631654..96d31a41bc3 100644 --- a/easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb @@ -45,9 +45,7 @@ local_pipcmd += ' --config-settings="cmake.args=-DSTANDALONE_PYTHON_MODULE=OFF"' local_pipcmd += ' --config-settings="cmake.args=-DBUILD_GEMMI_PROGRAM=OFF"' local_pipcmd += ' --config-settings="cmake.args=-DINSTALL_DEV_FILES=OFF"' local_pipcmd += ' --config-settings=editable.rebuild=true -Cbuild-dir=%(builddir)s/pybuild ' -postinstallcmds = [ - (local_pipcmd) -] +postinstallcmds = [local_pipcmd] sanity_check_paths = { 'files': ['bin/gemmi', 'lib/libgemmi_cpp.%s' % SHLIB_EXT, 'lib/libgemmi_cpp.a'], From d0ae37c2a06ae25c975535685ca488221cfe49c9 Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Tue, 14 May 2024 22:40:02 +0200 Subject: [PATCH 598/889] Add sanity check commands --- easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb index 96d31a41bc3..053ab0f06fa 100644 --- a/easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb @@ -52,4 +52,6 @@ sanity_check_paths = { 'dirs': ['bin', 'lib', 'include/gemmi', 'lib/python%(pyshortver)s/site-packages/%(name)s-%(version)s.dist-info'] } +sanity_check_commands = ['gemmi -h] + moduleclass = 'bio' From 7e71412dc0ae98a4beb88c2913bafa0171155fe9 Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Tue, 14 May 2024 22:41:09 +0200 Subject: [PATCH 599/889] Typo --- easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb index 053ab0f06fa..961d8a5428c 100644 --- a/easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb @@ -52,6 +52,6 @@ sanity_check_paths = { 'dirs': ['bin', 'lib', 'include/gemmi', 'lib/python%(pyshortver)s/site-packages/%(name)s-%(version)s.dist-info'] } -sanity_check_commands = ['gemmi -h] +sanity_check_commands = ['gemmi -h'] moduleclass = 'bio' From 71367f7515d322b738f15626e89d1b0a2b441946 Mon Sep 17 00:00:00 2001 From: Lars Viklund Date: Wed, 15 May 2024 11:29:17 +0200 Subject: [PATCH 600/889] add new checksum for signal_1.8-0 to R-bundle-CRAN-2023.12 --- .../r/R-bundle-CRAN/R-bundle-CRAN-2023.12-foss-2023a.eb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/r/R-bundle-CRAN/R-bundle-CRAN-2023.12-foss-2023a.eb b/easybuild/easyconfigs/r/R-bundle-CRAN/R-bundle-CRAN-2023.12-foss-2023a.eb index 8b25f65bdde..57ab900fc6c 100644 --- a/easybuild/easyconfigs/r/R-bundle-CRAN/R-bundle-CRAN-2023.12-foss-2023a.eb +++ b/easybuild/easyconfigs/r/R-bundle-CRAN/R-bundle-CRAN-2023.12-foss-2023a.eb @@ -1601,7 +1601,10 @@ exts_list = [ 'checksums': ['49848bcb03dd3fc3605799893d39986b521921faaa5647815274eb204bb9bf56'], }), ('signal', '1.8-0', { - 'checksums': ['89cba854167a2b051a58cf3b73ccbf74eeb47c890ac39720611cd41f86b94684'], + 'checksums': [ + ('89cba854167a2b051a58cf3b73ccbf74eeb47c890ac39720611cd41f86b94684', + '0a604949bae91410a150a22cfa02d954f5b83166cc7a73e5409554d00e0417a7'), + ], }), ('tuneR', '1.4.6', { 'checksums': ['c5441fb56dc84cafb6aa6b47d83839da1e1a4e5b19eafbb63b268d1a660647d0'], From 26e404d647b672fcc905b5c74267669ae5e11548 Mon Sep 17 00:00:00 2001 From: crivella Date: Wed, 15 May 2024 15:50:51 +0200 Subject: [PATCH 601/889] Added comments to patch --- .../easyconfigs/f/f90wrap/f90wrap-0.2.13_fix_old_typing.patch | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/f/f90wrap/f90wrap-0.2.13_fix_old_typing.patch b/easybuild/easyconfigs/f/f90wrap/f90wrap-0.2.13_fix_old_typing.patch index 58bc5bdbf9f..a232ec81e8f 100644 --- a/easybuild/easyconfigs/f/f90wrap/f90wrap-0.2.13_fix_old_typing.patch +++ b/easybuild/easyconfigs/f/f90wrap/f90wrap-0.2.13_fix_old_typing.patch @@ -1,3 +1,4 @@ +Fixed old numpy API usage in f90wrap. This has been fixed in commit 108f819 and version 0.2.14 --- f90wrap/arraydatamodule.c.orig 2024-04-19 14:22:57.488265190 +0200 +++ f90wrap/arraydatamodule.c 2024-04-19 14:30:08.923493156 +0200 @@ -59,13 +59,13 @@ From 13ff524ea5baade70cd0f921e616a78e38ab976c Mon Sep 17 00:00:00 2001 From: crivella Date: Wed, 15 May 2024 16:05:00 +0200 Subject: [PATCH 602/889] Udated checksums --- easybuild/easyconfigs/f/f90wrap/f90wrap-0.2.13-foss-2023a.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/f/f90wrap/f90wrap-0.2.13-foss-2023a.eb b/easybuild/easyconfigs/f/f90wrap/f90wrap-0.2.13-foss-2023a.eb index be0a3da763d..153e5ca422f 100644 --- a/easybuild/easyconfigs/f/f90wrap/f90wrap-0.2.13-foss-2023a.eb +++ b/easybuild/easyconfigs/f/f90wrap/f90wrap-0.2.13-foss-2023a.eb @@ -16,8 +16,8 @@ toolchain = {'name': 'foss', 'version': '2023a'} sources = [SOURCE_TAR_GZ] patches = ['f90wrap-0.2.13_fix_old_typing.patch'] checksums = [ - 'a61b73bb1cf028db54ad4b0c48627080d88e14463803dd55713c70f3e88b911e', # f90wrap-0.2.13.tar.gz - 'da8b6e551a486f42182773fa4b4d852317c5d240e930183fa5e1fa84aeab825b', # f90wrap-0.2.13_fix_old_typing.patch + {'f90wrap-0.2.13.tar.gz': 'a61b73bb1cf028db54ad4b0c48627080d88e14463803dd55713c70f3e88b911e'}, + {'f90wrap-0.2.13_fix_old_typing.patch': 'e6fad329e4436b0ad2bd093d0a8dd22bf03fe6128dfe9e38d0db6bd0c2ed79e1'}, ] builddependencies = [ From e324f672575e2b43d70e2dbf2a0551496ab71833 Mon Sep 17 00:00:00 2001 From: tanmoy1989 Date: Wed, 15 May 2024 16:37:19 +0100 Subject: [PATCH 603/889] adding easyconfigs: VTK-9.3.0-foss-2023b.eb --- .../easyconfigs/v/VTK/VTK-9.3.0-foss-2023b.eb | 92 +++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 easybuild/easyconfigs/v/VTK/VTK-9.3.0-foss-2023b.eb diff --git a/easybuild/easyconfigs/v/VTK/VTK-9.3.0-foss-2023b.eb b/easybuild/easyconfigs/v/VTK/VTK-9.3.0-foss-2023b.eb new file mode 100644 index 00000000000..8a0452f863f --- /dev/null +++ b/easybuild/easyconfigs/v/VTK/VTK-9.3.0-foss-2023b.eb @@ -0,0 +1,92 @@ +## +# Authors:: +# * Fotis Georgatos +# * Robert Mijakovic +## + +easyblock = 'CMakeNinja' + +name = 'VTK' +version = '9.3.0' + +homepage = 'https://www.vtk.org' +description = """The Visualization Toolkit (VTK) is an open-source, freely available software system for + 3D computer graphics, image processing and visualization. VTK consists of a C++ class library and several + interpreted interface layers including Tcl/Tk, Java, and Python. VTK supports a wide variety of visualization + algorithms including: scalar, vector, tensor, texture, and volumetric methods; and advanced modeling techniques + such as: implicit modeling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay triangulation.""" + +toolchain = {'name': 'foss', 'version': '2023b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.vtk.org/files/release/%(version_major_minor)s'] +sources = [ + SOURCE_TAR_GZ, + '%(name)sData-%(version)s.tar.gz', +] +patches = [('vtk-version.egg-info', '.')] +checksums = [ + {'VTK-9.3.0.tar.gz': 'fdc7b9295225b34e4fdddc49cd06e66e94260cb00efee456e0f66568c9681be9'}, + {'VTKData-9.3.0.tar.gz': 'f82142dd327e995c9536c1003e1370bb4092c96f23edb8119d16d2411ef35dc3'}, + {'vtk-version.egg-info': '787b82415ae7a4a1f815b4db0e25f7abc809a05fc85d7d219627f3a7e5d3867b'}, +] + +builddependencies = [ + ('CMake', '3.27.6'), + ('Ninja', '1.11.1'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), + ('XZ', '5.4.4'), + ('libGLU', '9.0.3'), + ('X11', '20231019'), +] + +separate_build_dir = True + +# OpenGL +configopts = "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT +configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT +configopts += "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include " +# Python +configopts += "-DVTK_WRAP_PYTHON=ON -DVTK_PYTHON_VERSION=3 -DVTK_PYTHON_OPTIONAL_LINK=OFF " +configopts += "-DPython3_EXECUTABLE=$EBROOTPYTHON/bin/python3 " +configopts += "-DPython3_INCLUDE_DIR=$EBROOTPYTHON/include/python%(pyshortver)s " +configopts += "-DPython3_LIBRARY=$EBROOTPYTHON/lib/libpython%(pyshortver)s.so " +# Other +configopts += "-DVTK_USE_MPI=ON " +configopts += "-DCMAKE_INSTALL_LIBDIR=lib" + +preinstallopts = "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " + +# Install a egg-info file so VTK is more python friendly, required for mayavi +local_egg_info_src = '%(builddir)s/VTK-%(version)s/vtk-version.egg-info' +local_egg_info_dest = '%(installdir)s/lib/python%(pyshortver)s/site-packages/vtk-%(version)s.egg-info' +postinstallcmds = [ + 'sed "s/#VTK_VERSION#/%%(version)s/" %s > %s' % (local_egg_info_src, local_egg_info_dest), +] + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +local_vtk_exec = ['vtk%s-%%(version_major_minor)s' % x + for x in ['WrapJava', 'ParseJava', 'WrapPythonInit', 'WrapPython', 'WrapHierarchy']] +local_vtk_exec += ['vtkpython'] +local_vtk_libs = ['CommonCore', 'IONetCDF', 'ParallelCore', 'RenderingOpenGL2'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_vtk_exec] + ['include/vtk-%(version_major_minor)s/vtkMPI.h'] + + ['lib/libvtk%s-%%(version_major_minor)s.%s' % (l, SHLIB_EXT) for l in local_vtk_libs], + 'dirs': ['lib/python%(pyshortver)s/site-packages/', 'include/vtk-%(version_major_minor)s'], +} + +sanity_check_commands = [ + "python -c 'import %(namelower)s'", + "python -c 'import pkg_resources; pkg_resources.get_distribution(\"vtk\")'", + # make sure that VTK Python libraries link to libpython (controlled via DVTK_PYTHON_OPTIONAL_LINK=OFF), + # see https://gitlab.kitware.com/vtk/vtk/-/issues/17881 + "ldd $EBROOTVTK/lib/libvtkPythonContext2D-%%(version_major_minor)s.%s | grep /libpython" % SHLIB_EXT, +] + +moduleclass = 'vis' From d317efe36f63c5cbe5fdc400f1ea0badccbc6d35 Mon Sep 17 00:00:00 2001 From: tanmoy1989 Date: Wed, 15 May 2024 16:42:48 +0100 Subject: [PATCH 604/889] adding easyconfigs: xprop-1.2.7-GCCcore-13.2.0.eb --- .../x/xprop/xprop-1.2.7-GCCcore-13.2.0.eb | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 easybuild/easyconfigs/x/xprop/xprop-1.2.7-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/x/xprop/xprop-1.2.7-GCCcore-13.2.0.eb b/easybuild/easyconfigs/x/xprop/xprop-1.2.7-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..463d1606214 --- /dev/null +++ b/easybuild/easyconfigs/x/xprop/xprop-1.2.7-GCCcore-13.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'xprop' +version = '1.2.7' + +homepage = "https://www.x.org/wiki/" +description = """The xprop utility is for displaying window and font properties in an X server. + One window or font is selected using the command line arguments or possibly + in the case of a window, by clicking on the desired window. A list of + properties is then given, possibly with formatting information.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://ftp.x.org/archive/individual/app/'] +sources = [SOURCE_TAR_GZ] +checksums = ['11c06a876b0aa0bfac6cbfe4b3ebe1f5062f8b39b9b1b6c136a8629265f134b6'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('X11', '20231019'), +] + +sanity_check_paths = { + 'files': ['bin/xprop'], + 'dirs': [], +} + +moduleclass = 'vis' From adf49577f90fd3d3292702bc68dae57e95cb792c Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Thu, 16 May 2024 09:10:42 +0200 Subject: [PATCH 605/889] Fix test in Cwd extension of Perl-bundle-CPAN-5.36.1 --- .../Cwd-3.7.5_fix-cwd_enoent-test.patch | 50 +++++++++++++++++++ .../Perl-bundle-CPAN-5.36.1-GCCcore-12.3.0.eb | 6 ++- 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 easybuild/easyconfigs/p/Perl-bundle-CPAN/Cwd-3.7.5_fix-cwd_enoent-test.patch diff --git a/easybuild/easyconfigs/p/Perl-bundle-CPAN/Cwd-3.7.5_fix-cwd_enoent-test.patch b/easybuild/easyconfigs/p/Perl-bundle-CPAN/Cwd-3.7.5_fix-cwd_enoent-test.patch new file mode 100644 index 00000000000..0cba1221f98 --- /dev/null +++ b/easybuild/easyconfigs/p/Perl-bundle-CPAN/Cwd-3.7.5_fix-cwd_enoent-test.patch @@ -0,0 +1,50 @@ +From 8508806268d1abe6c533393333ad151e12adfc2d Mon Sep 17 00:00:00 2001 +From: Slaven Rezic +Date: Wed, 3 Oct 2018 10:07:32 -0400 +Subject: [PATCH] Accept also ESTALE (fix for RT #133534) + +ESTALE may occur in some environments when accessing a +now non-existing directory, e.g. when using NFS or in docker +containers. +--- + dist/PathTools/t/cwd_enoent.t | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/dist/PathTools/t/cwd_enoent.t b/dist/PathTools/t/cwd_enoent.t +index 8f3a1fb1fb3e..510c65ed0c9a 100644 +--- a/dist/PathTools/t/cwd_enoent.t ++++ b/dist/PathTools/t/cwd_enoent.t +@@ -2,7 +2,7 @@ use warnings; + use strict; + + use Config; +-use Errno qw(ENOENT); ++use Errno qw(); + use File::Temp qw(tempdir); + use Test::More; + +@@ -19,6 +19,7 @@ unless(mkdir("$tmp/testdir") && chdir("$tmp/testdir") && rmdir("$tmp/testdir")){ + plan tests => 8; + require Cwd; + ++my @acceptable_errnos = (&Errno::ENOENT, (defined &Errno::ESTALE ? &Errno::ESTALE : ())); + foreach my $type (qw(regular perl)) { + SKIP: { + skip "_perl_abs_path() not expected to work", 4 +@@ -36,12 +37,14 @@ foreach my $type (qw(regular perl)) { + $res = Cwd::getcwd(); + $eno = 0+$!; + is $res, undef, "$type getcwd result on non-existent directory"; +- is $eno, ENOENT, "$type getcwd errno on non-existent directory"; ++ ok((grep { $eno == $_ } @acceptable_errnos), "$type getcwd errno on non-existent directory") ++ or diag "Got errno code $eno, expected " . join(", ", @acceptable_errnos); + $! = 0; + $res = Cwd::abs_path("."); + $eno = 0+$!; + is $res, undef, "$type abs_path result on non-existent directory"; +- is $eno, ENOENT, "$type abs_path errno on non-existent directory"; ++ ok((grep { $eno == $_ } @acceptable_errnos), "$type abs_path errno on non-existent directory") ++ or diag "Got errno code $eno, expected " . join(", ", @acceptable_errnos); + } + } + diff --git a/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.36.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.36.1-GCCcore-12.3.0.eb index a3645c938f4..2f6b7c199a4 100644 --- a/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.36.1-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.36.1-GCCcore-12.3.0.eb @@ -1923,7 +1923,11 @@ exts_list = [ ('Cwd', '3.75', { 'source_tmpl': 'PathTools-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], - 'checksums': ['a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2'], + 'patches': ['Cwd-3.7.5_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'Cwd-3.7.5_fix-cwd_enoent-test.patch': '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], }), ('MIME::Base64', '3.16', { 'source_tmpl': 'MIME-Base64-%(version)s.tar.gz', From a5ce427b2a84a79243f5350f4053ae5d2731097b Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Thu, 16 May 2024 09:46:30 +0200 Subject: [PATCH 606/889] Fix style --- .../Perl-bundle-CPAN-5.36.1-GCCcore-12.3.0.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.36.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.36.1-GCCcore-12.3.0.eb index 2f6b7c199a4..50d708b9a26 100644 --- a/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.36.1-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.36.1-GCCcore-12.3.0.eb @@ -1925,8 +1925,8 @@ exts_list = [ 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], 'patches': ['Cwd-3.7.5_fix-cwd_enoent-test.patch'], 'checksums': [ - 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', - {'Cwd-3.7.5_fix-cwd_enoent-test.patch': '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'Cwd-3.7.5_fix-cwd_enoent-test.patch': '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, ], }), ('MIME::Base64', '3.16', { From 9f4cee2f6abf5f0cc90e4de4a4334ec4230dd78e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Thu, 16 May 2024 10:41:00 +0200 Subject: [PATCH 607/889] adding easyconfigs: rhandsontable-0.3.8-foss-2023a-R-4.3.2.eb --- .../rhandsontable-0.3.8-foss-2023a-R-4.3.2.eb | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 easybuild/easyconfigs/r/rhandsontable/rhandsontable-0.3.8-foss-2023a-R-4.3.2.eb diff --git a/easybuild/easyconfigs/r/rhandsontable/rhandsontable-0.3.8-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/r/rhandsontable/rhandsontable-0.3.8-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..c97bbb9bf43 --- /dev/null +++ b/easybuild/easyconfigs/r/rhandsontable/rhandsontable-0.3.8-foss-2023a-R-4.3.2.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'rhandsontable' +version = '0.3.8' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/rhandsontable/index.html' +description = """An R interface to the 'Handsontable' JavaScript library, + which is a minimalist Excel-like data grid editor.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = [ + 'https://cran.r-project.org/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/%(name)s/', +] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['901ed9c59936f7fa52ad8db3111c8904ab962f9c74f1b6cd40f81683af35d21d'] + +dependencies = [ + ('R', '4.3.2'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(name)s'], +} + +moduleclass = 'tools' From d2e285ea7da78120ee20b22c26c6800fa4717031 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Thu, 16 May 2024 11:50:27 +0200 Subject: [PATCH 608/889] adding easyconfigs: MOFA2-1.14.0-foss-2023a-R-4.3.2.eb --- .../MOFA2/MOFA2-1.14.0-foss-2023a-R-4.3.2.eb | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 easybuild/easyconfigs/m/MOFA2/MOFA2-1.14.0-foss-2023a-R-4.3.2.eb diff --git a/easybuild/easyconfigs/m/MOFA2/MOFA2-1.14.0-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/m/MOFA2/MOFA2-1.14.0-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..e523e43a67c --- /dev/null +++ b/easybuild/easyconfigs/m/MOFA2/MOFA2-1.14.0-foss-2023a-R-4.3.2.eb @@ -0,0 +1,36 @@ +easyblock = 'RPackage' + +name = 'MOFA2' +version = '1.14.0' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/rhandsontable/index.html' +description = """MOFA is a factor analysis model that provides a general framework + for the integration of multi-omic data sets in an unsupervised fashion. Intuitively, + MOFA can be viewed as a versatile and statistically rigorous generalization of principal + component analysis to multi-omics data. Given several data matrices with measurements + of multiple -omics data types on the same or on overlapping sets of samples, + MOFA infers an interpretable low-dimensional representation in terms of a few latent factors. + These learnt factors represent the driving sources of variation across data modalities, + thus facilitating the identification of cellular states or disease subgroups.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = [ + 'https://bioconductor.org/packages/release/bioc/src/contrib/', +] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['18975d2072c35160cc4f5218977e2c94ab82389478b65c5c6f3412c257dcc069'] + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-Bioconductor', '3.18', versionsuffix), + ('SeuratDisk', '20231104', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(name)s'], +} + +moduleclass = 'bio' From b5211d1010a5b5c78e31f27aa415bc43b31c55f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Thu, 16 May 2024 11:55:23 +0200 Subject: [PATCH 609/889] add source url --- easybuild/easyconfigs/m/MOFA2/MOFA2-1.14.0-foss-2023a-R-4.3.2.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/m/MOFA2/MOFA2-1.14.0-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/m/MOFA2/MOFA2-1.14.0-foss-2023a-R-4.3.2.eb index e523e43a67c..99d3036b37a 100644 --- a/easybuild/easyconfigs/m/MOFA2/MOFA2-1.14.0-foss-2023a-R-4.3.2.eb +++ b/easybuild/easyconfigs/m/MOFA2/MOFA2-1.14.0-foss-2023a-R-4.3.2.eb @@ -18,6 +18,7 @@ toolchain = {'name': 'foss', 'version': '2023a'} source_urls = [ 'https://bioconductor.org/packages/release/bioc/src/contrib/', + 'https://bioconductor.org/packages/3.19/bioc/src/contrib/', ] sources = ['%(name)s_%(version)s.tar.gz'] checksums = ['18975d2072c35160cc4f5218977e2c94ab82389478b65c5c6f3412c257dcc069'] From ade1af44c6838c6013ff4c74f264fe624c4ae9df Mon Sep 17 00:00:00 2001 From: Alan O'Cais Date: Thu, 16 May 2024 12:26:48 +0200 Subject: [PATCH 610/889] adding easyconfigs: libabigail-2.5-GCCcore-13.2.0.eb --- .../libabigail-2.5-GCCcore-13.2.0.eb | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 easybuild/easyconfigs/l/libabigail/libabigail-2.5-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/l/libabigail/libabigail-2.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libabigail/libabigail-2.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..3f26f64331a --- /dev/null +++ b/easybuild/easyconfigs/l/libabigail/libabigail-2.5-GCCcore-13.2.0.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'libabigail' +version = '2.5' + +description = """ +ABIGAIL stands for the Application Binary Interface Generic Analysis and +Instrumentation Library. + +It’s a framework which aims at helping developers and software distributors +to spot some ABI-related issues like interface incompatibility in ELF shared +libraries by performing a static analysis of the ELF binaries at hand. + +The type of interface incompatibilities that Abigail focuses on is related to +changes on the exported ELF functions and variables symbols, as well as layout +and size changes of data types of the functions and variables exported by +shared libraries. + +In other words, if the return type of a function exported by a shared library +changes in an incompatible way from one version of a given shared library to +another, we want Abigail to help people catch that. +""" +homepage = 'https://sourceware.org/libabigail' +docurls = ['https://sourceware.org/libabigail/manual'] + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('elfutils', '0.190'), + ('Python', '3.11.5'), +] + +source_urls = ['https://mirrors.kernel.org/sourceware/libabigail/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['7cfc4e9b00ae38d87fb0c63beabb32b9cbf9ce410e52ceeb5ad5b3c5beb111f3'] + +configopts = '--enable-manual=no --enable-apidoc=no --with-sysroot=%(sysroot)s' + +sanity_check_paths = { + 'files': [ + 'bin/abicompat', 'bin/abidiff', + 'lib/libabigail.a', 'lib/libabigail.%s' % SHLIB_EXT, + ], + 'dirs': ['include'], +} + +moduleclass = 'devel' From f55f135ebc30d067137fa05dcce210e11c1bac79 Mon Sep 17 00:00:00 2001 From: ocaisa Date: Thu, 16 May 2024 12:35:22 +0200 Subject: [PATCH 611/889] Add libxml2 dependency --- .../easyconfigs/l/libabigail/libabigail-2.5-GCCcore-13.2.0.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/l/libabigail/libabigail-2.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libabigail/libabigail-2.5-GCCcore-13.2.0.eb index 3f26f64331a..fdf0799769d 100644 --- a/easybuild/easyconfigs/l/libabigail/libabigail-2.5-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/l/libabigail/libabigail-2.5-GCCcore-13.2.0.eb @@ -29,6 +29,7 @@ builddependencies = [('binutils', '2.40')] dependencies = [ ('elfutils', '0.190'), ('Python', '3.11.5'), + ('libxml2', '2.11.5'), ] source_urls = ['https://mirrors.kernel.org/sourceware/libabigail/'] From 692becd9a37fc4b4b26c08435410bfc5ea64624e Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Thu, 16 May 2024 15:09:30 +0200 Subject: [PATCH 612/889] Fix cwd_enoent test in Perl --- .../PathTools-3.75_fix-cwd_enoent-test.patch | 50 +++++++++++++++++++ .../p/Perl/Perl-5.32.1-FCC-4.5.0.eb | 14 +++++- .../p/Perl/Perl-5.32.1-GCCcore-10.3.0.eb | 14 +++++- .../p/Perl/Perl-5.34.0-GCCcore-11.2.0.eb | 14 +++++- .../p/Perl/Perl-5.34.1-GCCcore-11.3.0.eb | 14 +++++- .../p/Perl/Perl-5.36.0-GCCcore-12.1.0.eb | 14 +++++- .../p/Perl/Perl-5.36.0-GCCcore-12.2.0.eb | 14 +++++- .../p/Perl/Perl-5.36.1-GCCcore-12.3.0.eb | 7 ++- .../p/Perl/Perl-5.36.1-GCCcore-13.1.0.eb | 7 ++- .../p/Perl/Perl-5.38.0-GCCcore-13.2.0.eb | 7 ++- easybuild/easyconfigs/p/Perl/Perl-5.38.0.eb | 7 ++- 11 files changed, 146 insertions(+), 16 deletions(-) create mode 100644 easybuild/easyconfigs/p/Perl/PathTools-3.75_fix-cwd_enoent-test.patch diff --git a/easybuild/easyconfigs/p/Perl/PathTools-3.75_fix-cwd_enoent-test.patch b/easybuild/easyconfigs/p/Perl/PathTools-3.75_fix-cwd_enoent-test.patch new file mode 100644 index 00000000000..0cba1221f98 --- /dev/null +++ b/easybuild/easyconfigs/p/Perl/PathTools-3.75_fix-cwd_enoent-test.patch @@ -0,0 +1,50 @@ +From 8508806268d1abe6c533393333ad151e12adfc2d Mon Sep 17 00:00:00 2001 +From: Slaven Rezic +Date: Wed, 3 Oct 2018 10:07:32 -0400 +Subject: [PATCH] Accept also ESTALE (fix for RT #133534) + +ESTALE may occur in some environments when accessing a +now non-existing directory, e.g. when using NFS or in docker +containers. +--- + dist/PathTools/t/cwd_enoent.t | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/dist/PathTools/t/cwd_enoent.t b/dist/PathTools/t/cwd_enoent.t +index 8f3a1fb1fb3e..510c65ed0c9a 100644 +--- a/dist/PathTools/t/cwd_enoent.t ++++ b/dist/PathTools/t/cwd_enoent.t +@@ -2,7 +2,7 @@ use warnings; + use strict; + + use Config; +-use Errno qw(ENOENT); ++use Errno qw(); + use File::Temp qw(tempdir); + use Test::More; + +@@ -19,6 +19,7 @@ unless(mkdir("$tmp/testdir") && chdir("$tmp/testdir") && rmdir("$tmp/testdir")){ + plan tests => 8; + require Cwd; + ++my @acceptable_errnos = (&Errno::ENOENT, (defined &Errno::ESTALE ? &Errno::ESTALE : ())); + foreach my $type (qw(regular perl)) { + SKIP: { + skip "_perl_abs_path() not expected to work", 4 +@@ -36,12 +37,14 @@ foreach my $type (qw(regular perl)) { + $res = Cwd::getcwd(); + $eno = 0+$!; + is $res, undef, "$type getcwd result on non-existent directory"; +- is $eno, ENOENT, "$type getcwd errno on non-existent directory"; ++ ok((grep { $eno == $_ } @acceptable_errnos), "$type getcwd errno on non-existent directory") ++ or diag "Got errno code $eno, expected " . join(", ", @acceptable_errnos); + $! = 0; + $res = Cwd::abs_path("."); + $eno = 0+$!; + is $res, undef, "$type abs_path result on non-existent directory"; +- is $eno, ENOENT, "$type abs_path errno on non-existent directory"; ++ ok((grep { $eno == $_ } @acceptable_errnos), "$type abs_path errno on non-existent directory") ++ or diag "Got errno code $eno, expected " . join(", ", @acceptable_errnos); + } + } + diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.32.1-FCC-4.5.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.32.1-FCC-4.5.0.eb index 7081ac17a66..d70fd1c84b2 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.32.1-FCC-4.5.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.32.1-FCC-4.5.0.eb @@ -236,7 +236,12 @@ exts_list = [ ('File::Spec', '3.75', { 'source_tmpl': 'PathTools-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], - 'checksums': ['a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], }), ('Test::Simple', '1.302183', { 'source_tmpl': 'Test-Simple-%(version)s.tar.gz', @@ -1667,7 +1672,12 @@ exts_list = [ ('Cwd', '3.75', { 'source_tmpl': 'PathTools-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], - 'checksums': ['a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], }), ('MIME::Base64', '3.16', { 'source_tmpl': 'MIME-Base64-%(version)s.tar.gz', diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.32.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.32.1-GCCcore-10.3.0.eb index b4cb6226cf0..486e71ce429 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.32.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.32.1-GCCcore-10.3.0.eb @@ -234,7 +234,12 @@ exts_list = [ ('File::Spec', '3.75', { 'source_tmpl': 'PathTools-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], - 'checksums': ['a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], }), ('Test::Simple', '1.302183', { 'source_tmpl': 'Test-Simple-%(version)s.tar.gz', @@ -1673,7 +1678,12 @@ exts_list = [ ('Cwd', '3.75', { 'source_tmpl': 'PathTools-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], - 'checksums': ['a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], }), ('MIME::Base64', '3.16', { 'source_tmpl': 'MIME-Base64-%(version)s.tar.gz', diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.34.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.34.0-GCCcore-11.2.0.eb index c0b5956c8b3..87d1215a591 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.34.0-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.34.0-GCCcore-11.2.0.eb @@ -231,7 +231,12 @@ exts_list = [ ('File::Spec', '3.75', { 'source_tmpl': 'PathTools-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], - 'checksums': ['a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], }), ('Test::Simple', '1.302186', { 'source_tmpl': 'Test-Simple-%(version)s.tar.gz', @@ -1670,7 +1675,12 @@ exts_list = [ ('Cwd', '3.75', { 'source_tmpl': 'PathTools-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], - 'checksums': ['a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], }), ('MIME::Base64', '3.16', { 'source_tmpl': 'MIME-Base64-%(version)s.tar.gz', diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.34.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.34.1-GCCcore-11.3.0.eb index f30c0c81715..ec2e80d1840 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.34.1-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.34.1-GCCcore-11.3.0.eb @@ -286,7 +286,12 @@ exts_list = [ ('File::Spec', '3.75', { 'source_tmpl': 'PathTools-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], - 'checksums': ['a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], }), ('Test::Simple', '1.302190', { 'source_tmpl': 'Test-Simple-%(version)s.tar.gz', @@ -1775,7 +1780,12 @@ exts_list = [ ('Cwd', '3.75', { 'source_tmpl': 'PathTools-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], - 'checksums': ['a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], }), ('MIME::Base64', '3.16', { 'source_tmpl': 'MIME-Base64-%(version)s.tar.gz', diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.1.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.1.0.eb index c865a27e6aa..11d6a08c241 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.1.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.1.0.eb @@ -286,7 +286,12 @@ exts_list = [ ('File::Spec', '3.75', { 'source_tmpl': 'PathTools-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], - 'checksums': ['a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], }), ('Test::Simple', '1.302191', { 'source_tmpl': 'Test-Simple-%(version)s.tar.gz', @@ -1767,7 +1772,12 @@ exts_list = [ ('Cwd', '3.75', { 'source_tmpl': 'PathTools-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], - 'checksums': ['a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], }), ('MIME::Base64', '3.16', { 'source_tmpl': 'MIME-Base64-%(version)s.tar.gz', diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.2.0.eb index cd326152ab6..2b37316b16c 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.2.0.eb @@ -286,7 +286,12 @@ exts_list = [ ('File::Spec', '3.75', { 'source_tmpl': 'PathTools-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], - 'checksums': ['a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], }), ('Test::Simple', '1.302191', { 'source_tmpl': 'Test-Simple-%(version)s.tar.gz', @@ -1775,7 +1780,12 @@ exts_list = [ ('Cwd', '3.75', { 'source_tmpl': 'PathTools-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], - 'checksums': ['a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], }), ('MIME::Base64', '3.16', { 'source_tmpl': 'MIME-Base64-%(version)s.tar.gz', diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.36.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.36.1-GCCcore-12.3.0.eb index 6233aaee505..6c8805fbbb9 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.36.1-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.36.1-GCCcore-12.3.0.eb @@ -54,7 +54,12 @@ exts_list = [ ('File::Spec', '3.75', { 'source_tmpl': 'PathTools-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], - 'checksums': ['a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], }), ('IO::File', '1.51', { 'source_tmpl': 'IO-%(version)s.tar.gz', diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.36.1-GCCcore-13.1.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.36.1-GCCcore-13.1.0.eb index 9666a1b1a4d..3ecf2a9c4ee 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.36.1-GCCcore-13.1.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.36.1-GCCcore-13.1.0.eb @@ -54,7 +54,12 @@ exts_list = [ ('File::Spec', '3.75', { 'source_tmpl': 'PathTools-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], - 'checksums': ['a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], }), ('IO::File', '1.51', { 'source_tmpl': 'IO-%(version)s.tar.gz', diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.38.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.38.0-GCCcore-13.2.0.eb index 1620e4f9dfa..95b8a2f7556 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.38.0-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.38.0-GCCcore-13.2.0.eb @@ -49,7 +49,12 @@ exts_list = [ ('File::Spec', '3.75', { 'source_tmpl': 'PathTools-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], - 'checksums': ['a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], }), ('IO::File', '1.51', { 'source_tmpl': 'IO-%(version)s.tar.gz', diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.38.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.38.0.eb index 059a04bfd90..c70f7d59df9 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.38.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.38.0.eb @@ -54,7 +54,12 @@ exts_list = [ ('File::Spec', '3.75', { 'source_tmpl': 'PathTools-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], - 'checksums': ['a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], }), ('IO::File', '1.51', { 'source_tmpl': 'IO-%(version)s.tar.gz', From 2be9cb051d1f3b344a8849380b4a4f51a9da5b74 Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Thu, 16 May 2024 16:54:30 +0200 Subject: [PATCH 613/889] Update easybuild/easyconfigs/v/VisPy/VisPy-0.14.1-foss-2023a.eb Co-authored-by: Jasper Grimm <65227842+jfgrimm@users.noreply.github.com> --- easybuild/easyconfigs/v/VisPy/VisPy-0.14.1-foss-2023a.eb | 4 ---- 1 file changed, 4 deletions(-) diff --git a/easybuild/easyconfigs/v/VisPy/VisPy-0.14.1-foss-2023a.eb b/easybuild/easyconfigs/v/VisPy/VisPy-0.14.1-foss-2023a.eb index 33c50bb9eb4..cc273eb0895 100644 --- a/easybuild/easyconfigs/v/VisPy/VisPy-0.14.1-foss-2023a.eb +++ b/easybuild/easyconfigs/v/VisPy/VisPy-0.14.1-foss-2023a.eb @@ -20,11 +20,8 @@ dependencies = [ use_pip = True -local_inject_version = """sed -i "s/use_scm_version/version='%(version)s', &/g" setup.py &&""" - exts_list = [ ('freetype_py', '2.4.0', { - 'preinstallopts': local_inject_version, 'modulename': 'freetype', 'sources': ['freetype-py-2.4.0.zip'], 'checksums': ['8ad81195d2f8f339aba61700cebfbd77defad149c51f59b75a2a5e37833ae12e'], @@ -33,7 +30,6 @@ exts_list = [ 'checksums': ['2586bcb61d29d76e89e563a6836df24d86939961c9657f129a59f7617de45377'], }), ('vispy', version, { - 'preinstallopts': local_inject_version, 'checksums': ['249a50979fc00a8b65109283354dcf12cf415c1a5dcf9821e113f6e590b9b93c'], 'use_pip': True }), From 90648e55625d565dfd343e2631dce66108488b30 Mon Sep 17 00:00:00 2001 From: thoffman Date: Thu, 16 May 2024 17:11:18 +0200 Subject: [PATCH 614/889] {bio}[gompi/2023a] PyHMMER v0.10.6 --- .../p/PyHMMER/PyHMMER-0.10.6-gompi-2023a.eb | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 easybuild/easyconfigs/p/PyHMMER/PyHMMER-0.10.6-gompi-2023a.eb diff --git a/easybuild/easyconfigs/p/PyHMMER/PyHMMER-0.10.6-gompi-2023a.eb b/easybuild/easyconfigs/p/PyHMMER/PyHMMER-0.10.6-gompi-2023a.eb new file mode 100644 index 00000000000..97de0df747d --- /dev/null +++ b/easybuild/easyconfigs/p/PyHMMER/PyHMMER-0.10.6-gompi-2023a.eb @@ -0,0 +1,44 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/02 +easyblock = 'PythonBundle' + +name = 'PyHMMER' +version = '0.10.6' + +homepage = 'https://github.com/althonos/pyhmmer' +description = """ +HMMER is a biological sequence analysis tool that uses profile hidden Markov +models to search for sequence homologs. HMMER3 is developed and maintained by +the Eddy/Rivas Laboratory at Harvard University. + +pyhmmer is a Python package, implemented using the Cython language, that +provides bindings to HMMER3. It directly interacts with the HMMER internals, +which has the following advantages over CLI wrappers (like hmmer-py)""" + +toolchain = {'name': 'gompi', 'version': '2023a'} + + +builddependencies = [ + ('Cython', '3.0.7'), +] +dependencies = [ + ('Python', '3.11.3'), + ('HMMER', '3.4'), + ('psutil', '5.9.8') +] + +use_pip = True + +exts_list = [ + ('pyhmmer', version, { + 'checksums': ['47e017ccc523046400312afc937d4d68306f6ca0ed82e313deb3697d4fd8ccff'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_pip_check = True + +moduleclass = 'bio' From 6ddf7c0b5b93ac6d6c8e37d591b6c9ea10a5d702 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Thu, 16 May 2024 14:18:17 +0200 Subject: [PATCH 615/889] Fix patch name in Perl-bundle-CPAN-5.36.1-GCCcore-12.3.0 The archive name is PathTools, we might want to reuse it --- ...t-test.patch => PathTools-3.75_fix-cwd_enoent-test.patch} | 0 .../Perl-bundle-CPAN-5.36.1-GCCcore-12.3.0.eb | 5 +++-- 2 files changed, 3 insertions(+), 2 deletions(-) rename easybuild/easyconfigs/p/Perl-bundle-CPAN/{Cwd-3.7.5_fix-cwd_enoent-test.patch => PathTools-3.75_fix-cwd_enoent-test.patch} (100%) diff --git a/easybuild/easyconfigs/p/Perl-bundle-CPAN/Cwd-3.7.5_fix-cwd_enoent-test.patch b/easybuild/easyconfigs/p/Perl-bundle-CPAN/PathTools-3.75_fix-cwd_enoent-test.patch similarity index 100% rename from easybuild/easyconfigs/p/Perl-bundle-CPAN/Cwd-3.7.5_fix-cwd_enoent-test.patch rename to easybuild/easyconfigs/p/Perl-bundle-CPAN/PathTools-3.75_fix-cwd_enoent-test.patch diff --git a/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.36.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.36.1-GCCcore-12.3.0.eb index 50d708b9a26..3921d7fefac 100644 --- a/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.36.1-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.36.1-GCCcore-12.3.0.eb @@ -1923,10 +1923,11 @@ exts_list = [ ('Cwd', '3.75', { 'source_tmpl': 'PathTools-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], - 'patches': ['Cwd-3.7.5_fix-cwd_enoent-test.patch'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], 'checksums': [ 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', - {'Cwd-3.7.5_fix-cwd_enoent-test.patch': '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, ], }), ('MIME::Base64', '3.16', { From aa94998dd5a8d1cd90708d05c49236e176ce1cb8 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Thu, 16 May 2024 14:20:59 +0200 Subject: [PATCH 616/889] Also apply patch to GCCcore-13.2.0 version --- .../Perl-bundle-CPAN-5.38.0-GCCcore-13.2.0.eb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.38.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.38.0-GCCcore-13.2.0.eb index 2ee75d5ffc3..9754ce8b0ae 100644 --- a/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.38.0-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.38.0-GCCcore-13.2.0.eb @@ -1926,7 +1926,12 @@ exts_list = [ 'runtest': False, # Single failure about a tainted PATH 'source_tmpl': 'PathTools-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], - 'checksums': ['a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], }), ('MIME::Base64', '3.16', { 'source_tmpl': 'MIME-Base64-%(version)s.tar.gz', From e34b652914d07d96f732930c75a604d9834f5ff8 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Fri, 17 May 2024 00:15:00 +0200 Subject: [PATCH 617/889] change dependency on hatchling of BeautifulSoup v4.12.2 to a build dependency --- .../b/BeautifulSoup/BeautifulSoup-4.12.2-GCCcore-12.3.0.eb | 4 ++-- .../b/BeautifulSoup/BeautifulSoup-4.12.2-GCCcore-13.2.0.eb | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.12.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.12.2-GCCcore-12.3.0.eb index cc388eeb4ca..8d4556012b6 100644 --- a/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.12.2-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.12.2-GCCcore-12.3.0.eb @@ -9,12 +9,12 @@ description = "Beautiful Soup is a Python library designed for quick turnaround toolchain = {'name': 'GCCcore', 'version': '12.3.0'} builddependencies = [ - ('binutils', '2.40') + ('binutils', '2.40'), + ('hatchling', '1.18.0'), ] dependencies = [ ('Python', '3.11.3'), - ('hatchling', '1.18.0'), ] use_pip = True diff --git a/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.12.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.12.2-GCCcore-13.2.0.eb index 4aeb23721ad..bbf74453cfd 100644 --- a/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.12.2-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.12.2-GCCcore-13.2.0.eb @@ -9,12 +9,12 @@ description = "Beautiful Soup is a Python library designed for quick turnaround toolchain = {'name': 'GCCcore', 'version': '13.2.0'} builddependencies = [ - ('binutils', '2.40') + ('binutils', '2.40'), + ('hatchling', '1.18.0'), ] dependencies = [ ('Python', '3.11.5'), - ('hatchling', '1.18.0'), ] use_pip = True From 5c9af65434b3050b261d562f6330790d6440fa6b Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Fri, 17 May 2024 01:20:03 +0200 Subject: [PATCH 618/889] move dependency on BeasutifulSoup in IPython v8.14.0 to jupyter-server --- .../easyconfigs/i/IPython/IPython-8.14.0-GCCcore-12.3.0.eb | 2 +- .../j/jupyter-server/jupyter-server-2.7.2-GCCcore-12.3.0.eb | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/i/IPython/IPython-8.14.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/i/IPython/IPython-8.14.0-GCCcore-12.3.0.eb index 762f95fabdd..78aaf35586a 100644 --- a/easybuild/easyconfigs/i/IPython/IPython-8.14.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/i/IPython/IPython-8.14.0-GCCcore-12.3.0.eb @@ -15,13 +15,13 @@ toolchain = {'name': 'GCCcore', 'version': '12.3.0'} builddependencies = [ ('binutils', '2.40'), + ('hatchling', '1.18.0'), ] dependencies = [ ('Python', '3.11.3'), ('Python-bundle-PyPI', '2023.06'), ('ZeroMQ', '4.3.4'), ('lxml', '4.9.2'), - ('BeautifulSoup', '4.12.2'), ] sanity_pip_check = True diff --git a/easybuild/easyconfigs/j/jupyter-server/jupyter-server-2.7.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/jupyter-server/jupyter-server-2.7.2-GCCcore-12.3.0.eb index 53722e2f4cb..9da7cc3f037 100644 --- a/easybuild/easyconfigs/j/jupyter-server/jupyter-server-2.7.2-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/j/jupyter-server/jupyter-server-2.7.2-GCCcore-12.3.0.eb @@ -16,7 +16,9 @@ builddependencies = [ ] dependencies = [ ('Python', '3.11.3'), + ('hatchling', '1.18.0'), # needed as dependency for hatch_jupyter_builder ('IPython', '8.14.0'), + ('BeautifulSoup', '4.12.2'), # needed by nbconvert ('PyYAML', '6.0'), ('PyZMQ', '25.1.1'), ('tornado', '6.3.2'), From d28a9078c6486bd2c9e7cb81dce6980a9cf45b89 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Fri, 17 May 2024 01:28:02 +0200 Subject: [PATCH 619/889] remove dependency on BeasutifulSoup from IPython v8.17.2 --- easybuild/easyconfigs/i/IPython/IPython-8.17.2-GCCcore-13.2.0.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/i/IPython/IPython-8.17.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/i/IPython/IPython-8.17.2-GCCcore-13.2.0.eb index d0cfdfb2d8c..994c4360db0 100644 --- a/easybuild/easyconfigs/i/IPython/IPython-8.17.2-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/i/IPython/IPython-8.17.2-GCCcore-13.2.0.eb @@ -22,7 +22,6 @@ dependencies = [ ('Python-bundle-PyPI', '2023.10'), ('ZeroMQ', '4.3.5'), ('lxml', '4.9.3'), - ('BeautifulSoup', '4.12.2'), ('jedi', '0.19.1') ] From d1f65dcb398a7bf00822707815916a4e86804667 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Fri, 17 May 2024 09:07:21 +0200 Subject: [PATCH 620/889] add hatchling as build dependency of IPython v8.17.2 --- .../easyconfigs/i/IPython/IPython-8.17.2-GCCcore-13.2.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/i/IPython/IPython-8.17.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/i/IPython/IPython-8.17.2-GCCcore-13.2.0.eb index d0cfdfb2d8c..0365fdc9c70 100644 --- a/easybuild/easyconfigs/i/IPython/IPython-8.17.2-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/i/IPython/IPython-8.17.2-GCCcore-13.2.0.eb @@ -15,6 +15,7 @@ toolchain = {'name': 'GCCcore', 'version': '13.2.0'} builddependencies = [ ('binutils', '2.40'), + ('hatchling', '1.18.0'), ] dependencies = [ @@ -22,7 +23,6 @@ dependencies = [ ('Python-bundle-PyPI', '2023.10'), ('ZeroMQ', '4.3.5'), ('lxml', '4.9.3'), - ('BeautifulSoup', '4.12.2'), ('jedi', '0.19.1') ] From 00fc3b318ada1256ad1ee47d56ac788eea0626a7 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Fri, 17 May 2024 09:27:33 +0200 Subject: [PATCH 621/889] Revert "add hatchling as build dependency of IPython v8.17.2" This reverts commit d1f65dcb398a7bf00822707815916a4e86804667. --- .../easyconfigs/i/IPython/IPython-8.17.2-GCCcore-13.2.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/i/IPython/IPython-8.17.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/i/IPython/IPython-8.17.2-GCCcore-13.2.0.eb index 0365fdc9c70..d0cfdfb2d8c 100644 --- a/easybuild/easyconfigs/i/IPython/IPython-8.17.2-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/i/IPython/IPython-8.17.2-GCCcore-13.2.0.eb @@ -15,7 +15,6 @@ toolchain = {'name': 'GCCcore', 'version': '13.2.0'} builddependencies = [ ('binutils', '2.40'), - ('hatchling', '1.18.0'), ] dependencies = [ @@ -23,6 +22,7 @@ dependencies = [ ('Python-bundle-PyPI', '2023.10'), ('ZeroMQ', '4.3.5'), ('lxml', '4.9.3'), + ('BeautifulSoup', '4.12.2'), ('jedi', '0.19.1') ] From 52f97890aba43637db11489a9c3c56b556d4510d Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Fri, 17 May 2024 09:30:02 +0200 Subject: [PATCH 622/889] add hatchling as build dependency of IPython v8.17.2 --- easybuild/easyconfigs/i/IPython/IPython-8.17.2-GCCcore-13.2.0.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/i/IPython/IPython-8.17.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/i/IPython/IPython-8.17.2-GCCcore-13.2.0.eb index 994c4360db0..0365fdc9c70 100644 --- a/easybuild/easyconfigs/i/IPython/IPython-8.17.2-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/i/IPython/IPython-8.17.2-GCCcore-13.2.0.eb @@ -15,6 +15,7 @@ toolchain = {'name': 'GCCcore', 'version': '13.2.0'} builddependencies = [ ('binutils', '2.40'), + ('hatchling', '1.18.0'), ] dependencies = [ From f8d8b56107ceb0ebd72f9bf08c9bbe3ad6bd73dd Mon Sep 17 00:00:00 2001 From: thoffman Date: Fri, 17 May 2024 09:49:57 +0200 Subject: [PATCH 623/889] add psutil 5.9.8 --- .../p/psutil/psutil-5.9.8-GCCcore-12.3.0.eb | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 easybuild/easyconfigs/p/psutil/psutil-5.9.8-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/p/psutil/psutil-5.9.8-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/psutil/psutil-5.9.8-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..554ec684e83 --- /dev/null +++ b/easybuild/easyconfigs/p/psutil/psutil-5.9.8-GCCcore-12.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonBundle' + +name = 'psutil' +version = '5.9.8' + +homepage = 'https://github.com/giampaolo/psutil' +description = """A cross-platform process and system utilities module for Python""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [('Python', '3.11.3')] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/giampaolo/psutil/archive'], + 'sources': ['%(name)s-%(version)s.tar.gz'], + 'checksums': ['6be126e3225486dff286a8fb9a06246a5253f4c7c53b475ea5f5ac934e64194c'], + }), +] + +moduleclass = 'lib' From ff908ba5b39c5790aa784c9d60db18c8aef76956 Mon Sep 17 00:00:00 2001 From: ocaisa Date: Fri, 17 May 2024 12:42:42 +0200 Subject: [PATCH 624/889] Add sanity check commands --- .../l/libabigail/libabigail-2.5-GCCcore-13.2.0.eb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/easybuild/easyconfigs/l/libabigail/libabigail-2.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libabigail/libabigail-2.5-GCCcore-13.2.0.eb index fdf0799769d..c414dda9011 100644 --- a/easybuild/easyconfigs/l/libabigail/libabigail-2.5-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/l/libabigail/libabigail-2.5-GCCcore-13.2.0.eb @@ -46,4 +46,9 @@ sanity_check_paths = { 'dirs': ['include'], } +sanity_check_commands = [ + "abicompat --help | grep usage", + "abidiff --help | grep usage", +] + moduleclass = 'devel' From 2f7acb4208b1b642904ff79a39266399eb414448 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Fri, 17 May 2024 12:55:45 +0200 Subject: [PATCH 625/889] adding easyconfigs: E-ANTIC-2.0.2-gfbf-2023b.eb, FLTK-1.3.9-GCCcore-13.2.0.eb --- .../e/E-ANTIC/E-ANTIC-2.0.2-gfbf-2023b.eb | 38 ++++++++++++++++ .../f/FLTK/FLTK-1.3.9-GCCcore-13.2.0.eb | 43 +++++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 easybuild/easyconfigs/e/E-ANTIC/E-ANTIC-2.0.2-gfbf-2023b.eb create mode 100644 easybuild/easyconfigs/f/FLTK/FLTK-1.3.9-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/e/E-ANTIC/E-ANTIC-2.0.2-gfbf-2023b.eb b/easybuild/easyconfigs/e/E-ANTIC/E-ANTIC-2.0.2-gfbf-2023b.eb new file mode 100644 index 00000000000..fcb851f1091 --- /dev/null +++ b/easybuild/easyconfigs/e/E-ANTIC/E-ANTIC-2.0.2-gfbf-2023b.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'E-ANTIC' +version = '2.0.2' + +homepage = 'https://github.com/flatsurf/e-antic' +description = """E-ANTIC is a C/C++ library to deal with real embedded number fields built on +top of ANTIC (https://github.com/wbhart/antic). Its aim is to have as fast as +possible exact arithmetic operations and comparisons.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/flatsurf/e-antic/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['8328e6490129dfec7f4aa478ebd54dc07686bd5e5e7f5f30dcf20c0f11b67f60'] + +dependencies = [ + ('FLINT', '3.1.1'), + ('Boost', '1.83.0'), + ('Python', '3.11.5'), + ('cppyy', '3.1.2'), +] + +configopts = '--without-benchmark --without-byexample --without-pytest --without-doc' + +sanity_check_paths = { + 'files': ['lib/lib%s.%s' % (lib, ext) for lib in ['eantic', 'eanticxx'] for ext in ['a', SHLIB_EXT]] + + ['include/e-antic/%s.h' % h for h in ['e-antic', 'fmpq_poly_extra', 'renf', + 'renf_elem', 'renfxx']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["python -c 'import pyeantic'"] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/f/FLTK/FLTK-1.3.9-GCCcore-13.2.0.eb b/easybuild/easyconfigs/f/FLTK/FLTK-1.3.9-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..3afeffc0a2c --- /dev/null +++ b/easybuild/easyconfigs/f/FLTK/FLTK-1.3.9-GCCcore-13.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'FLTK' +version = '1.3.9' + +homepage = 'https://www.fltk.org' +description = """FLTK is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, + and MacOS X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL + and its built-in GLUT emulation.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://fltk.org/pub/%(namelower)s/%(version)s/'] +sources = ['%(namelower)s-%(version)s-source.tar.gz'] +patches = ['FLTK-1.3.6_fix-LDFLAGS.patch'] +checksums = [ + {'fltk-1.3.9-source.tar.gz': 'd736b0445c50d607432c03d5ba5e82f3fba2660b10bc1618db8e077a42d9511b'}, + {'FLTK-1.3.6_fix-LDFLAGS.patch': 'f8af2414a1ee193a186b0d98d1e3567add0ee003f44ec64dce2ce2dfd6d95ebf'}, +] + +configopts = '--enable-shared --enable-threads --enable-xft' + +builddependencies = [ + ('binutils', '2.40'), + ('groff', '1.23.0'), +] + +dependencies = [ + ('Mesa', '23.1.9'), + ('libGLU', '9.0.3'), + ('libpng', '1.6.40'), + ('libjpeg-turbo', '3.0.1'), + ('xprop', '1.2.7'), + ('zlib', '1.2.13'), +] + +sanity_check_paths = { + 'files': ['bin/fltk-config', 'bin/fluid', 'lib/libfltk.a', 'lib/libfltk.%s' % SHLIB_EXT], + 'dirs': ['lib'], +} + +moduleclass = 'vis' From eb6ac085cecdaf353c1081960a13c370e45a79b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Fri, 17 May 2024 13:28:27 +0200 Subject: [PATCH 626/889] replace easyconfigs --- .../c/cppyy/cppyy-3.1.2-GCCcore-13.2.0.eb | 46 +++++++++++++++++++ .../f/FLTK/FLTK-1.3.9-GCCcore-13.2.0.eb | 43 ----------------- 2 files changed, 46 insertions(+), 43 deletions(-) create mode 100644 easybuild/easyconfigs/c/cppyy/cppyy-3.1.2-GCCcore-13.2.0.eb delete mode 100644 easybuild/easyconfigs/f/FLTK/FLTK-1.3.9-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/c/cppyy/cppyy-3.1.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/cppyy/cppyy-3.1.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..bcd242d9d23 --- /dev/null +++ b/easybuild/easyconfigs/c/cppyy/cppyy-3.1.2-GCCcore-13.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'cppyy' +version = '3.1.2' + +homepage = "https://cppyy.readthedocs.io" +description = """cppyy is an automatic, run-time, Python-C++ bindings generator, + for calling C++ from Python and Python from C++.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +dependencies = [ + ('Python', '3.11.5'), +] + +exts_list = [ + ('cppyy-cling', '6.30.0', { + 'modulename': False, + 'preinstallopts': "export STDCXX=14 && ", + 'checksums': ['5d9e0551a4cb618eb3392001b3dc2c6294f02257f02fcd4d868999ba04f92af1'], + }), + ('cppyy-backend', '1.15.2', { + 'checksums': ['8d0ec169f6ea40d26999a61b274ce2ac880082e8d16aace6a0702933d3d835fc'], + }), + ('CPyCppyy', '1.12.16', { + 'modulename': False, + 'checksums': ['09a845652ac1a82777ec499dda862f54493c1560e9df4cadecda09ecde9e4202'], + }), + (name, version, { + 'checksums': ['7937d184af02e1510f44d5655e0bcc3c6a7888ef5b3f06c3dd09ba93d1c1f19b'], + }), + ('cppyythonizations', '1.2.3', { + 'source_tmpl': 'cppyythonizations-%(version)s-py3-none-any.whl', + 'checksums': ['a08bb4fbaf0fc6b980211e7b549b06869f5b9f9cb835b3ab6224cae5905fd8c2'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/f/FLTK/FLTK-1.3.9-GCCcore-13.2.0.eb b/easybuild/easyconfigs/f/FLTK/FLTK-1.3.9-GCCcore-13.2.0.eb deleted file mode 100644 index 3afeffc0a2c..00000000000 --- a/easybuild/easyconfigs/f/FLTK/FLTK-1.3.9-GCCcore-13.2.0.eb +++ /dev/null @@ -1,43 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'FLTK' -version = '1.3.9' - -homepage = 'https://www.fltk.org' -description = """FLTK is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, - and MacOS X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL - and its built-in GLUT emulation.""" - -toolchain = {'name': 'GCCcore', 'version': '13.2.0'} -toolchainopts = {'pic': True} - -source_urls = ['https://fltk.org/pub/%(namelower)s/%(version)s/'] -sources = ['%(namelower)s-%(version)s-source.tar.gz'] -patches = ['FLTK-1.3.6_fix-LDFLAGS.patch'] -checksums = [ - {'fltk-1.3.9-source.tar.gz': 'd736b0445c50d607432c03d5ba5e82f3fba2660b10bc1618db8e077a42d9511b'}, - {'FLTK-1.3.6_fix-LDFLAGS.patch': 'f8af2414a1ee193a186b0d98d1e3567add0ee003f44ec64dce2ce2dfd6d95ebf'}, -] - -configopts = '--enable-shared --enable-threads --enable-xft' - -builddependencies = [ - ('binutils', '2.40'), - ('groff', '1.23.0'), -] - -dependencies = [ - ('Mesa', '23.1.9'), - ('libGLU', '9.0.3'), - ('libpng', '1.6.40'), - ('libjpeg-turbo', '3.0.1'), - ('xprop', '1.2.7'), - ('zlib', '1.2.13'), -] - -sanity_check_paths = { - 'files': ['bin/fltk-config', 'bin/fluid', 'lib/libfltk.a', 'lib/libfltk.%s' % SHLIB_EXT], - 'dirs': ['lib'], -} - -moduleclass = 'vis' From 44c46202843a75ac2764e1b8c6fc67cff8612206 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Fri, 17 May 2024 13:42:51 +0200 Subject: [PATCH 627/889] adding easyconfigs: CellBender-0.3.0-foss-2023a.eb, jupyter-contrib-nbextensions-0.7.0-GCCcore-12.3.0.eb, pyro-ppl-1.9.0-foss-2023a.eb --- .../CellBender/CellBender-0.3.0-foss-2023a.eb | 67 +++++++++++++++++++ ...ntrib-nbextensions-0.7.0-GCCcore-12.3.0.eb | 62 +++++++++++++++++ .../p/pyro-ppl/pyro-ppl-1.9.0-foss-2023a.eb | 44 ++++++++++++ 3 files changed, 173 insertions(+) create mode 100644 easybuild/easyconfigs/c/CellBender/CellBender-0.3.0-foss-2023a.eb create mode 100644 easybuild/easyconfigs/j/jupyter-contrib-nbextensions/jupyter-contrib-nbextensions-0.7.0-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.9.0-foss-2023a.eb diff --git a/easybuild/easyconfigs/c/CellBender/CellBender-0.3.0-foss-2023a.eb b/easybuild/easyconfigs/c/CellBender/CellBender-0.3.0-foss-2023a.eb new file mode 100644 index 00000000000..0a93d5a75d6 --- /dev/null +++ b/easybuild/easyconfigs/c/CellBender/CellBender-0.3.0-foss-2023a.eb @@ -0,0 +1,67 @@ +easyblock = 'PythonBundle' + +name = 'CellBender' +version = '0.3.0' + +homepage = 'http://github.com/broadinstitute/CellBender' +description = """ +CellBender is a software package for eliminating technical artifacts from +high-throughput single-cell RNA sequencing (scRNA-seq) data. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('PyTorch', '2.1.2'), + ('IPython', '8.14.0'), + ('anndata', '0.10.5.post1'), + ('jupyter-contrib-nbextensions', '0.7.0'), + ('pyro-ppl', '1.9.0'), + ('loompy', '3.0.7'), + ('PyTables', '3.8.0'), + ('Qtconsole', '5.5.1'), +] + +use_pip = True + +exts_list = [ + ('traitlets', '5.14.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['2e5a030e6eff91737c643231bfcf04a65b0132078dad75e4936700b213652e74'], + }), + ('jupyter_console', '6.6.3', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['309d33409fcc92ffdad25f0bcdf9a4a9daa61b6f341177570fdac03de5352485'], + }), + ('jupyter', '1.0.0', { + 'checksums': ['d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f'], + }), + ('notebook', '6.5.7', { + 'checksums': ['04eb9011dfac634fbd4442adaf0a8c27cd26beef831fe1d19faf930c327768e4'], + }), + ('mistune', '0.8.4', { + 'checksums': ['59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e'], + }), + ('nbconvert', '6.5.4', { + 'checksums': ['9e3c7c6d491374cbdd5f35d268c05809357716d346f4573186bbeab32ee50bc1'], + }), + ('cellbender', version, { + 'checksums': ['94a46fb2b5921414ea86213cfdebca267b9ba6ba02df854cbd353980ab3aff42'], + }), +] + +sanity_check_paths = { + 'files': ['bin/cellbender'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "cellbender --help", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/j/jupyter-contrib-nbextensions/jupyter-contrib-nbextensions-0.7.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/jupyter-contrib-nbextensions/jupyter-contrib-nbextensions-0.7.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..1e0ea2bdea5 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-contrib-nbextensions/jupyter-contrib-nbextensions-0.7.0-GCCcore-12.3.0.eb @@ -0,0 +1,62 @@ +easyblock = "PythonBundle" + +name = 'jupyter-contrib-nbextensions' +version = '0.7.0' + +homepage = 'https://github.com/ipython-contrib/jupyter_contrib_nbextensions' +description = 'A collection of various notebook extensions for Jupyter' + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('nodejs', '18.17.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('IPython', '8.14.0'), + ('PyYAML', '6.0'), + ('jupyter-server', '2.7.2'), +] + +use_pip = True + +exts_list = [ + ('entrypoints', '0.4', { + 'checksums': ['b706eddaa9218a19ebcd67b56818f05bb27589b1ca9e8d797b74affad4ccacd4'], + }), + ('nbclassic', '1.0.0', { + 'checksums': ['0ae11eb2319455d805596bf320336cda9554b41d99ab9a3c31bf8180bffa30e3'], + }), + # need jupyter_client in v7 - notebook 6.5.7 has requirement jupyter-client<8,>=5.3.4 + ('jupyter_client', '7.4.9', { + 'checksums': ['52be28e04171f07aed8f20e1616a5a552ab9fee9cbbe6c1896ae170c3880d392'], + }), + # use notebook v6, in v7 the extension are moved to jupyter lab + ('notebook', '6.5.7', { + 'checksums': ['04eb9011dfac634fbd4442adaf0a8c27cd26beef831fe1d19faf930c327768e4'], + }), + ('jupyter_contrib_core', '0.4.2', { + 'checksums': ['1887212f3ca9d4487d624c0705c20dfdf03d5a0b9ea2557d3aaeeb4c38bdcabb'], + }), + ('jupyter_highlight_selected_word', '0.2.0', { + 'checksums': ['9fa740424859a807950ca08d2bfd28a35154cd32dd6d50ac4e0950022adc0e7b'], + }), + ('jupyter_nbextensions_configurator', '0.6.3', { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['cece496f3f62cf80bb0b04867ea463c32ed5db19ff5814fe18a3a7f1bb9da95b'], + }), + ('jupyter_contrib_nbextensions', version, { + 'checksums': ['06e33f005885eb92f89cbe82711e921278201298d08ab0d886d1ba09e8c3e9ca'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/jupyter-contrib', 'bin/jupyter-contrib-nbextension', 'bin/jupyter-nbextensions_configurator'], + 'dirs': ['lib64/python%(pyshortver)s/site-packages'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.9.0-foss-2023a.eb b/easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.9.0-foss-2023a.eb new file mode 100644 index 00000000000..6f74e48904d --- /dev/null +++ b/easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.9.0-foss-2023a.eb @@ -0,0 +1,44 @@ +# Author: Denis Krišťák (INUITS) + +easyblock = 'PythonBundle' + +name = 'pyro-ppl' +version = '1.9.0' + +homepage = 'https://github.com/pyro-ppl/pyro' +description = "Pyro is a flexible, scalable deep probabilistic programming library built on PyTorch." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('PyTorch', '2.1.2'), + ('tqdm', '4.66.1'), +] + +use_pip = True + +exts_list = [ + ('opt-einsum', '3.3.0', { + 'source_tmpl': 'opt_einsum-%(version)s.tar.gz', + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('pyro-api', '0.1.2', { + 'modulename': 'pyroapi', + 'checksums': ['a1b900d9580aa1c2fab3b123ab7ff33413744da7c5f440bd4aadc4d40d14d920'], + }), + (name, version, { + 'modulename': 'pyro', + }), +] + +sanity_pip_check = True + +sanity_check_commands = [ + "python -c 'from pyroapi import distributions as dist'", + "python -c 'from pyroapi import infer, ops, optim, pyro, pyro_backend'", + "python -c 'from pyro import infer, nn, distributions'", +] + +moduleclass = 'tools' From 1e2d7bd387d7ddd7ddddc91d173938973a1dabe5 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek <99190809+pavelToman@users.noreply.github.com> Date: Fri, 17 May 2024 13:57:41 +0200 Subject: [PATCH 628/889] Update CellBender - fix whitespace --- .../easyconfigs/c/CellBender/CellBender-0.3.0-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/c/CellBender/CellBender-0.3.0-foss-2023a.eb b/easybuild/easyconfigs/c/CellBender/CellBender-0.3.0-foss-2023a.eb index 0a93d5a75d6..4c71bea11a8 100644 --- a/easybuild/easyconfigs/c/CellBender/CellBender-0.3.0-foss-2023a.eb +++ b/easybuild/easyconfigs/c/CellBender/CellBender-0.3.0-foss-2023a.eb @@ -46,7 +46,7 @@ exts_list = [ 'checksums': ['59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e'], }), ('nbconvert', '6.5.4', { - 'checksums': ['9e3c7c6d491374cbdd5f35d268c05809357716d346f4573186bbeab32ee50bc1'], + 'checksums': ['9e3c7c6d491374cbdd5f35d268c05809357716d346f4573186bbeab32ee50bc1'], }), ('cellbender', version, { 'checksums': ['94a46fb2b5921414ea86213cfdebca267b9ba6ba02df854cbd353980ab3aff42'], From 2e4b24b94c074db05ef74ecbcc52bc1ac9f81ae1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Fri, 17 May 2024 14:14:05 +0200 Subject: [PATCH 629/889] adding easyconfigs: ocamlbuild-0.14.3-GCC-13.2.0.eb, OCaml-5.1.1-GCC-13.2.0.eb --- .../o/OCaml/OCaml-5.1.1-GCC-13.2.0.eb | 54 +++++++++++++++++++ .../ocamlbuild-0.14.3-GCC-13.2.0.eb | 39 ++++++++++++++ 2 files changed, 93 insertions(+) create mode 100644 easybuild/easyconfigs/o/OCaml/OCaml-5.1.1-GCC-13.2.0.eb create mode 100644 easybuild/easyconfigs/o/ocamlbuild/ocamlbuild-0.14.3-GCC-13.2.0.eb diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-5.1.1-GCC-13.2.0.eb b/easybuild/easyconfigs/o/OCaml/OCaml-5.1.1-GCC-13.2.0.eb new file mode 100644 index 00000000000..bd3ad98eb7e --- /dev/null +++ b/easybuild/easyconfigs/o/OCaml/OCaml-5.1.1-GCC-13.2.0.eb @@ -0,0 +1,54 @@ +name = 'OCaml' +version = '5.1.1' + +homepage = 'http://ocaml.org/' +description = """OCaml is a general purpose industrial-strength programming language + with an emphasis on expressiveness and safety. Developed for more than 20 years at Inria + it benefits from one of the most advanced type systems and supports functional, + imperative and object-oriented styles of programming.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +local_opam_ver = '2.1.5' +source_urls = [ + 'https://github.com/ocaml/ocaml/archive', + 'https://github.com/ocaml/opam/releases/download/%s' % local_opam_ver, +] +sources = [ + '%s.tar.gz' % version, + 'opam-full-%s.tar.gz' % local_opam_ver, +] +checksums = [ + {'5.1.1.tar.gz': '57f7b382b3d71198413ede405d95ef3506f1cdc480cda1dca1e26b37cb090e17'}, + {'opam-full-2.1.5.tar.gz': '09f8d9e410b2f5723c2bfedbf7970e3b305f5017895fcd91759f05e753ddcea5'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('ncurses', '6.4'), + ('libreadline', '8.2'), +] + +preconfigopts = 'export CFLAGS="$CFLAGS -lm -lpthread" && ' +preconfigopts += 'export AS=as && ' + +# parallel build tends to break +parallel = 1 + +# handled by OPAM, order matters! +# see https://opam.ocaml.org/packages +exts_list = [ + ('ocamlfind', '1.9.6'), + ('batteries', '3.8.0'), + ('conf-pkg-config', '3'), + ('dune-configurator', '3.14.2'), + ('dune', '3.14.2'), + ('base', 'v0.16.3'), + ('stdio', 'v0.16.0'), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/o/ocamlbuild/ocamlbuild-0.14.3-GCC-13.2.0.eb b/easybuild/easyconfigs/o/ocamlbuild/ocamlbuild-0.14.3-GCC-13.2.0.eb new file mode 100644 index 00000000000..47a8b2f2e2b --- /dev/null +++ b/easybuild/easyconfigs/o/ocamlbuild/ocamlbuild-0.14.3-GCC-13.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'ocamlbuild' +version = '0.14.3' + +homepage = 'https://github.com/ocaml/ocamlbuild' +description = """OCamlbuild is a generic build tool, + that has built-in rules for building OCaml library and programs.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = ['https://github.com/ocaml/ocamlbuild/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['ce151bfd2141abc6ee0b3f25ba609e989ff564a48bf795d6fa7138a4db0fc2e1'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('OCaml', '5.1.1'), + ('zstd', '1.5.5'), +] + +skipsteps = ['configure'] + +prebuildopts = 'make configure && ' + +buildopts = 'CXX="$CXX" CFLAGS="$CXXFLAGS"' + +installopts = 'DESTDIR="%(installdir)s" INSTALL_BINDIR="%(installdir)s/bin" ' +installopts += 'INSTALL_LIBDIR="%(installdir)s/lib" INSTALL_MANDIR="%(installdir)s/man" ' + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'lib/ocamlbuild/%(name)slib.a'], + 'dirs': ['man'], +} + +moduleclass = 'devel' From 80074354d193312e98f1affec6285be5dcd28a5e Mon Sep 17 00:00:00 2001 From: jfgrimm Date: Fri, 17 May 2024 14:15:12 +0100 Subject: [PATCH 630/889] bump async-timeout to 4.0.3 in aiohttp 3.8.5 --- .../easyconfigs/a/aiohttp/aiohttp-3.8.5-GCCcore-12.3.0.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/a/aiohttp/aiohttp-3.8.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/a/aiohttp/aiohttp-3.8.5-GCCcore-12.3.0.eb index 3c96a3e7458..d5eec66b4ab 100644 --- a/easybuild/easyconfigs/a/aiohttp/aiohttp-3.8.5-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/a/aiohttp/aiohttp-3.8.5-GCCcore-12.3.0.eb @@ -30,8 +30,8 @@ exts_list = [ ('frozenlist', '1.4.0', { 'checksums': ['09163bdf0b2907454042edb19f887c6d33806adc71fbd54afc14908bfdc22251'], }), - ('async-timeout', '4.0.2', { - 'checksums': ['2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15'], + ('async-timeout', '4.0.3', { + 'checksums': ['4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f'], }), (name, version, { 'checksums': ['b9552ec52cc147dbf1944ac7ac98af7602e51ea2dcd076ed194ca3c0d1c7d0bc'], From 060fb215e47cf81def1c3636e82513818ab3a5f9 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Fri, 17 May 2024 15:18:52 +0200 Subject: [PATCH 631/889] add checksum, fix async-timeout version --- .../easyconfigs/c/CellBender/CellBender-0.3.0-foss-2023a.eb | 4 ++++ easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.9.0-foss-2023a.eb | 1 + 2 files changed, 5 insertions(+) diff --git a/easybuild/easyconfigs/c/CellBender/CellBender-0.3.0-foss-2023a.eb b/easybuild/easyconfigs/c/CellBender/CellBender-0.3.0-foss-2023a.eb index 4c71bea11a8..ebabd44b3d6 100644 --- a/easybuild/easyconfigs/c/CellBender/CellBender-0.3.0-foss-2023a.eb +++ b/easybuild/easyconfigs/c/CellBender/CellBender-0.3.0-foss-2023a.eb @@ -28,6 +28,9 @@ dependencies = [ use_pip = True exts_list = [ + ('async-timeout', '4.0.3', { + 'checksums': ['4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f'], + }), ('traitlets', '5.14.1', { 'source_tmpl': SOURCE_PY3_WHL, 'checksums': ['2e5a030e6eff91737c643231bfcf04a65b0132078dad75e4936700b213652e74'], @@ -53,6 +56,7 @@ exts_list = [ }), ] + sanity_check_paths = { 'files': ['bin/cellbender'], 'dirs': ['lib/python%(pyshortver)s/site-packages'], diff --git a/easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.9.0-foss-2023a.eb b/easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.9.0-foss-2023a.eb index 6f74e48904d..28ed959d3b2 100644 --- a/easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.9.0-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.9.0-foss-2023a.eb @@ -30,6 +30,7 @@ exts_list = [ }), (name, version, { 'modulename': 'pyro', + 'checksums': ['41f4c005159568280fbc511648960a98a2b1a410027d8bd0a43220ac9b102cdf'], }), ] From 9b4a6b8c652cf89349ee51c3c030f17d61acf516 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Mon, 20 May 2024 11:26:21 +0200 Subject: [PATCH 632/889] add GPU versions of CellBender and pyro-ppl --- ...CellBender-0.3.0-foss-2023a-CUDA-12.1.1.eb | 72 +++++++++++++++++++ .../pyro-ppl-1.9.0-foss-2023a-CUDA-12.1.1.eb | 47 ++++++++++++ 2 files changed, 119 insertions(+) create mode 100644 easybuild/easyconfigs/c/CellBender/CellBender-0.3.0-foss-2023a-CUDA-12.1.1.eb create mode 100644 easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.9.0-foss-2023a-CUDA-12.1.1.eb diff --git a/easybuild/easyconfigs/c/CellBender/CellBender-0.3.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/c/CellBender/CellBender-0.3.0-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..94c6fc2c609 --- /dev/null +++ b/easybuild/easyconfigs/c/CellBender/CellBender-0.3.0-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,72 @@ +easyblock = 'PythonBundle' + +name = 'CellBender' +version = '0.3.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'http://github.com/broadinstitute/CellBender' +description = """ +CellBender is a software package for eliminating technical artifacts from +high-throughput single-cell RNA sequencing (scRNA-seq) data. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('PyTorch', '2.1.2', versionsuffix), + ('IPython', '8.14.0'), + ('anndata', '0.10.5.post1'), + ('jupyter-contrib-nbextensions', '0.7.0'), + ('pyro-ppl', '1.9.0', versionsuffix), + ('loompy', '3.0.7'), + ('PyTables', '3.8.0'), + ('Qtconsole', '5.5.1'), +] + +use_pip = True + +exts_list = [ + ('async-timeout', '4.0.3', { + 'checksums': ['4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f'], + }), + ('traitlets', '5.14.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['2e5a030e6eff91737c643231bfcf04a65b0132078dad75e4936700b213652e74'], + }), + ('jupyter_console', '6.6.3', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['309d33409fcc92ffdad25f0bcdf9a4a9daa61b6f341177570fdac03de5352485'], + }), + ('jupyter', '1.0.0', { + 'checksums': ['d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f'], + }), + ('notebook', '6.5.7', { + 'checksums': ['04eb9011dfac634fbd4442adaf0a8c27cd26beef831fe1d19faf930c327768e4'], + }), + ('mistune', '0.8.4', { + 'checksums': ['59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e'], + }), + ('nbconvert', '6.5.4', { + 'checksums': ['9e3c7c6d491374cbdd5f35d268c05809357716d346f4573186bbeab32ee50bc1'], + }), + ('cellbender', version, { + 'checksums': ['94a46fb2b5921414ea86213cfdebca267b9ba6ba02df854cbd353980ab3aff42'], + }), +] + +sanity_check_paths = { + 'files': ['bin/cellbender'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "cellbender --help", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.9.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.9.0-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..4add431b9a3 --- /dev/null +++ b/easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.9.0-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,47 @@ +# Author: Denis Krišťák (INUITS) + +easyblock = 'PythonBundle' + +name = 'pyro-ppl' +version = '1.9.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/pyro-ppl/pyro' +description = "Pyro is a flexible, scalable deep probabilistic programming library built on PyTorch." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('PyTorch', '2.1.2', versionsuffix), + ('tqdm', '4.66.1'), +] + +use_pip = True + +exts_list = [ + ('opt-einsum', '3.3.0', { + 'source_tmpl': 'opt_einsum-%(version)s.tar.gz', + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('pyro-api', '0.1.2', { + 'modulename': 'pyroapi', + 'checksums': ['a1b900d9580aa1c2fab3b123ab7ff33413744da7c5f440bd4aadc4d40d14d920'], + }), + (name, version, { + 'modulename': 'pyro', + 'checksums': ['41f4c005159568280fbc511648960a98a2b1a410027d8bd0a43220ac9b102cdf'], + }), +] + +sanity_pip_check = True + +sanity_check_commands = [ + "python -c 'from pyroapi import distributions as dist'", + "python -c 'from pyroapi import infer, ops, optim, pyro, pyro_backend'", + "python -c 'from pyro import infer, nn, distributions'", +] + +moduleclass = 'tools' From 5c3676230e01d3522d9ed36ee4ce01a3ab18cf11 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Mon, 20 May 2024 11:53:15 +0200 Subject: [PATCH 633/889] adding easyconfigs: atropos-1.1.32-gompi-2023a.eb --- .../a/atropos/atropos-1.1.32-gompi-2023a.eb | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 easybuild/easyconfigs/a/atropos/atropos-1.1.32-gompi-2023a.eb diff --git a/easybuild/easyconfigs/a/atropos/atropos-1.1.32-gompi-2023a.eb b/easybuild/easyconfigs/a/atropos/atropos-1.1.32-gompi-2023a.eb new file mode 100644 index 00000000000..4f407de0140 --- /dev/null +++ b/easybuild/easyconfigs/a/atropos/atropos-1.1.32-gompi-2023a.eb @@ -0,0 +1,59 @@ +easyblock = 'PythonBundle' + +name = 'atropos' +version = '1.1.32' + +homepage = 'https://atropos.readthedocs.io' +description = "Atropos is tool for specific, sensitive, and speedy trimming of NGS reads." + +toolchain = {'name': 'gompi', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('tqdm', '4.66.1'), + ('Pysam', '0.22.0'), + ('pytest', '7.4.2'), + ('SRA-Toolkit', '3.0.10'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('versioneer', '0.29', { + 'checksums': ['5ab283b9857211d61b53318b7c792cf68e798e765ee17c27ade9f6c924235731'], + }), + ('screed', '1.1.3', { + 'checksums': ['37e81697c7dba95a053554e5b5a86aff329705e1cf5dfc5e7b8da586dee072b8'], + }), + ('bz2file', '0.98', { + 'checksums': ['64c1f811e31556ba9931953c8ec7b397488726c63e09a4c67004f43bdd28da88'], + }), + ('khmer', '2.1.1', { + 'checksums': ['a709606910bb8679bd8525e9d2bf6d1421996272e343b54cc18090feb2fdbe24'], + }), + ('pokrok', '0.2.0', { + 'checksums': ['cfe7956602d8bbc142a07bcb259e0d1d939f96d7b074e00dceea3cb5e39244e8'], + }), + ('xphyle', '4.0.5', { + 'checksums': ['b744723a3c88d81318c7291c32682b8715a046f70d0a1db729bda783fd5e08bd'], + }), + ('srastream', '0.1.3', { + 'checksums': ['7f2cfd76ae988349ad5407a952cd4c133ae5dff7cf12c76072c53d82b50c2634'], + }), + (name, version, { + 'checksums': ['17e9dc3d76d7a2ca607a12da191a6d7ba1cfbd1a8c924215870417f85858fd83'], + }), +] + +sanity_check_paths = { + 'files': ['bin/atropos'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["atropos detect --help"] + +sanity_pip_check = True + +moduleclass = 'bio' From 4feb43ef23e5098f1b76c9a5e695eee699660d67 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Mon, 20 May 2024 13:22:31 +0200 Subject: [PATCH 634/889] fix sanity_pip_check --- easybuild/easyconfigs/a/atropos/atropos-1.1.32-gompi-2023a.eb | 2 -- 1 file changed, 2 deletions(-) diff --git a/easybuild/easyconfigs/a/atropos/atropos-1.1.32-gompi-2023a.eb b/easybuild/easyconfigs/a/atropos/atropos-1.1.32-gompi-2023a.eb index 4f407de0140..dddac86e727 100644 --- a/easybuild/easyconfigs/a/atropos/atropos-1.1.32-gompi-2023a.eb +++ b/easybuild/easyconfigs/a/atropos/atropos-1.1.32-gompi-2023a.eb @@ -54,6 +54,4 @@ sanity_check_paths = { sanity_check_commands = ["atropos detect --help"] -sanity_pip_check = True - moduleclass = 'bio' From 7777868b6ce7a90512fede37eba1751f1995a9c5 Mon Sep 17 00:00:00 2001 From: Jasper Grimm <65227842+jfgrimm@users.noreply.github.com> Date: Mon, 20 May 2024 14:31:56 +0100 Subject: [PATCH 635/889] remove blank line --- easybuild/easyconfigs/p/PyHMMER/PyHMMER-0.10.6-gompi-2023a.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/p/PyHMMER/PyHMMER-0.10.6-gompi-2023a.eb b/easybuild/easyconfigs/p/PyHMMER/PyHMMER-0.10.6-gompi-2023a.eb index 97de0df747d..a9a329832ba 100644 --- a/easybuild/easyconfigs/p/PyHMMER/PyHMMER-0.10.6-gompi-2023a.eb +++ b/easybuild/easyconfigs/p/PyHMMER/PyHMMER-0.10.6-gompi-2023a.eb @@ -16,7 +16,6 @@ which has the following advantages over CLI wrappers (like hmmer-py)""" toolchain = {'name': 'gompi', 'version': '2023a'} - builddependencies = [ ('Cython', '3.0.7'), ] From bab37cf3a90cff9390f16a28ba8c293cd8be1c91 Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Tue, 21 May 2024 11:33:19 +0200 Subject: [PATCH 636/889] adding easyconfigs: GCC-13.3.0.eb, GCCcore-13.3.0.eb, zlib-1.3.1-GCCcore-13.3.0.eb, help2man-1.49.3-GCCcore-13.3.0.eb, M4-1.4.19-GCCcore-13.3.0.eb, Bison-3.8.2-GCCcore-13.3.0.eb, flex-2.6.4-GCCcore-13.3.0.eb, binutils-2.42-GCCcore-13.3.0.eb --- .../b/Bison/Bison-3.8.2-GCCcore-13.3.0.eb | 28 ++++++++ .../binutils/binutils-2.42-GCCcore-13.3.0.eb | 31 +++++++++ .../f/flex/flex-2.6.4-GCCcore-13.3.0.eb | 34 ++++++++++ easybuild/easyconfigs/g/GCC/GCC-13.3.0.eb | 22 +++++++ .../easyconfigs/g/GCCcore/GCCcore-13.3.0.eb | 65 +++++++++++++++++++ .../help2man-1.49.3-GCCcore-13.3.0.eb | 25 +++++++ .../m/M4/M4-1.4.19-GCCcore-13.3.0.eb | 29 +++++++++ .../z/zlib/zlib-1.3.1-GCCcore-13.3.0.eb | 26 ++++++++ 8 files changed, 260 insertions(+) create mode 100644 easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/b/binutils/binutils-2.42-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/g/GCC/GCC-13.3.0.eb create mode 100644 easybuild/easyconfigs/g/GCCcore/GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/h/help2man/help2man-1.49.3-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/z/zlib/zlib-1.3.1-GCCcore-13.3.0.eb diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..168af69373e --- /dev/null +++ b/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-13.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'Bison' +version = '3.8.2' + +homepage = 'https://www.gnu.org/software/bison' +description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar + into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['06c9e13bdf7eb24d4ceb6b59205a4f67c2c7e7213119644430fe82fbd14a0abb'] + +builddependencies = [ + ('M4', '1.4.19'), + # use same binutils version that was used when building GCCcore toolchain + ('binutils', '2.42', '', SYSTEM), +] + + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bison', 'yacc']] + [('lib/liby.a', 'lib64/liby.a')], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.42-GCCcore-13.3.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.42-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..7a10c5ed2bc --- /dev/null +++ b/easybuild/easyconfigs/b/binutils/binutils-2.42-GCCcore-13.3.0.eb @@ -0,0 +1,31 @@ +name = 'binutils' +version = '2.42' + +homepage = 'https://directory.fsf.org/project/binutils/' +description = "binutils: GNU binary utilities" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['5d2a6c1d49686a557869caae08b6c2e83699775efd27505e01b2f4db1a024ffc'] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils + ('binutils', version, '', SYSTEM) +] + +dependencies = [ + # zlib is a runtime dep to avoid that it gets embedded in libbfd.so, + # see https://github.com/easybuilders/easybuild-easyblocks/issues/1350 + ('zlib', '1.3.1'), +] + +# avoid build failure when makeinfo command is not available +# see https://sourceware.org/bugzilla/show_bug.cgi?id=15345 +buildopts = 'MAKEINFO=true' +installopts = buildopts + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-13.3.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..dda9307eaea --- /dev/null +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-13.3.0.eb @@ -0,0 +1,34 @@ +name = 'flex' +version = '2.6.4' + +homepage = 'https://github.com/westes/flex' + +description = """ + Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, + sometimes called a tokenizer, is a program which recognizes lexical patterns + in text. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/westes/flex/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995'] + +builddependencies = [ + ('Bison', '3.8.2'), + ('help2man', '1.49.3'), + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.42', '', SYSTEM), +] + +dependencies = [ + ('M4', '1.4.19'), +] + +# glibc 2.26 requires _GNU_SOURCE defined to expose reallocarray in the correct +# header, see https://github.com/westes/flex/issues/241 +preconfigopts = 'export CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" && ' + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/g/GCC/GCC-13.3.0.eb b/easybuild/easyconfigs/g/GCC/GCC-13.3.0.eb new file mode 100644 index 00000000000..3428422c0b9 --- /dev/null +++ b/easybuild/easyconfigs/g/GCC/GCC-13.3.0.eb @@ -0,0 +1,22 @@ +easyblock = 'Bundle' + +name = 'GCC' +version = '13.3.0' + +homepage = 'https://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = SYSTEM + +dependencies = [ + ('GCCcore', version), + # binutils built on top of GCCcore, which was built on top of binutils (built with system toolchain) + ('binutils', '2.42', '', ('GCCcore', version)), +] + +altroot = 'GCCcore' +altversion = 'GCCcore' + +# this bundle serves as a compiler-only toolchain, so it should be marked as compiler (important for HMNS) +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-13.3.0.eb new file mode 100644 index 00000000000..77acc578454 --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-13.3.0.eb @@ -0,0 +1,65 @@ +easyblock = 'EB_GCC' + +name = 'GCCcore' +version = '13.3.0' + +homepage = 'https://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = SYSTEM + +source_urls = [ + 'https://ftpmirror.gnu.org/gnu/gcc/gcc-%(version)s', # GCC auto-resolving HTTP mirror + 'https://sourceware.org/pub/gcc/releases/gcc-%(version)s', # fallback URL for GCC + 'https://ftpmirror.gnu.org/gnu/gmp', # idem for GMP + 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR + 'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC + 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies + 'https://gcc.gnu.org/pub/gcc/infrastructure/', # HTTPS mirror for GCC dependencies + 'https://libisl.sourceforge.io/', # fallback URL for isl + 'https://sourceware.org/pub/newlib/', # for newlib + 'https://github.com/MentorEmbedded/nvptx-tools/archive', # for nvptx-tools +] +sources = [ + 'gcc-%(version)s.tar.gz', + 'gmp-6.3.0.tar.bz2', + 'mpfr-4.2.1.tar.bz2', + 'mpc-1.3.1.tar.gz', + 'isl-0.26.tar.bz2', + 'newlib-4.4.0.20231231.tar.gz', + {'download_filename': '9962793.tar.gz', 'filename': 'nvptx-tools-20240419.tar.gz'}, +] +patches = [ + 'GCCcore-6.2.0-fix-find-isl.patch', + 'GCCcore-9.3.0_gmp-c99.patch', + 'GCCcore-12.x_riscv_multiarch_support.patch', +] +checksums = [ + {'gcc-13.3.0.tar.gz': '3a2b10cab86e32358fdac871546d57e2700e9bdb5875ef33fff5b601265b9e32'}, + {'gmp-6.3.0.tar.bz2': 'ac28211a7cfb609bae2e2c8d6058d66c8fe96434f740cf6fe2e47b000d1c20cb'}, + {'mpfr-4.2.1.tar.bz2': 'b9df93635b20e4089c29623b19420c4ac848a1b29df1cfd59f26cab0d2666aa0'}, + {'mpc-1.3.1.tar.gz': 'ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8'}, + {'isl-0.26.tar.bz2': '5eac8664e9d67be6bd0bee5085d6840b8baf738c06814df47eaf4166d9776436'}, + {'newlib-4.4.0.20231231.tar.gz': '0c166a39e1bf0951dfafcd68949fe0e4b6d3658081d6282f39aeefc6310f2f13'}, + {'nvptx-tools-20240419.tar.gz': 'a4f65efe0ba960d75a18741faf2b93dbf51c2492a53b734d590ce5da4bd3f237'}, + {'GCCcore-6.2.0-fix-find-isl.patch': '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68'}, + {'GCCcore-9.3.0_gmp-c99.patch': '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e'}, + {'GCCcore-12.x_riscv_multiarch_support.patch': '92fc2b17b6943611a657904500fbf3db8160eddbcea320828d4a50a885e2778f'}, +] + +builddependencies = [ + ('M4', '1.4.19'), + ('binutils', '2.42'), +] + +languages = ['c', 'c++', 'fortran'] + +withisl = True +withnvptx = True + +# Perl is only required when building with NVPTX support +if withnvptx: + osdependencies = ['perl'] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.49.3-GCCcore-13.3.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.49.3-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..631d7becc2b --- /dev/null +++ b/easybuild/easyconfigs/h/help2man/help2man-1.49.3-GCCcore-13.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'help2man' +version = '1.49.3' + +homepage = 'https://www.gnu.org/software/help2man/' +description = """help2man produces simple manual pages from the '--help' and '--version' output of other commands.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_XZ] +checksums = ['4d7e4fdef2eca6afe07a2682151cea78781e0a4e8f9622142d9f70c083a2fd4f'] + +builddependencies = [ + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.42', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/help2man'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-13.3.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..7ea1e75f83c --- /dev/null +++ b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-13.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'M4' +version = '1.4.19' + +homepage = 'https://www.gnu.org/software/m4/m4.html' +description = """GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible + although it has some extensions (for example, handling more than 9 positional parameters to macros). + GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3be4a26d825ffdfda52a56fc43246456989a3630093cced3fbddf4771ee58a70'] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.42', '', SYSTEM)] + +# '-fgnu89-inline' is required to avoid linking errors with older glibc's, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 +configopts = "--enable-c++ CPPFLAGS=-fgnu89-inline" + +sanity_check_paths = { + 'files': ['bin/m4'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.3.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.3.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..3f9304a080e --- /dev/null +++ b/easybuild/easyconfigs/z/zlib/zlib-1.3.1-GCCcore-13.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'zlib' +version = '1.3.1' + +homepage = 'https://www.zlib.net/' +description = """zlib is designed to be a free, general-purpose, legally unencumbered -- that is, + not covered by any patents -- lossless data-compression library for use on virtually any + computer hardware and operating system.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://zlib.net/fossils'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23'] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.42', '', SYSTEM)] + +sanity_check_paths = { + 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' From 8b3307e05655a8815b7f7fd3fde08c31a9e7bc85 Mon Sep 17 00:00:00 2001 From: tanmoy1989 Date: Tue, 21 May 2024 12:49:31 +0100 Subject: [PATCH 637/889] adding easyconfigs: tornado-6.4-GCCcore-13.2.0.eb --- .../t/tornado/tornado-6.4-GCCcore-13.2.0.eb | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 easybuild/easyconfigs/t/tornado/tornado-6.4-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/t/tornado/tornado-6.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/t/tornado/tornado-6.4-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..991b01b563c --- /dev/null +++ b/easybuild/easyconfigs/t/tornado/tornado-6.4-GCCcore-13.2.0.eb @@ -0,0 +1,29 @@ +easyblock = "PythonPackage" + +name = "tornado" +version = "6.4" + +homepage = "https://github.com/tornadoweb/tornado" +description = "Tornado is a Python web framework and asynchronous networking library." + +toolchain = {"name": "GCCcore", "version": "13.2.0"} + +sources = [SOURCE_TAR_GZ] +patches = ['tornado-timeouts.patch'] +checksums = [ + {'tornado-6.4.tar.gz': '72291fa6e6bc84e626589f1c29d90a5a6d593ef5ae68052ee2ef000dfd273dee'}, + {'tornado-timeouts.patch': 'dd97748cb80506b36570f1274b19c8fc53d81e15f0eb2c5b6d0ba9d80141af34'}, +] + +builddependencies = [ + ("binutils", "2.40"), +] +dependencies = [ + ("Python", "3.11.5"), +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = "lib" From 5d069ed6f5002c99b7d08e3341d0dd2c8614e25a Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Tue, 21 May 2024 15:26:51 +0200 Subject: [PATCH 638/889] adding easyconfigs: Autotools-20231222-GCCcore-13.3.0.eb, Autoconf-2.72-GCCcore-13.3.0.eb, Automake-1.16.5-GCCcore-13.3.0.eb, libtool-2.4.7-GCCcore-13.3.0.eb, Perl-5.38.2-GCCcore-13.3.0.eb --- .../Autoconf/Autoconf-2.72-GCCcore-13.3.0.eb | 48 +++++++++++ .../Automake-1.16.5-GCCcore-13.3.0.eb | 39 +++++++++ .../Autotools-20231222-GCCcore-13.3.0.eb | 24 ++++++ .../l/libtool/libtool-2.4.7-GCCcore-13.3.0.eb | 32 +++++++ .../p/Perl/Perl-5.38.2-GCCcore-13.3.0.eb | 86 +++++++++++++++++++ 5 files changed, 229 insertions(+) create mode 100644 easybuild/easyconfigs/a/Autoconf/Autoconf-2.72-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/a/Automake/Automake-1.16.5-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/a/Autotools/Autotools-20231222-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/l/libtool/libtool-2.4.7-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/p/Perl/Perl-5.38.2-GCCcore-13.3.0.eb diff --git a/easybuild/easyconfigs/a/Autoconf/Autoconf-2.72-GCCcore-13.3.0.eb b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.72-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..8cbff6d13b2 --- /dev/null +++ b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.72-GCCcore-13.3.0.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'Autoconf' +version = '2.72' + +homepage = 'https://www.gnu.org/software/autoconf/' + +description = """ + Autoconf is an extensible package of M4 macros that produce shell scripts + to automatically configure software source code packages. These scripts can + adapt the packages to many kinds of UNIX-like systems without manual user + intervention. Autoconf creates a configuration script for a package from a + template file that lists the operating system features that the package can + use, in the form of M4 macro calls. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['afb181a76e1ee72832f6581c0eddf8df032b83e2e0239ef79ebedc4467d92d6e'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('M4', '1.4.19'), + # non-standard Perl modules are required, + # see https://github.com/easybuilders/easybuild-easyconfigs/issues/1822 + ('Perl', '5.38.2'), +] + +preconfigopts = "export PERL='/usr/bin/env perl' && " + +sanity_check_paths = { + 'files': ["bin/%s" % x + for x in ["autoconf", "autoheader", "autom4te", "autoreconf", + "autoscan", "autoupdate", "ifnames"]], + 'dirs': [], +} + +sanity_check_commands = [ + "autoconf --help", + "autom4te --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Automake/Automake-1.16.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/a/Automake/Automake-1.16.5-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..f22a104b063 --- /dev/null +++ b/easybuild/easyconfigs/a/Automake/Automake-1.16.5-GCCcore-13.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'Automake' +version = '1.16.5' + +homepage = 'https://www.gnu.org/software/automake/automake.html' + +description = "Automake: GNU Standards-compliant Makefile generator" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['07bd24ad08a64bc17250ce09ec56e921d6343903943e99ccf63bbf0705e34605'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('Autoconf', '2.72'), + # non-standard Perl modules are required, + # see https://github.com/easybuilders/easybuild-easyconfigs/issues/1822 + ('Perl', '5.38.2'), +] + +preconfigopts = "export PERL='/usr/bin/env perl' && " + +sanity_check_paths = { + 'files': ['bin/aclocal', 'bin/automake'], + 'dirs': [] +} + +sanity_check_commands = [ + "aclocal --help", + "automake --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Autotools/Autotools-20231222-GCCcore-13.3.0.eb b/easybuild/easyconfigs/a/Autotools/Autotools-20231222-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..4c0c23dd0b1 --- /dev/null +++ b/easybuild/easyconfigs/a/Autotools/Autotools-20231222-GCCcore-13.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'Bundle' + +name = 'Autotools' +version = '20231222' # date of the most recent change + +homepage = 'https://autotools.io' + +description = """ + This bundle collect the standard GNU build tools: Autoconf, Automake + and libtool +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +dependencies = [ + ('Autoconf', '2.72'), # 20231222 + ('Automake', '1.16.5'), # 20211003 + ('libtool', '2.4.7'), # 20220317 +] + +# Pure bundle -- no need to specify 'binutils' used when building GCCcore +# toolchain as build dependency + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libtool/libtool-2.4.7-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libtool/libtool-2.4.7-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..ae8cf1bd5b0 --- /dev/null +++ b/easybuild/easyconfigs/l/libtool/libtool-2.4.7-GCCcore-13.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libtool' +version = '2.4.7' + +homepage = 'https://www.gnu.org/software/libtool' + +description = """ + GNU libtool is a generic library support script. Libtool hides the complexity + of using shared libraries behind a consistent, portable interface. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('M4', '1.4.19'), +] + +sanity_check_paths = { + 'files': ['bin/libtool', 'bin/libtoolize', 'lib/libltdl.%s' % SHLIB_EXT], + 'dirs': ['include/libltdl', 'share/libtool/loaders', 'share/man/man1'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.38.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.38.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..f704ad30bdd --- /dev/null +++ b/easybuild/easyconfigs/p/Perl/Perl-5.38.2-GCCcore-13.3.0.eb @@ -0,0 +1,86 @@ +name = 'Perl' +version = '5.38.2' + +homepage = 'https://www.perl.org/' +description = """Larry Wall's Practical Extraction and Report Language + +Includes a small selection of extra CPAN packages for core functionality. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a0a31534451eb7b83c7d6594a497543a54d488bc90ca00f5e34762577f40655e'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('zlib', '1.3.1'), +] + +# !! order of extensions is important !! +# extensions updated on 2023-09-03 +# includes all dependencies for Autotools +exts_list = [ + ('threads', '2.21', { + 'source_tmpl': 'threads-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JD/JDHEDDEN'], + 'checksums': ['28394c98a2bcae6f20ffb8a3d965a1c194b764c650169e2050ee38dbaa10f110'], + }), + ('constant', '1.33', { + 'source_tmpl': 'constant-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['79965d4130eb576670e27ca0ae6899ef0060c76da48b02b97682166882f1b504'], + }), + ('Getopt::Long', '2.57', { + 'source_tmpl': 'Getopt-Long-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JV/JV'], + 'checksums': ['d3791e6bf167708364ea5ad3be578dc9173a0076167160a4341c05a1e979795e'], + }), + ('File::Path', '2.18', { + 'source_tmpl': 'File-Path-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JK/JKEENAN/'], + 'checksums': ['980f0a17edb353df46e9cd7b357f9f5929cde0f80c45fd7a06cf7e0e8bd6addd'], + }), + ('File::Spec', '3.75', { + 'source_tmpl': 'PathTools-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2'], + }), + ('IO::File', '1.55', { + 'source_tmpl': 'IO-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR/'], + 'checksums': ['0443afebb9a48f29611e9b17a017f430b51167a498fa4646c07f8dce03b6b95f'], + }), + ('Thread::Queue', '3.13', { + 'source_tmpl': 'Thread-Queue-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JD/JDHEDDEN'], + 'checksums': ['6ba3dacddd2fbb66822b4aa1d11a0a5273cd04c825cb3ff31c20d7037cbfdce8'], + }), + ('Carp', '1.50', { + 'source_tmpl': 'Carp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['f5273b4e1a6d51b22996c48cb3a3cbc72fd456c4038f5c20b127e2d4bcbcebd9'], + }), + ('Exporter', '5.78', { + 'source_tmpl': 'Exporter-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['bd17e99219aa2fb6a8acb3d11deffcb588708c70fc29f346e20ea7f71d3a48f0'], + }), + ('Text::ParseWords', '3.31', { + 'source_tmpl': 'Text-ParseWords-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB/'], + 'checksums': ['2ae555ba084d75b2b8feeeb8d1a00911276815ada86bccb1452236964d5a2fc7'], + }), + ('Data::Dumper', '2.183', { + 'source_tmpl': 'Data-Dumper-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NW/NWCLARK/'], + 'checksums': ['e42736890b7dae1b37818d9c5efa1f1fdc52dec04f446a33a4819bf1d4ab5ad3'], + }), +] + +moduleclass = 'lang' From 9a623950c760d27ad27c00842c9a277574b35a36 Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Tue, 21 May 2024 15:29:58 +0200 Subject: [PATCH 639/889] adding easyconfigs: pkgconf-2.2.0-GCCcore-13.3.0.eb --- .../p/pkgconf/pkgconf-2.2.0-GCCcore-13.3.0.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/p/pkgconf/pkgconf-2.2.0-GCCcore-13.3.0.eb diff --git a/easybuild/easyconfigs/p/pkgconf/pkgconf-2.2.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/pkgconf/pkgconf-2.2.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..aaaecf30a9a --- /dev/null +++ b/easybuild/easyconfigs/p/pkgconf/pkgconf-2.2.0-GCCcore-13.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'pkgconf' +version = '2.2.0' + +homepage = 'https://github.com/pkgconf/pkgconf' + +description = """pkgconf is a program which helps to configure compiler and linker flags for development libraries. + It is similar to pkg-config from freedesktop.org.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://distfiles.ariadne.space/pkgconf/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['28f8dfc279a10ef66148befa3f6eb266e5f3570316600208ed50e9781c7269d8'] + +builddependencies = [('binutils', '2.42')] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s pkgconf pkg-config"] + +sanity_check_paths = { + 'files': ['bin/pkg-config', 'bin/pkgconf'], + 'dirs': [], +} + +sanity_check_commands = [ + "pkg-config --help", + "pkgconf --help", +] + +moduleclass = 'devel' From 4980fdb7d878b5b9e10756326b1edb851ca57450 Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Tue, 21 May 2024 16:06:21 +0200 Subject: [PATCH 640/889] adding easyconfigs: gettext-0.22.5.eb, gettext-0.22.5-GCCcore-13.3.0.eb, XZ-5.4.5-GCCcore-13.3.0.eb, libxml2-2.12.7-GCCcore-13.3.0.eb, ncurses-6.5.eb, ncurses-6.5-GCCcore-13.3.0.eb, libiconv-1.17-GCCcore-13.3.0.eb --- .../gettext/gettext-0.22.5-GCCcore-13.3.0.eb | 38 +++++++++++++++ .../easyconfigs/g/gettext/gettext-0.22.5.eb | 39 +++++++++++++++ .../libiconv/libiconv-1.17-GCCcore-13.3.0.eb | 23 +++++++++ .../libxml2/libxml2-2.12.7-GCCcore-13.3.0.eb | 27 +++++++++++ .../n/ncurses/ncurses-6.5-GCCcore-13.3.0.eb | 47 ++++++++++++++++++ .../easyconfigs/n/ncurses/ncurses-6.5.eb | 48 +++++++++++++++++++ .../x/XZ/XZ-5.4.5-GCCcore-13.3.0.eb | 34 +++++++++++++ 7 files changed, 256 insertions(+) create mode 100644 easybuild/easyconfigs/g/gettext/gettext-0.22.5-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/g/gettext/gettext-0.22.5.eb create mode 100644 easybuild/easyconfigs/l/libiconv/libiconv-1.17-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/l/libxml2/libxml2-2.12.7-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/n/ncurses/ncurses-6.5-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/n/ncurses/ncurses-6.5.eb create mode 100644 easybuild/easyconfigs/x/XZ/XZ-5.4.5-GCCcore-13.3.0.eb diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.22.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/gettext/gettext-0.22.5-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..b5e182315e9 --- /dev/null +++ b/easybuild/easyconfigs/g/gettext/gettext-0.22.5-GCCcore-13.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'gettext' +version = '0.22.5' + +homepage = 'https://www.gnu.org/software/gettext/' +description = """GNU 'gettext' is an important step for the GNU Translation Project, as it is an asset on which we may +build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools +and documentation""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['ec1705b1e969b83a9f073144ec806151db88127f5e40fe5a94cb6c8fa48996a0'] + +builddependencies = [('binutils', '2.42')] + +dependencies = [ + ('libxml2', '2.12.7'), + ('ncurses', '6.5'), + ('libiconv', '1.17'), +] + +configopts = '--without-emacs --with-libxml2-prefix=$EBROOTLIBXML2' + +sanity_check_paths = { + 'files': ['bin/gettext', 'lib/libasprintf.a', 'lib/libasprintf.%s' % SHLIB_EXT, + 'lib/libgettextpo.a', 'lib/libgettextpo.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = [ + "gettext --help", + "msginit --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.22.5.eb b/easybuild/easyconfigs/g/gettext/gettext-0.22.5.eb new file mode 100644 index 00000000000..ba06d244cfd --- /dev/null +++ b/easybuild/easyconfigs/g/gettext/gettext-0.22.5.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'gettext' +version = '0.22.5' + +homepage = 'https://www.gnu.org/software/gettext/' +description = """GNU 'gettext' is an important step for the GNU Translation Project, as it is an asset on which we may +build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools +and documentation""" + +# This is a basic stripped down version of gettext without any +# dependencies on other packages used as initial builddep for XZ +# It is the first step in the cyclic dependency chain of +# XZ -> libxml2 -> gettext -> XZ + +toolchain = SYSTEM + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['ec1705b1e969b83a9f073144ec806151db88127f5e40fe5a94cb6c8fa48996a0'] + +dependencies = [ + ('ncurses', '6.4'), +] + +configopts = '--without-emacs --with-included-libxml --without-xz --without-bzip2' + +sanity_check_paths = { + 'files': ['bin/gettext', 'lib/libasprintf.a', 'lib/libasprintf.%s' % SHLIB_EXT, + 'lib/libgettextpo.a', 'lib/libgettextpo.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = [ + "gettext --help", + "msginit --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libiconv/libiconv-1.17-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libiconv/libiconv-1.17-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..0532a96c234 --- /dev/null +++ b/easybuild/easyconfigs/l/libiconv/libiconv-1.17-GCCcore-13.3.0.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'libiconv' +version = '1.17' + +homepage = 'https://www.gnu.org/software/libiconv' +description = "Libiconv converts from one character encoding to another through Unicode conversion" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['8f74213b56238c85a50a5329f77e06198771e70dd9a739779f4c02f65d971313'] + +builddependencies = [('binutils', '2.42')] + +sanity_check_paths = { + 'files': ['bin/iconv', 'include/iconv.h', 'include/libcharset.h', 'include/localcharset.h', + 'lib/libcharset.a', 'lib/libcharset.%s' % SHLIB_EXT, 'lib/libiconv.%s' % SHLIB_EXT], + 'dirs': ['share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.12.7-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.12.7-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..a8a21aceaa9 --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.12.7-GCCcore-13.3.0.eb @@ -0,0 +1,27 @@ +name = 'libxml2' +version = '2.12.7' + +homepage = 'http://xmlsoft.org/' + +description = """ + Libxml2 is the XML C parser and toolchain developed for the Gnome project + (but usable outside of the Gnome platform). +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.gnome.org/sources/libxml2/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['24ae78ff1363a973e6d8beba941a7945da2ac056e19b53956aeb6927fd6cfb56'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('XZ', '5.4.5'), + ('zlib', '1.3.1'), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.5-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..4a68a680c56 --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.5-GCCcore-13.3.0.eb @@ -0,0 +1,47 @@ +easyblock = 'ConfigureMake' + +name = 'ncurses' +version = '6.5' + +homepage = 'https://www.gnu.org/software/ncurses/' +description = """ + The Ncurses (new curses) library is a free software emulation of curses in + System V Release 4.0, and more. It uses Terminfo format, supports pads and + color and multiple highlights and forms characters and function-key mapping, + and has all the other SYSV-curses enhancements over BSD Curses. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['136d91bc269a9a5785e5f9e980bc76ab57428f604ce3e5a5a90cebc767971cc6'] + +builddependencies = [('binutils', '2.42')] + +local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks --with-versioned-syms " +configopts = [ + # build ncurses: serial build in default paths with shared libraries + local_common_configopts + "--disable-widec", + # build ncursesw: serial with UTF-8 + local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", +] + +# Symlink libtinfo to libncurses +# libncurses with this configopts has all the symbols from libtinfo, but some packages look for libtinfo specifically +postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln -s "${l}" "${l/ncurses/tinfo}"; done'] + +_target_suffix = ['', 'w'] # '': ncurses, 'w': ncursesw +_lib_suffix = ['%s%s' % (x, y) for x in _target_suffix for y in ['.a', '_g.a', '.' + SHLIB_EXT]] +_lib_names = ['form', 'menu', 'ncurses', 'panel', 'tinfo'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config", + "reset", "tabs", "tic", "toe", "tput", "tset"]] + + ['lib/lib%s%s' % (x, y) for x in _lib_names for y in _lib_suffix] + + ['lib/libncurses++%s.a' % x for x in _target_suffix], + 'dirs': ['include', 'include/ncursesw'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.5.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.5.eb new file mode 100644 index 00000000000..a3ff51a30fc --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.5.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'ncurses' +version = '6.5' + +homepage = 'https://www.gnu.org/software/ncurses/' +description = """ + The Ncurses (new curses) library is a free software emulation of curses in + System V Release 4.0, and more. It uses Terminfo format, supports pads and + color and multiple highlights and forms characters and function-key mapping, + and has all the other SYSV-curses enhancements over BSD Curses. +""" + +toolchain = SYSTEM + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['136d91bc269a9a5785e5f9e980bc76ab57428f604ce3e5a5a90cebc767971cc6'] + +local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks --with-versioned-syms " +configopts = [ + # build ncurses: serial build in default paths with shared libraries + local_common_configopts + "--disable-widec", + # build ncursesw: serial with UTF-8 + local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", +] + +# need to take care of $CFLAGS ourselves with SYSTEM toolchain +# we need to add -fPIC, but should also include -O* option to avoid compiling with -O0 (default for GCC) +buildopts = 'CFLAGS="-O2 -fPIC"' + +# Symlink libtinfo to libncurses +# libncurses with this configopts has all the symbols from libtinfo, but some packages look for libtinfo specifically +postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln -s "${l}" "${l/ncurses/tinfo}"; done'] + +_target_suffix = ['', 'w'] # '': ncurses, 'w': ncursesw +_lib_suffix = ['%s%s' % (x, y) for x in _target_suffix for y in ['.a', '_g.a', '.' + SHLIB_EXT]] +_lib_names = ['form', 'menu', 'ncurses', 'panel', 'tinfo'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config", + "reset", "tabs", "tic", "toe", "tput", "tset"]] + + ['lib/lib%s%s' % (x, y) for x in _lib_names for y in _lib_suffix] + + ['lib/libncurses++%s.a' % x for x in _target_suffix], + 'dirs': ['include', 'include/ncursesw'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/XZ/XZ-5.4.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/x/XZ/XZ-5.4.5-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..1ce0263b576 --- /dev/null +++ b/easybuild/easyconfigs/x/XZ/XZ-5.4.5-GCCcore-13.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'XZ' +version = '5.4.5' + +homepage = 'https://tukaani.org/xz/' +description = "xz: XZ utilities" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://tukaani.org/xz/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['8ccf5fff868c006f29522e386fb4c6a1b66463fbca65a4cfc3c4bd596e895e79'] + +builddependencies = [ + # use gettext built with system toolchain as build dep to avoid cyclic dependency (XZ -> gettext -> libxml2 -> XZ) + ('gettext', '0.22', '', SYSTEM), + ('binutils', '2.42'), +] + +# may become useful in non-x86 archs +# configopts = ' --disable-assembler ' + +sanity_check_paths = { + 'files': ['bin/lzmainfo', 'bin/unxz', 'bin/xz'], + 'dirs': [] +} + +sanity_check_commands = [ + "xz --help", + "unxz --help", +] + +moduleclass = 'tools' From 85df3ad13f9dbcdf4085819c0b9c11d3f841b244 Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Tue, 21 May 2024 16:29:41 +0200 Subject: [PATCH 641/889] update ncurses dep in gettext-0.22.5.eb --- easybuild/easyconfigs/g/gettext/gettext-0.22.5.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.22.5.eb b/easybuild/easyconfigs/g/gettext/gettext-0.22.5.eb index ba06d244cfd..9c596a9eb89 100644 --- a/easybuild/easyconfigs/g/gettext/gettext-0.22.5.eb +++ b/easybuild/easyconfigs/g/gettext/gettext-0.22.5.eb @@ -20,7 +20,7 @@ sources = [SOURCE_TAR_GZ] checksums = ['ec1705b1e969b83a9f073144ec806151db88127f5e40fe5a94cb6c8fa48996a0'] dependencies = [ - ('ncurses', '6.4'), + ('ncurses', '6.5'), ] configopts = '--without-emacs --with-included-libxml --without-xz --without-bzip2' From c21dbc04f3b0ecd2809f6f159f420e6165bd3259 Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Tue, 21 May 2024 16:37:31 +0200 Subject: [PATCH 642/889] adding easyconfigs: CMake-3.29.3-GCCcore-13.3.0.eb, bzip2-1.0.8-GCCcore-13.3.0.eb, cURL-8.7.1-GCCcore-13.3.0.eb, libarchive-3.7.4-GCCcore-13.3.0.eb, UnZip-6.0-GCCcore-13.3.0.eb --- .../b/bzip2/bzip2-1.0.8-GCCcore-13.3.0.eb | 27 +++++++++ .../c/CMake/CMake-3.29.3-GCCcore-13.3.0.eb | 30 ++++++++++ .../c/cURL/cURL-8.7.1-GCCcore-13.3.0.eb | 43 ++++++++++++++ .../libarchive-3.7.4-GCCcore-13.3.0.eb | 35 +++++++++++ .../u/UnZip/UnZip-6.0-GCCcore-13.3.0.eb | 59 +++++++++++++++++++ 5 files changed, 194 insertions(+) create mode 100644 easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/c/CMake/CMake-3.29.3-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/c/cURL/cURL-8.7.1-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/l/libarchive/libarchive-3.7.4-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/u/UnZip/UnZip-6.0-GCCcore-13.3.0.eb diff --git a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-13.3.0.eb b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..adb4b34a9bb --- /dev/null +++ b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-13.3.0.eb @@ -0,0 +1,27 @@ +name = 'bzip2' +version = '1.0.8' + +homepage = 'https://sourceware.org/bzip2' +description = """ + bzip2 is a freely available, patent free, high-quality data compressor. It + typically compresses files to within 10% to 15% of the best available + techniques (the PPM family of statistical compressors), whilst being around + twice as fast at compression and six times faster at decompression. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://sourceware.org/pub/%(name)s/'] +sources = [SOURCE_TAR_GZ] +patches = ['bzip2-%(version)s-pkgconfig.patch'] +checksums = [ + 'ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269', # bzip2-1.0.8.tar.gz + '9299e8ee4d014ea973777b6ea90661fe329dfa991f822add4c763ea9ddb9aab1', # bzip2-1.0.8-pkgconfig.patch +] + +builddependencies = [ + ('binutils', '2.42'), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.29.3-GCCcore-13.3.0.eb b/easybuild/easyconfigs/c/CMake/CMake-3.29.3-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..d8c9cce51ca --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.29.3-GCCcore-13.3.0.eb @@ -0,0 +1,30 @@ +name = 'CMake' +version = '3.29.3' + +homepage = 'https://www.cmake.org' + +description = """ + CMake, the cross-platform, open-source build system. CMake is a family of + tools designed to build, test and package software. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['252aee1448d49caa04954fd5e27d189dd51570557313e7b281636716a238bccb'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('ncurses', '6.5'), + ('zlib', '1.3.1'), + ('bzip2', '1.0.8'), + ('cURL', '8.7.1'), + ('libarchive', '3.7.4'), + ('OpenSSL', '3', '', SYSTEM), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/cURL/cURL-8.7.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/c/cURL/cURL-8.7.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..02470220971 --- /dev/null +++ b/easybuild/easyconfigs/c/cURL/cURL-8.7.1-GCCcore-13.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'cURL' +version = '8.7.1' + +homepage = 'https://curl.haxx.se' + +description = """ + libcurl is a free and easy-to-use client-side URL transfer library, + supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, + LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP. + libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP + form based upload, proxies, cookies, user+password authentication (Basic, + Digest, NTLM, Negotiate, Kerberos), file transfer resume, http proxy tunneling + and more. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://curl.haxx.se/download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f91249c87f68ea00cf27c44fdfa5a78423e41e71b7d408e5901a9896d905c495'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('zlib', '1.3.1'), + ('OpenSSL', '3', '', SYSTEM), +] + +configopts = '--with-zlib ' +configopts += '--with-ssl=$EBROOTOPENSSL ' + +modextravars = {'CURL_INCLUDES': '%(installdir)s/include'} + +sanity_check_paths = { + 'files': ['bin/curl', 'lib/libcurl.a', 'lib/libcurl.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig', 'include/curl'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libarchive/libarchive-3.7.4-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libarchive/libarchive-3.7.4-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..d15d7381318 --- /dev/null +++ b/easybuild/easyconfigs/l/libarchive/libarchive-3.7.4-GCCcore-13.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'libarchive' +version = '3.7.4' + +homepage = 'https://www.libarchive.org/' + +description = """ + Multi-format archive and compression library +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://www.libarchive.org/downloads/'] +sources = [SOURCE_TAR_GZ] +checksums = [ + {'libarchive-3.7.4.tar.gz': '7875d49596286055b52439ed42f044bd8ad426aa4cc5aabd96bfe7abb971d5e8'}, +] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('zlib', '1.3.1'), + ('XZ', '5.4.5'), + ('OpenSSL', '3', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['include/archive.h', 'lib/libarchive.%s' % SHLIB_EXT], + 'dirs': ['bin', 'share/man/man3'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/u/UnZip/UnZip-6.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/u/UnZip/UnZip-6.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..08f61c7f44c --- /dev/null +++ b/easybuild/easyconfigs/u/UnZip/UnZip-6.0-GCCcore-13.3.0.eb @@ -0,0 +1,59 @@ +easyblock = 'ConfigureMake' + +name = 'UnZip' +version = '6.0' + +homepage = 'http://www.info-zip.org/UnZip.html' +description = """UnZip is an extraction utility for archives compressed +in .zip format (also called "zipfiles"). Although highly compatible both +with PKWARE's PKZIP and PKUNZIP utilities for MS-DOS and with Info-ZIP's +own Zip program, our primary objectives have been portability and +non-MSDOS functionality.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://download.sourceforge.net/infozip'] +sources = ['%(namelower)s%(version_major)s%(version_minor)s.tar.gz'] +patches = [ + 'UnZip-%(version)s_various-security-and-other-fixes-from-Ubuntu.patch', +] +checksums = [ + '036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37', # unzip60.tar.gz + # UnZip-6.0_various-security-and-other-fixes-from-Ubuntu.patch + '06b9307fd5aa018896bd4126818c00c1fd284a06cc3681cf0492f951ebb57ffe', +] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('bzip2', '1.0.8'), +] + +skipsteps = ['configure'] + +local_cf = ['$CFLAGS', '$CPPFLAGS', '-I.', '-DACORN_FTYPE_NFS', '-DWILD_STOP_AT_DIR', '-DLARGE_FILE_SUPPORT' + '-DUNICODE_SUPPORT', '-DUNICODE_WCHAR', '-DUTF8_MAYBE_NATIVE', '-DNO_LCHMOD', '-DDATE_FORMAT=DF_YMD', + '-DUSE_BZIP2', '-DIZ_HAVE_UXUIDGID', '-DNOMEMCPY', '-DNO_WORKING_ISPRINT'] + +buildopts = ' '.join([ + "-f unix/Makefile", + 'CC="$CC"', + 'D_USE_BZ2=-DUSE_BZIP2', + 'L_BZ2=-lbz2', + 'LF2="$LDFLAGS"', + 'CF="%s"' % ' '.join(local_cf), + 'unzips', +]) + +installopts = '-f unix/Makefile prefix=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/unzip', 'bin/zipinfo'], + 'dirs': ['man/man1'] +} + +sanity_check_commands = ["unzip -v"] + +moduleclass = 'tools' From 5ef420152f40f3ee71721cd38de894d33a27edee Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Tue, 21 May 2024 16:44:15 +0200 Subject: [PATCH 643/889] adding easyconfigs: numactl-2.0.18-GCCcore-13.3.0.eb, libfabric-1.21.0-GCCcore-13.3.0.eb --- .../libfabric-1.21.0-GCCcore-13.3.0.eb | 57 +++++++++++++++++++ .../numactl/numactl-2.0.18-GCCcore-13.3.0.eb | 34 +++++++++++ 2 files changed, 91 insertions(+) create mode 100644 easybuild/easyconfigs/l/libfabric/libfabric-1.21.0-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/n/numactl/numactl-2.0.18-GCCcore-13.3.0.eb diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.21.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.21.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..f685aeb280f --- /dev/null +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.21.0-GCCcore-13.3.0.eb @@ -0,0 +1,57 @@ +easyblock = 'ConfigureMake' + +name = 'libfabric' +version = '1.21.0' + +homepage = 'https://ofiwg.github.io/libfabric/' +description = """ +Libfabric is a core component of OFI. It is the library that defines and exports +the user-space API of OFI, and is typically the only software that applications +deal with directly. It works in conjunction with provider libraries, which are +often integrated directly into libfabric. +""" + +# The psm3 provider (enabled by default) requires an AVX capable system to run +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/ofiwg/libfabric/releases/download/v%(version)s'] +sources = [SOURCE_TAR_BZ2] +checksums = [ + {'libfabric-1.21.0.tar.bz2': '0c1b7b830d9147f661e5d7f359250b85b5a9885c330464cd3b5e5d35b86551c7'}, +] + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), + ('Autotools', '20231222'), +] + +dependencies = [ + ('numactl', '2.0.18'), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +# Regenerate build files to pick up psm3-axv-config patch +preconfigopts = "./autogen.sh &&" + +# Disable deprecated "sockets" provider +configopts = "--disable-sockets " + +# Disable usNIC provider by default as this requires specific osdependencies +# If you want to enable this provider you need to uncomment the following line: +# osdependencies.append(('libnl3-devel', 'libnl3-dev')) +configopts += "--disable-usnic " + +buildopts = "V=1" + +sanity_check_paths = { + 'files': ['bin/fi_info', 'bin/fi_pingpong', 'bin/fi_strerror'] + + ['lib/libfabric.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': ['include/rdma', 'lib/pkgconfig', 'share'] +} + +sanity_check_commands = ['fi_info'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/numactl/numactl-2.0.18-GCCcore-13.3.0.eb b/easybuild/easyconfigs/n/numactl/numactl-2.0.18-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..119e66afaa7 --- /dev/null +++ b/easybuild/easyconfigs/n/numactl/numactl-2.0.18-GCCcore-13.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'numactl' +version = '2.0.18' + +homepage = 'https://github.com/numactl/numactl' + +description = """ + The numactl program allows you to run your application program on specific + cpu's and memory nodes. It does this by supplying a NUMA memory policy to + the operating system before running your program. The libnuma library provides + convenient ways for you to add NUMA memory policies into your own program. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/numactl/numactl/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8cd6c13f3096e9c2293c1d732f56e2aa37a7ada1a98deed3fac7bd6da1aaaaf6'] + +builddependencies = [ + ('binutils', '2.42'), + ('Autotools', '20231222'), +] + +preconfigopts = "./autogen.sh && " + +sanity_check_paths = { + 'files': ['bin/numactl', 'bin/numastat', 'lib/libnuma.%s' % SHLIB_EXT, 'lib/libnuma.a'], + 'dirs': ['share/man', 'include'] +} + +moduleclass = 'tools' From 9dcb9cbeb166c2655f1c00fee68921430f720cbb Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Tue, 21 May 2024 16:48:06 +0200 Subject: [PATCH 644/889] adding easyconfigs: libevent-2.1.12-GCCcore-13.3.0.eb --- .../libevent-2.1.12-GCCcore-13.3.0.eb | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-13.3.0.eb diff --git a/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..bd33821ffd7 --- /dev/null +++ b/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-13.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'libevent' +version = '2.1.12' + +homepage = 'https://libevent.org/' + +description = """ + The libevent API provides a mechanism to execute a callback function when + a specific event occurs on a file descriptor or after a timeout has been + reached. Furthermore, libevent also support callbacks due to signals or + regular timeouts. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/release-%(version)s-stable/'] +sources = ['%(name)s-%(version)s-stable.tar.gz'] +checksums = ['92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb'] + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), +] + +dependencies = [ + ('zlib', '1.3.1'), + ('OpenSSL', '3', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/event_rpcgen.py', 'include/event.h', 'include/event2/event.h', + 'lib/libevent_core.%s' % SHLIB_EXT, 'lib/pkgconfig/libevent.pc'], + 'dirs': [], +} + +moduleclass = 'lib' From f77e11fa37fe8a675c9a19265c4a760446f64836 Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Tue, 21 May 2024 17:06:09 +0200 Subject: [PATCH 645/889] add PSM2 dep in libfabric-1.21.0-GCCcore-13.3.0.eb --- .../libfabric-1.21.0-GCCcore-13.3.0.eb | 1 + .../p/PSM2/PSM2-12.0.1-GCCcore-13.3.0.eb | 44 +++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-13.3.0.eb diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.21.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.21.0-GCCcore-13.3.0.eb index f685aeb280f..6a38b5194a8 100644 --- a/easybuild/easyconfigs/l/libfabric/libfabric-1.21.0-GCCcore-13.3.0.eb +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.21.0-GCCcore-13.3.0.eb @@ -29,6 +29,7 @@ builddependencies = [ dependencies = [ ('numactl', '2.0.18'), + ('PSM2', '12.0.1'), ] osdependencies = [OS_PKG_IBVERBS_DEV] diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..78d99d2efec --- /dev/null +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-13.3.0.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'PSM2' +version = '12.0.1' + +homepage = 'https://github.com/cornelisnetworks/opa-psm2/' +description = """ +Low-level user-space communications interface for the Intel(R) OPA family of products. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/cornelisnetworks/opa-psm2/archive/refs/tags'] +sources = ['%(name)s_%(version)s.tar.gz'] +patches = [ + ('PSM2-11.2.80_hfi-user.patch', 1), +] +checksums = [ + {'PSM2_12.0.1.tar.gz': 'e41af2d7d36a6ab67639ecbd5c1012aa20b2b464bf5cfbdac60e7eb37bfe58de'}, + {'PSM2-11.2.80_hfi-user.patch': 'e43138859387213506050af9b76e193c3cd0a162d148998c39e551f220392abb'}, +] + +builddependencies = [ + ('binutils', '2.42'), + ('CUDA', '12.4.0', '', SYSTEM), +] + +dependencies = [ + ('numactl', '2.0.18'), +] + +skipsteps = ['configure'] + +prebuildopts = "sed -i 's|fprintf(stderr,|_HFI_DBG(|' psm_context.c && sed -i 's|/usr|/|' Makefile && " +buildopts = "arch=%s USE_PSM_UUID=1 PSM_CUDA=1 WERROR=" % ARCH +installopts = "arch=%s UDEVDIR=/lib/udev DESTDIR=%%(installdir)s" % ARCH + +sanity_check_paths = { + 'files': ['lib/lib%%(namelower)s.%s' % SHLIB_EXT, 'include/%(namelower)s.h'], + 'dirs': [] +} + +moduleclass = 'lib' From 2edfb89ce48c6266aff3755523d4df687dc38fb5 Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Tue, 21 May 2024 17:37:01 +0200 Subject: [PATCH 646/889] install pkg-config files for GCCcore builds of ncurses 6.5 --- .../n/ncurses/ncurses-6.5-GCCcore-13.3.0.eb | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.5-GCCcore-13.3.0.eb index 4a68a680c56..c34643c0b37 100644 --- a/easybuild/easyconfigs/n/ncurses/ncurses-6.5-GCCcore-13.3.0.eb +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.5-GCCcore-13.3.0.eb @@ -18,9 +18,13 @@ source_urls = [GNU_SOURCE] sources = [SOURCE_TAR_GZ] checksums = ['136d91bc269a9a5785e5f9e980bc76ab57428f604ce3e5a5a90cebc767971cc6'] -builddependencies = [('binutils', '2.42')] +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), +] local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks --with-versioned-syms " +local_common_configopts += "--enable-pc-files --with-pkg-config-libdir=%(installdir)s/lib/pkgconfig " configopts = [ # build ncurses: serial build in default paths with shared libraries local_common_configopts + "--disable-widec", @@ -35,12 +39,14 @@ postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln _target_suffix = ['', 'w'] # '': ncurses, 'w': ncursesw _lib_suffix = ['%s%s' % (x, y) for x in _target_suffix for y in ['.a', '_g.a', '.' + SHLIB_EXT]] _lib_names = ['form', 'menu', 'ncurses', 'panel', 'tinfo'] +_pc_names = ['form', 'menu', 'ncurses++', 'ncurses', 'panel'] sanity_check_paths = { 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config", "reset", "tabs", "tic", "toe", "tput", "tset"]] + ['lib/lib%s%s' % (x, y) for x in _lib_names for y in _lib_suffix] + - ['lib/libncurses++%s.a' % x for x in _target_suffix], + ['lib/libncurses++%s.a' % x for x in _target_suffix] + + ['lib/pkgconfig/%s%s.pc' % (x, y) for x in _pc_names for y in _target_suffix], 'dirs': ['include', 'include/ncursesw'], } From 88a1db9058d2c64b5a2050eeb0eaa43b8b7c6957 Mon Sep 17 00:00:00 2001 From: Julian Morillo Date: Tue, 21 May 2024 18:05:58 +0200 Subject: [PATCH 647/889] Adding libdwarf-0.9.2-GCCCore-13.2.0.eb --- .../libdwarf/libdwarf-0.9.2-GCCcore-13.2.0.eb | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 easybuild/easyconfigs/l/libdwarf/libdwarf-0.9.2-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/l/libdwarf/libdwarf-0.9.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libdwarf/libdwarf-0.9.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..69ba12eb6f3 --- /dev/null +++ b/easybuild/easyconfigs/l/libdwarf/libdwarf-0.9.2-GCCcore-13.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'libdwarf' +version = '0.9.2' + +homepage = 'https://www.prevanders.net/dwarf.html' +description = """The DWARF Debugging Information Format is of interest to programmers working on compilers +and debuggers (and anyone interested in reading or writing DWARF information))""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/davea42/libdwarf-code/releases/download/v%(version)s'] +sources = [SOURCE_TAR_XZ] +checksums = ['c1cd51467f9cb8459cd27d4071857abc56191cc5d4182d8bdd7744030f88f830'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('elfutils', '0.190'), +] + +configopts = "--enable-shared " + +sanity_check_paths = { + 'files': ['bin/dwarfdump', 'lib/libdwarf.a', 'lib/libdwarf.%s' % SHLIB_EXT], + 'dirs': ['include'] +} + +sanity_check_commands = ['dwarfdump --help'] + +moduleclass = 'devel' + From 8457964fe8dcfd1e6ae23c50f079d550eaa35af6 Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Tue, 21 May 2024 18:17:48 +0200 Subject: [PATCH 648/889] update gettext dep in XZ-5.4.5-GCCcore-13.3.0.eb --- easybuild/easyconfigs/x/XZ/XZ-5.4.5-GCCcore-13.3.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/x/XZ/XZ-5.4.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/x/XZ/XZ-5.4.5-GCCcore-13.3.0.eb index 1ce0263b576..4e11c10a179 100644 --- a/easybuild/easyconfigs/x/XZ/XZ-5.4.5-GCCcore-13.3.0.eb +++ b/easybuild/easyconfigs/x/XZ/XZ-5.4.5-GCCcore-13.3.0.eb @@ -14,7 +14,7 @@ checksums = ['8ccf5fff868c006f29522e386fb4c6a1b66463fbca65a4cfc3c4bd596e895e79'] builddependencies = [ # use gettext built with system toolchain as build dep to avoid cyclic dependency (XZ -> gettext -> libxml2 -> XZ) - ('gettext', '0.22', '', SYSTEM), + ('gettext', '0.22.5', '', SYSTEM), ('binutils', '2.42'), ] From eaf76de00b520398c22f24a23ccd6caba4f7569a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 21 May 2024 20:16:03 +0200 Subject: [PATCH 649/889] remove blank line at end of file --- .../easyconfigs/l/libdwarf/libdwarf-0.9.2-GCCcore-13.2.0.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/l/libdwarf/libdwarf-0.9.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libdwarf/libdwarf-0.9.2-GCCcore-13.2.0.eb index 69ba12eb6f3..d8d25f32ed6 100644 --- a/easybuild/easyconfigs/l/libdwarf/libdwarf-0.9.2-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/l/libdwarf/libdwarf-0.9.2-GCCcore-13.2.0.eb @@ -31,4 +31,3 @@ sanity_check_paths = { sanity_check_commands = ['dwarfdump --help'] moduleclass = 'devel' - From 5ddd3ed328ae3e9fbc5626bf849f9dbdf57c1611 Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Wed, 22 May 2024 09:44:26 +0200 Subject: [PATCH 650/889] adding easyconfigs: Python-3.12.3-GCCcore-13.3.0.eb, libreadline-8.2-GCCcore-13.3.0.eb, Tcl-8.6.14-GCCcore-13.3.0.eb, SQLite-3.45.3-GCCcore-13.3.0.eb, libffi-3.4.5-GCCcore-13.3.0.eb --- .../l/libffi/libffi-3.4.5-GCCcore-13.3.0.eb | 29 ++++++++ .../libreadline-8.2-GCCcore-13.3.0.eb | 41 +++++++++++ .../p/Python/Python-3.12.3-GCCcore-13.3.0.eb | 68 +++++++++++++++++++ .../s/SQLite/SQLite-3.45.3-GCCcore-13.3.0.eb | 39 +++++++++++ .../t/Tcl/Tcl-8.6.14-GCCcore-13.3.0.eb | 41 +++++++++++ 5 files changed, 218 insertions(+) create mode 100644 easybuild/easyconfigs/l/libffi/libffi-3.4.5-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/l/libreadline/libreadline-8.2-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/p/Python/Python-3.12.3-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/s/SQLite/SQLite-3.45.3-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/t/Tcl/Tcl-8.6.14-GCCcore-13.3.0.eb diff --git a/easybuild/easyconfigs/l/libffi/libffi-3.4.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libffi/libffi-3.4.5-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..34934544c93 --- /dev/null +++ b/easybuild/easyconfigs/l/libffi/libffi-3.4.5-GCCcore-13.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'libffi' +version = '3.4.5' + +homepage = 'https://sourceware.org/libffi/' +description = """The libffi library provides a portable, high level programming interface to + various calling conventions. This allows a programmer to call any function + specified by a call interface description at run-time.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/libffi/libffi/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['96fff4e589e3b239d888d9aa44b3ff30693c2ba1617f953925a70ddebcc102b2'] + +builddependencies = [ + ('binutils', '2.42'), +] + +configopts = '--disable-exec-static-tramp ' + +sanity_check_paths = { + 'files': ['lib/libffi.a', 'lib/libffi.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-8.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libreadline/libreadline-8.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..8cf47255fdc --- /dev/null +++ b/easybuild/easyconfigs/l/libreadline/libreadline-8.2-GCCcore-13.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'libreadline' +version = '8.2' + +homepage = 'https://tiswww.case.edu/php/chet/readline/rltop.html' +description = """ + The GNU Readline library provides a set of functions for use by applications + that allow users to edit command lines as they are typed in. Both Emacs and + vi editing modes are available. The Readline library includes additional + functions to maintain a list of previously-entered command lines, to recall + and perhaps reedit those lines, and perform csh-like history expansion on + previous commands. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://ftp.gnu.org/gnu/readline'] +sources = ['readline-%(version)s.tar.gz'] +checksums = ['3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35'] + +builddependencies = [ + ('binutils', '2.42'), +] +dependencies = [ + ('ncurses', '6.5'), +] + +# for the termcap symbols, use EB ncurses +buildopts = "SHLIB_LIBS='-lncurses'" + +sanity_check_paths = { + 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + + ['include/readline/%s' % x + for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', + 'rlconf.h', 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/Python/Python-3.12.3-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/Python/Python-3.12.3-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..01dba67a85a --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-3.12.3-GCCcore-13.3.0.eb @@ -0,0 +1,68 @@ +name = 'Python' +version = '3.12.3' + +homepage = 'https://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['a6b9459f45a6ebbbc1af44f5762623fa355a0c87208ed417628b379d762dddb0'] + +builddependencies = [ + ('UnZip', '6.0'), + ('pkgconf', '2.2.0'), +] + +dependencies = [ + ('binutils', '2.42'), + ('bzip2', '1.0.8'), # required for bz2 package in Python stdlib + ('zlib', '1.3.1'), + ('libreadline', '8.2'), + ('ncurses', '6.5'), + ('SQLite', '3.45.3'), + ('XZ', '5.4.5'), + ('libffi', '3.4.5'), + ('OpenSSL', '3', '', SYSTEM), +] + +install_pip = True + +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'use_pip': True, +} + +# order is important! +# package versions updated 2024-05-21 +exts_list = [ + ('flit_core', '3.9.0', { + 'checksums': ['72ad266176c4a3fcfab5f2930d76896059851240570ce9a98733b658cb786eba'], + }), + ('wheel', '0.43.0', { + 'checksums': ['465ef92c69fa5c5da2d1cf8ac40559a8c940886afcef87dcf14b9470862f1d85'], + }), + ('tomli', '2.0.1', { + 'checksums': ['de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f'], + }), + ('packaging', '24.0', { + 'checksums': ['eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9'], + }), + ('typing_extensions', '4.11.0', { + 'checksums': ['83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0'], + }), + ('setuptools', '70.0.0', { + 'checksums': ['f211a66637b8fa059bb28183da127d4e86396c991a942b028c6650d4319c3fd0'], + }), + ('setuptools_scm', '8.1.0', { + 'checksums': ['42dea1b65771cba93b7a515d65a65d8246e560768a66b9106a592c8e7f26c8a7'], + }), + ('pip', '24.0', { + 'checksums': ['ea9bd1a847e8c5774a5777bb398c19e80bcd4e2aa16a4b301b718fe6f593aba2'], + }), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.45.3-GCCcore-13.3.0.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.45.3-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..2a1d41ffc3c --- /dev/null +++ b/easybuild/easyconfigs/s/SQLite/SQLite-3.45.3-GCCcore-13.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'SQLite' +version = '3.45.3' +local_filename_version = '3450300' + +homepage = 'https://www.sqlite.org/' +description = "SQLite: SQL Database Engine in a C Library" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.sqlite.org/2024/'] +sources = ['%%(namelower)s-autoconf-%s.tar.gz' % (local_filename_version)] +checksums = ['b2809ca53124c19c60f42bf627736eae011afdcc205bb48270a5ee9a38191531'] + +builddependencies = [ + ('binutils', '2.42'), +] +dependencies = [ + ('libreadline', '8.2'), + ('Tcl', '8.6.14'), +] + +# enable additional APIs that provide access to meta-data about tables and queries +# needed for GDAL when it used as a dep for QGIS +buildopts = 'CC="$CC" CFLAGS="$CFLAGS -DSQLITE_ENABLE_COLUMN_METADATA"' + +sanity_check_paths = { + 'files': ['bin/sqlite3', 'include/sqlite3ext.h', 'include/sqlite3.h', + 'lib/libsqlite3.a', 'lib/libsqlite3.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +sanity_check_commands = [ + 'sqlite3 --version | grep ^%(version)s', +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.14-GCCcore-13.3.0.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.14-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..e81b854198b --- /dev/null +++ b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.14-GCCcore-13.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'Tcl' +version = '8.6.14' + +homepage = 'https://www.tcl.tk/' +description = """ + Tcl (Tool Command Language) is a very powerful but easy to learn dynamic + programming language, suitable for a very wide range of uses, including web + and desktop applications, networking, administration, testing and many more. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] +sources = ['%(namelower)s%(version)s-src.tar.gz'] +checksums = ['5880225babf7954c58d4fb0f5cf6279104ce1cd6aa9b71e9a6322540e1c4de66'] + +builddependencies = [ + ('binutils', '2.42'), +] +dependencies = [ + ('zlib', '1.3.1'), +] + +configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' + +runtest = 'test' + +start_dir = 'unix' + +postinstallcmds = ['ln -s %(installdir)s/bin/tclsh%(version_major)s.%(version_minor)s %(installdir)s/bin/tclsh'] + +sanity_check_paths = { + 'files': ['bin/tclsh%(version_major)s.%(version_minor)s', 'bin/tclsh', + 'include/tcl.h', 'lib/libtcl%%(version_major)s.%%(version_minor)s.%s' % SHLIB_EXT, + 'lib/tclConfig.sh', 'man/man1/tclsh.1'], + 'dirs': ['share'], +} + +moduleclass = 'lang' From 8fa6a5317e84d54c0e0ab668c7063b6694b55b5a Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Wed, 22 May 2024 09:46:24 +0200 Subject: [PATCH 651/889] adding easyconfigs: Ninja-1.12.1-GCCcore-13.3.0.eb, Meson-1.4.0-GCCcore-13.3.0.eb, libpciaccess-0.18.1-GCCcore-13.3.0.eb --- .../libpciaccess-0.18.1-GCCcore-13.3.0.eb | 29 +++++++++++++++ .../m/Meson/Meson-1.4.0-GCCcore-13.3.0.eb | 36 +++++++++++++++++++ .../n/Ninja/Ninja-1.12.1-GCCcore-13.3.0.eb | 31 ++++++++++++++++ 3 files changed, 96 insertions(+) create mode 100644 easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.18.1-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/m/Meson/Meson-1.4.0-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/n/Ninja/Ninja-1.12.1-GCCcore-13.3.0.eb diff --git a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.18.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.18.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..7b1be7bc436 --- /dev/null +++ b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.18.1-GCCcore-13.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'MesonNinja' + +name = 'libpciaccess' +version = '0.18.1' + +homepage = 'https://cgit.freedesktop.org/xorg/lib/libpciaccess/' +description = """Generic PCI access library.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://www.x.org/releases/individual/lib/'] +sources = [SOURCE_TAR_XZ] +checksums = ['4af43444b38adb5545d0ed1c2ce46d9608cc47b31c2387fc5181656765a6fa76'] + +builddependencies = [ + ('binutils', '2.42'), + ('Meson', '1.4.0'), + ('Ninja', '1.12.1'), + ('xorg-macros', '1.20.1'), +] + +configopts = "--default-library=both" # static and shared library + +sanity_check_paths = { + 'files': ['include/pciaccess.h', 'lib/libpciaccess.a'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/m/Meson/Meson-1.4.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/m/Meson/Meson-1.4.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..7e8d5b0b7bb --- /dev/null +++ b/easybuild/easyconfigs/m/Meson/Meson-1.4.0-GCCcore-13.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonPackage' + +name = 'Meson' +version = '1.4.0' + +homepage = 'https://mesonbuild.com' +description = "Meson is a cross-platform build system designed to be both as fast and as user friendly as possible." + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['8fd6630c25c27f1489a8a0392b311a60481a3c161aa699b330e25935b750138d'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('Python', '3.12.3'), # includes required 'wheel' package + ('Ninja', '1.12.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'mesonbuild'} + +sanity_check_paths = { + 'files': ['bin/meson'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["meson --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/Ninja/Ninja-1.12.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/n/Ninja/Ninja-1.12.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..9e6a998f707 --- /dev/null +++ b/easybuild/easyconfigs/n/Ninja/Ninja-1.12.1-GCCcore-13.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CmdCp' + +name = 'Ninja' +version = '1.12.1' + +homepage = 'https://ninja-build.org/' +description = "Ninja is a small build system with a focus on speed." + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/ninja-build/ninja/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['821bdff48a3f683bc4bb3b6f0b5fe7b2d647cf65d52aeb63328c91a6c6df285a'] + +builddependencies = [ + ('binutils', '2.42'), + ('Python', '3.12.3'), +] + +cmds_map = [('.*', "./configure.py --bootstrap")] + +files_to_copy = [(['ninja'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/ninja'], + 'dirs': [], +} + +sanity_check_commands = ["ninja --version"] + +moduleclass = 'tools' From 4b23cc15ba0e7d082ebe0fcd4d8c4ecb5c340128 Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Wed, 22 May 2024 09:49:54 +0200 Subject: [PATCH 652/889] adding easyconfigs: hwloc-2.10.0-GCCcore-13.3.0.eb, UCX-1.16.0-GCCcore-13.3.0.eb, UCC-1.3.0-GCCcore-13.3.0.eb --- .../h/hwloc/hwloc-2.10.0-GCCcore-13.3.0.eb | 44 +++++++++++++++ .../u/UCC/UCC-1.3.0-GCCcore-13.3.0.eb | 41 ++++++++++++++ .../u/UCX/UCX-1.16.0-GCCcore-13.3.0.eb | 54 +++++++++++++++++++ 3 files changed, 139 insertions(+) create mode 100644 easybuild/easyconfigs/h/hwloc/hwloc-2.10.0-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/u/UCC/UCC-1.3.0-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.3.0.eb diff --git a/easybuild/easyconfigs/h/hwloc/hwloc-2.10.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/h/hwloc/hwloc-2.10.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..cbe85325933 --- /dev/null +++ b/easybuild/easyconfigs/h/hwloc/hwloc-2.10.0-GCCcore-13.3.0.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'hwloc' +version = '2.10.0' + +homepage = 'https://www.open-mpi.org/projects/hwloc/' + +description = """ + The Portable Hardware Locality (hwloc) software package provides a portable + abstraction (across OS, versions, architectures, ...) of the hierarchical + topology of modern architectures, including NUMA memory nodes, sockets, shared + caches, cores and simultaneous multithreading. It also gathers various system + attributes such as cache and memory information as well as the locality of I/O + devices such as network interfaces, InfiniBand HCAs or GPUs. It primarily + aims at helping applications with gathering information about modern computing + hardware so as to exploit it accordingly and efficiently. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://www.open-mpi.org/software/hwloc/v%(version_major_minor)s/downloads/'] +sources = [SOURCE_TAR_GZ] +checksums = ['c7fd8a1404a9719c76aadc642864b9f77aed1dc1fc8882d6af861a9260ba240d'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('numactl', '2.0.18'), + ('libxml2', '2.12.7'), + ('libpciaccess', '0.18.1'), +] + +configopts = "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " + +sanity_check_paths = { + 'files': ['bin/lstopo', 'include/hwloc/linux.h', + 'lib/libhwloc.%s' % SHLIB_EXT], + 'dirs': ['share/man/man3'], +} +sanity_check_commands = ['lstopo'] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/u/UCC/UCC-1.3.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/u/UCC/UCC-1.3.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..57314f2667e --- /dev/null +++ b/easybuild/easyconfigs/u/UCC/UCC-1.3.0-GCCcore-13.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'UCC' +version = '1.3.0' + +homepage = 'https://www.openucx.org/' +description = """UCC (Unified Collective Communication) is a collective +communication operations API and library that is flexible, complete, and +feature-rich for current and emerging programming models and runtimes. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucc/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +patches = ['UCC-1.1.0-multiple_component_paths.patch'] +checksums = [ + {'v1.3.0.tar.gz': 'b56379abe5f1c125bfa83be305d78d81a64aa271b7b5fff0ac17b86725ff3acf'}, + {'UCC-1.1.0-multiple_component_paths.patch': '3081d0f694331daa4a88a0fa3fb54b9a918015248ae5eb7b3157b924abd31bee'}, +] + +builddependencies = [ + ('binutils', '2.42'), + ('Autotools', '20231222'), +] + +dependencies = [ + ('UCX', '1.16.0'), +] + +preconfigopts = "./autogen.sh && " + +sanity_check_paths = { + 'files': ['bin/ucc_info'], + 'dirs': ['include', 'lib'] +} + +sanity_check_commands = ["ucc_info -c"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..dcab7f5a125 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.3.0.eb @@ -0,0 +1,54 @@ +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.16.0' + +homepage = 'https://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = ['%(namelower)s-%(version)s.tar.gz'] +patches = [ + 'UCX-1.13.1-dynamic_modules.patch', +] +checksums = [ + {'ucx-1.16.0.tar.gz': 'f73770d3b583c91aba5fb07557e655ead0786e057018bfe42f0ebe8716e9d28c'}, + {'UCX-1.13.1-dynamic_modules.patch': '00874687bd90b795fff61aaa183f6c6bea2210aa1003b28f23d9ebf7066f8782'}, +] + +# Uncomment when updating to final release +# sources = ['%(namelower)s-%(version)s.tar.gz'] +builddependencies = [ + ('binutils', '2.42'), + ('Autotools', '20231222'), + ('pkgconf', '2.2.0'), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +dependencies = [ + ('zlib', '1.3.1'), + ('numactl', '2.0.18'), +] + +configure_cmd = "contrib/configure-release" + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' +configopts += '--without-java --without-go --disable-doxygen-doc ' + +buildopts = 'V=1' + +sanity_check_paths = { + 'files': ['bin/ucx_info', 'bin/ucx_perftest', 'bin/ucx_read_profile'], + 'dirs': ['include', 'lib', 'share'] +} + +sanity_check_commands = ["ucx_info -d"] + +moduleclass = 'lib' From 3a63188bc94f3e01a58e0fce126f99ad1f661ed2 Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Wed, 22 May 2024 10:10:15 +0200 Subject: [PATCH 653/889] adding easyconfigs: pkgconf-2.2.0.eb --- .../easyconfigs/p/pkgconf/pkgconf-2.2.0.eb | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 easybuild/easyconfigs/p/pkgconf/pkgconf-2.2.0.eb diff --git a/easybuild/easyconfigs/p/pkgconf/pkgconf-2.2.0.eb b/easybuild/easyconfigs/p/pkgconf/pkgconf-2.2.0.eb new file mode 100644 index 00000000000..3440e388cc3 --- /dev/null +++ b/easybuild/easyconfigs/p/pkgconf/pkgconf-2.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'pkgconf' +version = '2.2.0' + +homepage = 'https://github.com/pkgconf/pkgconf' + +description = """pkgconf is a program which helps to configure compiler and linker flags for development libraries. + It is similar to pkg-config from freedesktop.org.""" + +toolchain = SYSTEM + +source_urls = ['https://distfiles.ariadne.space/pkgconf/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['28f8dfc279a10ef66148befa3f6eb266e5f3570316600208ed50e9781c7269d8'] + +# add pkgconfig directories in the system to list of default search paths +preconfigopts = 'EB_SYS_PC_PATH=":$(find /usr -xdev -type d -name "pkgconfig" -printf %p: 2>/dev/null)";' +configopts = '--with-pkg-config-dir="%(installdir)s/lib/pkgconfig:%(installdir)s/share/pkgconfig${EB_SYS_PC_PATH%:}"' + +postinstallcmds = ["cd %(installdir)s/bin && ln -s pkgconf pkg-config"] + +sanity_check_paths = { + 'files': ['bin/pkg-config', 'bin/pkgconf'], + 'dirs': [], +} + +sanity_check_commands = [ + "pkg-config --help", + "pkgconf --help", +] + +moduleclass = 'devel' From 1c4cb4773a644152affb02b8e32657ad6e957a3a Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Wed, 22 May 2024 10:15:17 +0200 Subject: [PATCH 654/889] downgrade ipympl v0.9.3 from foss/2023a to gfbf/2023a --- .../{ipympl-0.9.3-foss-2023a.eb => ipympl-0.9.3-gfbf-2023a.eb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename easybuild/easyconfigs/i/ipympl/{ipympl-0.9.3-foss-2023a.eb => ipympl-0.9.3-gfbf-2023a.eb} (94%) diff --git a/easybuild/easyconfigs/i/ipympl/ipympl-0.9.3-foss-2023a.eb b/easybuild/easyconfigs/i/ipympl/ipympl-0.9.3-gfbf-2023a.eb similarity index 94% rename from easybuild/easyconfigs/i/ipympl/ipympl-0.9.3-foss-2023a.eb rename to easybuild/easyconfigs/i/ipympl/ipympl-0.9.3-gfbf-2023a.eb index e3b6c4b7437..68d3363edf3 100644 --- a/easybuild/easyconfigs/i/ipympl/ipympl-0.9.3-foss-2023a.eb +++ b/easybuild/easyconfigs/i/ipympl/ipympl-0.9.3-gfbf-2023a.eb @@ -10,7 +10,7 @@ Besides, the figure canvas element is a proper Jupyter interactive widget which can be positioned in interactive widget layouts. """ -toolchain = {'name': 'foss', 'version': '2023a'} +toolchain = {'name': 'gfbf', 'version': '2023a'} dependencies = [ ('Python', '3.11.3'), From c78d31d5a7eac87478491ca59764ee838f764972 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Wed, 22 May 2024 10:18:19 +0200 Subject: [PATCH 655/889] use EB_ENV_JUPYTER_ROOT to configure Jupyter environment in ipympl-0.9.3-gfbf-2023a.eb --- easybuild/easyconfigs/i/ipympl/ipympl-0.9.3-gfbf-2023a.eb | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/i/ipympl/ipympl-0.9.3-gfbf-2023a.eb b/easybuild/easyconfigs/i/ipympl/ipympl-0.9.3-gfbf-2023a.eb index 68d3363edf3..47ab1aff28c 100644 --- a/easybuild/easyconfigs/i/ipympl/ipympl-0.9.3-gfbf-2023a.eb +++ b/easybuild/easyconfigs/i/ipympl/ipympl-0.9.3-gfbf-2023a.eb @@ -29,9 +29,6 @@ exts_list = [ }), ] -modextrapaths = { - 'JUPYTER_PATH': 'share/jupyter', - 'JUPYTER_CONFIG_PATH': 'etc/jupyter', -} +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} moduleclass = 'tools' From 150d7104e26c976115e40f213c688825ef62b4fd Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Wed, 22 May 2024 10:41:52 +0200 Subject: [PATCH 656/889] adding easyconfigs: xorg-macros-1.20.1-GCCcore-13.3.0.eb --- .../xorg-macros-1.20.1-GCCcore-13.3.0.eb | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.20.1-GCCcore-13.3.0.eb diff --git a/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.20.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.20.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..9d1905e4d33 --- /dev/null +++ b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.20.1-GCCcore-13.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'xorg-macros' +version = '1.20.1' + +homepage = 'https://gitlab.freedesktop.org/xorg/util/macros' +description = """X.org macros utilities.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://gitlab.freedesktop.org/xorg/util/macros/-/archive/util-macros-%(version)s'] +sources = ['macros-util-macros-%(version)s.tar.gz'] +checksums = ['95c4331a2a7f4882374b9bbc845e522a4f1c77d95f495176300bf91d905c9b60'] + +builddependencies = [ + ('binutils', '2.42'), + ('Autotools', '20231222'), +] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['share/pkgconfig/xorg-macros.pc'], + 'dirs': [], +} + +moduleclass = 'devel' From 5b476bacd90784c92a1aff5744fcad262b2c4266 Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Wed, 22 May 2024 11:28:06 +0200 Subject: [PATCH 657/889] only use PSM2 in libfabric on x86_64 --- .../easyconfigs/l/libfabric/libfabric-1.21.0-GCCcore-13.3.0.eb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.21.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.21.0-GCCcore-13.3.0.eb index 6a38b5194a8..e413debead5 100644 --- a/easybuild/easyconfigs/l/libfabric/libfabric-1.21.0-GCCcore-13.3.0.eb +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.21.0-GCCcore-13.3.0.eb @@ -29,7 +29,8 @@ builddependencies = [ dependencies = [ ('numactl', '2.0.18'), - ('PSM2', '12.0.1'), + # PSM2 is deprecated and only compiles on x86_64 + ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), ] osdependencies = [OS_PKG_IBVERBS_DEV] From 3d8c2167370daad44616e3ba672c893e5da971ee Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Wed, 22 May 2024 13:10:50 +0200 Subject: [PATCH 658/889] only use PSM2 in libfabric on x86_64 --- .../easyconfigs/l/libfabric/libfabric-1.21.0-GCCcore-13.3.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.21.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.21.0-GCCcore-13.3.0.eb index e413debead5..812a66d1fc6 100644 --- a/easybuild/easyconfigs/l/libfabric/libfabric-1.21.0-GCCcore-13.3.0.eb +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.21.0-GCCcore-13.3.0.eb @@ -29,7 +29,7 @@ builddependencies = [ dependencies = [ ('numactl', '2.0.18'), - # PSM2 is deprecated and only compiles on x86_64 + # PSM2 only compiles on x86_64 ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), ] From 8aa655b4562b016d7bbfb2aded8c2110fc46be3a Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Wed, 22 May 2024 13:16:47 +0200 Subject: [PATCH 659/889] use PSM2 dependency in libfabric only on x86_64 --- .../easyconfigs/l/libfabric/libfabric-1.12.1-GCCcore-10.3.0.eb | 3 ++- .../easyconfigs/l/libfabric/libfabric-1.13.0-GCCcore-11.2.0.eb | 3 ++- .../easyconfigs/l/libfabric/libfabric-1.13.1-GCCcore-11.2.0.eb | 3 ++- .../easyconfigs/l/libfabric/libfabric-1.13.2-GCCcore-11.2.0.eb | 3 ++- .../easyconfigs/l/libfabric/libfabric-1.15.1-GCCcore-11.3.0.eb | 3 ++- .../easyconfigs/l/libfabric/libfabric-1.16.1-GCCcore-12.2.0.eb | 3 ++- .../easyconfigs/l/libfabric/libfabric-1.18.0-GCCcore-12.3.0.eb | 3 ++- .../easyconfigs/l/libfabric/libfabric-1.19.0-GCCcore-13.2.0.eb | 3 ++- 8 files changed, 16 insertions(+), 8 deletions(-) diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.12.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.12.1-GCCcore-10.3.0.eb index 553ff1edf76..d6b9ee2d4d0 100644 --- a/easybuild/easyconfigs/l/libfabric/libfabric-1.12.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.12.1-GCCcore-10.3.0.eb @@ -43,7 +43,8 @@ builddependencies = [ dependencies = [ ('numactl', '2.0.14'), - ('PSM2', '12.0.1'), + # PSM2 only compiles on x86_64 + ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), ] osdependencies = [OS_PKG_IBVERBS_DEV] diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.13.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.13.0-GCCcore-11.2.0.eb index 9eed1d10b73..14f9ebd2d66 100644 --- a/easybuild/easyconfigs/l/libfabric/libfabric-1.13.0-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.13.0-GCCcore-11.2.0.eb @@ -37,7 +37,8 @@ builddependencies = [ dependencies = [ ('numactl', '2.0.14'), - ('PSM2', '12.0.1'), + # PSM2 only compiles on x86_64 + ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), ] osdependencies = [OS_PKG_IBVERBS_DEV] diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.13.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.13.1-GCCcore-11.2.0.eb index 103995357f0..201bf1174aa 100644 --- a/easybuild/easyconfigs/l/libfabric/libfabric-1.13.1-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.13.1-GCCcore-11.2.0.eb @@ -37,7 +37,8 @@ builddependencies = [ dependencies = [ ('numactl', '2.0.14'), - ('PSM2', '12.0.1'), + # PSM2 only compiles on x86_64 + ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), ] osdependencies = [OS_PKG_IBVERBS_DEV] diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.13.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.13.2-GCCcore-11.2.0.eb index 8ec4cbdf361..019d41c069e 100644 --- a/easybuild/easyconfigs/l/libfabric/libfabric-1.13.2-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.13.2-GCCcore-11.2.0.eb @@ -37,7 +37,8 @@ builddependencies = [ dependencies = [ ('numactl', '2.0.14'), - ('PSM2', '12.0.1'), + # PSM2 only compiles on x86_64 + ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), ] osdependencies = [OS_PKG_IBVERBS_DEV] diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.15.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.15.1-GCCcore-11.3.0.eb index 20d2cd53407..f25fb5b5f99 100644 --- a/easybuild/easyconfigs/l/libfabric/libfabric-1.15.1-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.15.1-GCCcore-11.3.0.eb @@ -37,7 +37,8 @@ builddependencies = [ dependencies = [ ('numactl', '2.0.14'), - ('PSM2', '12.0.1'), + # PSM2 only compiles on x86_64 + ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), ] osdependencies = [OS_PKG_IBVERBS_DEV] diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.16.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.16.1-GCCcore-12.2.0.eb index d554608ff27..fc8aec7b0ca 100644 --- a/easybuild/easyconfigs/l/libfabric/libfabric-1.16.1-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.16.1-GCCcore-12.2.0.eb @@ -34,7 +34,8 @@ builddependencies = [ dependencies = [ ('numactl', '2.0.16'), - ('PSM2', '12.0.1'), + # PSM2 only compiles on x86_64 + ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), ] osdependencies = [OS_PKG_IBVERBS_DEV] diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.18.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.18.0-GCCcore-12.3.0.eb index abb669e3494..5ed720b072e 100644 --- a/easybuild/easyconfigs/l/libfabric/libfabric-1.18.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.18.0-GCCcore-12.3.0.eb @@ -34,7 +34,8 @@ builddependencies = [ dependencies = [ ('numactl', '2.0.16'), - ('PSM2', '12.0.1'), + # PSM2 only compiles on x86_64 + ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), ] osdependencies = [OS_PKG_IBVERBS_DEV] diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.19.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.19.0-GCCcore-13.2.0.eb index ea4530cbc2b..24f37e05aaa 100644 --- a/easybuild/easyconfigs/l/libfabric/libfabric-1.19.0-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.19.0-GCCcore-13.2.0.eb @@ -34,7 +34,8 @@ builddependencies = [ dependencies = [ ('numactl', '2.0.16'), - ('PSM2', '12.0.1'), + # PSM2 only compiles on x86_64 + ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), ] osdependencies = [OS_PKG_IBVERBS_DEV] From dace2a26a43e838f1376ada37f485ca93c9c9818 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Wed, 22 May 2024 14:00:04 +0200 Subject: [PATCH 660/889] remove ipympl-0.9.3-foss-2023a.eb in favour of ipympl-0.9.3-gfbf-2023a.eb --- .../i/ipympl/ipympl-0.9.3-foss-2023a.eb | 37 ------------------- 1 file changed, 37 deletions(-) delete mode 100644 easybuild/easyconfigs/i/ipympl/ipympl-0.9.3-foss-2023a.eb diff --git a/easybuild/easyconfigs/i/ipympl/ipympl-0.9.3-foss-2023a.eb b/easybuild/easyconfigs/i/ipympl/ipympl-0.9.3-foss-2023a.eb deleted file mode 100644 index e3b6c4b7437..00000000000 --- a/easybuild/easyconfigs/i/ipympl/ipympl-0.9.3-foss-2023a.eb +++ /dev/null @@ -1,37 +0,0 @@ -easyblock = 'PythonBundle' - -name = 'ipympl' -version = '0.9.3' - -homepage = 'https://matplotlib.org/ipympl' -description = """Leveraging the Jupyter interactive widgets framework, ipympl enables the -interactive features of matplotlib in the Jupyter notebook and in JupyterLab. -Besides, the figure canvas element is a proper Jupyter interactive widget which -can be positioned in interactive widget layouts. -""" - -toolchain = {'name': 'foss', 'version': '2023a'} - -dependencies = [ - ('Python', '3.11.3'), - ('JupyterLab', '4.0.5'), - ('matplotlib', '3.7.2'), - ('Pillow', '10.0.0'), -] - -sanity_pip_check = True -use_pip = True - -exts_list = [ - (name, version, { - 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', - 'checksums': ['d113cd55891bafe9b27ef99b6dd111a87beb6bb2ae550c404292272103be8013'], - }), -] - -modextrapaths = { - 'JUPYTER_PATH': 'share/jupyter', - 'JUPYTER_CONFIG_PATH': 'etc/jupyter', -} - -moduleclass = 'tools' From 8b8437c4b68a7a143fe3944b981f399700cf51f3 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Wed, 22 May 2024 14:19:43 +0200 Subject: [PATCH 661/889] rename tornado-timeouts.patch to tornado-6.1_increase-default-timeouts.patch --- ...s.patch => tornado-6.1_increase-default-timeouts.patch} | 7 ++++--- .../easyconfigs/t/tornado/tornado-6.3.2-GCCcore-12.3.0.eb | 4 ++-- .../easyconfigs/t/tornado/tornado-6.4-GCCcore-13.2.0.eb | 4 ++-- 3 files changed, 8 insertions(+), 7 deletions(-) rename easybuild/easyconfigs/t/tornado/{tornado-timeouts.patch => tornado-6.1_increase-default-timeouts.patch} (65%) diff --git a/easybuild/easyconfigs/t/tornado/tornado-timeouts.patch b/easybuild/easyconfigs/t/tornado/tornado-6.1_increase-default-timeouts.patch similarity index 65% rename from easybuild/easyconfigs/t/tornado/tornado-timeouts.patch rename to easybuild/easyconfigs/t/tornado/tornado-6.1_increase-default-timeouts.patch index 635fa6d7143..1fc291ae62e 100644 --- a/easybuild/easyconfigs/t/tornado/tornado-timeouts.patch +++ b/easybuild/easyconfigs/t/tornado/tornado-6.1_increase-default-timeouts.patch @@ -1,7 +1,8 @@ -# Increase timeouts to prevent tornado from killing jupyter on compute nodes +Increase timeouts to prevent tornado from killing jupyter server on compute nodes +author: Alexandre Strube diff -Naur tornado.orig/tornado-6.1/tornado/httpclient.py tornado/tornado-6.1/tornado/httpclient.py ---- tornado.orig/tornado-6.1/tornado/httpclient.py 2020-10-30 21:17:45.000000000 +0100 -+++ tornado/tornado-6.1/tornado/httpclient.py 2022-05-01 22:01:50.923741948 +0200 +--- a/tornado/httpclient.py 2020-10-30 21:17:45.000000000 +0100 ++++ b/tornado/httpclient.py 2022-05-01 22:01:50.923741948 +0200 @@ -345,8 +345,8 @@ # Merged with the values on the request object by AsyncHTTPClient # implementations. diff --git a/easybuild/easyconfigs/t/tornado/tornado-6.3.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/tornado/tornado-6.3.2-GCCcore-12.3.0.eb index 9fd6757d976..eab25faf448 100644 --- a/easybuild/easyconfigs/t/tornado/tornado-6.3.2-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/t/tornado/tornado-6.3.2-GCCcore-12.3.0.eb @@ -9,10 +9,10 @@ description = "Tornado is a Python web framework and asynchronous networking lib toolchain = {"name": "GCCcore", "version": "12.3.0"} sources = [SOURCE_TAR_GZ] -patches = ['tornado-timeouts.patch'] +patches = ['tornado-6.1_increase-default-timeouts.patch'] checksums = [ {'tornado-6.3.2.tar.gz': '4b927c4f19b71e627b13f3db2324e4ae660527143f9e1f2e2fb404f3a187e2ba'}, - {'tornado-timeouts.patch': 'dd97748cb80506b36570f1274b19c8fc53d81e15f0eb2c5b6d0ba9d80141af34'}, + {'tornado-6.1_increase-default-timeouts.patch': '32e09dd8243acb8c55162f361880dc294d76770a7ff083c05aef6b8660e3bfb9'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/t/tornado/tornado-6.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/t/tornado/tornado-6.4-GCCcore-13.2.0.eb index 991b01b563c..38b085529bf 100644 --- a/easybuild/easyconfigs/t/tornado/tornado-6.4-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/t/tornado/tornado-6.4-GCCcore-13.2.0.eb @@ -9,10 +9,10 @@ description = "Tornado is a Python web framework and asynchronous networking lib toolchain = {"name": "GCCcore", "version": "13.2.0"} sources = [SOURCE_TAR_GZ] -patches = ['tornado-timeouts.patch'] +patches = ['tornado-6.1_increase-default-timeouts.patch'] checksums = [ {'tornado-6.4.tar.gz': '72291fa6e6bc84e626589f1c29d90a5a6d593ef5ae68052ee2ef000dfd273dee'}, - {'tornado-timeouts.patch': 'dd97748cb80506b36570f1274b19c8fc53d81e15f0eb2c5b6d0ba9d80141af34'}, + {'tornado-6.1_increase-default-timeouts.patch': '32e09dd8243acb8c55162f361880dc294d76770a7ff083c05aef6b8660e3bfb9'}, ] builddependencies = [ From 9ad2b3b5b674d852be22cd6e13ebfad9d0d7eafb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Wed, 22 May 2024 14:37:33 +0200 Subject: [PATCH 662/889] adding easyconfigs: nauty-2.8.8-GCC-13.2.0.eb --- .../n/nauty/nauty-2.8.8-GCC-13.2.0.eb | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 easybuild/easyconfigs/n/nauty/nauty-2.8.8-GCC-13.2.0.eb diff --git a/easybuild/easyconfigs/n/nauty/nauty-2.8.8-GCC-13.2.0.eb b/easybuild/easyconfigs/n/nauty/nauty-2.8.8-GCC-13.2.0.eb new file mode 100644 index 00000000000..66a269da4e9 --- /dev/null +++ b/easybuild/easyconfigs/n/nauty/nauty-2.8.8-GCC-13.2.0.eb @@ -0,0 +1,53 @@ +easyblock = 'MakeCp' + +name = 'nauty' +version = '2.8.8' + +homepage = 'https://pallini.di.uniroma1.it/' +description = """nauty and Traces are programs for computing automorphism groups of graphs and +digraphs. They can also produce a canonical label.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://pallini.di.uniroma1.it'] +sources = ['nauty%s.tar.gz' % version.replace('.', '_')] +checksums = ['159d2156810a6bb240410cd61eb641add85088d9f15c888cdaa37b8681f929ce'] + +local_executables = [ + 'addedgeg', 'amtog', 'assembleg', 'biplabg', 'catg', 'complg', 'converseg', 'copyg', 'countg', 'cubhamg', + 'deledgeg', 'delptg', 'directg', 'dreadnaut', 'dretodot', 'dretog', 'edgetransg', 'genbg', 'genbgL', 'geng', + 'gengL', 'genquarticg', 'genrang', 'genspecialg', 'gentourng', 'gentreeg', 'hamheuristic', 'labelg', 'linegraphg', + 'listg', 'multig', 'newedgeg', 'NRswitchg', 'pickg', 'planarg', 'ranlabg', 'shortg', 'showg', 'subdivideg', + 'twohamg', 'underlyingg', 'vcolg', 'watercluster2' +] +local_headers = [ + 'gtools.h', 'gutils.h', 'naugroup.h', 'naugstrings.h', 'naurng.h', 'nausparse.h', 'nautaux.h', 'nautinv.h', + 'naututil.h', 'nautycliquer.h', 'nauty.h', 'planarity.h', 'quarticirred28.h', 'schreier.h', 'traces.h' +] +local_libs = ['nauty%s.a' % l for l in ['', '1', 'L', 'L1', 'W', 'W1']] + +# Configure and enable thread-local variables +prebuildopts = "./configure --enable-tls && " + +runtest = "checks" + +files_to_copy = [ + (local_executables, "bin"), + (local_headers, "include/%(name)s"), + (local_libs, "lib"), +] + +# prepend "lib" to library files to standarize their name +postinstallcmds = ["cd %%(installdir)s/lib/ && mv %s lib%s" % (l, l) for l in local_libs] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_executables] + + ['include/%%(name)s/%s' % h for h in local_headers] + + ['lib/lib%s' % l for l in local_libs], + 'dirs': [''] +} + +sanity_check_commands = ["dreadnaut --help"] + +moduleclass = 'math' From c2743abccc91176beb356f6c0e4c0b80aa701c4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Wed, 22 May 2024 14:39:35 +0200 Subject: [PATCH 663/889] adding easyconfigs: lrslib-7.2-gompi-2023b.eb --- .../l/lrslib/lrslib-7.2-gompi-2023b.eb | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 easybuild/easyconfigs/l/lrslib/lrslib-7.2-gompi-2023b.eb diff --git a/easybuild/easyconfigs/l/lrslib/lrslib-7.2-gompi-2023b.eb b/easybuild/easyconfigs/l/lrslib/lrslib-7.2-gompi-2023b.eb new file mode 100644 index 00000000000..ba6714df325 --- /dev/null +++ b/easybuild/easyconfigs/l/lrslib/lrslib-7.2-gompi-2023b.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'lrslib' +version = '7.2' + +homepage = 'http://cgm.cs.mcgill.ca/~avis/C/lrs.html' +description = """lrslib is a self-contained ANSI C implementation of the +reverse search algorithm for vertex enumeration/convex hull problems""" + +toolchain = {'name': 'gompi', 'version': '2023b'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['http://cgm.cs.mcgill.ca/~avis/C/lrslib/archive/'] +sources = ['lrslib-0%(version_major)s%(version_minor)s.tar.gz'] +patches = ['lrslib-%(version)s-use-EB-values.patch'] +checksums = [ + {'lrslib-072.tar.gz': 'fc48754a1ded1d8445d40ecfbe3546e4f27d53aaee95dc2c8c0c79fb9cd532f0'}, + {'lrslib-7.2-use-EB-values.patch': '16b0b4d987a751a45c7961bb7e0cb12aac50410a562dab3299335186456ab2ad'}, +] + +dependencies = [ + ('GMP', '6.3.0'), +] + +skipsteps = ['configure'] + +# Default built plus mplrs +buildopts = 'lrs lrsgmp mplrs CFLAGS="$CFLAGS"' + +installopts = 'prefix=%(installdir)s' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['lrs', 'lrsnash']] + + ['include/lrslib/lrs%s.h' % h for h in ['driver', 'gmp', 'lib', 'long', 'mp', 'restart']] + + ['lib/liblrs.%s' % SHLIB_EXT], + 'dirs': [] +} + +sanity_check_commands = ["lrsnash --help 2>&1 | grep 'usage.*lrsnash'"] + +moduleclass = 'math' From 522078b4a3cbd61334e4a682ea7fcd9970901f4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Wed, 22 May 2024 14:41:09 +0200 Subject: [PATCH 664/889] adding easyconfigs: HOMER-4.11-foss-2023a-R-4.3.2.eb --- .../h/HOMER/HOMER-4.11-foss-2023a-R-4.3.2.eb | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 easybuild/easyconfigs/h/HOMER/HOMER-4.11-foss-2023a-R-4.3.2.eb diff --git a/easybuild/easyconfigs/h/HOMER/HOMER-4.11-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/h/HOMER/HOMER-4.11-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..adc0de86b83 --- /dev/null +++ b/easybuild/easyconfigs/h/HOMER/HOMER-4.11-foss-2023a-R-4.3.2.eb @@ -0,0 +1,43 @@ +easyblock = 'Binary' + +name = 'HOMER' +version = '4.11' +versionsuffix = '-R-%(rver)s' + +homepage = "http://homer.ucsd.edu/homer/" +description = """HOMER (Hypergeometric Optimization of Motif EnRichment) is a suite of tools for Motif Discovery and + next-gen sequencing analysis. It is a collection of command line programs for unix-style operating systems written + in Perl and C++. HOMER was primarily written as a de novo motif discovery algorithm and is well suited for finding + 8-20 bp motifs in large scale genomics data. HOMER contains many useful tools for analyzing ChIP-Seq, GRO-Seq, + RNA-Seq, DNase-Seq, Hi-C and numerous other types of functional genomics sequencing data sets.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['http://homer.ucsd.edu/homer'] +sources = ['configureHomer.pl'] +checksums = ['ccdaa3004a0e0df0882634671d4a1acc88364761e0e6c7ea329ebbf1eb729537'] + +dependencies = [ + ('Perl', '5.36.1'), + ('R', '4.3.2'), + ('SAMtools', '1.18'), + ('R-bundle-Bioconductor', '3.18', versionsuffix) +] + +postinstallcmds = ["cd %(installdir)s && perl ./configureHomer.pl -install -all"] + +sanity_check_paths = { + 'files': [ + 'bin/homer', + 'bin/getGenomeTilingPeaks', + 'config.txt', + 'DoughnutDocumentation.pdf', + 'data/accession/homologene.data', + 'motifs/hnf1b.motif', + ], + 'dirs': ['bin', 'data', 'motifs', 'update'], +} + +sanity_check_commands = ["%(namelower)s --help"] + +moduleclass = 'bio' From c183b3a463ba6e42c80a53ae8cd924a38af9f8a1 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Wed, 22 May 2024 17:43:25 +0200 Subject: [PATCH 665/889] adding easyconfigs: ESPResSo-4.2.2-foss-2023a.eb --- .../e/ESPResSo/ESPResSo-4.2.2-foss-2023a.eb | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023a.eb diff --git a/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023a.eb b/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023a.eb new file mode 100644 index 00000000000..882734e53b5 --- /dev/null +++ b/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023a.eb @@ -0,0 +1,60 @@ +easyblock = 'CMakeMake' + +name = 'ESPResSo' +version = '4.2.2' + +homepage = 'https://espressomd.org/wordpress' +description = """A software package for performing and analyzing scientific Molecular Dynamics simulations.""" + +source_urls = ['https://github.com/espressomd/espresso/releases/download/%(version)s/'] +sources = ['%(namelower)s-%(version)s.tar.gz'] +#patches = ['ESPResSo-4.2.1_fix-setuptools-pkg_resources.patch'] +checksums = [ + {'espresso-4.2.2.tar.gz': '2bc02f91632b0030f1203759768bd718bd8a0005f72696980b12331b4bfa0d76'}, +# {'ESPResSo-4.2.1_fix-setuptools-pkg_resources.patch': +# '0c528ab36dee10c6f310910269427e409ca40730ddaa7a9fe93ec135b3031fc4'}, +] + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True, 'pic': True} + +builddependencies = [('CMake', '3.26.3')] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Boost.MPI', '1.82.0'), + ('HDF5', '1.14.0'), + ('Mesa', '23.1.4'), + ('GSL', '2.7'), + ('IPython', '8.14.0'), + ('Pint', '0.23'), +] + +configopts = ' -DCMAKE_SKIP_RPATH=OFF -DWITH_TESTS=ON -DWITH_CUDA=OFF' +# make sure the right Python is used (note: -DPython3_EXECUTABLE or -DPython_EXECUTABLE does not work!) +configopts += ' -DPYTHON_EXECUTABLE=$EBROOTPYTHON/bin/python ' + +runtest = 'check_unit_tests && make check_python' + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +_binaries = ['ipypresso', 'pypresso'] +_libs = [ + 'Espresso_config', 'Espresso_core', 'Espresso_script_interface', 'Espresso_shapes', + '_init', 'analyze', 'code_info', 'electrokinetics', 'galilei', + 'integrate', 'interactions', 'lb', 'particle_data', 'polymer', 'profiler', + 'script_interface', 'system', 'thermostat', 'utils', 'version', +] + +_lib_path = 'lib/python%(pyshortver)s/site-packages/espressomd' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _binaries] + + [_lib_path + '/%s.' % x + SHLIB_EXT for x in _libs], + 'dirs': ['bin', 'lib'] +} + +sanity_check_commands = ['pypresso -h', 'ipypresso -h'] + +moduleclass = 'chem' From cdd1ae0e189eb18a6eee85d444d48273dc4e2e91 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Wed, 22 May 2024 19:11:20 +0200 Subject: [PATCH 666/889] Fix style problems --- .../easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023a.eb | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023a.eb b/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023a.eb index 882734e53b5..a4117d1ce9b 100644 --- a/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023a.eb +++ b/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023a.eb @@ -8,12 +8,7 @@ description = """A software package for performing and analyzing scientific Mole source_urls = ['https://github.com/espressomd/espresso/releases/download/%(version)s/'] sources = ['%(namelower)s-%(version)s.tar.gz'] -#patches = ['ESPResSo-4.2.1_fix-setuptools-pkg_resources.patch'] -checksums = [ - {'espresso-4.2.2.tar.gz': '2bc02f91632b0030f1203759768bd718bd8a0005f72696980b12331b4bfa0d76'}, -# {'ESPResSo-4.2.1_fix-setuptools-pkg_resources.patch': -# '0c528ab36dee10c6f310910269427e409ca40730ddaa7a9fe93ec135b3031fc4'}, -] +checksums = ['2bc02f91632b0030f1203759768bd718bd8a0005f72696980b12331b4bfa0d76'] toolchain = {'name': 'foss', 'version': '2023a'} toolchainopts = {'usempi': True, 'pic': True} From 9d327b10abd830af2b0397222c339caa9d634c83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Wed, 22 May 2024 20:31:54 +0200 Subject: [PATCH 667/889] add sanity check command --- .../easyconfigs/o/ocamlbuild/ocamlbuild-0.14.3-GCC-13.2.0.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/o/ocamlbuild/ocamlbuild-0.14.3-GCC-13.2.0.eb b/easybuild/easyconfigs/o/ocamlbuild/ocamlbuild-0.14.3-GCC-13.2.0.eb index 47a8b2f2e2b..209be487770 100644 --- a/easybuild/easyconfigs/o/ocamlbuild/ocamlbuild-0.14.3-GCC-13.2.0.eb +++ b/easybuild/easyconfigs/o/ocamlbuild/ocamlbuild-0.14.3-GCC-13.2.0.eb @@ -36,4 +36,6 @@ sanity_check_paths = { 'dirs': ['man'], } +sanity_check_commands = ['%(name)s --help'] + moduleclass = 'devel' From 22406435745d1b8ace0ddf3e690e3897a7f365fa Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Wed, 22 May 2024 20:42:29 +0200 Subject: [PATCH 668/889] bump PMIx and OpenMPI to GCC 13.3.0 --- ...GCC-13.2.0.eb => OpenMPI-5.0.3-GCC-13.3.0.eb} | 16 ++++++++-------- ...re-13.2.0.eb => PMIx-5.0.2-GCCcore-13.3.0.eb} | 8 ++++---- 2 files changed, 12 insertions(+), 12 deletions(-) rename easybuild/easyconfigs/o/OpenMPI/{OpenMPI-5.0.3-GCC-13.2.0.eb => OpenMPI-5.0.3-GCC-13.3.0.eb} (84%) rename easybuild/easyconfigs/p/PMIx/{PMIx-5.0.2-GCCcore-13.2.0.eb => PMIx-5.0.2-GCCcore-13.3.0.eb} (90%) diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.3-GCC-13.2.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.3-GCC-13.3.0.eb similarity index 84% rename from easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.3-GCC-13.2.0.eb rename to easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.3-GCC-13.3.0.eb index dc7d83d6230..107540dad88 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.3-GCC-13.2.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.3-GCC-13.3.0.eb @@ -4,7 +4,7 @@ version = '5.0.3' homepage = 'https://www.open-mpi.org/' description = """The Open MPI Project is an open source MPI-3 implementation.""" -toolchain = {'name': 'GCC', 'version': '13.2.0'} +toolchain = {'name': 'GCC', 'version': '13.3.0'} source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] sources = [SOURCELOWER_TAR_BZ2] @@ -16,18 +16,18 @@ checksums = [ ] builddependencies = [ - ('pkgconf', '2.0.3'), - ('Autotools', '20220317'), + ('pkgconf', '2.2.0'), + ('Autotools', '20231222'), ] dependencies = [ - ('zlib', '1.2.13'), - ('hwloc', '2.9.2'), + ('zlib', '1.3.1'), + ('hwloc', '2.10.0'), ('libevent', '2.1.12'), - ('UCX', '1.15.0'), - ('libfabric', '1.19.0'), + ('UCX', '1.16.0'), + ('libfabric', '1.21.0'), ('PMIx', '5.0.2'), - ('UCC', '1.2.0'), + ('UCC', '1.3.0'), ] # CUDA related patches and custom configure option can be removed if CUDA support isn't wanted. diff --git a/easybuild/easyconfigs/p/PMIx/PMIx-5.0.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PMIx/PMIx-5.0.2-GCCcore-13.3.0.eb similarity index 90% rename from easybuild/easyconfigs/p/PMIx/PMIx-5.0.2-GCCcore-13.2.0.eb rename to easybuild/easyconfigs/p/PMIx/PMIx-5.0.2-GCCcore-13.3.0.eb index b4059ce4241..1d6208ff9f0 100644 --- a/easybuild/easyconfigs/p/PMIx/PMIx-5.0.2-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/p/PMIx/PMIx-5.0.2-GCCcore-13.3.0.eb @@ -16,19 +16,19 @@ provide a reference implementation of the PMI-server that demonstrates the desired level of scalability. """ -toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} toolchainopts = {'pic': True} source_urls = ['https://github.com/openpmix/openpmix/releases/download/v%(version)s'] sources = ['%(namelower)s-%(version)s.tar.bz2'] checksums = ['28227ff2ba925da2c3fece44502f23a91446017de0f5a58f5cea9370c514b83c'] -builddependencies = [('binutils', '2.40')] +builddependencies = [('binutils', '2.42')] dependencies = [ ('libevent', '2.1.12'), - ('zlib', '1.2.13'), - ('hwloc', '2.9.2'), + ('zlib', '1.3.1'), + ('hwloc', '2.10.0'), ] configopts = ' --with-libevent=$EBROOTLIBEVENT --with-zlib=$EBROOTZLIB' From fd9e8938e6ed7f449870d5baa8c1817e6ff59170 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Thu, 23 May 2024 08:21:51 +0200 Subject: [PATCH 669/889] adding easyconfigs: giac-1.9.0-99-gfbf-2023b.eb, hevea-2.36-GCC-13.2.0.eb, CoCoALib-0.99850-GCC-13.2.0.eb, FLTK-1.3.9-GCCcore-13.2.0.eb --- .../c/CoCoALib/CoCoALib-0.99850-GCC-13.2.0.eb | 42 ++++++++++++++++++ .../f/FLTK/FLTK-1.3.9-GCCcore-13.2.0.eb | 43 +++++++++++++++++++ .../g/giac/giac-1.9.0-99-gfbf-2023b.eb | 43 +++++++++++++++++++ .../h/hevea/hevea-2.36-GCC-13.2.0.eb | 35 +++++++++++++++ 4 files changed, 163 insertions(+) create mode 100644 easybuild/easyconfigs/c/CoCoALib/CoCoALib-0.99850-GCC-13.2.0.eb create mode 100644 easybuild/easyconfigs/f/FLTK/FLTK-1.3.9-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/g/giac/giac-1.9.0-99-gfbf-2023b.eb create mode 100644 easybuild/easyconfigs/h/hevea/hevea-2.36-GCC-13.2.0.eb diff --git a/easybuild/easyconfigs/c/CoCoALib/CoCoALib-0.99850-GCC-13.2.0.eb b/easybuild/easyconfigs/c/CoCoALib/CoCoALib-0.99850-GCC-13.2.0.eb new file mode 100644 index 00000000000..f85edd9ec85 --- /dev/null +++ b/easybuild/easyconfigs/c/CoCoALib/CoCoALib-0.99850-GCC-13.2.0.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'CoCoALib' +version = '0.99850' + +homepage = 'https://cocoa.dima.unige.it/cocoa/cocoalib/' +description = "CoCoALib is a free GPL3 C++ library for doing Computations in Commutative Algebra." + +toolchain = {'name': 'GCC', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://cocoa.dima.unige.it/cocoa/cocoalib/tgz'] +sources = [SOURCE_TGZ] +checksums = ['d3e7af0153c6950f83f4e3556540f0177fedf5179f0f7667b7d6d670268fd445'] + +dependencies = [ + ('GMP', '6.3.0'), + ('cddlib', '0.94m'), # optional +] + +# libreadline only needed for CoCoA-5 +configopts = "--only-cocoalib --no-readline --threadsafe-hack " +# Use cddlib and GMP from EB +configopts += "--with-libcddgmp=${EBROOTCDDLIB}/lib/libcddgmp.a --with-libgmp=$EBROOTGMP/lib/libgmp.a " + +buildopts = 'CXX="$CXX" CXXFLAGS="$CXXFLAGS"' + +# Makefile is not smart enough to create missing directories +preinstallopts = "mkdir %(installdir)s/{include,lib} && " + +# Move doc and examples from include to share +postinstallcmds = [ + "mkdir %(installdir)s/share", + "mv %(installdir)s/include/CoCoA-%(version)s/{doc,examples} %(installdir)s/share/", +] + +sanity_check_paths = { + 'files': ['lib/libcocoa.a'], + 'dirs': ['include/CoCoA-%(version)s', 'share/doc', 'share/examples'] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/f/FLTK/FLTK-1.3.9-GCCcore-13.2.0.eb b/easybuild/easyconfigs/f/FLTK/FLTK-1.3.9-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..3afeffc0a2c --- /dev/null +++ b/easybuild/easyconfigs/f/FLTK/FLTK-1.3.9-GCCcore-13.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'FLTK' +version = '1.3.9' + +homepage = 'https://www.fltk.org' +description = """FLTK is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, + and MacOS X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL + and its built-in GLUT emulation.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://fltk.org/pub/%(namelower)s/%(version)s/'] +sources = ['%(namelower)s-%(version)s-source.tar.gz'] +patches = ['FLTK-1.3.6_fix-LDFLAGS.patch'] +checksums = [ + {'fltk-1.3.9-source.tar.gz': 'd736b0445c50d607432c03d5ba5e82f3fba2660b10bc1618db8e077a42d9511b'}, + {'FLTK-1.3.6_fix-LDFLAGS.patch': 'f8af2414a1ee193a186b0d98d1e3567add0ee003f44ec64dce2ce2dfd6d95ebf'}, +] + +configopts = '--enable-shared --enable-threads --enable-xft' + +builddependencies = [ + ('binutils', '2.40'), + ('groff', '1.23.0'), +] + +dependencies = [ + ('Mesa', '23.1.9'), + ('libGLU', '9.0.3'), + ('libpng', '1.6.40'), + ('libjpeg-turbo', '3.0.1'), + ('xprop', '1.2.7'), + ('zlib', '1.2.13'), +] + +sanity_check_paths = { + 'files': ['bin/fltk-config', 'bin/fluid', 'lib/libfltk.a', 'lib/libfltk.%s' % SHLIB_EXT], + 'dirs': ['lib'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/giac/giac-1.9.0-99-gfbf-2023b.eb b/easybuild/easyconfigs/g/giac/giac-1.9.0-99-gfbf-2023b.eb new file mode 100644 index 00000000000..b3a7047cbf5 --- /dev/null +++ b/easybuild/easyconfigs/g/giac/giac-1.9.0-99-gfbf-2023b.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'giac' +version = '1.9.0-99' + +homepage = 'https://www-fourier.ujf-grenoble.fr/~parisse/giac.html' +description = """Giac is a C++ library, it is the CAS computing kernel. + It may be used inside other C++ programs, and also Python, Java and Javascript programs.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} +toolchainopts = {'cstd': 'gnu++14'} + +source_urls = ['https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/'] +sources = ['giac_%(version)s.tar.gz'] +checksums = ['166775fbf2becd583c6ffa23ca6ca8a0b44dd7790dca8d966da767d3f6647ce4'] + +dependencies = [ + ('FLTK', '1.3.9'), + ('GLPK', '5.0'), + ('GMP-ECM', '7.0.5'), + ('GSL', '2.7'), + ('MPFI', '1.5.4'), + ('NTL', '11.5.1'), + ('PARI-GP', '2.15.5'), + ('CoCoALib', '0.99818'), + ('cURL', '8.3.0'), + ('cliquer', '1.21'), + ('libpng', '1.6.40'), + ('libreadline', '8.2'), + ('nauty', '2.8.8'), + ('hevea', '2.36'), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['cas_help', 'hevea2mml', 'icas', 'pgiac', 'xcas']] + + ['lib/libgiac.%s' % e for e in ['a', SHLIB_EXT]] + + ['include/giac/giac.h'], + 'dirs': ['share'], +} + +sanity_check_commands = ["giac <(echo '?findhelp') | grep \"Returns the help about the command\""] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/h/hevea/hevea-2.36-GCC-13.2.0.eb b/easybuild/easyconfigs/h/hevea/hevea-2.36-GCC-13.2.0.eb new file mode 100644 index 00000000000..c6a12696271 --- /dev/null +++ b/easybuild/easyconfigs/h/hevea/hevea-2.36-GCC-13.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'hevea' +version = '2.36' + +homepage = 'http://pauillac.inria.fr/~maranget/hevea/' +description = """A quite complete and fast LATEX to HTML translator""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = ['http://pauillac.inria.fr/~maranget/hevea/distri'] +sources = [SOURCE_TAR_GZ] +checksums = ['5d6759d7702a295c76a12c1b2a1a16754ab0ec1ffed73fc9d0b138b41e720648'] + +builddependencies = [ + ('binutils', '2.40'), + ('ocamlbuild', '0.14.3'), +] + +osdependencies = ['texlive'] + +skipsteps = ['configure'] + +buildopts = 'PREFIX="" ' + +installopts = 'DESTDIR="%(installdir)s" ' + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': ['lib/%(name)s'], +} + +sanity_check_commands = ['%(name)s --help'] + +moduleclass = 'devel' From 6323479afd81ccba6493bde090489134d6238bc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Thu, 23 May 2024 08:31:05 +0200 Subject: [PATCH 670/889] adding easyconfigs: Cython-3.0.10-GCCcore-13.2.0.eb --- .../c/Cython/Cython-3.0.10-GCCcore-13.2.0.eb | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 easybuild/easyconfigs/c/Cython/Cython-3.0.10-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/c/Cython/Cython-3.0.10-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/Cython/Cython-3.0.10-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..194048d611d --- /dev/null +++ b/easybuild/easyconfigs/c/Cython/Cython-3.0.10-GCCcore-13.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonPackage' + +name = 'Cython' +version = '3.0.10' + +homepage = 'https://cython.org/' +description = """ +Cython is an optimising static compiler for both the Python programming +language and the extended Cython programming language (based on Pyrex). +""" +docurls = [ + 'https://cython.org/#documentation', + 'https://github.com/cython/cython', +] + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['dcc96739331fb854dcf503f94607576cfe8488066c61ca50dfd55836f132de99'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.5'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/cygdb', 'bin/cython', 'bin/cythonize'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["cython --version"] + +moduleclass = 'lang' From 8c22b588d8ab7f703ec67eea695ee5ff37e1b023 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Thu, 23 May 2024 08:31:40 +0200 Subject: [PATCH 671/889] adding easyconfigs: ECL-24.5.10-GCCcore-13.2.0.eb --- .../e/ECL/ECL-24.5.10-GCCcore-13.2.0.eb | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 easybuild/easyconfigs/e/ECL/ECL-24.5.10-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/e/ECL/ECL-24.5.10-GCCcore-13.2.0.eb b/easybuild/easyconfigs/e/ECL/ECL-24.5.10-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..49ac4019375 --- /dev/null +++ b/easybuild/easyconfigs/e/ECL/ECL-24.5.10-GCCcore-13.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'ECL' +version = '24.5.10' + +homepage = 'https://ecl.common-lisp.dev/' +description = """ECL (Embeddable Common-Lisp) is an interpreter of the Common-Lisp language + as described in the X3J13 Ansi specification, featuring CLOS (Common-Lisp Object System), + conditions, loops, etc, plus a translator to C, which can produce standalone executables.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://common-lisp.net/project/ecl/static/files/release'] +sources = [SOURCELOWER_TGZ] +checksums = ['e4ea65bb1861e0e495386bfa8bc673bd014e96d3cf9d91e9038f91435cbe622b'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('GMP', '6.3.0'), +] + +configopts = "--enable-manual=no " + +sanity_check_paths = { + 'files': ['bin/ecl', 'bin/ecl-config', 'include/ecl/ecl.h', 'lib/libecl.%s' % SHLIB_EXT], + 'dirs': ['share'], +} + +sanity_check_commands = ["ecl --help"] + +moduleclass = 'lang' + From 6ada9a07fe5cac15f58211a9ed6c06603042695d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Thu, 23 May 2024 08:40:16 +0200 Subject: [PATCH 672/889] adding easyconfigs: GMP-ECM-7.0.5-GCCcore-13.2.0.eb --- .../g/GMP-ECM/GMP-ECM-7.0.5-GCCcore-13.2.0.eb | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 easybuild/easyconfigs/g/GMP-ECM/GMP-ECM-7.0.5-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/g/GMP-ECM/GMP-ECM-7.0.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/GMP-ECM/GMP-ECM-7.0.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..41f00635646 --- /dev/null +++ b/easybuild/easyconfigs/g/GMP-ECM/GMP-ECM-7.0.5-GCCcore-13.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'GMP-ECM' +version = '7.0.5' + +homepage = 'https://gitlab.inria.fr/zimmerma/ecm' +description = "Yet another implementation of the Elliptic Curve Method." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://gitlab.inria.fr/zimmerma/ecm/uploads/89f6f0d65d3e980cef33dc922004e4b2'] +sources = ['ecm-%(version)s.tar.gz'] +checksums = ['c721dd22e557c4a5dac9ac7e156a400cd2298812dd1f9b56e89966de01471ba8'] + +builddependencies = [ + ('M4', '1.4.19'), + ('binutils', '2.40'), +] + +dependencies = [('GMP', '6.3.0')] + +configopts = "--with-gmp=$EBROOTGMP --enable-shared " + +sanity_check_paths = { + 'files': ['bin/ecm', 'include/ecm.h'] + ['lib/libecm.%s' % e for e in ['a', SHLIB_EXT]], + 'dirs': [], +} + +moduleclass = 'math' From b6108eba58ff0b89295bb518ad75163de0f6d3c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Thu, 23 May 2024 08:41:07 +0200 Subject: [PATCH 673/889] adding easyconfigs: MPFI-1.5.4-GCCcore-13.2.0.eb --- .../m/MPFI/MPFI-1.5.4-GCCcore-13.2.0.eb | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 easybuild/easyconfigs/m/MPFI/MPFI-1.5.4-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/m/MPFI/MPFI-1.5.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/m/MPFI/MPFI-1.5.4-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..aa47b551aab --- /dev/null +++ b/easybuild/easyconfigs/m/MPFI/MPFI-1.5.4-GCCcore-13.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'MPFI' +version = '1.5.4' + +homepage = 'https://perso.ens-lyon.fr/nathalie.revol/software.html' +description = "MPFI stands for Multiple Precision Floating-point Interval library." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://perso.ens-lyon.fr/nathalie.revol/softwares/'] +sources = ['mpfi-%(version)s.tar.bz2'] +checksums = ['d20ba56a8d57d0816f028be8b18a4aa909a068efcb9a260e69577939e4199752'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('MPFR', '4.2.1'), +] + +sanity_check_paths = { + 'files': ['include/mpfi.h'] + ['lib/libmpfi.%s' % e for e in ['a', SHLIB_EXT]], + 'dirs': ['share'], +} + +moduleclass = 'math' From ee1e7c4c4b563b832a3bf02d7c2596646b31682f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Thu, 23 May 2024 08:41:46 +0200 Subject: [PATCH 674/889] adding easyconfigs: cliquer-1.21-GCCcore-13.2.0.eb --- .../c/cliquer/cliquer-1.21-GCCcore-13.2.0.eb | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 easybuild/easyconfigs/c/cliquer/cliquer-1.21-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/c/cliquer/cliquer-1.21-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/cliquer/cliquer-1.21-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..3fa7d597761 --- /dev/null +++ b/easybuild/easyconfigs/c/cliquer/cliquer-1.21-GCCcore-13.2.0.eb @@ -0,0 +1,42 @@ +easyblock = 'MakeCp' + +name = 'cliquer' +version = '1.21' + +homepage = 'https://users.aalto.fi/~pat/cliquer.html' +description = """Cliquer is a set of C routines for finding cliques in an arbitrary weighted graph. + It uses an exact branch-and-bound algorithm developed by Patric Ostergard. It is designed with + the aim of being efficient while still being flexible and easy to use.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['http://users.aalto.fi/~pat/cliquer/'] +sources = [SOURCE_TAR_GZ] +checksums = ['ff306d27eda82383c0257065e3ffab028415ac9af73bccfdd9c2405b797ed1f1'] + +builddependencies = [('binutils', '2.40')] + +local_sharedlib = 'libcliquer.%s' % SHLIB_EXT + +prebuildopts = 'sed -i "s/^CFLAGS=/CFLAGS=$CFLAGS /" Makefile && ' + +buildopts = ' && $CC -shared $CFLAGS $LDFLAGS -o %s *.o' % local_sharedlib + +local_headers = ['cliquer', 'set', 'graph', 'misc', 'reorder', 'cliquerconf'] + +files_to_copy = [ + (['cl'], 'bin'), + ([local_sharedlib], 'lib'), + (['%s.h' % h for h in local_headers], 'include/cliquer'), +] + +sanity_check_paths = { + 'files': ['bin/cl', 'lib/%s' % local_sharedlib] + + ['include/cliquer/%s.h' % h for h in local_headers], + 'dirs': [], +} + +sanity_check_commands = ["cl --help"] + +moduleclass = 'math' From 6f2cb126bbbcce2c91dd01dbf1794fa5ac4c9b6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Thu, 23 May 2024 08:44:24 +0200 Subject: [PATCH 675/889] fix dependency version --- easybuild/easyconfigs/g/giac/giac-1.9.0-99-gfbf-2023b.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/giac/giac-1.9.0-99-gfbf-2023b.eb b/easybuild/easyconfigs/g/giac/giac-1.9.0-99-gfbf-2023b.eb index b3a7047cbf5..7680e38cbdb 100644 --- a/easybuild/easyconfigs/g/giac/giac-1.9.0-99-gfbf-2023b.eb +++ b/easybuild/easyconfigs/g/giac/giac-1.9.0-99-gfbf-2023b.eb @@ -22,7 +22,7 @@ dependencies = [ ('MPFI', '1.5.4'), ('NTL', '11.5.1'), ('PARI-GP', '2.15.5'), - ('CoCoALib', '0.99818'), + ('CoCoALib', '0.99850'), ('cURL', '8.3.0'), ('cliquer', '1.21'), ('libpng', '1.6.40'), From bea4c210de9afead93147f4e61e1eb1f4be69118 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Thu, 23 May 2024 08:47:46 +0200 Subject: [PATCH 676/889] remove blank line --- easybuild/easyconfigs/e/ECL/ECL-24.5.10-GCCcore-13.2.0.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/e/ECL/ECL-24.5.10-GCCcore-13.2.0.eb b/easybuild/easyconfigs/e/ECL/ECL-24.5.10-GCCcore-13.2.0.eb index 49ac4019375..cb4390c3499 100644 --- a/easybuild/easyconfigs/e/ECL/ECL-24.5.10-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/e/ECL/ECL-24.5.10-GCCcore-13.2.0.eb @@ -30,4 +30,3 @@ sanity_check_paths = { sanity_check_commands = ["ecl --help"] moduleclass = 'lang' - From 89fedf40886d541ce813c55dcc7b5fd7e162cd61 Mon Sep 17 00:00:00 2001 From: SebastianAchilles Date: Thu, 23 May 2024 10:08:53 +0200 Subject: [PATCH 677/889] use regular `configure` instead of wrapper script for UCX Co-authored-by: Kenneth Hoste --- easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.3.0.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.3.0.eb index dcab7f5a125..a7b22a53000 100644 --- a/easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.3.0.eb +++ b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.3.0.eb @@ -37,10 +37,10 @@ dependencies = [ ('numactl', '2.0.18'), ] -configure_cmd = "contrib/configure-release" - configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' configopts += '--without-java --without-go --disable-doxygen-doc ' +# include the configure options from contrib/configure-release +configopts += '--disable-logging --disable-debug --disable-assertions --disable-params-check ' buildopts = 'V=1' From ebec4b7cef0d4e333fa62ec3ea6c6bca8ff5f6ea Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Thu, 23 May 2024 11:45:49 +0200 Subject: [PATCH 678/889] adding easyconfigs: JupyterLab-4.2.0-GCCcore-13.2.0.eb, JupyterNotebook-7.2.0-GCCcore-13.2.0.eb, jupyter-server-2.14.0-GCCcore-13.2.0.eb and patches: jupyter-core-5.7.2_fix_jupyter_path.patch --- .../JupyterLab-4.2.0-GCCcore-13.2.0.eb | 78 ++++++++ .../JupyterNotebook-7.2.0-GCCcore-13.2.0.eb | 42 ++++ .../jupyter-core-5.7.2_fix_jupyter_path.patch | 32 +++ .../jupyter-server-2.14.0-GCCcore-13.2.0.eb | 185 ++++++++++++++++++ 4 files changed, 337 insertions(+) create mode 100644 easybuild/easyconfigs/j/JupyterLab/JupyterLab-4.2.0-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/j/JupyterNotebook/JupyterNotebook-7.2.0-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/j/jupyter-server/jupyter-core-5.7.2_fix_jupyter_path.patch create mode 100644 easybuild/easyconfigs/j/jupyter-server/jupyter-server-2.14.0-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/j/JupyterLab/JupyterLab-4.2.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-4.2.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..8410c3f15b8 --- /dev/null +++ b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-4.2.0-GCCcore-13.2.0.eb @@ -0,0 +1,78 @@ +easyblock = 'PythonBundle' + +name = 'JupyterLab' +version = '4.2.0' + +homepage = 'https://jupyter.org/' +description = """JupyterLab is the next-generation user interface for Project Jupyter offering all the familiar + building blocks of the classic Jupyter Notebook (notebook, terminal, text editor, file browser, rich outputs, + etc.) in a flexible and powerful user interface. JupyterLab will eventually replace the classic Jupyter + Notebook.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('hatch-jupyter-builder', '0.9.1'), +] +dependencies = [ + ('Python', '3.11.5'), + ('IPython', '8.17.2'), + ('jupyter-server', '2.14.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('json5', '0.9.25', { + 'checksums': ['548e41b9be043f9426776f05df8635a00fe06104ea51ed24b67f908856e151ae'], + }), + ('jupyterlab_server', '2.27.1', { + 'checksums': ['097b5ac709b676c7284ac9c5e373f11930a561f52cd5a86e4fc7e5a9c8a8631d'], + }), + ('jupyter-lsp', '2.2.5', { + 'checksums': ['793147a05ad446f809fd53ef1cd19a9f5256fd0a2d6b7ce943a982cb4f545001'], + }), + ('async-lru', '2.0.4', { + 'checksums': ['b8a59a5df60805ff63220b2a0c5b5393da5521b113cd5465a44eb037d81a5627'], + }), + ('h11', '0.14.0', { + 'checksums': ['8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d'], + }), + ('httpcore', '1.0.5', { + 'checksums': ['34a38e2f9291467ee3b44e89dd52615370e152954ba21721378a87b2960f7a61'], + }), + ('httpx', '0.27.0', { + 'checksums': ['a0cb88a46f32dc874e04ee956e4c2764aba2aa228f650b06788ba6bda2962ab5'], + }), + ('jupyterlab', version, { + 'checksums': ['356e9205a6a2ab689c47c8fe4919dba6c076e376d03f26baadc05748c2435dd5'], + }), +] + +sanity_check_paths = { + 'files': ['bin/jupyter-lab', 'bin/jupyter-labextension', 'bin/jupyter-labhub'], + 'dirs': ['etc/jupyter', 'share/jupyter'], +} + +sanity_check_commands = ['jupyter lab --help'] + +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} +modextravars = { + # only one path allowed as JUPYTERLAB_DIR + 'JUPYTERLAB_DIR': '%(installdir)s/share/jupyter/lab', +} + +# keep user's configuration in their home directory +# note: '~' is not expanded by JupyterLab +modluafooter = """ +setenv("JUPYTERLAB_SETTINGS_DIR", pathJoin(os.getenv("HOME"), ".jupyter", "lab", "user-settings")) +setenv("JUPYTERLAB_WORKSPACES_DIR", pathJoin(os.getenv("HOME"), ".jupyter", "lab", "workspaces")) +""" +modtclfooter = """ +setenv JUPYTERLAB_SETTINGS_DIR "$::env(HOME)/.jupyter/lab/user-settings" +setenv JUPYTERLAB_WORKSPACES_DIR "$::env(HOME)/.jupyter/lab/workspaces" +""" + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/JupyterNotebook/JupyterNotebook-7.2.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/j/JupyterNotebook/JupyterNotebook-7.2.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..a391a9329e2 --- /dev/null +++ b/easybuild/easyconfigs/j/JupyterNotebook/JupyterNotebook-7.2.0-GCCcore-13.2.0.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonPackage' + +name = 'JupyterNotebook' +version = '7.2.0' + +homepage = 'https://jupyter.org/' +description = """The Jupyter Notebook is the original web application for creating and + sharing computational documents. It offers a simple, streamlined, document-centric experience.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://pypi.python.org/packages/source/n/notebook'] +sources = ['notebook-%(version)s.tar.gz'] +checksums = ['34a2ba4b08ad5d19ec930db7484fb79746a1784be9e1a5f8218f9af8656a141f'] + +builddependencies = [ + ('binutils', '2.40'), + ('hatch-jupyter-builder', '0.9.1'), +] +dependencies = [ + ('Python', '3.11.5'), + ('IPython', '8.17.2'), + ('jupyter-server', '2.14.0'), + ('JupyterLab', '4.2.0'), +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +options = {'modulename': 'notebook'} + +sanity_check_paths = { + 'files': ['bin/jupyter-notebook'], + 'dirs': ['etc/jupyter', 'share/jupyter'], +} + +sanity_check_commands = ['jupyter notebook --help'] + +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyter-server/jupyter-core-5.7.2_fix_jupyter_path.patch b/easybuild/easyconfigs/j/jupyter-server/jupyter-core-5.7.2_fix_jupyter_path.patch new file mode 100644 index 00000000000..04788ab7eb6 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-server/jupyter-core-5.7.2_fix_jupyter_path.patch @@ -0,0 +1,32 @@ +# Patch jupyter_core to help jupyter find the correct installation path. +# +# If jupyter is installed by EasyBuild, jupyter is not in the same place as python. +# `EB_ENV_JUPYTER_ROOT` is used to indicate where jupyter are and should be set to +# the instllation path in easyconfigs. +# Avoid using `ENV_JUPYTER_PATH` and `ENV_CONFIG_PATH`. Otherwise user configuration +# has lower priority and cannot save their own settings. +# Author: Chia-Jung Hsu, 2024-01-31 +--- a/jupyter_core/paths.py ++++ b/jupyter_core/paths.py +@@ -228,6 +228,10 @@ + + ENV_JUPYTER_PATH: list[str] = [str(Path(sys.prefix, "share", "jupyter"))] + ++if os.environ.get("EB_ENV_JUPYTER_ROOT"): ++ EB_ENV_JUPYTER_ROOT = [p.rstrip(os.sep) for p in os.environ["EB_ENV_JUPYTER_ROOT"].split(os.pathsep)] ++ ENV_JUPYTER_PATH = [str(Path(p, "share", "jupyter")) for p in EB_ENV_JUPYTER_ROOT] ++ + + def jupyter_path(*subdirs: str) -> list[str]: + """Return a list of directories to search for data files +@@ -306,6 +310,10 @@ + ] + ENV_CONFIG_PATH: list[str] = [str(Path(sys.prefix, "etc", "jupyter"))] + ++if os.environ.get("EB_ENV_JUPYTER_ROOT"): ++ EB_ENV_JUPYTER_ROOT = [p.rstrip(os.sep) for p in os.environ["EB_ENV_JUPYTER_ROOT"].split(os.pathsep)] ++ ENV_CONFIG_PATH = [str(Path(p, "etc", "jupyter")) for p in EB_ENV_JUPYTER_ROOT] ++ + + def jupyter_config_path() -> list[str]: + """Return the search path for Jupyter config files as a list. diff --git a/easybuild/easyconfigs/j/jupyter-server/jupyter-server-2.14.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/j/jupyter-server/jupyter-server-2.14.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..ee8dfa23154 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-server/jupyter-server-2.14.0-GCCcore-13.2.0.eb @@ -0,0 +1,185 @@ +easyblock = 'PythonBundle' + +name = 'jupyter-server' +version = "2.14.0" + +homepage = 'https://jupyter.org/' +description = """The Jupyter Server provides the backend (i.e. the core services, APIs, and REST +endpoints) for Jupyter web applications like Jupyter notebook, JupyterLab, and +Voila.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('maturin', '1.3.1'), # needed by rpds_py + ('hatch-jupyter-builder', '0.9.1'), +] +dependencies = [ + ('Python', '3.11.5'), + ('IPython', '8.17.2'), + ('PyYAML', '6.0.1'), + ('PyZMQ', '25.1.2'), + ('tornado', '6.4'), + ('BeautifulSoup', '4.12.2'), # needed by nbconvert +] + +sanity_pip_check = True +use_pip = True + +# WARNING: the versions of ipywidgets, widgetsnbextension and jupyterlab_widgets are tied between them +# use the versions published in a single release commit instead of blindly pushing to last available version, +# see for instance https://github.com/jupyter-widgets/ipywidgets/commit/b728926f58ed3ffef08f716998ac6c226dafc1aa + +exts_list = [ + ('websocket_client', '1.8.0', { + 'modulename': 'websocket', + 'checksums': ['3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da'], + }), + ('terminado', '0.18.1', { + 'checksums': ['de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e'], + }), + ('Send2Trash', '1.8.3', { + 'checksums': ['b18e7a3966d99871aefeb00cfbcfdced55ce4871194810fc71f4aa484b953abf'], + }), + ('prometheus_client', '0.20.0', { + 'checksums': ['287629d00b147a32dcb2be0b9df905da599b2d82f80377083ec8463309a4bb89'], + }), + ('overrides', '7.7.0', { + 'checksums': ['55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a'], + }), + ('jupyter_core', '5.7.2', { + 'patches': ['jupyter-core-%(version)s_fix_jupyter_path.patch'], + 'checksums': [ + {'jupyter_core-5.7.2.tar.gz': 'aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9'}, + {'jupyter-core-5.7.2_fix_jupyter_path.patch': + '1ed5088728c1ad49687b66e31ed23965c36645ad285693785b2b96c4ff1b2f93'}, + ], + }), + ('fastjsonschema', '2.19.1', { + 'checksums': ['e3126a94bdc4623d3de4485f8d468a12f02a67921315ddc87836d6e456dc789d'], + }), + ('tinycss2', '1.3.0', { + 'checksums': ['152f9acabd296a8375fbca5b84c961ff95971fcfc32e79550c8df8e29118c54d'], + }), + ('pandocfilters', '1.5.1', { + 'checksums': ['002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e'], + }), + ('mistune', '3.0.2', { + 'checksums': ['fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8'], + }), + ('deprecation', '2.1.0', { + 'checksums': ['72b3bde64e5d778694b0cf68178aed03d15e15477116add3fb773e581f9518ff'], + }), + ('jupyter_packaging', '0.12.3', { + 'checksums': ['9d9b2b63b97ffd67a8bc5391c32a421bc415b264a32c99e4d8d8dd31daae9cf4'], + }), + ('jupyterlab_pygments', '0.3.0', { + 'checksums': ['721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d'], + }), + ('defusedxml', '0.7.1', { + 'checksums': ['1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69'], + }), + ('bleach', '6.1.0', { + 'checksums': ['0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe'], + }), + ('nbformat', '5.10.4', { + 'checksums': ['322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a'], + }), + ('nbclient', '0.10.0', { + 'checksums': ['4b3f1b7dba531e498449c4db4f53da339c91d449dc11e9af3a43b4eb5c5abb09'], + }), + ('jupyter_client', '8.6.1', { + 'checksums': ['e842515e2bab8e19186d89fdfea7abd15e39dd581f94e399f00e2af5a1652d3f'], + }), + ('nbconvert', '7.16.4', { + 'checksums': ['86ca91ba266b0a448dc96fa6c5b9d98affabde2867b363258703536807f9f7f4'], + }), + ('jupyter_server_terminals', '0.5.3', { + 'checksums': ['5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269'], + }), + ('rfc3986_validator', '0.1.1', { + 'checksums': ['3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055'], + }), + ('rfc3339_validator', '0.1.4', { + 'checksums': ['138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b'], + }), + ('rpds_py', '0.18.1', { + 'modulename': 'rpds', + 'checksums': ['dc48b479d540770c811fbd1eb9ba2bb66951863e448efec2e2c102625328e92f'], + }), + ('referencing', '0.35.1', { + 'checksums': ['25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c'], + }), + ('python-json-logger', '2.0.7', { + 'modulename': 'pythonjsonlogger', + 'checksums': ['23e7ec02d34237c5aa1e29a070193a4ea87583bb4e7f8fd06d3de8264c4b2e1c'], + }), + ('jsonschema_specifications', '2023.12.1', { + 'checksums': ['48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc'], + }), + ('jsonschema', '4.22.0', { + 'checksums': ['5b22d434a45935119af990552c862e5d6d564e8f6601206b305a61fdf661a2b7'], + }), + ('jupyter_events', '0.10.0', { + 'checksums': ['670b8229d3cc882ec782144ed22e0d29e1c2d639263f92ca8383e66682845e22'], + }), + ('argon2-cffi-bindings', '21.2.0', { + 'modulename': '_argon2_cffi_bindings', + 'checksums': ['bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3'], + }), + ('argon2_cffi', '23.1.0', { + 'modulename': 'argon2', + 'checksums': ['879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08'], + }), + ('sniffio', '1.3.1', { + 'checksums': ['f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc'], + }), + ('anyio', '4.3.0', { + 'checksums': ['f75253795a87df48568485fd18cdd2a3fa5c4f7c5be8e5e36637733fce06fed6'], + }), + ('jupyter_server', version, { + 'checksums': ['659154cea512083434fd7c93b7fe0897af7a2fd0b9dd4749282b42eaac4ae677'], + }), + ('jupyterlab_widgets', '3.0.10', { + 'checksums': ['04f2ac04976727e4f9d0fa91cdc2f1ab860f965e504c29dbd6a65c882c9d04c0'], + }), + ('widgetsnbextension', '4.0.10', { + 'checksums': ['64196c5ff3b9a9183a8e699a4227fb0b7002f252c814098e66c4d1cd0644688f'], + }), + ('comm', '0.2.2', { + 'checksums': ['3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e'], + }), + ('ipywidgets', '8.1.2', { + 'checksums': ['d0b9b41e49bae926a866e613a39b0f0097745d2b9f1f3dd406641b4a57ec42c9'], + }), + # The following few extensions are needed for e.g. JupyterLab but also nbclassic. + # Avoid duplication by making it part of this bundle + ('notebook_shim', '0.2.4', { + 'checksums': ['b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb'], + }), + ('nest_asyncio', '1.6.0', { + 'checksums': ['6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe'], + }), + ('ipykernel', '6.29.4', { + 'checksums': ['3d44070060f9475ac2092b760123fadf105d2e2493c24848b6691a7c4f42af5c'], + }), + ('ipython_genutils', '0.2.0', { + 'checksums': ['eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8'], + }), + ('debugpy', '1.8.1', { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['28acbe2241222b87e255260c76741e1fbf04fdc3b6d094fcf57b6c6f75ce1242'], + }), +] + +sanity_check_paths = { + 'files': ['bin/jupyter'], + 'dirs': ['share/jupyter', 'etc/jupyter'], +} + +sanity_check_commands = ['jupyter --help'] + +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} + +moduleclass = 'tools' From aca1b00413ffb239d2fdd8783d41670f6c9e6b64 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 23 May 2024 11:49:41 +0200 Subject: [PATCH 679/889] remove commented out sources spec in easyconfig for UCX 1.16.0 --- easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.3.0.eb | 2 -- 1 file changed, 2 deletions(-) diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.3.0.eb index a7b22a53000..e5a9d8a4954 100644 --- a/easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.3.0.eb +++ b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.3.0.eb @@ -22,8 +22,6 @@ checksums = [ {'UCX-1.13.1-dynamic_modules.patch': '00874687bd90b795fff61aaa183f6c6bea2210aa1003b28f23d9ebf7066f8782'}, ] -# Uncomment when updating to final release -# sources = ['%(namelower)s-%(version)s.tar.gz'] builddependencies = [ ('binutils', '2.42'), ('Autotools', '20231222'), From 74555405140977c6994c1ed3791a5a7728160120 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Thu, 23 May 2024 11:57:46 +0200 Subject: [PATCH 680/889] add missing dependencies --- .../l/libidn2/libidn2-2.3.7-GCCcore-12.3.0.eb | 27 ++++++++++ .../w/wget/wget-1.24.5-GCCcore-12.3.0.eb | 50 +++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 easybuild/easyconfigs/l/libidn2/libidn2-2.3.7-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/w/wget/wget-1.24.5-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/l/libidn2/libidn2-2.3.7-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libidn2/libidn2-2.3.7-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..30a2e4a26f2 --- /dev/null +++ b/easybuild/easyconfigs/l/libidn2/libidn2-2.3.7-GCCcore-12.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libidn2' +version = '2.3.7' + +homepage = 'http://www.gnu.org/software/%(name)s' +description = "Libidn2 implements the revised algorithm for internationalized domain names called IDNA2008/TR46." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://ftp.gnu.org/gnu/libidn/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4c21a791b610b9519b9d0e12b8097bf2f359b12f8dd92647611a929e6bfd7d64'] + +builddependencies = [ + ('binutils', '2.40'), +] + + +sanity_check_paths = { + 'files': ['bin/idn2', 'lib/%s.%s' % (name, SHLIB_EXT)], + 'dirs': ['include'], +} + +sanity_check_commands = ['idn2 --help'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/w/wget/wget-1.24.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/w/wget/wget-1.24.5-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..ea4438bce14 --- /dev/null +++ b/easybuild/easyconfigs/w/wget/wget-1.24.5-GCCcore-12.3.0.eb @@ -0,0 +1,50 @@ +easyblock = 'ConfigureMake' + +name = 'wget' +version = '1.24.5' + +homepage = 'https://www.gnu.org/software/wget' +description = """GNU Wget is a free software package for retrieving files using HTTP, HTTPS and FTP, + the most widely-used Internet protocols. It is a non-interactive commandline tool, + so it may easily be called from scripts, cron jobs, terminals without X-Windows support, etc.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = [ + {SOURCE_TAR_GZ: 'fa2dc35bab5184ecbc46a9ef83def2aaaa3f4c9f3c97d4bd19dcb07d4da637de'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), + ('Perl', '5.36.1'), +] +dependencies = [ + ('PCRE', '8.45'), + ('libidn2', '2.3.7'), + ('zlib', '1.2.13'), + ('OpenSSL', '1.1', '', SYSTEM), + # OS dependency should be preferred if the os version is more recent then this version, + # it's nice to have an up to date gnutls for security reasons + # ('GnuTLS', '3.7.1'), +] + +# make sure pkgconfig picks up system packages (OpenSSL & co) +local_pc = "%(sysroot)s/usr/lib64/pkgconfig:" +local_pc += "%(sysroot)s/usr/lib/pkgconfig:" +local_pc += "%(sysroot)s/usr/lib/x86_64-linux-gnu/pkgconfig" +preconfigopts = "export PKG_CONFIG_PATH=%s && " % local_pc +configopts = '--with-ssl=openssl ' + +# Optionally, you can use gnutls (default) instead of OpenSSL. +# Do not forget to comment out configopts in that case. +# osdependencies = [('gnutls-devel', 'gnutls-dev', 'libgnutls-devel')] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +moduleclass = 'devel' From c0886f39aa82be36ec1ff2f9a9805941650558d6 Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Thu, 23 May 2024 11:57:48 +0200 Subject: [PATCH 681/889] adding easyconfigs: make-4.4.1-GCCcore-13.3.0.eb, BLIS-1.0-GCC-13.3.0.eb --- .../easyconfigs/b/BLIS/BLIS-1.0-GCC-13.3.0.eb | 33 +++++++++++++++++++ .../m/make/make-4.4.1-GCCcore-13.3.0.eb | 29 ++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 easybuild/easyconfigs/b/BLIS/BLIS-1.0-GCC-13.3.0.eb create mode 100644 easybuild/easyconfigs/m/make/make-4.4.1-GCCcore-13.3.0.eb diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-1.0-GCC-13.3.0.eb b/easybuild/easyconfigs/b/BLIS/BLIS-1.0-GCC-13.3.0.eb new file mode 100644 index 00000000000..18d8ec6c887 --- /dev/null +++ b/easybuild/easyconfigs/b/BLIS/BLIS-1.0-GCC-13.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'BLIS' +version = '1.0' + +homepage = 'https://github.com/flame/blis/' +description = """BLIS is a portable software framework for instantiating high-performance +BLAS-like dense linear algebra libraries.""" + +toolchain = {'name': 'GCC', 'version': '13.3.0'} + +source_urls = ['https://github.com/flame/blis/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['9c12972aa1e50f64ca61684eba6828f2f3dd509384b1e41a1e8a9aedea4b16a6'] + +builddependencies = [ + ('Python', '3.12.3'), + ('Perl', '5.38.2'), +] + +configopts = '--enable-cblas --enable-threading=openmp --enable-shared CC="$CC" auto' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['include/blis/cblas.h', 'include/blis/blis.h', + 'lib/libblis.a', 'lib/libblis.%s' % SHLIB_EXT], + 'dirs': [], +} + +modextrapaths = {'CPATH': 'include/blis'} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/m/make/make-4.4.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/m/make/make-4.4.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..040ca1f7716 --- /dev/null +++ b/easybuild/easyconfigs/m/make/make-4.4.1-GCCcore-13.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'make' +version = '4.4.1' + +homepage = 'https://www.gnu.org/software/make/make.html' +description = "GNU version of make utility" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3'] + +builddependencies = [('binutils', '2.42')] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s make gmake"] + +sanity_check_paths = { + 'files': ['bin/gmake', 'bin/make'], + 'dirs': [] +} + +sanity_check_commands = [ + "gmake --help", + "make --help", +] + +moduleclass = 'devel' From d6bf6cb34db34ee68eb71b104d143ba4d40f72ae Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Thu, 23 May 2024 12:07:43 +0200 Subject: [PATCH 682/889] adding easyconfigs: hatch-jupyter-builder-0.9.1-GCCcore-13.2.0.eb --- ...ch-jupyter-builder-0.9.1-GCCcore-13.2.0.eb | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 easybuild/easyconfigs/h/hatch-jupyter-builder/hatch-jupyter-builder-0.9.1-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/h/hatch-jupyter-builder/hatch-jupyter-builder-0.9.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/h/hatch-jupyter-builder/hatch-jupyter-builder-0.9.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..a1c10cc3b01 --- /dev/null +++ b/easybuild/easyconfigs/h/hatch-jupyter-builder/hatch-jupyter-builder-0.9.1-GCCcore-13.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'hatch-jupyter-builder' +version = "0.9.1" + +homepage = 'https://hatch-jupyter-builder.readthedocs.io' +description = """Hatch Jupyter Builder is a plugin for the hatchling Python build backend. It is +primarily targeted for package authors who are providing JavaScript as part of +their Python packages. +Typical use cases are Jupyter Lab Extensions and Jupyter Widgets.""" + + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.5'), + ('hatchling', '1.18.0'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('hatch_nodejs_version', '0.3.2', { + 'checksums': ['8a7828d817b71e50bbbbb01c9bfc0b329657b7900c56846489b9c958de15b54c'], + }), + ('hatch_jupyter_builder', '0.9.1', { + 'checksums': ['79278198d124c646b799c5e8dca8504aed9dcaaa88d071a09eb0b5c2009a58ad'], + }), +] + +moduleclass = 'tools' From 4c00b4f949516e0e12a85a4517a718f9c718c3ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Thu, 23 May 2024 12:11:11 +0200 Subject: [PATCH 683/889] add missing dependencies --- .../easyconfigs/h/HOMER/HOMER-4.11-foss-2023a-R-4.3.2.eb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/easybuild/easyconfigs/h/HOMER/HOMER-4.11-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/h/HOMER/HOMER-4.11-foss-2023a-R-4.3.2.eb index adc0de86b83..62628f77d54 100644 --- a/easybuild/easyconfigs/h/HOMER/HOMER-4.11-foss-2023a-R-4.3.2.eb +++ b/easybuild/easyconfigs/h/HOMER/HOMER-4.11-foss-2023a-R-4.3.2.eb @@ -17,6 +17,10 @@ source_urls = ['http://homer.ucsd.edu/homer'] sources = ['configureHomer.pl'] checksums = ['ccdaa3004a0e0df0882634671d4a1acc88364761e0e6c7ea329ebbf1eb729537'] +builddependencies = [ + ('wget', '1.24.5'), +] + dependencies = [ ('Perl', '5.36.1'), ('R', '4.3.2'), From cc569b45e2aa94b8765b69418bb8fbca0cb969e1 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Thu, 23 May 2024 13:20:25 +0200 Subject: [PATCH 684/889] adding easyconfigs: JupyterHub-4.1.5-GCCcore-13.2.0.eb, bcrypt-4.1.3-GCCcore-13.2.0.eb, configurable-http-proxy-4.6.1-GCCcore-13.2.0.eb, PycURL-7.45.3-GCCcore-13.2.0.eb --- .../b/bcrypt/bcrypt-4.1.3-GCCcore-13.2.0.eb | 147 ++++++++++++++++++ ...gurable-http-proxy-4.6.1-GCCcore-13.2.0.eb | 32 ++++ .../JupyterHub-4.1.5-GCCcore-13.2.0.eb | 105 +++++++++++++ .../p/PycURL/PycURL-7.45.3-GCCcore-13.2.0.eb | 29 ++++ 4 files changed, 313 insertions(+) create mode 100644 easybuild/easyconfigs/b/bcrypt/bcrypt-4.1.3-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/c/configurable-http-proxy/configurable-http-proxy-4.6.1-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/j/JupyterHub/JupyterHub-4.1.5-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/p/PycURL/PycURL-7.45.3-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/b/bcrypt/bcrypt-4.1.3-GCCcore-13.2.0.eb b/easybuild/easyconfigs/b/bcrypt/bcrypt-4.1.3-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..cbada951cfd --- /dev/null +++ b/easybuild/easyconfigs/b/bcrypt/bcrypt-4.1.3-GCCcore-13.2.0.eb @@ -0,0 +1,147 @@ +easyblock = 'CargoPythonPackage' + +name = 'bcrypt' +version = '4.1.3' + +homepage = 'https://github.com/pyca/bcrypt/' +description = """Acceptable password hashing for your software and your servers (but you should +really use argon2id or scrypt) +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + + +builddependencies = [ + ('binutils', '2.40'), + ('Rust', '1.73.0'), + ('setuptools-rust', '1.8.0'), +] + +dependencies = [ + ('Python', '3.11.5'), +] + +crates = [ + ('autocfg', '1.3.0'), + ('base64', '0.22.1'), + ('bcrypt', '0.15.1'), + ('bcrypt-pbkdf', '0.10.0'), + ('bitflags', '2.5.0'), + ('block-buffer', '0.10.4'), + ('blowfish', '0.9.1'), + ('byteorder', '1.5.0'), + ('cfg-if', '1.0.0'), + ('cipher', '0.4.4'), + ('cpufeatures', '0.2.12'), + ('crypto-common', '0.1.6'), + ('digest', '0.10.7'), + ('generic-array', '0.14.7'), + ('getrandom', '0.2.14'), + ('heck', '0.4.1'), + ('indoc', '2.0.5'), + ('inout', '0.1.3'), + ('libc', '0.2.154'), + ('lock_api', '0.4.12'), + ('memoffset', '0.9.1'), + ('once_cell', '1.19.0'), + ('parking_lot', '0.12.2'), + ('parking_lot_core', '0.9.10'), + ('pbkdf2', '0.12.2'), + ('portable-atomic', '1.6.0'), + ('proc-macro2', '1.0.81'), + ('pyo3', '0.21.2'), + ('pyo3-build-config', '0.21.2'), + ('pyo3-ffi', '0.21.2'), + ('pyo3-macros', '0.21.2'), + ('pyo3-macros-backend', '0.21.2'), + ('quote', '1.0.36'), + ('redox_syscall', '0.5.1'), + ('scopeguard', '1.2.0'), + ('sha2', '0.10.8'), + ('smallvec', '1.13.2'), + ('subtle', '2.5.0'), + ('syn', '2.0.60'), + ('target-lexicon', '0.12.14'), + ('typenum', '1.17.0'), + ('unicode-ident', '1.0.12'), + ('unindent', '0.2.3'), + ('version_check', '0.9.4'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('windows-targets', '0.52.5'), + ('windows_aarch64_gnullvm', '0.52.5'), + ('windows_aarch64_msvc', '0.52.5'), + ('windows_i686_gnu', '0.52.5'), + ('windows_i686_gnullvm', '0.52.5'), + ('windows_i686_msvc', '0.52.5'), + ('windows_x86_64_gnu', '0.52.5'), + ('windows_x86_64_gnullvm', '0.52.5'), + ('windows_x86_64_msvc', '0.52.5'), + ('zeroize', '1.7.0'), +] + +sources = [SOURCE_TAR_GZ] +checksums = [ + {'bcrypt-4.1.3.tar.gz': '2ee15dd749f5952fe3f0430d0ff6b74082e159c50332a1413d51b5689cf06623'}, + {'autocfg-1.3.0.tar.gz': '0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0'}, + {'base64-0.22.1.tar.gz': '72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6'}, + {'bcrypt-0.15.1.tar.gz': 'e65938ed058ef47d92cf8b346cc76ef48984572ade631927e9937b5ffc7662c7'}, + {'bcrypt-pbkdf-0.10.0.tar.gz': '6aeac2e1fe888769f34f05ac343bbef98b14d1ffb292ab69d4608b3abc86f2a2'}, + {'bitflags-2.5.0.tar.gz': 'cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1'}, + {'block-buffer-0.10.4.tar.gz': '3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71'}, + {'blowfish-0.9.1.tar.gz': 'e412e2cd0f2b2d93e02543ceae7917b3c70331573df19ee046bcbc35e45e87d7'}, + {'byteorder-1.5.0.tar.gz': '1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'cipher-0.4.4.tar.gz': '773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad'}, + {'cpufeatures-0.2.12.tar.gz': '53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504'}, + {'crypto-common-0.1.6.tar.gz': '1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3'}, + {'digest-0.10.7.tar.gz': '9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292'}, + {'generic-array-0.14.7.tar.gz': '85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a'}, + {'getrandom-0.2.14.tar.gz': '94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'indoc-2.0.5.tar.gz': 'b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5'}, + {'inout-0.1.3.tar.gz': 'a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5'}, + {'libc-0.2.154.tar.gz': 'ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346'}, + {'lock_api-0.4.12.tar.gz': '07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17'}, + {'memoffset-0.9.1.tar.gz': '488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a'}, + {'once_cell-1.19.0.tar.gz': '3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92'}, + {'parking_lot-0.12.2.tar.gz': '7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb'}, + {'parking_lot_core-0.9.10.tar.gz': '1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8'}, + {'pbkdf2-0.12.2.tar.gz': 'f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2'}, + {'portable-atomic-1.6.0.tar.gz': '7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0'}, + {'proc-macro2-1.0.81.tar.gz': '3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba'}, + {'pyo3-0.21.2.tar.gz': 'a5e00b96a521718e08e03b1a622f01c8a8deb50719335de3f60b3b3950f069d8'}, + {'pyo3-build-config-0.21.2.tar.gz': '7883df5835fafdad87c0d888b266c8ec0f4c9ca48a5bed6bbb592e8dedee1b50'}, + {'pyo3-ffi-0.21.2.tar.gz': '01be5843dc60b916ab4dad1dca6d20b9b4e6ddc8e15f50c47fe6d85f1fb97403'}, + {'pyo3-macros-0.21.2.tar.gz': '77b34069fc0682e11b31dbd10321cbf94808394c56fd996796ce45217dfac53c'}, + {'pyo3-macros-backend-0.21.2.tar.gz': '08260721f32db5e1a5beae69a55553f56b99bd0e1c3e6e0a5e8851a9d0f5a85c'}, + {'quote-1.0.36.tar.gz': '0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7'}, + {'redox_syscall-0.5.1.tar.gz': '469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e'}, + {'scopeguard-1.2.0.tar.gz': '94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49'}, + {'sha2-0.10.8.tar.gz': '793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8'}, + {'smallvec-1.13.2.tar.gz': '3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67'}, + {'subtle-2.5.0.tar.gz': '81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc'}, + {'syn-2.0.60.tar.gz': '909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3'}, + {'target-lexicon-0.12.14.tar.gz': 'e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f'}, + {'typenum-1.17.0.tar.gz': '42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825'}, + {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'}, + {'unindent-0.2.3.tar.gz': 'c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce'}, + {'version_check-0.9.4.tar.gz': '49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f'}, + {'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}, + {'windows-targets-0.52.5.tar.gz': '6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb'}, + {'windows_aarch64_gnullvm-0.52.5.tar.gz': '7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263'}, + {'windows_aarch64_msvc-0.52.5.tar.gz': '9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6'}, + {'windows_i686_gnu-0.52.5.tar.gz': '88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670'}, + {'windows_i686_gnullvm-0.52.5.tar.gz': '87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9'}, + {'windows_i686_msvc-0.52.5.tar.gz': 'db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf'}, + {'windows_x86_64_gnu-0.52.5.tar.gz': '4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9'}, + {'windows_x86_64_gnullvm-0.52.5.tar.gz': '852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596'}, + {'windows_x86_64_msvc-0.52.5.tar.gz': 'bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0'}, + {'zeroize-1.7.0.tar.gz': '525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d'}, +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/configurable-http-proxy/configurable-http-proxy-4.6.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/configurable-http-proxy/configurable-http-proxy-4.6.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..c8aae63595d --- /dev/null +++ b/easybuild/easyconfigs/c/configurable-http-proxy/configurable-http-proxy-4.6.1-GCCcore-13.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'Binary' + +name = 'configurable-http-proxy' +version = '4.6.1' + +homepage = 'https://github.com/jupyterhub/configurable-http-proxy' +description = """HTTP proxy for node.js including a REST API for updating the routing table. + Developed as a part of the Jupyter Hub multi-user server.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/jupyterhub/%(name)s/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['52bac444b1a0629e7817102949f685bdb719d0cbfd0abbaeaa91d42f1ed60852'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('nodejs', '20.9.0'), +] + +install_cmd = "npm install --no-package-lock -g --prefix %(installdir)s %(version)s.tar.gz" + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +sanity_check_commands = ['%(name)s --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/JupyterHub/JupyterHub-4.1.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/j/JupyterHub/JupyterHub-4.1.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..c12f7802aaa --- /dev/null +++ b/easybuild/easyconfigs/j/JupyterHub/JupyterHub-4.1.5-GCCcore-13.2.0.eb @@ -0,0 +1,105 @@ +easyblock = 'PythonBundle' + +name = 'JupyterHub' +version = '4.1.5' + +homepage = 'https://jupyter.org' +description = """JupyterHub is a multiuser version of the Jupyter (IPython) notebook designed + for centralized deployments in companies, university classrooms and research labs.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.5'), + ('IPython', '8.17.2'), + ('bcrypt', '4.1.3'), + ('configurable-http-proxy', '4.6.1'), + ('OpenSSL', '1.1', '', SYSTEM), + ('tornado', '6.4'), + ('PycURL', '7.45.3'), # optional, recommended with large number of users + ('SQLAlchemy', '2.0.29'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('certipy', '0.1.3', { + 'checksums': ['695704b7716b033375c9a1324d0d30f27110a28895c40151a90ec07ff1032859'], + }), + ('pamela', '1.1.0', { + 'checksums': ['d4b139fe600e192e176a2a368059207a6bffa0e7879879b13f4fcba0163481be'], + }), + ('async_generator', '1.10', { + 'checksums': ['6ebb3d106c12920aaae42ccb6f787ef5eefdcdd166ea3d628fa8476abe712144'], + }), + ('oauthlib', '3.2.2', { + 'checksums': ['9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918'], + }), + ('ruamel.yaml', '0.18.6', { + 'checksums': ['8b27e6a217e786c6fbe5634d8f3f11bc63e0f80f6a5890f28863d9c45aac311b'], + }), + ('ruamel.yaml.clib', '0.2.8', { + 'modulename': False, + 'checksums': ['beb2e0404003de9a4cab9753a8805a8fe9320ee6673136ed7f04255fe60bb512'], + }), + ('python-json-logger', '2.0.7', { + 'modulename': 'pythonjsonlogger', + 'checksums': ['23e7ec02d34237c5aa1e29a070193a4ea87583bb4e7f8fd06d3de8264c4b2e1c'], + }), + ('jupyter-telemetry', '0.1.0', { + 'source_tmpl': 'jupyter_telemetry-%(version)s.tar.gz', + 'checksums': ['445c613ae3df70d255fe3de202f936bba8b77b4055c43207edf22468ac875314'], + }), + ('prometheus_client', '0.20.0', { + 'checksums': ['287629d00b147a32dcb2be0b9df905da599b2d82f80377083ec8463309a4bb89'], + }), + ('jupyterhub', version, { + 'checksums': ['63ba1fc718436c151946a58a3b403ec4fe8b3f624fb195bc1d8e70c39b33e194'], + }), + ('batchspawner', '1.3.0', { + 'checksums': ['c0f422eb6a6288f7f711db8b780055b37c1a5c630283cdeb2ef9b5e94ba78caa'], + }), + ('jupyterhub-systemdspawner', '1.0.1', { + 'modulename': 'systemdspawner', + 'checksums': ['8d614f19d89564321fe55d80ecd134a0e2bf276274d45861495c9bb5a80add28'], + }), + ('jupyterhub-simplespawner', '0.1', { + 'modulename': 'simplespawner', + 'checksums': ['5fcc295b310dd7a99c0f00226be311121fd99b36a5d127e8685f3ffa29712d0d'], + }), + ('ldap3', '2.9.1', { + 'checksums': ['f3e7fc4718e3f09dda568b57100095e0ce58633bcabbed8667ce3f8fbaa4229f'], + }), + ('jupyterhub-ldapauthenticator', '1.3.2', { + 'modulename': 'ldapauthenticator', + 'checksums': ['758081bbdb28b26313bb18c9d8aa2b8fcdc9162e4d3ab196c626567e64f1ab8b'], + }), + ('PyJWT', '2.8.0', { + 'modulename': 'jwt', + 'checksums': ['57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de'], + }), + ('jupyterhub-jwtauthenticator-v2', '2.0.3', { + 'modulename': 'jwtauthenticator', + 'checksums': ['b94b6dff8246250904c5ee511da3f062680eb657dabe766d75993cbe72747d41'], + }), + ('onetimepass', '1.0.1', { + 'checksums': ['a569dac076d6e3761cbc55e36952144a637ca1b075c6d509de1c1dbc5e7f6a27'], + }), + ('jupyterhub-nativeauthenticator', '1.2.0', { + 'modulename': 'nativeauthenticator', + 'checksums': ['826228e6e9ca37736361e2e60c5723e245ec72e34fdc42cc218fc54a67f968e1'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_check_commands = ['%(namelower)s --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/PycURL/PycURL-7.45.3-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PycURL/PycURL-7.45.3-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..8c337a0cb79 --- /dev/null +++ b/easybuild/easyconfigs/p/PycURL/PycURL-7.45.3-GCCcore-13.2.0.eb @@ -0,0 +1,29 @@ +# This easyconfig was created by Simon Branford of the BEAR Software team at the University of Birmingham. +easyblock = 'PythonPackage' + +name = 'PycURL' +version = '7.45.3' + +homepage = 'http://pycurl.io/' +description = """PycURL is a Python interface to libcurl. PycURL can be used to fetch objects identified by a URL + from a Python program, similar to the urllib Python module. PycURL is mature, very fast, and supports a lot of + features.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['8c2471af9079ad798e1645ec0b0d3d4223db687379d17dd36a70637449f81d6b'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.5'), + ('cURL', '8.3.0'), +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'tools' From 5e4ca83a5532b343299d8bc172a02a16e33b3c41 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Thu, 23 May 2024 13:34:08 +0200 Subject: [PATCH 685/889] adding easyconfigs: Jupyter-bundle-20240522-GCCcore-13.2.0.eb, nbclassic-1.0.0-GCCcore-13.2.0.eb, jupyter-server-proxy-4.1.2-GCCcore-13.2.0.eb, aiohttp-3.9.5-GCCcore-13.2.0.eb, jupyter-resource-usage-1.0.2-GCCcore-13.2.0.eb --- .../a/aiohttp/aiohttp-3.9.5-GCCcore-13.2.0.eb | 53 +++++++++++++++++++ .../Jupyter-bundle-20240522-GCCcore-13.2.0.eb | 26 +++++++++ ...ter-resource-usage-1.0.2-GCCcore-13.2.0.eb | 41 ++++++++++++++ ...pyter-server-proxy-4.1.2-GCCcore-13.2.0.eb | 43 +++++++++++++++ .../nbclassic-1.0.0-GCCcore-13.2.0.eb | 51 ++++++++++++++++++ 5 files changed, 214 insertions(+) create mode 100644 easybuild/easyconfigs/a/aiohttp/aiohttp-3.9.5-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/j/Jupyter-bundle/Jupyter-bundle-20240522-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-1.0.2-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-4.1.2-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/n/nbclassic/nbclassic-1.0.0-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/a/aiohttp/aiohttp-3.9.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/a/aiohttp/aiohttp-3.9.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..550b4aebf60 --- /dev/null +++ b/easybuild/easyconfigs/a/aiohttp/aiohttp-3.9.5-GCCcore-13.2.0.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonBundle' + +name = 'aiohttp' +version = '3.9.5' + +homepage = 'https://github.com/aio-libs/aiohttp' +description = "Asynchronous HTTP client/server framework for asyncio and Python." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('poetry', '1.6.1'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), +] + +use_pip = True + +# aioredis and aiosignal do not depend on aiohttp, but are commonly used together and share dependencies +exts_list = [ + ('multidict', '6.0.5', { + 'checksums': ['f7e301075edaf50500f0b341543c41194d8df3ae5caf4702f2095f3ca73dd8da'], + }), + ('expandvars', '0.12.0', { + 'checksums': ['7d1adfa55728cf4b5d812ece3d087703faea953e0c0a1a78415de9df5024d844'], + }), + ('yarl', '1.9.4', { + 'checksums': ['566db86717cf8080b99b58b083b773a908ae40f06681e87e589a976faf8246bf'], + }), + ('frozenlist', '1.4.1', { + 'checksums': ['c037a86e8513059a2613aaba4d817bb90b9d9b6b69aace3ce9c877e8c8ed402b'], + }), + ('async-timeout', '4.0.3', { + 'checksums': ['4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f'], + }), + ('aiosignal', '1.3.1', { + 'checksums': ['54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc'], + }), + ('aiohappyeyeballs', '2.3.2', { + 'checksums': ['77e15a733090547a1f5369a1287ddfc944bd30df0eb8993f585259c34b405f4e'], + }), + (name, version, { + 'checksums': ['edea7d15772ceeb29db4aff55e482d4bcfb6ae160ce144f2682de02f6d693551'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/Jupyter-bundle/Jupyter-bundle-20240522-GCCcore-13.2.0.eb b/easybuild/easyconfigs/j/Jupyter-bundle/Jupyter-bundle-20240522-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..d6ac6ce1ad0 --- /dev/null +++ b/easybuild/easyconfigs/j/Jupyter-bundle/Jupyter-bundle-20240522-GCCcore-13.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'Bundle' + +name = 'Jupyter-bundle' +version = '20240522' + +homepage = "https://jupyter.org/" + +description = """ + This bundle collects a range of Jupyter interfaces (Lab, Notebook and nbclassic), + extensions (Jupyter Server Proxy, Jupyter Resource Monitor, Jupyter Lmod) and + the JupyterHub. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +dependencies = [ + ('JupyterHub', '4.1.5'), + ('JupyterLab', '4.2.0'), + ('JupyterNotebook', '7.2.0'), + ('nbclassic', '1.0.0'), + ('jupyter-server-proxy', '4.1.2'), + # ('jupyterlmod', '5.0.0'), -- not ready yet, waiting for https://github.com/cmd-ntrf/jupyter-lmod/pull/70 + ('jupyter-resource-usage', '1.0.2'), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-1.0.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-1.0.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..3062f3f80b5 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-1.0.2-GCCcore-13.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'jupyter-resource-usage' +version = "1.0.2" + +homepage = 'https://github.com/jupyter-server/jupyter-resource-usage' +description = "Jupyter Notebook Extension for monitoring your own Resource Usage (memory and/or CPU)" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('hatch-jupyter-builder', '0.9.1'), +] +dependencies = [ + ('Python', '3.11.5'), + ('IPython', '8.17.2'), + ('jupyter-server', '2.14.0'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('jupyter_resource_usage', version, { + 'checksums': ['20babc5a63fd53724b12e50b9046ca07784fb56004c39d0442990116fb925a4b'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [ + 'lib/python%(pyshortver)s/site-packages/jupyter_resource_usage', + 'share/jupyter' + ], +} + +# Add the notebook extension to the search path for jupyter notebooks +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-4.1.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-4.1.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..c71b66da33e --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-4.1.2-GCCcore-13.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'jupyter-server-proxy' +version = '4.1.2' + +homepage = 'https://github.com/jupyterhub/jupyter-server-proxy' +description = """Jupyter Server Proxy lets you run arbitrary external processes +(such as RStudio, Shiny Server, Syncthing, PostgreSQL, Code Server, etc) +alongside your notebook server and provide authenticated web access to them +using a path like /rstudio next to others like /lab. Alongside the python +package that provides the main functionality, the JupyterLab extension +(@jupyterlab/server-proxy) provides buttons in the JupyterLab launcher window +to get to RStudio for example.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('hatch-jupyter-builder', '0.9.1'), +] +dependencies = [ + ('Python', '3.11.5'), + ('IPython', '8.17.2'), + ('jupyter-server', '2.14.0'), + ('OpenSSL', '1.1', '', SYSTEM), + ('aiohttp', '3.9.5'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('simpervisor', '1.0.0', { + 'checksums': ['7eb87ca86d5e276976f5bb0290975a05d452c6a7b7f58062daea7d8369c823c1'], + }), + ('jupyter_server_proxy', version, { + 'checksums': ['6fd8ce88a0100e637b48f1d3aa32f09672bcb2813dc057d70567f0a40b1237f5'], + }), +] + +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/nbclassic/nbclassic-1.0.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/n/nbclassic/nbclassic-1.0.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..26033ffa7ec --- /dev/null +++ b/easybuild/easyconfigs/n/nbclassic/nbclassic-1.0.0-GCCcore-13.2.0.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonPackage' + +name = 'nbclassic' +version = "1.0.0" + +homepage = 'https://jupyter.org/' +description = """NbClassic provides a backwards compatible Jupyter Notebook interface + that you can install side-by-side with the latest versions: That way, you can fearlessly + upgrade without worrying about your classic extensions and customizations breaking.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('maturin', '1.3.1'), +] +dependencies = [ + ('Python', '3.11.5'), + ('jupyter-server', '2.14.0'), +] + +sources = [SOURCE_TAR_GZ] +patches = ['nbclassic-1.0.0_fix_setup_version.patch'] +checksums = [ + {'nbclassic-1.0.0.tar.gz': '0ae11eb2319455d805596bf320336cda9554b41d99ab9a3c31bf8180bffa30e3'}, + {'nbclassic-1.0.0_fix_setup_version.patch': 'c26d91ac1d0cea2b361b2619076acdaf5fcd5ff2363d9e5f5e1bd737b4b50736'}, +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +local_binaries = [ + 'jupyter-nbclassic', + 'jupyter-nbclassic-bundlerextension', + 'jupyter-nbclassic-extension', + 'jupyter-nbclassic-serverextension', +] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': [], +} + +sanity_check_commands = ['jupyter nbclassic --help'] + +modextrapaths = { + 'JUPYTER_CONFIG_PATH': 'etc/jupyter', + 'JUPYTER_PATH': 'share/jupyter', +} + +moduleclass = 'tools' From eb89a90513d658af60d72faa896740796b4cc139 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 23 May 2024 13:47:39 +0200 Subject: [PATCH 686/889] add rhandsontable extension to R-bundle-CRAN v2023.12 --- .../R-bundle-CRAN-2023.12-foss-2023a.eb | 7 ++--- .../rhandsontable-0.3.8-foss-2023a-R-4.3.2.eb | 29 ------------------- 2 files changed, 3 insertions(+), 33 deletions(-) delete mode 100644 easybuild/easyconfigs/r/rhandsontable/rhandsontable-0.3.8-foss-2023a-R-4.3.2.eb diff --git a/easybuild/easyconfigs/r/R-bundle-CRAN/R-bundle-CRAN-2023.12-foss-2023a.eb b/easybuild/easyconfigs/r/R-bundle-CRAN/R-bundle-CRAN-2023.12-foss-2023a.eb index 57ab900fc6c..bbc343accac 100644 --- a/easybuild/easyconfigs/r/R-bundle-CRAN/R-bundle-CRAN-2023.12-foss-2023a.eb +++ b/easybuild/easyconfigs/r/R-bundle-CRAN/R-bundle-CRAN-2023.12-foss-2023a.eb @@ -43,10 +43,6 @@ configopts = "--with-pic --enable-threads --enable-R-shlib" # we're installing them anyway below configopts += " --with-recommended-packages=no" -# specify that at least EasyBuild v3.5.0 is required, -# since we rely on the updated easyblock for R to configure correctly w.r.t. BLAS/LAPACK -easybuild_version = '3.5.0' - exts_defaultclass = 'RPackage' exts_default_options = { @@ -3425,6 +3421,9 @@ exts_list = [ ('XBRL', '0.99.19.1', { 'checksums': ['ad9ebb5431bdfecc38b8bf3b2552f1a048878a9ac02f5a9d71279b3b099a9757'], }), + ('rhandsontable', '0.3.8', { + 'checksums': ['901ed9c59936f7fa52ad8db3111c8904ab962f9c74f1b6cd40f81683af35d21d'], + }), ] modextrapaths = {'R_LIBS_SITE': ''} diff --git a/easybuild/easyconfigs/r/rhandsontable/rhandsontable-0.3.8-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/r/rhandsontable/rhandsontable-0.3.8-foss-2023a-R-4.3.2.eb deleted file mode 100644 index c97bbb9bf43..00000000000 --- a/easybuild/easyconfigs/r/rhandsontable/rhandsontable-0.3.8-foss-2023a-R-4.3.2.eb +++ /dev/null @@ -1,29 +0,0 @@ -easyblock = 'RPackage' - -name = 'rhandsontable' -version = '0.3.8' -versionsuffix = '-R-%(rver)s' - -homepage = 'https://cran.r-project.org/web/packages/rhandsontable/index.html' -description = """An R interface to the 'Handsontable' JavaScript library, - which is a minimalist Excel-like data grid editor.""" - -toolchain = {'name': 'foss', 'version': '2023a'} - -source_urls = [ - 'https://cran.r-project.org/src/contrib/', - 'https://cran.r-project.org/src/contrib/Archive/%(name)s/', -] -sources = ['%(name)s_%(version)s.tar.gz'] -checksums = ['901ed9c59936f7fa52ad8db3111c8904ab962f9c74f1b6cd40f81683af35d21d'] - -dependencies = [ - ('R', '4.3.2'), -] - -sanity_check_paths = { - 'files': [], - 'dirs': ['%(name)s'], -} - -moduleclass = 'tools' From 18ac033c1e269a3519c3d2ac424faba3f8e220cf Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Thu, 23 May 2024 13:50:58 +0200 Subject: [PATCH 687/889] add missing extension pyOpenSSL to JupyterHub v4.1.5 --- .../j/JupyterHub/JupyterHub-4.1.5-GCCcore-13.2.0.eb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/easybuild/easyconfigs/j/JupyterHub/JupyterHub-4.1.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/j/JupyterHub/JupyterHub-4.1.5-GCCcore-13.2.0.eb index c12f7802aaa..76751fb0f5f 100644 --- a/easybuild/easyconfigs/j/JupyterHub/JupyterHub-4.1.5-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/j/JupyterHub/JupyterHub-4.1.5-GCCcore-13.2.0.eb @@ -39,6 +39,10 @@ exts_list = [ ('oauthlib', '3.2.2', { 'checksums': ['9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918'], }), + ('pyOpenSSL', '24.1.0', { + 'modulename': 'OpenSSL', + 'checksums': ['cabed4bfaa5df9f1a16c0ef64a0cb65318b5cd077a7eda7d6970131ca2f41a6f'], + }), ('ruamel.yaml', '0.18.6', { 'checksums': ['8b27e6a217e786c6fbe5634d8f3f11bc63e0f80f6a5890f28863d9c45aac311b'], }), From 80b904219b46c3f58c4a487bd761554a4bb0f6fb Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Thu, 23 May 2024 15:59:07 +0200 Subject: [PATCH 688/889] adding easyconfigs: Brotli-python-1.0.9-GCCcore-12.3.0.eb, CUnit-2.1-3-GCCcore-12.3.0.eb, e3nn-0.3.3-foss-2023a-CUDA-12.1.1.eb, GnuTLS-3.7.8-GCCcore-12.3.0.eb, Jansson-2.14-GCC-12.3.0.eb, jemalloc-5.3.0-GCCcore-12.3.0.eb, LAPACK-3.12.0-GCC-12.3.0.eb, libedit-20191231-GCCcore-12.3.0.eb, libev-4.33-GCC-12.3.0.eb, libgcrypt-1.10.3-GCCcore-12.3.0.eb, libgpg-error-1.48-GCCcore-12.3.0.eb, libidn2-2.3.2-GCCcore-12.3.0.eb, libnsl-2.0.1-GCCcore-12.3.0.eb, libtasn1-4.19.0-GCCcore-12.3.0.eb, libuv-1.48.0-GCCcore-12.3.0.eb, Markdown-3.6-GCCcore-12.3.0.eb, mpmath-1.3.0-GCCcore-12.3.0.eb, nghttp2-1.58.0-GCC-12.3.0.eb, nghttp3-1.3.0-GCCcore-12.3.0.eb, ngtcp2-1.2.0-GCC-12.3.0.eb, p11-kit-0.25.3-GCCcore-12.3.0.eb, PSIPRED-4.02-GCC-12.3.0.eb --- .../Brotli-python-1.0.9-GCCcore-12.3.0.eb | 34 ++++++++++++ .../c/CUnit/CUnit-2.1-3-GCCcore-12.3.0.eb | 27 +++++++++ .../e3nn/e3nn-0.3.3-foss-2023a-CUDA-12.1.1.eb | 40 ++++++++++++++ .../g/GnuTLS/GnuTLS-3.7.8-GCCcore-12.3.0.eb | 48 ++++++++++++++++ .../j/Jansson/Jansson-2.14-GCC-12.3.0.eb | 41 ++++++++++++++ .../jemalloc/jemalloc-5.3.0-GCCcore-12.3.0.eb | 37 +++++++++++++ .../l/LAPACK/LAPACK-3.12.0-GCC-12.3.0.eb | 16 ++++++ .../libedit-20191231-GCCcore-12.3.0.eb | 27 +++++++++ .../l/libev/libev-4.33-GCC-12.3.0.eb | 31 +++++++++++ .../libgcrypt-1.10.3-GCCcore-12.3.0.eb | 31 +++++++++++ .../libgpg-error-1.48-GCCcore-12.3.0.eb | 22 ++++++++ .../l/libidn2/libidn2-2.3.2-GCCcore-12.3.0.eb | 27 +++++++++ .../l/libnsl/libnsl-2.0.1-GCCcore-12.3.0.eb | 33 +++++++++++ .../libtasn1-4.19.0-GCCcore-12.3.0.eb | 25 +++++++++ .../l/libuv/libuv-1.48.0-GCCcore-12.3.0.eb | 28 ++++++++++ .../m/Markdown/Markdown-3.6-GCCcore-12.3.0.eb | 24 ++++++++ .../m/mpmath/mpmath-1.3.0-GCCcore-12.3.0.eb | 45 +++++++++++++++ .../n/nghttp2/nghttp2-1.58.0-GCC-12.3.0.eb | 55 +++++++++++++++++++ .../n/nghttp3/nghttp3-1.3.0-GCCcore-12.3.0.eb | 43 +++++++++++++++ .../n/ngtcp2/ngtcp2-1.2.0-GCC-12.3.0.eb | 45 +++++++++++++++ .../p/PSIPRED/PSIPRED-4.02-GCC-12.3.0.eb | 30 ++++++++++ .../p11-kit/p11-kit-0.25.3-GCCcore-12.3.0.eb | 41 ++++++++++++++ 22 files changed, 750 insertions(+) create mode 100644 easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.0.9-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/c/CUnit/CUnit-2.1-3-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/e/e3nn/e3nn-0.3.3-foss-2023a-CUDA-12.1.1.eb create mode 100644 easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.8-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/j/Jansson/Jansson-2.14-GCC-12.3.0.eb create mode 100644 easybuild/easyconfigs/j/jemalloc/jemalloc-5.3.0-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/l/LAPACK/LAPACK-3.12.0-GCC-12.3.0.eb create mode 100644 easybuild/easyconfigs/l/libedit/libedit-20191231-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/l/libev/libev-4.33-GCC-12.3.0.eb create mode 100644 easybuild/easyconfigs/l/libgcrypt/libgcrypt-1.10.3-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/l/libgpg-error/libgpg-error-1.48-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/l/libidn2/libidn2-2.3.2-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/l/libnsl/libnsl-2.0.1-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/l/libtasn1/libtasn1-4.19.0-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/l/libuv/libuv-1.48.0-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/m/Markdown/Markdown-3.6-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/m/mpmath/mpmath-1.3.0-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/n/nghttp2/nghttp2-1.58.0-GCC-12.3.0.eb create mode 100644 easybuild/easyconfigs/n/nghttp3/nghttp3-1.3.0-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/n/ngtcp2/ngtcp2-1.2.0-GCC-12.3.0.eb create mode 100644 easybuild/easyconfigs/p/PSIPRED/PSIPRED-4.02-GCC-12.3.0.eb create mode 100644 easybuild/easyconfigs/p/p11-kit/p11-kit-0.25.3-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.0.9-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.0.9-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..48f717c030a --- /dev/null +++ b/easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.0.9-GCCcore-12.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'Brotli-python' +version = '1.0.9' + +homepage = 'https://github.com/google/brotli' +description = """Brotli is a generic-purpose lossless compression algorithm that compresses data using a combination + of a modern variant of the LZ77 algorithm, Huffman coding and 2nd order context modeling, with a compression ratio + comparable to the best currently available general-purpose compression methods. It is similar in speed with deflate + but offers more dense compression. +The specification of the Brotli Compressed Data Format is defined in RFC 7932.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://pypi.python.org/packages/source/B/Brotli'] +sources = ['Brotli-%(version)s.zip'] +checksums = ['4d1b810aa0ed773f81dceda2cc7b403d01057458730e309856356d4ef4188438'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Brotli', '1.0.9'), + ('Python', '3.11.3'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'brotli'} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/CUnit/CUnit-2.1-3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/CUnit/CUnit-2.1-3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..827f7ea4e80 --- /dev/null +++ b/easybuild/easyconfigs/c/CUnit/CUnit-2.1-3-GCCcore-12.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'CUnit' +version = '2.1-3' + +homepage = 'https://sourceforge.net/projects/cunit/' +description = "Automated testing framework for C." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_BZ2] +checksums = ['f5b29137f845bb08b77ec60584fdb728b4e58f1023e6f249a464efa49a40f214'] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), +] + +preconfigopts = "autoreconf -i && " + +sanity_check_paths = { + 'files': ['lib/libcunit.a', 'lib/libcunit.%s' % SHLIB_EXT], + 'dirs': ['include/CUnit', 'lib/pkgconfig', 'share'], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/e/e3nn/e3nn-0.3.3-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/e/e3nn/e3nn-0.3.3-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..8c30352e396 --- /dev/null +++ b/easybuild/easyconfigs/e/e3nn/e3nn-0.3.3-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'e3nn' +version = '0.3.3' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://e3nn.org/' +description = """ +Euclidean neural networks (e3nn) is a python library based on pytorch to create equivariant +neural networks for the group O(3). +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('PyTorch', '2.1.2', versionsuffix), + ('sympy', '1.12'), +] + +use_pip = True + +exts_list = [ + ('opt-einsum', '3.3.0', { + 'source_tmpl': 'opt_einsum-%(version)s.tar.gz', + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('opt_einsum_fx', '0.1.4', { + 'checksums': ['7eeb7f91ecb70be65e6179c106ea7f64fc1db6319e3d1289a4518b384f81e74f'], + }), + (name, version, { + 'checksums': ['532b34a5644153659253c59943fe4224cd9c3c46ce8a79f1dc7c00afccb44ecb'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.8-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.8-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..476e65a11c0 --- /dev/null +++ b/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.8-GCCcore-12.3.0.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'GnuTLS' +version = '3.7.8' + +homepage = 'https://www.gnutls.org' +description = """GnuTLS is a secure communications library implementing the SSL, TLS + and DTLS protocols and technologies around them. It provides a simple + C language application programming interface (API) to access the secure + communications protocols as well as APIs to parse and write X.509, PKCS #12, + OpenPGP and other required structures. It is aimed to be portable + and efficient with focus on security and interoperability.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://www.gnupg.org/ftp/gcrypt/gnutls/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['c58ad39af0670efe6a8aee5e3a8b2331a1200418b64b7c51977fb396d4617114'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('GMP', '6.2.1'), + ('nettle', '3.9.1'), + ('Guile', '3.0.9'), + ('libtasn1', '4.19.0'), + ('libidn2', '2.3.2'), + ('p11-kit', '0.25.3'), + ('zlib', '1.2.13'), + ('zstd', '1.5.5'), +] + +configopts = "--with-guile-site-dir=%(installdir)s/lib/guile --enable-openssl-compatibility " +configopts += "--with-guile-site-ccache-dir=%(installdir)s/lib/guile/site-ccache " +configopts += "--with-guile-extension-dir=%(installdir)s/lib/guile/extensions " +configopts += "--with-idn --with-p11-kit --with-zlib --with-zstd --without-brotli --without-tpm --without-tpm2" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['certtool', 'gnutls-cli', 'gnutls-cli-debug', + 'gnutls-serv', 'ocsptool', 'psktool', 'srptool']] + + ['lib/libgnutls%s' % x for x in ['.%s' % SHLIB_EXT, 'xx.%s' % SHLIB_EXT, '-openssl.%s' % SHLIB_EXT]], + 'dirs': ['include/gnutls', 'lib/guile'], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/j/Jansson/Jansson-2.14-GCC-12.3.0.eb b/easybuild/easyconfigs/j/Jansson/Jansson-2.14-GCC-12.3.0.eb new file mode 100644 index 00000000000..a8aeb721b5f --- /dev/null +++ b/easybuild/easyconfigs/j/Jansson/Jansson-2.14-GCC-12.3.0.eb @@ -0,0 +1,41 @@ +# Contribution from Imperial College London +# uploaded by J. Sassmannshausen +# Update: P.Tománek (Inuits) + +easyblock = 'CMakeMake' + +name = 'Jansson' +version = "2.14" + +homepage = 'https://www.digip.org/jansson/' +description = """Jansson is a C library for encoding, decoding and manipulating JSON data. + Its main features and design principles are: + * Simple and intuitive API and data model + * Comprehensive documentation + * No dependencies on other libraries + * Full Unicode support (UTF-8) + * Extensive test suite""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/akheron/jansson/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c739578bf6b764aa0752db9a2fdadcfe921c78f1228c7ec0bb47fa804c55d17b'] + +# For configure, the ld.gold linker does not know anything about --default-symver and thus crashes +# So we simnply use the bfd linker +# preconfigopts = 'autoreconf -i && CC="$CC -fuse-ld=bfd" ' +# This is not required with CMake + +builddependencies = [('CMake', '3.26.3')] + +configopts = '-DJANSSON_BUILD_SHARED_LIBS=ON ' + +sanity_check_paths = { + 'files': ['lib/libjansson.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +runtest = 'check' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/j/jemalloc/jemalloc-5.3.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/jemalloc/jemalloc-5.3.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..356d56465fa --- /dev/null +++ b/easybuild/easyconfigs/j/jemalloc/jemalloc-5.3.0-GCCcore-12.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'jemalloc' +version = '5.3.0' + +homepage = 'http://jemalloc.net' +description = """jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and + scalable concurrency support.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/jemalloc/jemalloc/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['ef6f74fd45e95ee4ef7f9e19ebe5b075ca6b7fbe0140612b2a161abafb7ee179'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.40'), +] + +# From version 5.2.1 (or maybe earlier) it does no longer build, +# nor try to install, documentation if xsltproc is missing. +# So we can use normal installation. +preconfigopts = "./autogen.sh && " +configopts = "--with-version=%(version)s-0-g0000 " # build with version info + +sanity_check_paths = { + 'files': ['bin/jeprof', 'lib/libjemalloc.a', 'lib/libjemalloc_pic.a', 'lib/libjemalloc.%s' % SHLIB_EXT, + 'include/jemalloc/jemalloc.h'], + 'dirs': [], +} + +# jemalloc can be used via $LD_PRELOAD, but we don't enable this by +# default, you need to opt-in to it +# modextrapaths = {'LD_PRELOAD': ['lib/libjemalloc.%s' % SHLIB_EXT]} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LAPACK/LAPACK-3.12.0-GCC-12.3.0.eb b/easybuild/easyconfigs/l/LAPACK/LAPACK-3.12.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..d68bd9e25a5 --- /dev/null +++ b/easybuild/easyconfigs/l/LAPACK/LAPACK-3.12.0-GCC-12.3.0.eb @@ -0,0 +1,16 @@ +name = 'LAPACK' +version = '3.12.0' + +homepage = 'https://www.netlib.org/lapack/' +description = """LAPACK is written in Fortran90 and provides routines for solving systems of + simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue + problems, and singular value problems.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Reference-LAPACK/lapack/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['eac9570f8e0ad6f30ce4b963f4f033f0f643e7c3912fc9ee6cd99120675ad48b'] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/l/libedit/libedit-20191231-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libedit/libedit-20191231-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..9e85864f61d --- /dev/null +++ b/easybuild/easyconfigs/l/libedit/libedit-20191231-GCCcore-12.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libedit' +version = '20191231' + +homepage = 'https://thrysoee.dk/editline/' +description = """ +This BSD-style licensed command line editor library provides generic line editing, +history, and tokenization functions, similar to those found in GNU Readline. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://thrysoee.dk/editline/'] +sources = ['%(namelower)s-%(version)s-3.1.tar.gz'] +checksums = ['dbb82cb7e116a5f8025d35ef5b4f7d4a3cdd0a3909a146a39112095a2d229071'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('ncurses', '6.4')] + +sanity_check_paths = { + 'files': ['include/editline/readline.h', 'lib/libedit.%s' % SHLIB_EXT, 'lib/libedit.a'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libev/libev-4.33-GCC-12.3.0.eb b/easybuild/easyconfigs/l/libev/libev-4.33-GCC-12.3.0.eb new file mode 100644 index 00000000000..a2cd4ecd9b5 --- /dev/null +++ b/easybuild/easyconfigs/l/libev/libev-4.33-GCC-12.3.0.eb @@ -0,0 +1,31 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) +# Update: Pavel Tománek (Inuits) +easyblock = 'ConfigureMake' + +name = 'libev' +version = '4.33' + +homepage = 'http://software.schmorp.de/pkg/libev.html' +description = """A full-featured and high-performance (see benchmark) +event loop that is loosely modelled after libevent, but without its +limitations and bugs. It is used in GNU Virtual Private Ethernet, +rxvt-unicode, auditd, the Deliantra MORPG Server and Client, and many +other programs.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['http://dist.schmorp.de/libev/Attic'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['507eb7b8d1015fbec5b935f34ebed15bf346bed04a11ab82b8eee848c4205aea'] + +builddependencies = [ + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': ['lib/libev.%s' % SHLIB_EXT], + 'dirs': ['include/', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libgcrypt/libgcrypt-1.10.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libgcrypt/libgcrypt-1.10.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..d34ddc61fa8 --- /dev/null +++ b/easybuild/easyconfigs/l/libgcrypt/libgcrypt-1.10.3-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'libgcrypt' +version = '1.10.3' + +homepage = 'https://gnupg.org/related_software/libgcrypt/index.html' +description = """Libgcrypt is a general purpose cryptographic library originally based on code from GnuPG""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://gnupg.org/ftp/gcrypt/%(name)s/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['8b0870897ac5ac67ded568dcfadf45969cfa8a6beb0fd60af2a9eadc2a3272aa'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('libgpg-error', '1.48')] # not for 12.3.0 -> ctreated + +sanity_check_paths = { + 'files': ['bin/libgcrypt-config', 'include/gcrypt.h', 'lib/libgcrypt.%s' % SHLIB_EXT], + 'dirs': ['share'] +} + +sanity_check_commands = [ + 'dumpsexp --version', + 'hmac256 --version', + 'mpicalc --version', + 'libgcrypt-config --version | grep "%(version)s"', +] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libgpg-error/libgpg-error-1.48-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libgpg-error/libgpg-error-1.48-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..67edfd4a874 --- /dev/null +++ b/easybuild/easyconfigs/l/libgpg-error/libgpg-error-1.48-GCCcore-12.3.0.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'libgpg-error' +version = '1.48' + +homepage = 'https://gnupg.org/related_software/libgpg-error/index.html' +description = """Libgpg-error is a small library that defines common error values for all GnuPG components.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://gnupg.org/ftp/gcrypt/%(name)s/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['89ce1ae893e122924b858de84dc4f67aae29ffa610ebf668d5aa539045663d6f'] + +builddependencies = [('binutils', '2.40')] + +sanity_check_paths = { + 'files': ['bin/gpg-error', 'include/gpg-error.h', 'lib/libgpg-error.%s' % SHLIB_EXT], + 'dirs': ['share'] +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libidn2/libidn2-2.3.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libidn2/libidn2-2.3.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..e407c6749ea --- /dev/null +++ b/easybuild/easyconfigs/l/libidn2/libidn2-2.3.2-GCCcore-12.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libidn2' +version = '2.3.2' + +homepage = 'http://www.gnu.org/software/%(name)s' +description = "Libidn2 implements the revised algorithm for internationalized domain names called IDNA2008/TR46." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://ftp.gnu.org/gnu/libidn/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['76940cd4e778e8093579a9d195b25fff5e936e9dc6242068528b437a76764f91'] + +builddependencies = [ + ('binutils', '2.40'), +] + + +sanity_check_paths = { + 'files': ['bin/idn2', 'lib/%s.%s' % (name, SHLIB_EXT)], + 'dirs': ['include'], +} + +sanity_check_commands = ['idn2 --help'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libnsl/libnsl-2.0.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libnsl/libnsl-2.0.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a00b43e2177 --- /dev/null +++ b/easybuild/easyconfigs/l/libnsl/libnsl-2.0.1-GCCcore-12.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libnsl' +version = '2.0.1' + +homepage = 'https://github.com/thkukuk/libnsl' +description = """The libnsl package contains the public client interface for NIS(YP).""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/thkukuk/%(name)s/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['5c9e470b232a7acd3433491ac5221b4832f0c71318618dc6aa04dd05ffcd8fd9'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('libtirpc', '1.3.3'), +] + +# Provide a symlink for libnsl.so.1, which used to be part of glibc. +# This new version of libnsl should be backwards compatible. +postinstallcmds = ['ln -s libnsl.so %(installdir)s/lib/libnsl.so.1'] + +sanity_check_paths = { + 'files': ['include/rpcsvc/yp.h', 'lib/libnsl.a', + 'lib/libnsl.%s' % SHLIB_EXT, 'lib/libnsl.%s.1' % SHLIB_EXT], + 'dirs': ['include'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libtasn1/libtasn1-4.19.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libtasn1/libtasn1-4.19.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..38372984a5f --- /dev/null +++ b/easybuild/easyconfigs/l/libtasn1/libtasn1-4.19.0-GCCcore-12.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libtasn1' +version = '4.19.0' + +homepage = 'https://www.gnu.org/software/libtasn1/' +description = """Libtasn1 is the ASN.1 library used by GnuTLS, GNU Shishi and + some other packages. It was written by Fabio Fiorina, and has been shipped as + part of GnuTLS for some time but is now a proper GNU package.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['1613f0ac1cf484d6ec0ce3b8c06d56263cc7242f1c23b30d82d23de345a63f7a'] + +builddependencies = [('binutils', '2.40')] + +sanity_check_paths = { + 'files': ['bin/asn1%s' % x for x in ['Coding', 'Decoding', 'Parser']] + + ['lib/libtasn1.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libuv/libuv-1.48.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libuv/libuv-1.48.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..ee537f6dcb3 --- /dev/null +++ b/easybuild/easyconfigs/l/libuv/libuv-1.48.0-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'libuv' +version = '1.48.0' + +homepage = 'https://libuv.org' +description = "libuv is a multi-platform support library with a focus on asynchronous I/O." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'libuv' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCELOWER_TAR_GZ}] +checksums = ['8c253adb0f800926a6cbd1c6576abae0bc8eb86a4f891049b72f9e5b7dc58f33'] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), +] + +preconfigopts = './autogen.sh; ' + +sanity_check_paths = { + 'files': ['include/uv.h', 'lib/libuv.a', 'lib/libuv.%s' % SHLIB_EXT, 'lib/pkgconfig/libuv.pc'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/Markdown/Markdown-3.6-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/Markdown/Markdown-3.6-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..84b4c527498 --- /dev/null +++ b/easybuild/easyconfigs/m/Markdown/Markdown-3.6-GCCcore-12.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'Markdown' +version = '3.6' + +homepage = 'https://python-markdown.github.io/' +description = """This is a Python implementation of John Gruber's Markdown. +It is almost completely compliant with the reference implementation, though there are a few known issues. +Additional features are supported by the Available Extensions. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['ed4f41f6daecbeeb96e576ce414c41d2d876daa9a16cb35fa8ed8c2ddfad0224'] + +builddependencies = [('binutils', '2.40')] +dependencies = [('Python', '3.11.3')] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/mpmath/mpmath-1.3.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/mpmath/mpmath-1.3.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..4e88d210ec2 --- /dev/null +++ b/easybuild/easyconfigs/m/mpmath/mpmath-1.3.0-GCCcore-12.3.0.eb @@ -0,0 +1,45 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Author: Adam Huffman +# adam.huffman@crick.ac.uk +# The Francis Crick Institute +# Update: Pavel Tománek (Inuits) + +easyblock = 'PythonPackage' + +name = 'mpmath' +version = '1.3.0' + +homepage = 'https://mpmath.org/' +description = """mpmath can be used as an arbitrary-precision substitute for Python's float/complex + types and math/cmath modules, but also does much more advanced mathematics. Almost any calculation + can be performed just as well at 10-digit or 1000-digit precision, with either real or complex + numbers, and in many cases mpmath implements efficient algorithms that scale well for extremely + high precision work.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f'] + +builddependencies = [ + ('binutils', '2.40') +] + +dependencies = [ + ('Python', '3.11.3'), + ('pytest', '7.4.2'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +runtest = 'python -c "import mpmath; mpmath.runtests();"' + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/nghttp2/nghttp2-1.58.0-GCC-12.3.0.eb b/easybuild/easyconfigs/n/nghttp2/nghttp2-1.58.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..95087f63a51 --- /dev/null +++ b/easybuild/easyconfigs/n/nghttp2/nghttp2-1.58.0-GCC-12.3.0.eb @@ -0,0 +1,55 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) +# Update: Pavel Tománek (Inuits) + +easyblock = 'CMakeMake' + +name = 'nghttp2' +version = '1.58.0' + +homepage = 'https://github.com/nghttp2/nghttp2' +description = """ +This is an implementation of the Hypertext Transfer Protocol version 2 in C. + +The framing layer of HTTP/2 is implemented as a reusable C library. +On top of that, we have implemented an HTTP/2 client, server and proxy. +We have also developed load test and benchmarking tools for HTTP/2. + +An HPACK encoder and decoder are available as a public API.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +github_account = 'nghttp2' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['7da19947b33a07ddcf97b9791331bfee8a8545e6b394275a9971f43cae9d636b'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), + ('CMake', '3.26.3'), + ('CUnit', '2.1-3'), + ('Boost', '1.82.0'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), + ('nghttp3', '1.3.0'), + ('Python', '3.11.3'), + ('libxml2', '2.11.4'), + ('Jansson', '2.14'), + ('jemalloc', '5.3.0'), + ('ngtcp2', '1.2.0'), + ('libevent', '2.1.12'), + ('libev', '4.33'), + ('c-ares', '1.19.1'), +] + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libnghttp2.%s' % SHLIB_EXT], + 'dirs': ['include/nghttp2', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/nghttp3/nghttp3-1.3.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/n/nghttp3/nghttp3-1.3.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..5800863a567 --- /dev/null +++ b/easybuild/easyconfigs/n/nghttp3/nghttp3-1.3.0-GCCcore-12.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'CMakeMake' + +name = 'nghttp3' +version = '1.3.0' + +homepage = 'https://github.com/ngtcp2/nghttp3' +description = """ nghttp3 is an implementation of RFC 9114 HTTP/3 +mapping over QUIC and RFC 9204 QPACK in C. +It does not depend on any particular QUIC transport implementation.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +# github_account = 'ngtcp2' +# source_urls = [GITHUB_SOURCE] +# sources = ['v%(version)s.tar.gz'] +sources = [{ + 'filename': 'v%(version)s.tar.gz', + 'git_config': { + 'url': 'https://github.com/ngtcp2', + 'repo_name': 'nghttp3', + 'tag': 'v%(version)s', + 'recursive': True, + 'keep_git_dir': True, + } +}] +checksums = [None] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), + ('pkgconf', '1.9.5'), + ('CUnit', '2.1-3'), +] + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libnghttp3.a', 'lib/libnghttp3.%s' % SHLIB_EXT], + 'dirs': ['include/nghttp3'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/ngtcp2/ngtcp2-1.2.0-GCC-12.3.0.eb b/easybuild/easyconfigs/n/ngtcp2/ngtcp2-1.2.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..67309cf83e2 --- /dev/null +++ b/easybuild/easyconfigs/n/ngtcp2/ngtcp2-1.2.0-GCC-12.3.0.eb @@ -0,0 +1,45 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) +# Update: P.Tománek (Inuits) + +easyblock = 'CMakeMake' + +name = 'ngtcp2' +version = '1.2.0' + +homepage = 'https://github.com/ngtcp2/ngtcp2' +description = """ +'Call it TCP/2. One More Time.' + +ngtcp2 project is an effort to implement RFC9000 QUIC protocol.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +github_account = 'ngtcp2' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['15f3dd4cc4db2435bcd0b5253ccce4cbab26d18cc6ef4f00b5cb4af21ed06a0b'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), + ('CUnit', '2.1-3'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), + ('GnuTLS', '3.7.8'), + ('nghttp3', '1.3.0'), + ('libev', '4.33'), +] + +configopts = '-DENABLE_GNUTLS=True' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libngtcp2.%s' % SHLIB_EXT], + 'dirs': ['share/doc/ngtcp2'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PSIPRED/PSIPRED-4.02-GCC-12.3.0.eb b/easybuild/easyconfigs/p/PSIPRED/PSIPRED-4.02-GCC-12.3.0.eb new file mode 100644 index 00000000000..9f9d2f1539f --- /dev/null +++ b/easybuild/easyconfigs/p/PSIPRED/PSIPRED-4.02-GCC-12.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'PSIPRED' +version = '4.02' + +homepage = 'http://bioinf.cs.ucl.ac.uk' +description = 'Accurate protein secondary structure prediction' + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['http://bioinfadmin.cs.ucl.ac.uk/downloads/psipred/'] +sources = ['%(namelower)s.%(version)s.tar.gz'] +patches = ['PSIPRED-4.02_fix_segfault.patch'] +checksums = [ + {'psipred.4.02.tar.gz': 'b4009b6a5f8b76c6d60ac91c4a743512d844864cf015c492fb6d1dc0d092c467'}, + {'PSIPRED-4.02_fix_segfault.patch': 'd9e52ecf43b04640ebd0693df37871659d598abaec7a2c66264e9a79ee1baa82'}, +] + +parallel = 1 +start_dir = 'src' +build_cmd_targets = 'all install' # install copies binaries to ../bin + +files_to_copy = ['bin', 'data', 'LICENSE'] + +sanity_check_paths = { + 'files': ['bin/chkparse', 'bin/psipass2', 'bin/psipred', 'bin/seq2mtx'], + 'dirs': ['bin', 'data'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/p11-kit/p11-kit-0.25.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/p11-kit/p11-kit-0.25.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..64d64977241 --- /dev/null +++ b/easybuild/easyconfigs/p/p11-kit/p11-kit-0.25.3-GCCcore-12.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'p11-kit' +version = '0.25.3' + +homepage = 'https://p11-glue.freedesktop.org/p11-kit.html' +description = """Provides a way to load and enumerate PKCS#11 modules. + Provides a standard configuration setup for installing + PKCS#11 modules in such a way that they're discoverable. + Also solves problems with coordinating the use of PKCS#11 + by different components or libraries living in the same process.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/p11-glue/p11-kit/releases/download/%(version)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['d8ddce1bb7e898986f9d250ccae7c09ce14d82f1009046d202a0eb1b428b2adc'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('libtasn1', '4.19.0'), + ('libffi', '3.4.4'), +] + +preconfigopts = "bashcompdir=%(installdir)s/share/bash-completions " + +configopts = "--without-systemd" + +sanity_check_paths = { + 'files': ['bin/p11-kit', 'bin/trust'] + + ['lib/libp11-kit.%s' % SHLIB_EXT], + 'dirs': ['include/p11-kit-1/p11-kit'], +} + +sanity_check_commands = ["p11-kit --help"] + +moduleclass = 'lib' From a5a38fee11bdf0e9181ae43b3c5c471f93cc6f77 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Thu, 23 May 2024 16:13:28 +0200 Subject: [PATCH 689/889] delete comments --- .../easyconfigs/l/libgcrypt/libgcrypt-1.10.3-GCCcore-12.3.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/l/libgcrypt/libgcrypt-1.10.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libgcrypt/libgcrypt-1.10.3-GCCcore-12.3.0.eb index d34ddc61fa8..113c8f30746 100644 --- a/easybuild/easyconfigs/l/libgcrypt/libgcrypt-1.10.3-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/l/libgcrypt/libgcrypt-1.10.3-GCCcore-12.3.0.eb @@ -14,7 +14,7 @@ checksums = ['8b0870897ac5ac67ded568dcfadf45969cfa8a6beb0fd60af2a9eadc2a3272aa'] builddependencies = [('binutils', '2.40')] -dependencies = [('libgpg-error', '1.48')] # not for 12.3.0 -> ctreated +dependencies = [('libgpg-error', '1.48')] sanity_check_paths = { 'files': ['bin/libgcrypt-config', 'include/gcrypt.h', 'lib/libgcrypt.%s' % SHLIB_EXT], From 2e40231d64a37fc275efb09344d4a2a2e9ac4b1f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 23 May 2024 17:23:32 +0200 Subject: [PATCH 690/889] add alternative checksum for source tarball of MONAI 1.3.0 --- .../m/MONAI/MONAI-1.3.0-foss-2023a-CUDA-12.1.1.eb | 5 ++++- easybuild/easyconfigs/m/MONAI/MONAI-1.3.0-foss-2023a.eb | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/m/MONAI/MONAI-1.3.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/m/MONAI/MONAI-1.3.0-foss-2023a-CUDA-12.1.1.eb index a72067a307e..5c196d917a9 100644 --- a/easybuild/easyconfigs/m/MONAI/MONAI-1.3.0-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/m/MONAI/MONAI-1.3.0-foss-2023a-CUDA-12.1.1.eb @@ -73,7 +73,10 @@ exts_list = [ 'source_urls': ['https://github.com/%(github_account)s/%(name)s/archive'], 'sources': ['%(version)s.tar.gz'], 'use_pip_extras': local_pip_extras, - 'checksums': ['67e0f55678faad4bd38b1ea69d5de94586b20b551b8ad745415623a8b6c1c5e2'], + # 2 valid checksums, as source tarball provided by GitHub for MONAI 1.3.0 slightly changed at some point + # see also https://github.com/easybuilders/easybuild-easyconfigs/issues/20617 + 'checksums': [('67e0f55678faad4bd38b1ea69d5de94586b20b551b8ad745415623a8b6c1c5e2', + '076d75458d490b4f2dafbf5974fcc8e07a86c03f39f5ef48c6689ab6e4347da9')], }), ] diff --git a/easybuild/easyconfigs/m/MONAI/MONAI-1.3.0-foss-2023a.eb b/easybuild/easyconfigs/m/MONAI/MONAI-1.3.0-foss-2023a.eb index c00b11caf83..1132edecf91 100644 --- a/easybuild/easyconfigs/m/MONAI/MONAI-1.3.0-foss-2023a.eb +++ b/easybuild/easyconfigs/m/MONAI/MONAI-1.3.0-foss-2023a.eb @@ -71,7 +71,10 @@ exts_list = [ 'source_urls': ['https://github.com/%(github_account)s/%(name)s/archive'], 'sources': ['%(version)s.tar.gz'], 'use_pip_extras': local_pip_extras, - 'checksums': ['67e0f55678faad4bd38b1ea69d5de94586b20b551b8ad745415623a8b6c1c5e2'], + # 2 valid checksums, as source tarball provided by GitHub for MONAI 1.3.0 slightly changed at some point + # see also https://github.com/easybuilders/easybuild-easyconfigs/issues/20617 + 'checksums': [('67e0f55678faad4bd38b1ea69d5de94586b20b551b8ad745415623a8b6c1c5e2', + '076d75458d490b4f2dafbf5974fcc8e07a86c03f39f5ef48c6689ab6e4347da9')], }), ] From 4ae6bb322a714d0728266d702f75caa572865e95 Mon Sep 17 00:00:00 2001 From: thoffman Date: Thu, 23 May 2024 18:38:53 +0200 Subject: [PATCH 691/889] {lib}[GCCcore/12.3.0] makefun 1.15.2 --- .../makefun/makefun-1.15.2-GCCcore-12.3.0.eb | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 easybuild/easyconfigs/m/makefun/makefun-1.15.2-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/m/makefun/makefun-1.15.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/makefun/makefun-1.15.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..c6eaf88fdad --- /dev/null +++ b/easybuild/easyconfigs/m/makefun/makefun-1.15.2-GCCcore-12.3.0.eb @@ -0,0 +1,36 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/02 +easyblock = 'PythonBundle' + +name = 'makefun' +version = '1.15.2' + +homepage = 'https://github.com/smarie/python-makefun' +description = """Small library to dynamically create python functions. +makefun helps you create functions dynamically, with the signature of your +choice. It was largely inspired by decorator and functools, and created mainly +to cover some of their limitations.""" +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('poetry', '1.5.1'), +] +dependencies = [ + ('Python', '3.11.3'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['16f2a2b34d9ee0c2b578c960a1808c974e2822cf79f6e9b9c455aace10882d45'], + }), +] + +sanity_pip_check = True +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/'], +} + +moduleclass = 'lib' From 78ee5e9d06e4f7a6bb4669ff4ff5d1e54bd71d8e Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 23 May 2024 20:43:30 +0200 Subject: [PATCH 692/889] add dependencies required for GUI in Cellpose 2.2.2 easyconfigs --- .../Cellpose-2.2.2-foss-2022a-CUDA-11.7.0.eb | 13 +++++++++++++ .../c/Cellpose/Cellpose-2.2.2-foss-2022a.eb | 13 +++++++++++++ 2 files changed, 26 insertions(+) diff --git a/easybuild/easyconfigs/c/Cellpose/Cellpose-2.2.2-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/c/Cellpose/Cellpose-2.2.2-foss-2022a-CUDA-11.7.0.eb index d0f93dfe418..31c3ff131e7 100644 --- a/easybuild/easyconfigs/c/Cellpose/Cellpose-2.2.2-foss-2022a-CUDA-11.7.0.eb +++ b/easybuild/easyconfigs/c/Cellpose/Cellpose-2.2.2-foss-2022a-CUDA-11.7.0.eb @@ -27,10 +27,19 @@ dependencies = [ ('tqdm', '4.64.0'), ('imagecodecs', '2022.9.26'), ('scikit-build', '0.15.0'), + ('PyQtGraph', '0.13.3'), + ('PyQt5', '5.15.5'), + ('QtPy', '2.3.0'), ] use_pip = True +# avoid hatchling requirement to install +# (since installing it introduces conflicting version requirements with poetry included with Python) +_preinstallopts_no_hatchling = """sed -i -e 's/^build-backend = .*/build-backend = "setuptools.build_meta"/g' """ +_preinstallopts_no_hatchling += """-e 's/^requires = .*/requires = ["setuptools"]/g' """ +_preinstallopts_no_hatchling += r"""-e 's/dynamic = \["version"\]/version = "%(version)s"/g' pyproject.toml && """ + exts_list = [ ('tifffile', '2023.4.12', { 'checksums': ['2fa99f9890caab919d932a0acaa9d0f5843dc2ef3594e212963932e20713badd'], @@ -47,6 +56,10 @@ exts_list = [ ('roifile', '2023.5.12', { 'checksums': ['32eeba0d9ad52cc249d6a234b737c1808a6c5d7d9baae6453709eb74222b3433'], }), + ('superqt', '0.6.6', { + 'preinstallopts': _preinstallopts_no_hatchling, + 'checksums': ['792e09165c8a788ee245bdb784e018f9077fb309253354d86793cdf1d092f99f'], + }), (name, version, { # OpenCV dependency provides opencv-contrib-python (equivalent to opencv-python-headless) 'preinstallopts': "sed -i 's/opencv-python-headless/opencv-contrib-python/g' setup.py && ", diff --git a/easybuild/easyconfigs/c/Cellpose/Cellpose-2.2.2-foss-2022a.eb b/easybuild/easyconfigs/c/Cellpose/Cellpose-2.2.2-foss-2022a.eb index ccb478c890b..b488f981b26 100644 --- a/easybuild/easyconfigs/c/Cellpose/Cellpose-2.2.2-foss-2022a.eb +++ b/easybuild/easyconfigs/c/Cellpose/Cellpose-2.2.2-foss-2022a.eb @@ -25,10 +25,19 @@ dependencies = [ ('tqdm', '4.64.0'), ('imagecodecs', '2022.9.26'), ('scikit-build', '0.15.0'), + ('PyQtGraph', '0.13.3'), + ('PyQt5', '5.15.5'), + ('QtPy', '2.3.0'), ] use_pip = True +# avoid hatchling requirement to install +# (since installing it introduces conflicting version requirements with poetry included with Python) +_preinstallopts_no_hatchling = """sed -i -e 's/^build-backend = .*/build-backend = "setuptools.build_meta"/g' """ +_preinstallopts_no_hatchling += """-e 's/^requires = .*/requires = ["setuptools"]/g' """ +_preinstallopts_no_hatchling += r"""-e 's/dynamic = \["version"\]/version = "%(version)s"/g' pyproject.toml && """ + exts_list = [ ('tifffile', '2023.4.12', { 'checksums': ['2fa99f9890caab919d932a0acaa9d0f5843dc2ef3594e212963932e20713badd'], @@ -45,6 +54,10 @@ exts_list = [ ('roifile', '2023.5.12', { 'checksums': ['32eeba0d9ad52cc249d6a234b737c1808a6c5d7d9baae6453709eb74222b3433'], }), + ('superqt', '0.6.6', { + 'preinstallopts': _preinstallopts_no_hatchling, + 'checksums': ['792e09165c8a788ee245bdb784e018f9077fb309253354d86793cdf1d092f99f'], + }), (name, version, { # OpenCV dependency provides opencv-contrib-python (equivalent to opencv-python-headless) 'preinstallopts': "sed -i 's/opencv-python-headless/opencv-contrib-python/g' setup.py && ", From 600ee763e13846a7888548d1624303d125640f61 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 23 May 2024 21:39:56 +0200 Subject: [PATCH 693/889] remove duplicate PyQtGraph + PyQt5 dependencies in Cellpose 2.2.2 easyconfigs --- .../c/Cellpose/Cellpose-2.2.2-foss-2022a-CUDA-11.7.0.eb | 2 -- easybuild/easyconfigs/c/Cellpose/Cellpose-2.2.2-foss-2022a.eb | 2 -- 2 files changed, 4 deletions(-) diff --git a/easybuild/easyconfigs/c/Cellpose/Cellpose-2.2.2-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/c/Cellpose/Cellpose-2.2.2-foss-2022a-CUDA-11.7.0.eb index 31c3ff131e7..feace92583f 100644 --- a/easybuild/easyconfigs/c/Cellpose/Cellpose-2.2.2-foss-2022a-CUDA-11.7.0.eb +++ b/easybuild/easyconfigs/c/Cellpose/Cellpose-2.2.2-foss-2022a-CUDA-11.7.0.eb @@ -27,8 +27,6 @@ dependencies = [ ('tqdm', '4.64.0'), ('imagecodecs', '2022.9.26'), ('scikit-build', '0.15.0'), - ('PyQtGraph', '0.13.3'), - ('PyQt5', '5.15.5'), ('QtPy', '2.3.0'), ] diff --git a/easybuild/easyconfigs/c/Cellpose/Cellpose-2.2.2-foss-2022a.eb b/easybuild/easyconfigs/c/Cellpose/Cellpose-2.2.2-foss-2022a.eb index b488f981b26..90f73c6aef8 100644 --- a/easybuild/easyconfigs/c/Cellpose/Cellpose-2.2.2-foss-2022a.eb +++ b/easybuild/easyconfigs/c/Cellpose/Cellpose-2.2.2-foss-2022a.eb @@ -25,8 +25,6 @@ dependencies = [ ('tqdm', '4.64.0'), ('imagecodecs', '2022.9.26'), ('scikit-build', '0.15.0'), - ('PyQtGraph', '0.13.3'), - ('PyQt5', '5.15.5'), ('QtPy', '2.3.0'), ] From 570e64adcb7f1cb7f9ef24953fbd6f9a3db9a6ad Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Thu, 23 May 2024 21:42:50 +0200 Subject: [PATCH 694/889] adding easyconfigs: OpenBLAS-0.3.27-GCC-13.3.0.eb --- .../o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0.eb | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0.eb diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0.eb new file mode 100644 index 00000000000..eadfb85a91a --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0.eb @@ -0,0 +1,43 @@ +name = 'OpenBLAS' +version = '0.3.27' + +homepage = 'http://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', +] +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'}, +] + +builddependencies = [ + ('make', '4.4.1'), + # required by LAPACK test suite + ('Python', '3.12.3'), +] + +run_lapack_tests = True +max_failing_lapack_tests_num_errors = 150 + +# extensive testing can be enabled by uncommenting the line below +# runtest = 'PATH=.:$PATH lapack-timing' + +moduleclass = 'numlib' From c535b8b61e234e9b8a6f6acc5bd1840d1a8abc30 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Fri, 24 May 2024 10:38:16 +0200 Subject: [PATCH 695/889] adding easyconfigs: dask-labextension-7.0.0-foss-2023a.eb --- .../dask-labextension-7.0.0-foss-2023a.eb | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 easybuild/easyconfigs/d/dask-labextension/dask-labextension-7.0.0-foss-2023a.eb diff --git a/easybuild/easyconfigs/d/dask-labextension/dask-labextension-7.0.0-foss-2023a.eb b/easybuild/easyconfigs/d/dask-labextension/dask-labextension-7.0.0-foss-2023a.eb new file mode 100644 index 00000000000..a0baf17a0ae --- /dev/null +++ b/easybuild/easyconfigs/d/dask-labextension/dask-labextension-7.0.0-foss-2023a.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'dask-labextension' +version = '7.0.0' + +homepage = 'https://github.com/dask/dask-labextension' +description = """This package provides a JupyterLab extension to manage Dask clusters, as well +as embed Dask's dashboard plots directly into JupyterLab panes.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('JupyterLab', '4.0.5'), + ('jupyter-server-proxy', '4.0.0'), + ('dask', '2023.9.2'), +] + +use_pip = True + +exts_list = [ + ('dask_labextension', version, { + 'sources': ['%(name)s-%(version)s-py3-none-any.whl'], + 'checksums': ['34fd1ee80a7259dc292a789cc82e4563d7cd1f5a26eb2ee8b434517482f82027'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/dask_labextension', 'etc/jupyter', 'share/jupyter'], +} + +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} + +moduleclass = 'tools' From 4746e4aa2fa72c11e0ec9a5a3497a227718a749a Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Fri, 24 May 2024 11:27:05 +0200 Subject: [PATCH 696/889] adding easyconfigs: ipympl-0.9.4-gfbf-2023b.eb --- .../i/ipympl/ipympl-0.9.4-gfbf-2023b.eb | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 easybuild/easyconfigs/i/ipympl/ipympl-0.9.4-gfbf-2023b.eb diff --git a/easybuild/easyconfigs/i/ipympl/ipympl-0.9.4-gfbf-2023b.eb b/easybuild/easyconfigs/i/ipympl/ipympl-0.9.4-gfbf-2023b.eb new file mode 100644 index 00000000000..e780d34c757 --- /dev/null +++ b/easybuild/easyconfigs/i/ipympl/ipympl-0.9.4-gfbf-2023b.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'ipympl' +version = '0.9.4' + +homepage = 'https://matplotlib.org/ipympl' +description = """Leveraging the Jupyter interactive widgets framework, ipympl enables the +interactive features of matplotlib in the Jupyter notebook and in JupyterLab. +Besides, the figure canvas element is a proper Jupyter interactive widget which +can be positioned in interactive widget layouts. +""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +dependencies = [ + ('Python', '3.11.5'), + ('JupyterLab', '4.2.0'), + ('matplotlib', '3.8.2'), + ('Pillow', '10.2.0'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + (name, version, { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['5b0c08c6f4f6ea655ba58239363457c10fb921557f5038c1a46db4457d6d6b0e'], + }), +] + +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} + +moduleclass = 'tools' From c1ac27bd9588c81bcd89705eff9893b9470409cd Mon Sep 17 00:00:00 2001 From: Ake Sandgren Date: Fri, 24 May 2024 12:29:26 +0200 Subject: [PATCH 697/889] adding easyconfigs: IOR-4.0.0-gompi-2023b.eb --- .../i/IOR/IOR-4.0.0-gompi-2023b.eb | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 easybuild/easyconfigs/i/IOR/IOR-4.0.0-gompi-2023b.eb diff --git a/easybuild/easyconfigs/i/IOR/IOR-4.0.0-gompi-2023b.eb b/easybuild/easyconfigs/i/IOR/IOR-4.0.0-gompi-2023b.eb new file mode 100644 index 00000000000..7697a618010 --- /dev/null +++ b/easybuild/easyconfigs/i/IOR/IOR-4.0.0-gompi-2023b.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 +# Author: Robert Mijakovic Date: Fri, 24 May 2024 12:32:20 +0200 Subject: [PATCH 698/889] adding easyconfigs: expat-2.6.2-GCCcore-13.3.0.eb, git-2.45.1-GCCcore-13.3.0.eb --- .../e/expat/expat-2.6.2-GCCcore-13.3.0.eb | 31 ++++++++++++++ .../g/git/git-2.45.1-GCCcore-13.3.0.eb | 42 +++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 easybuild/easyconfigs/e/expat/expat-2.6.2-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/g/git/git-2.45.1-GCCcore-13.3.0.eb diff --git a/easybuild/easyconfigs/e/expat/expat-2.6.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/e/expat/expat-2.6.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..41b5a1340fb --- /dev/null +++ b/easybuild/easyconfigs/e/expat/expat-2.6.2-GCCcore-13.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'expat' +version = '2.6.2' + +homepage = 'https://libexpat.github.io' + +description = """Expat is an XML parser library written in C. It is a stream-oriented parser +in which an application registers handlers for things the parser might find +in the XML document (like start tags).""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/libexpat/libexpat/releases/download/R_%s/' % version.replace('.', '_')] +sources = [SOURCE_TAR_BZ2] +checksums = ['9c7c1b5dcbc3c237c500a8fb1493e14d9582146dd9b42aa8d3ffb856a3b927e0'] + +builddependencies = [('binutils', '2.42')] + +# Since expat 2.2.6, docbook2X is needed to produce manpage of xmlwf. +# Docbook2X needs XML-Parser and XML-Parser needs expat. +# -> circular dependency. "--without-docbook" breaks this circle. +configopts = ['--without-docbook'] + +sanity_check_paths = { + 'files': ['include/expat.h', 'lib/libexpat.a', 'lib/libexpat.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/git/git-2.45.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/git/git-2.45.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..3cd07e7cc61 --- /dev/null +++ b/easybuild/easyconfigs/g/git/git-2.45.1-GCCcore-13.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'git' +version = '2.45.1' + +homepage = 'https://git-scm.com' +description = """Git is a free and open source distributed version control system designed +to handle everything from small to very large projects with speed and efficiency.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/git/git/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['d98c8f70d58f49f7546d59b25e25f2deae6999eb036a33b0fe6f5d07c33f67c6'] + +builddependencies = [ + ('binutils', '2.42'), + ('Autotools', '20231222'), +] + +dependencies = [ + ('cURL', '8.7.1'), + ('expat', '2.6.2'), + ('gettext', '0.22.5'), + ('Perl', '5.38.2'), + ('OpenSSL', '3', '', SYSTEM), +] + +preconfigopts = 'make configure && ' + +# Work around git build system bug. If LIBS contains -lpthread, then configure +# will not append -lpthread to LDFLAGS, but Makefile ignores LIBS. +configopts = "--with-perl=${EBROOTPERL}/bin/perl --enable-pthreads='-lpthread'" + +postinstallcmds = ['cd contrib/subtree; make install'] + +sanity_check_paths = { + 'files': ['bin/git'], + 'dirs': ['libexec/git-core', 'share'], +} + +moduleclass = 'tools' From 8bc1b8c6cc19c6b0eb9b6b898efa1d33d0480aa5 Mon Sep 17 00:00:00 2001 From: Ake Sandgren Date: Fri, 24 May 2024 12:37:10 +0200 Subject: [PATCH 699/889] drop unused github_account --- easybuild/easyconfigs/i/IOR/IOR-4.0.0-gompi-2023b.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/i/IOR/IOR-4.0.0-gompi-2023b.eb b/easybuild/easyconfigs/i/IOR/IOR-4.0.0-gompi-2023b.eb index 7697a618010..edc20007c6d 100644 --- a/easybuild/easyconfigs/i/IOR/IOR-4.0.0-gompi-2023b.eb +++ b/easybuild/easyconfigs/i/IOR/IOR-4.0.0-gompi-2023b.eb @@ -17,7 +17,6 @@ description = """ The IOR software is used for benchmarking parallel file system toolchain = {'name': 'gompi', 'version': '2023b'} toolchainopts = {'opt': True} -github_account = 'hpc' source_urls = ['https://github.com/hpc/ior/releases/download/%(version)s'] sources = [SOURCELOWER_TAR_GZ] checksums = ['510b7d4ad0f287375848121aa5a1f9842db077c1d81ad0dde738e96255298158'] From 5dd365bee657b77405527dc3331d5dd0b2ffa0b7 Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Fri, 24 May 2024 12:50:26 +0200 Subject: [PATCH 700/889] adding easyconfigs: cffi-1.16.0-GCCcore-13.3.0.eb, gzip-1.13-GCCcore-13.3.0.eb, libyaml-0.2.5-GCCcore-13.3.0.eb, lz4-1.9.4-GCCcore-13.3.0.eb, Mako-1.3.5-GCCcore-13.3.0.eb, Zip-3.0-GCCcore-13.3.0.eb, zstd-1.5.6-GCCcore-13.3.0.eb --- .../c/cffi/cffi-1.16.0-GCCcore-13.3.0.eb | 38 +++++++++++++++++ .../g/gzip/gzip-1.13-GCCcore-13.3.0.eb | 24 +++++++++++ .../l/libyaml/libyaml-0.2.5-GCCcore-13.3.0.eb | 25 +++++++++++ .../l/lz4/lz4-1.9.4-GCCcore-13.3.0.eb | 30 ++++++++++++++ .../m/Mako/Mako-1.3.5-GCCcore-13.3.0.eb | 35 ++++++++++++++++ .../z/Zip/Zip-3.0-GCCcore-13.3.0.eb | 40 ++++++++++++++++++ .../z/zstd/zstd-1.5.6-GCCcore-13.3.0.eb | 41 +++++++++++++++++++ 7 files changed, 233 insertions(+) create mode 100644 easybuild/easyconfigs/c/cffi/cffi-1.16.0-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/g/gzip/gzip-1.13-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/l/libyaml/libyaml-0.2.5-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/l/lz4/lz4-1.9.4-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/m/Mako/Mako-1.3.5-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/z/Zip/Zip-3.0-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/z/zstd/zstd-1.5.6-GCCcore-13.3.0.eb diff --git a/easybuild/easyconfigs/c/cffi/cffi-1.16.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/c/cffi/cffi-1.16.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..94a734e98da --- /dev/null +++ b/easybuild/easyconfigs/c/cffi/cffi-1.16.0-GCCcore-13.3.0.eb @@ -0,0 +1,38 @@ +easyblock = "PythonBundle" + +name = 'cffi' +version = '1.16.0' + +homepage = 'https://cffi.readthedocs.io/en/latest/' +description = """C Foreign Function Interface for Python. Interact with almost any C code from +Python, based on C-like declarations that you can often copy-paste from header +files or documentation. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('Python', '3.12.3'), +] + +exts_default_options = { + 'download_dep_fail': True, + 'sanity_pip_check': True, + 'use_pip': True, +} + +exts_list = [ + ('pycparser', '2.22', { + 'checksums': ['491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6'], + }), + (name, version, { + 'checksums': ['bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gzip/gzip-1.13-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/gzip/gzip-1.13-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..62e179b0998 --- /dev/null +++ b/easybuild/easyconfigs/g/gzip/gzip-1.13-GCCcore-13.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'gzip' +version = '1.13' + +homepage = 'https://www.gnu.org/software/gzip/' +description = "gzip (GNU zip) is a popular data compression program as a replacement for compress" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['20fc818aeebae87cdbf209d35141ad9d3cf312b35a5e6be61bfcfbf9eddd212a'] + +builddependencies = [('binutils', '2.42')] + +sanity_check_paths = { + 'files': ["bin/gunzip", "bin/gzip", "bin/uncompress"], + 'dirs': [], +} + +sanity_check_commands = [True, ('gzip', '--version')] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libyaml/libyaml-0.2.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libyaml/libyaml-0.2.5-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..4b2e8e66632 --- /dev/null +++ b/easybuild/easyconfigs/l/libyaml/libyaml-0.2.5-GCCcore-13.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libyaml' +version = '0.2.5' + +homepage = 'https://pyyaml.org/wiki/LibYAML' +description = "LibYAML is a YAML parser and emitter written in C." + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://pyyaml.org/download/%(name)s/'] +sources = ['yaml-%(version)s.tar.gz'] +checksums = ['c642ae9b75fee120b2d96c712538bd2cf283228d2337df2cf2988e3c02678ef4'] + +builddependencies = [ + ('binutils', '2.42'), +] + + +sanity_check_paths = { + 'files': ['include/yaml.h', 'lib/libyaml.a', 'lib/libyaml.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/lz4/lz4-1.9.4-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/lz4/lz4-1.9.4-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..8f4914fbdde --- /dev/null +++ b/easybuild/easyconfigs/l/lz4/lz4-1.9.4-GCCcore-13.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'lz4' +version = '1.9.4' + +homepage = 'https://lz4.github.io/lz4/' +description = """LZ4 is lossless compression algorithm, providing compression speed at 400 MB/s per core. + It features an extremely fast decoder, with speed in multiple GB/s per core.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +github_account = '%(name)s' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['0b0e3aa07c8c063ddf40b082bdf7e37a1562bda40a0ff5272957f3e987e0e54b'] + +builddependencies = [('binutils', '2.42')] + +skipsteps = ['configure'] + +installopts = "PREFIX=%(installdir)s" + +runtest = 'check' + +sanity_check_paths = { + 'files': ["bin/lz4", "lib/liblz4.%s" % SHLIB_EXT, "include/lz4.h"], + 'dirs': ["lib/pkgconfig"] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/Mako/Mako-1.3.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/m/Mako/Mako-1.3.5-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..6df66e4a2e0 --- /dev/null +++ b/easybuild/easyconfigs/m/Mako/Mako-1.3.5-GCCcore-13.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'Mako' +version = '1.3.5' + +homepage = 'https://www.makotemplates.org' +description = """A super-fast templating language that borrows the best ideas from the existing templating languages""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +builddependencies = [('binutils', '2.42')] + +dependencies = [('Python', '3.12.3')] + +use_pip = True + +exts_list = [ + ('MarkupSafe', '2.1.5', { + 'checksums': ['d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b'], + }), + (name, version, { + 'checksums': ['48dbc20568c1d276a2698b36d968fa76161bf127194907ea6fc594fa81f943bc'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/mako-render'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_check_commands = ["mako-render --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/z/Zip/Zip-3.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/z/Zip/Zip-3.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..e85d9157eaf --- /dev/null +++ b/easybuild/easyconfigs/z/Zip/Zip-3.0-GCCcore-13.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'Zip' +version = '3.0' + +homepage = 'http://www.info-zip.org/Zip.html' +description = """Zip is a compression and file packaging/archive utility. +Although highly compatible both with PKWARE's PKZIP and PKUNZIP +utilities for MS-DOS and with Info-ZIP's own UnZip, our primary objectives +have been portability and other-than-MSDOS functionality""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://download.sourceforge.net/infozip'] +sources = ['%(namelower)s%(version_major)s%(version_minor)s.tar.gz'] +checksums = ['f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369'] + +builddependencies = [ + ('binutils', '2.42'), +] +dependencies = [ + ('bzip2', '1.0.8'), +] + +skipsteps = ['configure'] + +buildopts = '-f unix/Makefile CC="$CC" IZ_OUR_BZIP2_DIR=$EBROOTBZIP2 ' +buildopts += 'CFLAGS="$CFLAGS -I. -DUNIX -DBZIP2_SUPPORT -DUNICODE_SUPPORT -DLARGE_FILE_SUPPORT" ' +buildopts += 'generic_gcc' + +installopts = '-f unix/Makefile prefix=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/zip', 'bin/zipcloak', 'bin/zipnote', 'bin/zipsplit'], + 'dirs': ['man/man1'] +} + +sanity_check_commands = ["zip --version"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/zstd/zstd-1.5.6-GCCcore-13.3.0.eb b/easybuild/easyconfigs/z/zstd/zstd-1.5.6-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..259e352beef --- /dev/null +++ b/easybuild/easyconfigs/z/zstd/zstd-1.5.6-GCCcore-13.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'zstd' +version = '1.5.6' + +homepage = 'https://facebook.github.io/zstd' +description = """Zstandard is a real-time compression algorithm, providing high compression ratios. + It offers a very wide range of compression/speed trade-off, while being backed by a very fast decoder. + It also offers a special mode for small data, called dictionary compression, and can create dictionaries + from any sample set.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +github_account = 'facebook' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['30f35f71c1203369dc979ecde0400ffea93c27391bfd2ac5a9715d2173d92ff7'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('zlib', '1.3.1'), + ('gzip', '1.13'), + ('XZ', '5.4.5'), + ('lz4', '1.9.4'), +] + +skipsteps = ['configure'] + +runtest = 'check' + +installopts = "PREFIX=%(installdir)s" + +sanity_check_paths = { + 'files': ["bin/zstd", "lib/libzstd.%s" % SHLIB_EXT, "include/zstd.h"], + 'dirs': ["lib/pkgconfig"] +} + +moduleclass = 'lib' From 660805ad98d49fdcd1efa64ba9662c2cf7201d87 Mon Sep 17 00:00:00 2001 From: Simon Branford Date: Fri, 24 May 2024 12:17:58 +0100 Subject: [PATCH 701/889] explicitly disable building of _tkinter stdlib module for Python 3.12 --- .../p/Python/Python-3.12.3-GCCcore-13.3.0.eb | 6 +++++- .../Python-3.12.3_avoid-tkinter-build.patch | 17 +++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 easybuild/easyconfigs/p/Python/Python-3.12.3_avoid-tkinter-build.patch diff --git a/easybuild/easyconfigs/p/Python/Python-3.12.3-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/Python/Python-3.12.3-GCCcore-13.3.0.eb index 01dba67a85a..af5f4d13235 100644 --- a/easybuild/easyconfigs/p/Python/Python-3.12.3-GCCcore-13.3.0.eb +++ b/easybuild/easyconfigs/p/Python/Python-3.12.3-GCCcore-13.3.0.eb @@ -10,7 +10,11 @@ toolchainopts = {'pic': True} source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/'] sources = [SOURCE_TGZ] -checksums = ['a6b9459f45a6ebbbc1af44f5762623fa355a0c87208ed417628b379d762dddb0'] +patches = ['Python-3.12.3_avoid-tkinter-build.patch'] +checksums = [ + {'Python-3.12.3.tgz': 'a6b9459f45a6ebbbc1af44f5762623fa355a0c87208ed417628b379d762dddb0'}, + {'Python-3.12.3_avoid-tkinter-build.patch': '34fa44ca67fc08d41c58db2e289317f12f32777a352a982dca2e63459fc089e3'}, +] builddependencies = [ ('UnZip', '6.0'), diff --git a/easybuild/easyconfigs/p/Python/Python-3.12.3_avoid-tkinter-build.patch b/easybuild/easyconfigs/p/Python/Python-3.12.3_avoid-tkinter-build.patch new file mode 100644 index 00000000000..cd6261321c0 --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-3.12.3_avoid-tkinter-build.patch @@ -0,0 +1,17 @@ +Explicitly disable building of _tkinter module +Simon Branford (University of Birmingham) +--- configure.orig 2024-05-24 11:09:00.888859445 +0100 ++++ configure 2024-05-24 11:52:11.840124559 +0100 +@@ -30585,11 +30585,11 @@ + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for stdlib extension module _tkinter" >&5 + printf %s "checking for stdlib extension module _tkinter... " >&6; } + if test "$py_cv_module__tkinter" != "n/a" + then : + +- if true ++ if false + then : + if test "$have_tcltk" = "yes" + then : + py_cv_module__tkinter=yes + else $as_nop From a4959f23d264b3b3c4c003d6c784803be1aa262c Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Fri, 24 May 2024 13:43:59 +0200 Subject: [PATCH 702/889] adding easyconfigs: Rust-1.78.0-GCCcore-13.3.0.eb, patchelf-0.18.0-GCCcore-13.3.0.eb --- .../patchelf-0.18.0-GCCcore-13.3.0.eb | 29 +++++++++++++++++ .../r/Rust/Rust-1.78.0-GCCcore-13.3.0.eb | 31 +++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 easybuild/easyconfigs/p/patchelf/patchelf-0.18.0-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/r/Rust/Rust-1.78.0-GCCcore-13.3.0.eb diff --git a/easybuild/easyconfigs/p/patchelf/patchelf-0.18.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/patchelf/patchelf-0.18.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..9bf25222d44 --- /dev/null +++ b/easybuild/easyconfigs/p/patchelf/patchelf-0.18.0-GCCcore-13.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'patchelf' +version = '0.18.0' + +homepage = 'https://github.com/NixOS/patchelf' +description = """PatchELF is a small utility to modify the dynamic linker and RPATH of ELF executables.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/NixOS/patchelf/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['1451d01ee3a21100340aed867d0b799f46f0b1749680028d38c3f5d0128fb8a7'] + +builddependencies = [ + ('binutils', '2.42'), + ('Autotools', '20231222'), +] + +preconfigopts = "sh bootstrap.sh && " + +sanity_check_paths = { + 'files': ['bin/patchelf'], + 'dirs': ['share'], +} + +sanity_check_commands = ["patchelf --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/Rust/Rust-1.78.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/r/Rust/Rust-1.78.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..ed5d13cb4a4 --- /dev/null +++ b/easybuild/easyconfigs/r/Rust/Rust-1.78.0-GCCcore-13.3.0.eb @@ -0,0 +1,31 @@ +name = 'Rust' +version = '1.78.0' + +homepage = 'https://www.rust-lang.org' +description = """Rust is a systems programming language that runs blazingly fast, prevents segfaults, + and guarantees thread safety.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://static.rust-lang.org/dist/'] +sources = ['rustc-%(version)s-src.tar.gz'] +patches = ['Rust-1.70_sysroot-fix-interpreter.patch'] +checksums = [ + {'rustc-1.78.0-src.tar.gz': 'ff544823a5cb27f2738128577f1e7e00ee8f4c83f2a348781ae4fc355e91d5a9'}, + {'Rust-1.70_sysroot-fix-interpreter.patch': '220129db55e022a98d25028da5dcc9f26b252dd995c3ac92f6312dbb1e362cb1'}, +] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), + ('Python', '3.12.3'), + ('Ninja', '1.12.1'), + ('pkgconf', '2.2.0'), + ('patchelf', '0.18.0'), # only required when RPATH linking is enabled +] + +dependencies = [ + ('OpenSSL', '3', '', SYSTEM), +] + +moduleclass = 'lang' From 0ab27a0f9e4e5ae348bb5d8ed22cfbdd12735fde Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Fri, 24 May 2024 13:53:22 +0200 Subject: [PATCH 703/889] adding easyconfigs: gperf-3.1-GCCcore-13.3.0.eb, libpng-1.6.43-GCCcore-13.3.0.eb, util-linux-2.40-GCCcore-13.3.0.eb, fontconfig-2.15.0-GCCcore-13.3.0.eb, freetype-2.13.2-GCCcore-13.3.0.eb --- .../fontconfig-2.15.0-GCCcore-13.3.0.eb | 40 ++++++++++++++ .../freetype-2.13.2-GCCcore-13.3.0.eb | 43 +++++++++++++++ .../g/gperf/gperf-3.1-GCCcore-13.3.0.eb | 32 +++++++++++ .../l/libpng/libpng-1.6.43-GCCcore-13.3.0.eb | 31 +++++++++++ .../util-linux-2.40-GCCcore-13.3.0.eb | 54 +++++++++++++++++++ 5 files changed, 200 insertions(+) create mode 100644 easybuild/easyconfigs/f/fontconfig/fontconfig-2.15.0-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/f/freetype/freetype-2.13.2-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/g/gperf/gperf-3.1-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/l/libpng/libpng-1.6.43-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/u/util-linux/util-linux-2.40-GCCcore-13.3.0.eb diff --git a/easybuild/easyconfigs/f/fontconfig/fontconfig-2.15.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/f/fontconfig/fontconfig-2.15.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..e2586c86e8c --- /dev/null +++ b/easybuild/easyconfigs/f/fontconfig/fontconfig-2.15.0-GCCcore-13.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'fontconfig' +version = '2.15.0' + +homepage = 'https://www.freedesktop.org/wiki/Software/fontconfig/' + +description = """ + Fontconfig is a library designed to provide system-wide font configuration, + customization and application access. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.freedesktop.org/software/fontconfig/release/'] +sources = [SOURCE_TAR_GZ] +checksums = ['f5f359d6332861bd497570848fcb42520964a9e83d5e3abe397b6b6db9bcaaf4'] + +builddependencies = [ + ('binutils', '2.42'), + ('gperf', '3.1'), + ('pkgconf', '2.2.0'), + ('Python', '3.12.3'), +] + +dependencies = [ + ('expat', '2.6.2'), + ('freetype', '2.13.2'), + ('util-linux', '2.40'), +] + +configopts = '--disable-docs ' + +sanity_check_paths = { + 'files': ['include/fontconfig/fontconfig.h', 'lib/libfontconfig.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/freetype/freetype-2.13.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/f/freetype/freetype-2.13.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..1c6fa03dfa0 --- /dev/null +++ b/easybuild/easyconfigs/f/freetype/freetype-2.13.2-GCCcore-13.3.0.eb @@ -0,0 +1,43 @@ +name = 'freetype' +version = '2.13.2' + +homepage = 'https://www.freetype.org' + +description = """ + FreeType 2 is a software font engine that is designed to be small, efficient, + highly customizable, and portable while capable of producing high-quality + output (glyph images). It can be used in graphics libraries, display servers, + font conversion tools, text image generation tools, and many other products + as well. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = [ + GNU_SAVANNAH_SOURCE, + SOURCEFORGE_SOURCE, +] +sources = [SOURCE_TAR_GZ] +checksums = ['1ac27e16c134a7f2ccea177faba19801131116fd682efc1f5737037c5db224b5'] + +builddependencies = [('binutils', '2.42')] + +dependencies = [ + ('bzip2', '1.0.8'), + ('libpng', '1.6.43'), + ('zlib', '1.3.1'), + ('Brotli', '1.1.0'), +] + +configopts = '--enable-freetype-config --with-harfbuzz=no' + +sanity_check_paths = { + 'files': ['bin/freetype-config', 'lib/libfreetype.a', + 'lib/libfreetype.%s' % SHLIB_EXT, 'lib/pkgconfig/freetype2.pc'], + 'dirs': ['include/freetype2'], +} + +sanity_check_commands = ["freetype-config --help"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/gperf/gperf-3.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/gperf/gperf-3.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..0cc2e3debee --- /dev/null +++ b/easybuild/easyconfigs/g/gperf/gperf-3.1-GCCcore-13.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'gperf' +version = '3.1' + +homepage = 'https://www.gnu.org/software/gperf/' +description = """ + GNU gperf is a perfect hash function generator. For a given list of strings, + it produces a hash function and hash table, in form of C or C++ code, for + looking up a value depending on the input string. The hash function is + perfect, which means that the hash table has no collisions, and the hash + table lookup needs a single string comparison only. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['588546b945bba4b70b6a3a616e80b4ab466e3f33024a352fc2198112cdbb3ae2'] + +builddependencies = [ + ('binutils', '2.42'), +] + +sanity_check_paths = { + 'files': ['bin/gperf'], + 'dirs': [], +} + +sanity_check_commands = ["gperf --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libpng/libpng-1.6.43-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libpng/libpng-1.6.43-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..04fc0f259cc --- /dev/null +++ b/easybuild/easyconfigs/l/libpng/libpng-1.6.43-GCCcore-13.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'libpng' +version = '1.6.43' + +homepage = 'http://www.libpng.org/pub/png/libpng.html' + +description = "libpng is the official PNG reference library" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e804e465d4b109b5ad285a8fb71f0dd3f74f0068f91ce3cdfde618180c174925'] + +builddependencies = [('binutils', '2.42')] + +dependencies = [('zlib', '1.3.1')] + +local_majminver = '%(version_major)s%(version_minor)s' + +sanity_check_paths = { + 'files': ['include/pngconf.h', 'include/png.h', 'include/pnglibconf.h', + 'lib/libpng.a', 'lib/libpng.%s' % SHLIB_EXT, + 'lib/libpng%s.a' % local_majminver, + 'lib/libpng%s.%s' % (local_majminver, SHLIB_EXT)], + 'dirs': ['bin', 'include/libpng%s' % local_majminver, 'share/man'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/util-linux/util-linux-2.40-GCCcore-13.3.0.eb b/easybuild/easyconfigs/u/util-linux/util-linux-2.40-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..5ebfb27d5f6 --- /dev/null +++ b/easybuild/easyconfigs/u/util-linux/util-linux-2.40-GCCcore-13.3.0.eb @@ -0,0 +1,54 @@ +easyblock = 'ConfigureMake' + +name = 'util-linux' +version = '2.40' + +homepage = 'https://www.kernel.org/pub/linux/utils/util-linux' + +description = "Set of Linux utilities" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['%s/v%%(version_major_minor)s' % homepage] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + # 'util-linux-2.39_fix_waitpid.patch', + # 'util-linux-2.39-fix-build-centos7.patch' +] +checksums = [ + {'util-linux-2.40.tar.gz': '2a51d08cb71fd8e491e0cf633032c928f9a2848417f8441cb8cf7ef9971de916'}, + {'util-linux-2.39_fix_waitpid.patch': '99cbd4ee8293f3ffad4467e9f245d0da4e10a98b6599f5e5f9d4cb99c7eebbd2'}, + {'util-linux-2.39-fix-build-centos7.patch': '21587513f0f5f5efe790396ac39450c7f30dd55063929bb430a77352ba99f57f'}, +] + +builddependencies = [ + ('binutils', '2.42'), + ('Autotools', '20231222'), # for fix_waitpid patch + ('pkgconf', '2.2.0'), # for fix_waitpid patch +] + +dependencies = [ + ('ncurses', '6.5'), + ('zlib', '1.3.1'), + ('SQLite', '3.45.3'), +] + +# disable account related utilities (they need OS dependent pam-devel files) +# disable wall and friends (requires group changing permissions for install user) +# install systemd service files in install dir +# install bash completion files in install dir +configopts = "--disable-chfn-chsh --disable-login --disable-su --disable-rfkill " +configopts += "--disable-wall --disable-use-tty-group " +configopts += "--disable-makeinstall-chown --disable-makeinstall-setuid " +configopts += "--with-systemdsystemunitdir='${prefix}/systemd' " +configopts += "--with-bashcompletiondir='${prefix}/share/bash-completion/completions' " +# disable building Python bindings (since we don't include Python as a dep) +configopts += "--without-python " + +sanity_check_paths = { + 'files': ['lib/lib%s.a' % x for x in ['blkid', 'mount', 'uuid']], + 'dirs': ['include', 'bin', 'share', 'sbin'], +} + +moduleclass = 'tools' From 41feb41419595b8cfc3e676dda815525bf4d46c1 Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Fri, 24 May 2024 14:11:31 +0200 Subject: [PATCH 704/889] remove old patches from util-linux --- .../u/util-linux/util-linux-2.40-GCCcore-13.3.0.eb | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/easybuild/easyconfigs/u/util-linux/util-linux-2.40-GCCcore-13.3.0.eb b/easybuild/easyconfigs/u/util-linux/util-linux-2.40-GCCcore-13.3.0.eb index 5ebfb27d5f6..7ca00a929ad 100644 --- a/easybuild/easyconfigs/u/util-linux/util-linux-2.40-GCCcore-13.3.0.eb +++ b/easybuild/easyconfigs/u/util-linux/util-linux-2.40-GCCcore-13.3.0.eb @@ -12,15 +12,7 @@ toolchainopts = {'pic': True} source_urls = ['%s/v%%(version_major_minor)s' % homepage] sources = [SOURCELOWER_TAR_GZ] -patches = [ - # 'util-linux-2.39_fix_waitpid.patch', - # 'util-linux-2.39-fix-build-centos7.patch' -] -checksums = [ - {'util-linux-2.40.tar.gz': '2a51d08cb71fd8e491e0cf633032c928f9a2848417f8441cb8cf7ef9971de916'}, - {'util-linux-2.39_fix_waitpid.patch': '99cbd4ee8293f3ffad4467e9f245d0da4e10a98b6599f5e5f9d4cb99c7eebbd2'}, - {'util-linux-2.39-fix-build-centos7.patch': '21587513f0f5f5efe790396ac39450c7f30dd55063929bb430a77352ba99f57f'}, -] +checksums = ['2a51d08cb71fd8e491e0cf633032c928f9a2848417f8441cb8cf7ef9971de916'] builddependencies = [ ('binutils', '2.42'), From fc28758419e149524cec18225d800fb5e3923538 Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Fri, 24 May 2024 14:12:57 +0200 Subject: [PATCH 705/889] adding easyconfigs: Doxygen-1.11.0-GCCcore-13.3.0.eb, Eigen-3.4.0-GCCcore-13.3.0.eb, GDRCopy-2.4.1-GCCcore-13.3.0.eb, GMP-6.3.0-GCCcore-13.3.0.eb, MPFR-4.2.1-GCCcore-13.3.0.eb, PCRE2-10.43-GCCcore-13.3.0.eb, SWIG-4.2.1-GCCcore-13.3.0.eb --- .../Doxygen/Doxygen-1.11.0-GCCcore-13.3.0.eb | 41 +++++++++++++++ .../e/Eigen/Eigen-3.4.0-GCCcore-13.3.0.eb | 21 ++++++++ .../g/GDRCopy/GDRCopy-2.4.1-GCCcore-13.3.0.eb | 52 +++++++++++++++++++ .../g/GMP/GMP-6.3.0-GCCcore-13.3.0.eb | 40 ++++++++++++++ .../m/MPFR/MPFR-4.2.1-GCCcore-13.3.0.eb | 39 ++++++++++++++ .../p/PCRE2/PCRE2-10.43-GCCcore-13.3.0.eb | 28 ++++++++++ .../s/SWIG/SWIG-4.2.1-GCCcore-13.3.0.eb | 27 ++++++++++ 7 files changed, 248 insertions(+) create mode 100644 easybuild/easyconfigs/d/Doxygen/Doxygen-1.11.0-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.4.1-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/g/GMP/GMP-6.3.0-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/m/MPFR/MPFR-4.2.1-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/p/PCRE2/PCRE2-10.43-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/s/SWIG/SWIG-4.2.1-GCCcore-13.3.0.eb diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.11.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.11.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..da8dc7f5808 --- /dev/null +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.11.0-GCCcore-13.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'CMakeMake' + +name = 'Doxygen' +version = '1.11.0' + +homepage = 'https://www.doxygen.org' +description = """ + Doxygen is a documentation system for C++, C, Java, Objective-C, Python, + IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some + extent D. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(namelower)s-%(version)s.src.tar.gz'] +checksums = ['c9edfdf8c5f3e8bee0c4c967850caead27099883ee7ff8b11044e6d63faf3607'] + +builddependencies = [ + ('binutils', '2.42'), + ('Bison', '3.8.2'), + ('CMake', '3.29.3'), + ('flex', '2.6.4'), + ('pkgconf', '2.2.0'), + ('Python', '3.12.3'), +] + +dependencies = [ + ('libiconv', '1.17'), +] + +configopts = "-DICONV_DIR=$EBROOTLIBICONV -DICONV_IN_GLIBC=OFF" + +sanity_check_paths = { + 'files': ["bin/doxygen"], + 'dirs': [], +} + +sanity_check_commands = ["doxygen --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..f6a47336ef1 --- /dev/null +++ b/easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-13.3.0.eb @@ -0,0 +1,21 @@ +name = 'Eigen' +version = '3.4.0' + +homepage = 'https://eigen.tuxfamily.org' +description = """Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, + and related algorithms.""" + +# only includes header files, but requires CMake so using non-system toolchain +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://gitlab.com/libeigen/eigen/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['b4c198460eba6f28d34894e3a5710998818515104d6e74e5cc331ce31e46e626'] + +# using CMake built with GCCcore to avoid relying on the system compiler to build it +builddependencies = [ + ('binutils', '2.42'), # to make CMake compiler health check pass on old systems + ('CMake', '3.29.3'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.4.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.4.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..2b2ff16ce60 --- /dev/null +++ b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.4.1-GCCcore-13.3.0.eb @@ -0,0 +1,52 @@ +easyblock = 'ConfigureMake' + +name = 'GDRCopy' +version = '2.4.1' + +homepage = 'https://github.com/NVIDIA/gdrcopy' +description = "A low-latency GPU memory copy library based on NVIDIA GPUDirect RDMA technology." + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['faa7e816e9bad3301e53d6721457f7ef5ab42b7aa3b01ffda51f8e5620bb20ed'] + +builddependencies = [ + ('binutils', '2.42'), + ('Autotools', '20231222'), + ('pkgconf', '2.2.0'), +] + +# This easyconfig only installs the library of GDRCopy. Please keep in mind +# that GDRCopy also needs the following kernel modules at runtime: +# +# 1. Kernel module for GDRCopy: improves Host to GPU communication +# https://github.com/NVIDIA/gdrcopy +# RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' +# Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 +# +# 2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication +# https://github.com/Mellanox/nv_peer_memory +# RPM: 'nvidia_peer_memory' +# Requirements: Mellanox HCA with MLNX_OFED 2.1 +# +# These kernel modules are not listed as system dependencies to lower the system +# requirements to build this easyconfig, as they are not needed for the build. + +skipsteps = ['configure'] + +local_envopts = "prefix=%(installdir)s" +prebuildopts = "PATH=$PATH:/sbin " # ensures that ldconfig is found +buildopts = "config lib %s" % local_envopts +install_cmd = "make lib_install" +installopts = local_envopts + +sanity_check_paths = { + 'files': ['lib/libgdrapi.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GMP/GMP-6.3.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/GMP/GMP-6.3.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..29f69f73299 --- /dev/null +++ b/easybuild/easyconfigs/g/GMP/GMP-6.3.0-GCCcore-13.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'GMP' +version = '6.3.0' + +homepage = 'https://gmplib.org/' +description = """ + GMP is a free library for arbitrary precision arithmetic, operating on signed + integers, rational numbers, and floating point numbers. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'precise': True, 'pic': True} + +source_urls = ['https://ftp.gnu.org/gnu/%(namelower)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['ac28211a7cfb609bae2e2c8d6058d66c8fe96434f740cf6fe2e47b000d1c20cb'] + +builddependencies = [ + ('Autotools', '20231222'), + ('binutils', '2.42'), +] + +# enable C++ interface +configopts = '--enable-cxx' + +# copy libgmp.so* to /lib to make sure that it is picked up by tests +# when EasyBuild is configured with --rpath, and clean up afterwards (let 'make install' do its job) +pretestopts = "mkdir -p %%(installdir)s/lib && cp -a .libs/libgmp.%s* %%(installdir)s/lib && " % SHLIB_EXT +testopts = " && rm -r %(installdir)s/lib" + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/lib%s.%s' % (l, e) for l in ['gmp', 'gmpxx'] for e in [SHLIB_EXT, 'a']] + + ['include/gmp.h', 'include/gmpxx.h'], + 'dirs': ['share'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MPFR/MPFR-4.2.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/m/MPFR/MPFR-4.2.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..6b5fb75a0a3 --- /dev/null +++ b/easybuild/easyconfigs/m/MPFR/MPFR-4.2.1-GCCcore-13.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'MPFR' +version = '4.2.1' + +homepage = 'https://www.mpfr.org' + +description = """ + The MPFR library is a C library for multiple-precision floating-point + computations with correct rounding. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://www.mpfr.org/mpfr-%(version)s/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['b9df93635b20e4089c29623b19420c4ac848a1b29df1cfd59f26cab0d2666aa0'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('GMP', '6.3.0'), +] + +runtest = 'check' + +# copy libmpfr.so* to /lib to make sure that it is picked up by tests +# when EasyBuild is configured with --rpath, and clean up afterwards (let 'make install' do its job) +pretestopts = "mkdir -p %%(installdir)s/lib && cp -a src/.libs/libmpfr.%s* %%(installdir)s/lib && " % SHLIB_EXT +testopts = " && rm -r %(installdir)s/lib" + +sanity_check_paths = { + 'files': ['lib/libmpfr.%s' % SHLIB_EXT, 'include/mpfr.h'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.43-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.43-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..fcbe54f5a34 --- /dev/null +++ b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.43-GCCcore-13.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'PCRE2' +version = '10.43' + +homepage = 'https://www.pcre.org/' +description = """ + The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax + and semantics as Perl 5. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/PCRE2Project/%(namelower)s/releases/download/%(namelower)s-%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['889d16be5abb8d05400b33c25e151638b8d4bac0e2d9c76e9d6923118ae8a34e'] + +builddependencies = [('binutils', '2.42')] + +configopts = "--enable-shared --enable-jit --enable-pcre2-16 --enable-unicode" + +sanity_check_paths = { + 'files': ["bin/pcre2-config", "bin/pcre2grep", "bin/pcre2test", "lib/libpcre2-8.a", "lib/libpcre2-16.a"], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SWIG/SWIG-4.2.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/s/SWIG/SWIG-4.2.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..4e73a2c53c9 --- /dev/null +++ b/easybuild/easyconfigs/s/SWIG/SWIG-4.2.1-GCCcore-13.3.0.eb @@ -0,0 +1,27 @@ +name = 'SWIG' +version = '4.2.1' + +homepage = 'http://www.swig.org/' +description = """SWIG is a software development tool that connects programs written in C and C++ with + a variety of high-level programming languages.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['fa045354e2d048b2cddc69579e4256245d4676894858fcf0bab2290ecf59b7d8'] + +builddependencies = [ + ('binutils', '2.42'), + ('Bison', '3.8.2'), +] + +dependencies = [ + ('zlib', '1.3.1'), + ('PCRE2', '10.43'), +] + +configopts = '--without-alllang --with-boost=no' + +moduleclass = 'devel' From 6667b572e91146dd0d6e81ea86c742642a46a38d Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Fri, 24 May 2024 15:09:40 +0200 Subject: [PATCH 706/889] adding easyconfigs: Brotli-1.1.0-GCCcore-13.3.0.eb --- .../b/Brotli/Brotli-1.1.0-GCCcore-13.3.0.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/b/Brotli/Brotli-1.1.0-GCCcore-13.3.0.eb diff --git a/easybuild/easyconfigs/b/Brotli/Brotli-1.1.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/b/Brotli/Brotli-1.1.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..88c115d26f2 --- /dev/null +++ b/easybuild/easyconfigs/b/Brotli/Brotli-1.1.0-GCCcore-13.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CMakeMake' + +name = 'Brotli' +version = '1.1.0' + +homepage = 'https://github.com/google/brotli' +description = """Brotli is a generic-purpose lossless compression algorithm that compresses data using a combination + of a modern variant of the LZ77 algorithm, Huffman coding and 2nd order context modeling, with a compression ratio + comparable to the best currently available general-purpose compression methods. It is similar in speed with deflate + but offers more dense compression. +The specification of the Brotli Compressed Data Format is defined in RFC 7932.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/google/brotli/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e720a6ca29428b803f4ad165371771f5398faba397edf6778837a18599ea13ff'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), +] + +sanity_check_paths = { + 'files': ['bin/brotli', 'lib/libbrotlidec.%s' % SHLIB_EXT, 'lib/libbrotlienc.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["brotli --help"] + +moduleclass = 'lib' From dc478051003fa992862c8a9f594d4b7b29e9759e Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Fri, 24 May 2024 15:16:25 +0200 Subject: [PATCH 707/889] adding easyconfigs: jbigkit-2.1-GCCcore-13.3.0.eb, LibTIFF-4.6.0-GCCcore-13.3.0.eb, libdeflate-1.20-GCCcore-13.3.0.eb, libjpeg-turbo-3.0.1-GCCcore-13.3.0.eb, NASM-2.16.03-GCCcore-13.3.0.eb --- .../j/jbigkit/jbigkit-2.1-GCCcore-13.3.0.eb | 45 +++++++++++++++++++ .../l/LibTIFF/LibTIFF-4.6.0-GCCcore-13.3.0.eb | 38 ++++++++++++++++ .../libdeflate-1.20-GCCcore-13.3.0.eb | 37 +++++++++++++++ .../libjpeg-turbo-3.0.1-GCCcore-13.3.0.eb | 42 +++++++++++++++++ .../n/NASM/NASM-2.16.03-GCCcore-13.3.0.eb | 25 +++++++++++ 5 files changed, 187 insertions(+) create mode 100644 easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.6.0-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/l/libdeflate/libdeflate-1.20-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-3.0.1-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/n/NASM/NASM-2.16.03-GCCcore-13.3.0.eb diff --git a/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..ae9f9537e31 --- /dev/null +++ b/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-13.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'MakeCp' + +name = 'jbigkit' +version = '2.1' + +homepage = 'https://www.cl.cam.ac.uk/~mgk25/jbigkit/' +description = """JBIG-KIT is a software implementation of the JBIG1 data + compression standard (ITU-T T.82), which was designed for bi-level image + data, such as scanned documents.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.cl.cam.ac.uk/~mgk25/jbigkit/download'] +sources = [SOURCE_TAR_GZ] +patches = [ + '%(name)s-%(version)s_libpath.patch', + '%(name)s-%(version)s_shlib.patch', +] +checksums = [ + {'jbigkit-2.1.tar.gz': 'de7106b6bfaf495d6865c7dd7ac6ca1381bd12e0d81405ea81e7f2167263d932'}, + {'jbigkit-2.1_libpath.patch': '97c88956090097b484fcdb90e12eab82212e67ddc862f035d7c6446a696786ce'}, + {'jbigkit-2.1_shlib.patch': '54ae429e8ec949eceee0f902b676f572f1cdfbff46f77c7222acdeafb643a696'}, +] + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), +] + +files_to_copy = [ + (['libjbig/libjbig%s.%s' % (x, y) for x in ['85', ''] for y in ['a', SHLIB_EXT, SHLIB_EXT + '.0']], 'lib'), + (['libjbig/jbig85.h', 'libjbig/jbig.h', 'libjbig/jbig_ar.h'], 'include'), + (['pbmtools/pbmtojbg', 'pbmtools/jbgtopbm'], 'bin'), +] + +sanity_check_paths = { + 'files': ['lib/libjbig85.a', 'lib/libjbig.a', + 'bin/pbmtojbg', 'bin/jbgtopbm', + 'include/jbig.h', 'include/jbig_ar.h', + ], + 'dirs': ['bin', 'include', 'lib'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.6.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.6.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..01e24006610 --- /dev/null +++ b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.6.0-GCCcore-13.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'LibTIFF' +version = '4.6.0' + +homepage = 'https://libtiff.gitlab.io/libtiff/' +description = "tiff: Library and tools for reading and writing TIFF data files" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.osgeo.org/libtiff/'] +sources = ['tiff-%(version)s.tar.gz'] +checksums = ['88b3979e6d5c7e32b50d7ec72fb15af724f6ab2cbf7e10880c360a77e4b5d99a'] + +builddependencies = [('binutils', '2.42')] + +dependencies = [ + ('zlib', '1.3.1'), + ('libjpeg-turbo', '3.0.1'), + ('XZ', '5.4.5'), + ('jbigkit', '2.1'), + ('zstd', '1.5.6'), + ('libdeflate', '1.20'), +] + +configopts = "--enable-ld-version-script " +configopts += "--disable-webp --disable-sphinx " + +sanity_check_paths = { + 'files': ['bin/tiffdump', 'bin/tiffinfo', 'include/tiff.h', 'lib/libtiff.a', 'lib/libtiff.%s' % SHLIB_EXT, + 'lib/libtiffxx.a', 'lib/libtiffxx.%s' % SHLIB_EXT, 'lib/pkgconfig/libtiff-4.pc'], + 'dirs': [], +} + +sanity_check_commands = ["tiffinfo -h"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libdeflate/libdeflate-1.20-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libdeflate/libdeflate-1.20-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..79e7db1b0d8 --- /dev/null +++ b/easybuild/easyconfigs/l/libdeflate/libdeflate-1.20-GCCcore-13.3.0.eb @@ -0,0 +1,37 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'CMakeMake' + +name = 'libdeflate' +version = '1.20' + +homepage = 'https://github.com/ebiggers/libdeflate' +description = """Heavily optimized library for DEFLATE/zlib/gzip compression and decompression.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +github_account = 'ebiggers' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['ed1454166ced78913ff3809870a4005b7170a6fd30767dc478a09b96847b9c2a'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), +] + +sanity_check_paths = { + 'files': [ + 'bin/%(name)s-gunzip', 'bin/%(name)s-gzip', + 'lib/%(name)s.a', 'lib/%%(name)s.%s' % SHLIB_EXT, + 'include/%(name)s.h', + ], + 'dirs': [], +} +sanity_check_commands = [ + '%(name)s-gzip -h', + '%(name)s-gunzip -h', +] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-3.0.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-3.0.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..f4a61f429a2 --- /dev/null +++ b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-3.0.1-GCCcore-13.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'CMakeMake' + +name = 'libjpeg-turbo' +version = '3.0.1' + +homepage = 'https://sourceforge.net/projects/libjpeg-turbo/' + +description = """ + libjpeg-turbo is a fork of the original IJG libjpeg which uses SIMD to + accelerate baseline JPEG compression and decompression. libjpeg is a library + that implements JPEG image encoding, decoding and transcoding. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['22429507714ae147b3acacd299e82099fce5d9f456882fc28e252e4579ba2a75'] + +builddependencies = [ + ('CMake', '3.29.3'), + ('binutils', '2.42'), +] + +dependencies = [ + ('NASM', '2.16.03'), +] + +configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1' + +runtest = "test" + +sanity_check_paths = { + 'files': ['bin/cjpeg', 'bin/djpeg', 'bin/jpegtran', 'bin/rdjpgcom', + 'bin/tjbench', 'bin/wrjpgcom', 'lib/libjpeg.a', + 'lib/libjpeg.%s' % SHLIB_EXT, 'lib/libturbojpeg.a', + 'lib/libturbojpeg.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NASM/NASM-2.16.03-GCCcore-13.3.0.eb b/easybuild/easyconfigs/n/NASM/NASM-2.16.03-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..7ecd06f10c0 --- /dev/null +++ b/easybuild/easyconfigs/n/NASM/NASM-2.16.03-GCCcore-13.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'NASM' +version = '2.16.03' + +homepage = 'https://www.nasm.us/' + +description = """NASM: General-purpose x86 assembler""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://www.nasm.us/pub/nasm/releasebuilds/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['bef3de159bcd61adf98bb7cc87ee9046e944644ad76b7633f18ab063edb29e57'] + +builddependencies = [ + ('binutils', '2.42'), +] + +sanity_check_paths = { + 'files': ['bin/nasm'], + 'dirs': [], +} + +moduleclass = 'lang' From 98a9fb53efec8c749bc017a0ab11160a71af0179 Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Fri, 24 May 2024 16:39:22 +0200 Subject: [PATCH 708/889] adding easyconfigs: mold-2.31.0-GCCcore-13.3.0.eb --- .../m/mold/mold-2.31.0-GCCcore-13.3.0.eb | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 easybuild/easyconfigs/m/mold/mold-2.31.0-GCCcore-13.3.0.eb diff --git a/easybuild/easyconfigs/m/mold/mold-2.31.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/m/mold/mold-2.31.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..e918d8ff41e --- /dev/null +++ b/easybuild/easyconfigs/m/mold/mold-2.31.0-GCCcore-13.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'mold' +version = '2.31.0' + +homepage = 'https://github.com/rui314/mold' +description = "mold is a high-performance drop-in replacement for existing Unix linkers." + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/rui314/mold/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['3dc3af83a5d22a4b29971bfad17261851d426961c665480e2ca294e5c74aa1e5'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), +] +dependencies = [ + ('zlib', '1.3.1'), + ('OpenSSL', '3', '', SYSTEM), +] + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/mold', 'lib/mold/mold-wrapper.%s' % SHLIB_EXT], + 'dirs': ['share/man'], +} + +sanity_check_commands = [ + "mold --help", + "mold --run gcc -v", +] + +moduleclass = 'tools' From 515d3f3a03288020a922dd37f452f9b8376d0e82 Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Fri, 24 May 2024 16:41:14 +0200 Subject: [PATCH 709/889] adding easyconfigs: ICU-75.1-GCCcore-13.3.0.eb, nodejs-20.13.1-GCCcore-13.3.0.eb --- .../i/ICU/ICU-75.1-GCCcore-13.3.0.eb | 29 ++++++++++ .../n/nodejs/nodejs-20.13.1-GCCcore-13.3.0.eb | 54 +++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 easybuild/easyconfigs/i/ICU/ICU-75.1-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/n/nodejs/nodejs-20.13.1-GCCcore-13.3.0.eb diff --git a/easybuild/easyconfigs/i/ICU/ICU-75.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/i/ICU/ICU-75.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..cb7075fa963 --- /dev/null +++ b/easybuild/easyconfigs/i/ICU/ICU-75.1-GCCcore-13.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'ICU' +version = '75.1' + +homepage = 'https://icu.unicode.org' +description = """ICU is a mature, widely used set of C/C++ and Java libraries providing Unicode and Globalization + support for software applications.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/unicode-org/icu/releases/download/release-%(version_major)s-%(version_minor)s'] +sources = ['icu4c-%(version_major)s_%(version_minor)s-src.tgz'] +checksums = ['cb968df3e4d2e87e8b11c49a5d01c787bd13b9545280fc6642f826527618caef'] + +builddependencies = [ + ('binutils', '2.42'), + ('Python', '3.12.3'), +] + +start_dir = 'source' + +sanity_check_paths = { + 'files': ['lib/libicu%s.%s' % (x, SHLIB_EXT) for x in ['data', 'i18n', 'io', 'test', 'tu', 'uc']], + 'dirs': ['bin', 'include/unicode', 'share/icu', 'share/man'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/nodejs/nodejs-20.13.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/n/nodejs/nodejs-20.13.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..b49990e46e7 --- /dev/null +++ b/easybuild/easyconfigs/n/nodejs/nodejs-20.13.1-GCCcore-13.3.0.eb @@ -0,0 +1,54 @@ +easyblock = 'ConfigureMake' + +name = 'nodejs' +version = '20.13.1' # LTS on 2024-05-24 +local_libversion = '115' + +homepage = 'https://nodejs.org' +description = """Node.js is a platform built on Chrome's JavaScript runtime + for easily building fast, scalable network applications. Node.js uses an + event-driven, non-blocking I/O model that makes it lightweight and efficient, + perfect for data-intensive real-time applications that run across distributed devices.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://nodejs.org/dist/v%(version)s/'] +sources = ['node-v%(version)s.tar.gz'] +checksums = ['a85ee53aa0a5c2f5ca94fa414cdbceb91eb7d18a77fc498358512c14cc6c6991'] + +builddependencies = [ + ('binutils', '2.42'), + ('Python', '3.12.3'), + ('pkgconf', '2.2.0'), +] + +dependencies = [ + ('ICU', '75.1'), + ('OpenSSL', '3', '', SYSTEM), +] + +# Use ICU and OpenSSL from EasyBuild +local_common_configopts = "--with-intl=system-icu --shared-openssl " + +configopts = [ + local_common_configopts, # Static build + '--shared %s' % local_common_configopts, # Build libnode.so in a second run +] + +# Link libv8 libs to libnode +local_extra_sonames = ['libnode', 'libv8', 'libv8_libbase', 'libv8_libplatform'] +local_extra_libs = ['%s.%s' % (x, SHLIB_EXT) for x in local_extra_sonames] +local_libnode_real = "libnode.%s.%s" % (SHLIB_EXT, local_libversion) + +postinstallcmds = [ + "cd %%(installdir)s/lib && ln -s %s %s" % (local_libnode_real, x) for x in local_extra_libs +] + +sanity_check_paths = { + 'files': ['bin/node', 'bin/npm'] + ['lib/%s' % x for x in [local_libnode_real] + local_extra_libs], + 'dirs': ['lib/node_modules', 'include/node'] +} + +sanity_check_commands = ["node --help"] + +moduleclass = 'lang' From 45bfc5b93a5aa3260d8f8a28d2940a822737e157 Mon Sep 17 00:00:00 2001 From: Adam Huffman <12435+verdurin@users.noreply.github.com> Date: Fri, 24 May 2024 15:45:46 +0000 Subject: [PATCH 710/889] adding easyconfigs: Seurat-5.1.0-foss-2023a-R-4.3.2.eb --- .../Seurat/Seurat-5.1.0-foss-2023a-R-4.3.2.eb | 76 +++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 easybuild/easyconfigs/s/Seurat/Seurat-5.1.0-foss-2023a-R-4.3.2.eb diff --git a/easybuild/easyconfigs/s/Seurat/Seurat-5.1.0-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/s/Seurat/Seurat-5.1.0-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..11f439e4017 --- /dev/null +++ b/easybuild/easyconfigs/s/Seurat/Seurat-5.1.0-foss-2023a-R-4.3.2.eb @@ -0,0 +1,76 @@ +easyblock = 'Bundle' + +name = 'Seurat' +version = '5.1.0' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://satijalab.org/seurat' +description = "Seurat is an R package designed for QC, analysis, and exploration of single cell RNA-seq data." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-Bioconductor', '3.18', versionsuffix), +] + +exts_defaultclass = 'RPackage' +exts_default_options = { + 'sources': ['%(name)s_%(version)s.tar.gz'], + 'source_urls': [ + 'https://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive + 'https://cran.r-project.org/src/contrib/', # current version of packages + 'https://cran.freestatistics.org/src/contrib', # mirror alternative for current packages + ], +} + +exts_list = [ + ('Matrix', '1.6-4', { + 'checksums': ['70ca7bdaece68d4837da0523d067e1553947c3c81b0b55206223bb647617bb01'], + }), + ('sp', '2.1-4', { + 'checksums': ['e185e7fb61d2d7dbc50fd765a93e170fa778083a653588db1f5e99d019479f0a'], + }), + ('SeuratObject', '5.0.2', { + 'checksums': ['ded30d21f445b7e353fe4a0c4954d45ad19fbe162615d9addf6732f9318ba0cf'], + }), + ('sctransform', '0.4.1', { + 'checksums': ['5f6be7f8be543e4c32c8007207b603a750881459370b7bb5afd63e8c8fabf171'], + }), + ('uwot', '0.2.2', { + 'checksums': ['d9938c43d29530d4b36d1b2649cc679b09945a740db2cd3a266242b1aa9a6cd1'], + }), + ('spatstat.utils', '3.0-1', { + 'checksums': ['cba1c7806564fd9145ca15edf77233d6ba5609f0989f7812221f5fc1ece0b91a'], + }), + ('spatstat.data', '3.0-0', { + 'checksums': ['cff9058a88489020a4a05b9576cd452f37fa9b42084873c474d06931f5187057'], + }), + ('spatstat.geom', '3.0-3', { + 'checksums': ['6e5b56c60e774a0cdcaa5a8ffde071225f233832446a341588bd8a7840913c84'], + }), + ('spatstat.random', '3.0-1', { + 'checksums': ['938c845c063b8781bf894c0a67537e7b2a7c425a4beba4a95ec9d2c37b43e5b6'], + }), + ('spatstat.sparse', '3.0-0', { + 'checksums': ['99be0a3c7592760fdf1668dc0811f75ed91c400390d1ecc3d5e643255f501ad2'], + }), + ('spatstat.explore', '3.0-5', { + 'checksums': ['9f438a12fac3f3e1d0bd550b1393c1e5732be694517b0878db09da557d6dc862'], + }), + ('scattermore', '1.2', { + 'checksums': ['5534a87b0bdd1375f0fbffc1a5c980ad64e33a108435a67469b8324b580602d1'], + }), + (name, version, { + 'checksums': ['adcfb43d7a8cc55eaa7a0954a082ac95e14059a82901913379bfec115e224d59'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'bio' From 18c579770fd16c833f07802ca71746270a5f1d1f Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Fri, 24 May 2024 23:37:37 +0200 Subject: [PATCH 711/889] add patch to fix zscal in OpenBLAS 0.3.27 --- .../o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0.eb | 3 ++ .../OpenBLAS/OpenBLAS-0.3.27_fix_zscal.patch | 38 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27_fix_zscal.patch diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0.eb index eadfb85a91a..e355000bfb9 100644 --- a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0.eb +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0.eb @@ -17,6 +17,7 @@ patches = [ ('timing.tgz', '.'), 'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch', 'OpenBLAS-0.3.21_fix-order-vectorization.patch', + 'OpenBLAS-0.3.27_fix_zscal.patch', ] checksums = [ {'v0.3.27.tar.gz': 'aa2d68b1564fe2b13bc292672608e9cdeeeb6dc34995512e65c3b10f4599e897'}, @@ -26,6 +27,8 @@ checksums = [ 'e6b326fb8c4a8a6fd07741d9983c37a72c55c9ff9a4f74a80e1352ce5f975971'}, {'OpenBLAS-0.3.21_fix-order-vectorization.patch': '08af834e5d60441fd35c128758ed9c092ba6887c829e0471ecd489079539047d'}, + {'OpenBLAS-0.3.27_fix_zscal.patch': + '9210d7b66538dabaddbe1bfceb16f8225708856f60876ca5561b19d3599f9fd1'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27_fix_zscal.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27_fix_zscal.patch new file mode 100644 index 00000000000..81c1b32e77a --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27_fix_zscal.patch @@ -0,0 +1,38 @@ +From 62f7b244ff5c268f311e5f080d1f44c3b432f3d0 Mon Sep 17 00:00:00 2001 +From: Bart Oldeman +Date: Fri, 24 May 2024 17:20:27 +0000 +Subject: [PATCH] Replace use of FLT_MAX in x86_64 zscal.c by isinf() + +Commit def4996 fixed issues with inf and nan values in zscal, +but used FLT_MAX, where DBL_MAX or isinf() is more appropriate, +as FLT_MAX is for single precision only. +Using FLT_MAX caused test case failures in the LAPACK tests. + +isinf() is consistent with the later fix 969601a1 +--- + kernel/x86_64/zscal.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/kernel/x86_64/zscal.c b/kernel/x86_64/zscal.c +index bc79c0cafd..075b6091fe 100644 +--- a/kernel/x86_64/zscal.c ++++ b/kernel/x86_64/zscal.c +@@ -394,7 +394,7 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da_r, FLOAT da_i, + } + + } +- else if (da_r < -FLT_MAX || da_r > FLT_MAX) { ++ else if (isinf(da_r)) { + while(j < n) + { + x[i]= NAN; +@@ -410,7 +410,7 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da_r, FLOAT da_i, + while(j < n) + { + temp0 = -da_i * x[i+1]; +- if (x[i] < -FLT_MAX || x[i] > FLT_MAX) ++ if (isinf(x[i])) + temp0 = NAN; + x[i+1] = da_i * x[i]; + if ( x[i] == x[i]) //preserve NaN + From 2faff6d129c9542cf0bc3b083b7596cc635e4ec9 Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Sat, 25 May 2024 09:35:56 +0200 Subject: [PATCH 712/889] use https for homepage in OpenBLAS 0.3.27 --- easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0.eb index e355000bfb9..04fe130b0b8 100644 --- a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0.eb +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0.eb @@ -1,7 +1,7 @@ name = 'OpenBLAS' version = '0.3.27' -homepage = 'http://www.openblas.net/' +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'} From 8d2dd7161a7795a5c2f04e3ba1f0a2794339648b Mon Sep 17 00:00:00 2001 From: Simon Branford Date: Sat, 25 May 2024 09:49:22 +0100 Subject: [PATCH 713/889] add `build_info_msg` abour kernel modules to GDRCopy --- .../GDRCopy-2.1-GCCcore-10.2.0-CUDA-11.1.1.eb | 30 +++++++++---------- .../GDRCopy-2.1-GCCcore-10.2.0-CUDA-11.2.1.eb | 30 +++++++++---------- .../GDRCopy-2.1-GCCcore-9.3.0-CUDA-11.0.2.eb | 30 +++++++++---------- .../g/GDRCopy/GDRCopy-2.2-GCCcore-10.2.0.eb | 30 +++++++++---------- .../g/GDRCopy/GDRCopy-2.2-GCCcore-10.3.0.eb | 30 +++++++++---------- .../g/GDRCopy/GDRCopy-2.3-GCCcore-11.2.0.eb | 30 +++++++++---------- .../g/GDRCopy/GDRCopy-2.3-GCCcore-11.3.0.eb | 30 +++++++++---------- .../g/GDRCopy/GDRCopy-2.3-GCCcore-12.2.0.eb | 30 +++++++++---------- .../g/GDRCopy/GDRCopy-2.3.1-GCCcore-12.3.0.eb | 30 +++++++++---------- .../g/GDRCopy/GDRCopy-2.4-GCCcore-13.2.0.eb | 30 +++++++++---------- 10 files changed, 150 insertions(+), 150 deletions(-) diff --git a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.1-GCCcore-10.2.0-CUDA-11.1.1.eb b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.1-GCCcore-10.2.0-CUDA-11.1.1.eb index c99c15a13e4..915d01b254a 100644 --- a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.1-GCCcore-10.2.0-CUDA-11.1.1.eb +++ b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.1-GCCcore-10.2.0-CUDA-11.1.1.eb @@ -27,21 +27,21 @@ dependencies = [ ('Check', '0.15.2'), ] -# This easyconfig only installs the library and binaries of GDRCopy. Please -# keep in mind that GDRCopy also needs the following kernel modules at runtime: -# -# 1. Kernel module for GDRCopy: improves Host to GPU communication -# https://github.com/NVIDIA/gdrcopy -# RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' -# Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 -# -# 2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication -# https://github.com/Mellanox/nv_peer_memory -# RPM: 'nvidia_peer_memory' -# Requirements: Mellanox HCA with MLNX_OFED 2.1 -# -# These kernel modules are not listed as system dependencies to lower the system -# requirements to build this easyconfig, as they are not needed for the build. +build_info_msg = """This easyconfig only installs the library and binaries of GDRCopy. Please +keep in mind that GDRCopy also needs the following kernel modules at runtime: + +1. Kernel module for GDRCopy: improves Host to GPU communication + https://github.com/NVIDIA/gdrcopy + RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' + Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 + +2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication + https://github.com/Mellanox/nv_peer_memory + RPM: 'nvidia_peer_memory' + Requirements: Mellanox HCA with MLNX_OFED 2.1 + +These kernel modules are not listed as system dependencies to lower the system +requirements to build this easyconfig, as they are not needed for the build.""" skipsteps = ['configure'] diff --git a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.1-GCCcore-10.2.0-CUDA-11.2.1.eb b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.1-GCCcore-10.2.0-CUDA-11.2.1.eb index accc04a5bde..443bbdd4af7 100644 --- a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.1-GCCcore-10.2.0-CUDA-11.2.1.eb +++ b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.1-GCCcore-10.2.0-CUDA-11.2.1.eb @@ -27,21 +27,21 @@ dependencies = [ ('Check', '0.15.2'), ] -# This easyconfig only installs the library and binaries of GDRCopy. Please -# keep in mind that GDRCopy also needs the following kernel modules at runtime: -# -# 1. Kernel module for GDRCopy: improves Host to GPU communication -# https://github.com/NVIDIA/gdrcopy -# RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' -# Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 -# -# 2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication -# https://github.com/Mellanox/nv_peer_memory -# RPM: 'nvidia_peer_memory' -# Requirements: Mellanox HCA with MLNX_OFED 2.1 -# -# These kernel modules are not listed as system dependencies to lower the system -# requirements to build this easyconfig, as they are not needed for the build. +build_info_msg = """This easyconfig only installs the library and binaries of GDRCopy. Please +keep in mind that GDRCopy also needs the following kernel modules at runtime: + +1. Kernel module for GDRCopy: improves Host to GPU communication + https://github.com/NVIDIA/gdrcopy + RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' + Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 + +2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication + https://github.com/Mellanox/nv_peer_memory + RPM: 'nvidia_peer_memory' + Requirements: Mellanox HCA with MLNX_OFED 2.1 + +These kernel modules are not listed as system dependencies to lower the system +requirements to build this easyconfig, as they are not needed for the build.""" skipsteps = ['configure'] diff --git a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.1-GCCcore-9.3.0-CUDA-11.0.2.eb b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.1-GCCcore-9.3.0-CUDA-11.0.2.eb index 864159cc441..3c02c5d5c02 100644 --- a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.1-GCCcore-9.3.0-CUDA-11.0.2.eb +++ b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.1-GCCcore-9.3.0-CUDA-11.0.2.eb @@ -27,21 +27,21 @@ dependencies = [ ('Check', '0.15.2'), ] -# This easyconfig only installs the library and binaries of GDRCopy. Please -# keep in mind that GDRCopy also needs the following kernel modules at runtime: -# -# 1. Kernel module for GDRCopy: improves Host to GPU communication -# https://github.com/NVIDIA/gdrcopy -# RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' -# Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 -# -# 2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication -# https://github.com/Mellanox/nv_peer_memory -# RPM: 'nvidia_peer_memory' -# Requirements: Mellanox HCA with MLNX_OFED 2.1 -# -# These kernel modules are not listed as system dependencies to lower the system -# requirements to build this easyconfig, as they are not needed for the build. +build_info_msg = """This easyconfig only installs the library and binaries of GDRCopy. Please +keep in mind that GDRCopy also needs the following kernel modules at runtime: + +1. Kernel module for GDRCopy: improves Host to GPU communication + https://github.com/NVIDIA/gdrcopy + RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' + Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 + +2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication + https://github.com/Mellanox/nv_peer_memory + RPM: 'nvidia_peer_memory' + Requirements: Mellanox HCA with MLNX_OFED 2.1 + +These kernel modules are not listed as system dependencies to lower the system +requirements to build this easyconfig, as they are not needed for the build.""" skipsteps = ['configure'] diff --git a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.2-GCCcore-10.2.0.eb b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.2-GCCcore-10.2.0.eb index 85810e2394d..f6498b61ef3 100644 --- a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.2-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.2-GCCcore-10.2.0.eb @@ -20,21 +20,21 @@ builddependencies = [ ('pkg-config', '0.29.2'), ] -# This easyconfig only installs the library of GDRCopy. Please keep in mind -# that GDRCopy also needs the following kernel modules at runtime: -# -# 1. Kernel module for GDRCopy: improves Host to GPU communication -# https://github.com/NVIDIA/gdrcopy -# RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' -# Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 -# -# 2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication -# https://github.com/Mellanox/nv_peer_memory -# RPM: 'nvidia_peer_memory' -# Requirements: Mellanox HCA with MLNX_OFED 2.1 -# -# These kernel modules are not listed as system dependencies to lower the system -# requirements to build this easyconfig, as they are not needed for the build. +build_info_msg = """This easyconfig only installs the library of GDRCopy. Please keep in mind +that GDRCopy also needs the following kernel modules at runtime: + +1. Kernel module for GDRCopy: improves Host to GPU communication + https://github.com/NVIDIA/gdrcopy + RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' + Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 + +2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication + https://github.com/Mellanox/nv_peer_memory + RPM: 'nvidia_peer_memory' + Requirements: Mellanox HCA with MLNX_OFED 2.1 + +These kernel modules are not listed as system dependencies to lower the system +requirements to build this easyconfig, as they are not needed for the build.""" skipsteps = ['configure'] diff --git a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.2-GCCcore-10.3.0.eb index e9750d55747..cd3d0ee01c6 100644 --- a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.2-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.2-GCCcore-10.3.0.eb @@ -20,21 +20,21 @@ builddependencies = [ ('pkg-config', '0.29.2'), ] -# This easyconfig only installs the library of GDRCopy. Please keep in mind -# that GDRCopy also needs the following kernel modules at runtime: -# -# 1. Kernel module for GDRCopy: improves Host to GPU communication -# https://github.com/NVIDIA/gdrcopy -# RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' -# Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 -# -# 2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication -# https://github.com/Mellanox/nv_peer_memory -# RPM: 'nvidia_peer_memory' -# Requirements: Mellanox HCA with MLNX_OFED 2.1 -# -# These kernel modules are not listed as system dependencies to lower the system -# requirements to build this easyconfig, as they are not needed for the build. +build_info_msg = """This easyconfig only installs the library of GDRCopy. Please keep in mind +that GDRCopy also needs the following kernel modules at runtime: + +1. Kernel module for GDRCopy: improves Host to GPU communication + https://github.com/NVIDIA/gdrcopy + RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' + Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 + +2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication + https://github.com/Mellanox/nv_peer_memory + RPM: 'nvidia_peer_memory' + Requirements: Mellanox HCA with MLNX_OFED 2.1 + +These kernel modules are not listed as system dependencies to lower the system +requirements to build this easyconfig, as they are not needed for the build.""" skipsteps = ['configure'] diff --git a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3-GCCcore-11.2.0.eb index 7074317643e..b6d234c96b7 100644 --- a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3-GCCcore-11.2.0.eb @@ -20,21 +20,21 @@ builddependencies = [ ('pkg-config', '0.29.2'), ] -# This easyconfig only installs the library of GDRCopy. Please keep in mind -# that GDRCopy also needs the following kernel modules at runtime: -# -# 1. Kernel module for GDRCopy: improves Host to GPU communication -# https://github.com/NVIDIA/gdrcopy -# RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' -# Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 -# -# 2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication -# https://github.com/Mellanox/nv_peer_memory -# RPM: 'nvidia_peer_memory' -# Requirements: Mellanox HCA with MLNX_OFED 2.1 -# -# These kernel modules are not listed as system dependencies to lower the system -# requirements to build this easyconfig, as they are not needed for the build. +build_info_msg = """This easyconfig only installs the library of GDRCopy. Please keep in mind +that GDRCopy also needs the following kernel modules at runtime: + +1. Kernel module for GDRCopy: improves Host to GPU communication + https://github.com/NVIDIA/gdrcopy + RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' + Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 + +2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication + https://github.com/Mellanox/nv_peer_memory + RPM: 'nvidia_peer_memory' + Requirements: Mellanox HCA with MLNX_OFED 2.1 + +These kernel modules are not listed as system dependencies to lower the system +requirements to build this easyconfig, as they are not needed for the build.""" skipsteps = ['configure'] diff --git a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3-GCCcore-11.3.0.eb index 43ffd95b310..d155d8ae274 100644 --- a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3-GCCcore-11.3.0.eb @@ -20,21 +20,21 @@ builddependencies = [ ('pkgconf', '1.8.0'), ] -# This easyconfig only installs the library of GDRCopy. Please keep in mind -# that GDRCopy also needs the following kernel modules at runtime: -# -# 1. Kernel module for GDRCopy: improves Host to GPU communication -# https://github.com/NVIDIA/gdrcopy -# RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' -# Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 -# -# 2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication -# https://github.com/Mellanox/nv_peer_memory -# RPM: 'nvidia_peer_memory' -# Requirements: Mellanox HCA with MLNX_OFED 2.1 -# -# These kernel modules are not listed as system dependencies to lower the system -# requirements to build this easyconfig, as they are not needed for the build. +build_info_msg = """This easyconfig only installs the library of GDRCopy. Please keep in mind +that GDRCopy also needs the following kernel modules at runtime: + +1. Kernel module for GDRCopy: improves Host to GPU communication + https://github.com/NVIDIA/gdrcopy + RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' + Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 + +2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication + https://github.com/Mellanox/nv_peer_memory + RPM: 'nvidia_peer_memory' + Requirements: Mellanox HCA with MLNX_OFED 2.1 + +These kernel modules are not listed as system dependencies to lower the system +requirements to build this easyconfig, as they are not needed for the build.""" skipsteps = ['configure'] diff --git a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3-GCCcore-12.2.0.eb index c9c58812cf5..44973308cfc 100644 --- a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3-GCCcore-12.2.0.eb @@ -20,21 +20,21 @@ builddependencies = [ ('pkgconf', '1.9.3'), ] -# This easyconfig only installs the library of GDRCopy. Please keep in mind -# that GDRCopy also needs the following kernel modules at runtime: -# -# 1. Kernel module for GDRCopy: improves Host to GPU communication -# https://github.com/NVIDIA/gdrcopy -# RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' -# Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 -# -# 2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication -# https://github.com/Mellanox/nv_peer_memory -# RPM: 'nvidia_peer_memory' -# Requirements: Mellanox HCA with MLNX_OFED 2.1 -# -# These kernel modules are not listed as system dependencies to lower the system -# requirements to build this easyconfig, as they are not needed for the build. +build_info_msg = """This easyconfig only installs the library of GDRCopy. Please keep in mind +that GDRCopy also needs the following kernel modules at runtime: + +1. Kernel module for GDRCopy: improves Host to GPU communication + https://github.com/NVIDIA/gdrcopy + RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' + Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 + +2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication + https://github.com/Mellanox/nv_peer_memory + RPM: 'nvidia_peer_memory' + Requirements: Mellanox HCA with MLNX_OFED 2.1 + +These kernel modules are not listed as system dependencies to lower the system +requirements to build this easyconfig, as they are not needed for the build.""" skipsteps = ['configure'] diff --git a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3.1-GCCcore-12.3.0.eb index 9eb358afb3f..b0c0227e952 100644 --- a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3.1-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3.1-GCCcore-12.3.0.eb @@ -20,21 +20,21 @@ builddependencies = [ ('pkgconf', '1.9.5'), ] -# This easyconfig only installs the library of GDRCopy. Please keep in mind -# that GDRCopy also needs the following kernel modules at runtime: -# -# 1. Kernel module for GDRCopy: improves Host to GPU communication -# https://github.com/NVIDIA/gdrcopy -# RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' -# Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 -# -# 2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication -# https://github.com/Mellanox/nv_peer_memory -# RPM: 'nvidia_peer_memory' -# Requirements: Mellanox HCA with MLNX_OFED 2.1 -# -# These kernel modules are not listed as system dependencies to lower the system -# requirements to build this easyconfig, as they are not needed for the build. +build_info_msg = """This easyconfig only installs the library of GDRCopy. Please keep in mind +that GDRCopy also needs the following kernel modules at runtime: + +1. Kernel module for GDRCopy: improves Host to GPU communication + https://github.com/NVIDIA/gdrcopy + RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' + Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 + +2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication + https://github.com/Mellanox/nv_peer_memory + RPM: 'nvidia_peer_memory' + Requirements: Mellanox HCA with MLNX_OFED 2.1 + +These kernel modules are not listed as system dependencies to lower the system +requirements to build this easyconfig, as they are not needed for the build.""" skipsteps = ['configure'] diff --git a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.4-GCCcore-13.2.0.eb index d871eaf60d3..56d6902c8a7 100644 --- a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.4-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.4-GCCcore-13.2.0.eb @@ -20,21 +20,21 @@ builddependencies = [ ('pkgconf', '2.0.3'), ] -# This easyconfig only installs the library of GDRCopy. Please keep in mind -# that GDRCopy also needs the following kernel modules at runtime: -# -# 1. Kernel module for GDRCopy: improves Host to GPU communication -# https://github.com/NVIDIA/gdrcopy -# RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' -# Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 -# -# 2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication -# https://github.com/Mellanox/nv_peer_memory -# RPM: 'nvidia_peer_memory' -# Requirements: Mellanox HCA with MLNX_OFED 2.1 -# -# These kernel modules are not listed as system dependencies to lower the system -# requirements to build this easyconfig, as they are not needed for the build. +build_info_msg = """This easyconfig only installs the library of GDRCopy. Please keep in mind +that GDRCopy also needs the following kernel modules at runtime: + +1. Kernel module for GDRCopy: improves Host to GPU communication + https://github.com/NVIDIA/gdrcopy + RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' + Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 + +2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication + https://github.com/Mellanox/nv_peer_memory + RPM: 'nvidia_peer_memory' + Requirements: Mellanox HCA with MLNX_OFED 2.1 + +These kernel modules are not listed as system dependencies to lower the system +requirements to build this easyconfig, as they are not needed for the build.""" skipsteps = ['configure'] From 95814c5508ed702a514641c167f241aef3e8bea6 Mon Sep 17 00:00:00 2001 From: SebastianAchilles Date: Sat, 25 May 2024 14:30:17 +0200 Subject: [PATCH 714/889] add `build_info_msg` about kernel modules to GDRCopy Co-authored-by: Simon Branford <4967+branfosj@users.noreply.github.com> --- .../g/GDRCopy/GDRCopy-2.4.1-GCCcore-13.3.0.eb | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.4.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.4.1-GCCcore-13.3.0.eb index 2b2ff16ce60..f8e2370943b 100644 --- a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.4.1-GCCcore-13.3.0.eb +++ b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.4.1-GCCcore-13.3.0.eb @@ -20,21 +20,21 @@ builddependencies = [ ('pkgconf', '2.2.0'), ] -# This easyconfig only installs the library of GDRCopy. Please keep in mind -# that GDRCopy also needs the following kernel modules at runtime: -# -# 1. Kernel module for GDRCopy: improves Host to GPU communication -# https://github.com/NVIDIA/gdrcopy -# RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' -# Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 -# -# 2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication -# https://github.com/Mellanox/nv_peer_memory -# RPM: 'nvidia_peer_memory' -# Requirements: Mellanox HCA with MLNX_OFED 2.1 -# -# These kernel modules are not listed as system dependencies to lower the system -# requirements to build this easyconfig, as they are not needed for the build. +build_info_msg = """This easyconfig only installs the library of GDRCopy. Please keep in mind +that GDRCopy also needs the following kernel modules at runtime: + +1. Kernel module for GDRCopy: improves Host to GPU communication + https://github.com/NVIDIA/gdrcopy + RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' + Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 + +2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication + https://github.com/Mellanox/nv_peer_memory + RPM: 'nvidia_peer_memory' + Requirements: Mellanox HCA with MLNX_OFED 2.1 + +These kernel modules are not listed as system dependencies to lower the system +requirements to build this easyconfig, as they are not needed for the build.""" skipsteps = ['configure'] From ec8a5a0eee90cb1a58ee740c750ea5fe957065c7 Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Sat, 25 May 2024 14:33:28 +0200 Subject: [PATCH 715/889] adding easyconfigs: FlexiBLAS-3.4.4-GCC-13.3.0.eb --- .../f/FlexiBLAS/FlexiBLAS-3.4.4-GCC-13.3.0.eb | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.4.4-GCC-13.3.0.eb diff --git a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.4.4-GCC-13.3.0.eb b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.4.4-GCC-13.3.0.eb new file mode 100644 index 00000000000..9b9f5e8edb2 --- /dev/null +++ b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.4.4-GCC-13.3.0.eb @@ -0,0 +1,59 @@ +easyblock = 'Bundle' + +name = 'FlexiBLAS' +version = '3.4.4' + +homepage = 'https://gitlab.mpi-magdeburg.mpg.de/software/flexiblas-release' +description = """FlexiBLAS is a wrapper library that enables the exchange of the BLAS and LAPACK implementation +used by a program without recompiling or relinking it.""" + +toolchain = {'name': 'GCC', 'version': '13.3.0'} +local_extra_flags = "-fstack-protector-strong -fstack-clash-protection" +toolchainopts = {'pic': True, 'extra_cflags': local_extra_flags, 'extra_fflags': local_extra_flags} + +builddependencies = [ + ('CMake', '3.29.3'), + ('Python', '3.12.3'), # required for running the tests + ('BLIS', '1.0'), +] + +dependencies = [ + ('OpenBLAS', '0.3.27'), +] + +# note: first listed backend will be used as default by FlexiBLAS, +# unless otherwise specified via easyconfig parameter flexiblas_default +local_backends = ['OpenBLAS', 'BLIS'] + +# imkl supplies its backend via the imkl module, not as a dependency +if ARCH == 'x86_64': + local_backends.append('imkl') + +default_component_specs = {'start_dir': '%(namelower)s-%(version)s'} +sanity_check_all_components = True + +# Also build and install LAPACKE, which FlexiBLAS does not support yet +components = [ + (name, version, { + 'source_urls': + ['https://gitlab.mpi-magdeburg.mpg.de/api/v4/projects/386/packages/generic/flexiblas-source/v3.4.4/'], + 'sources': [SOURCELOWER_TAR_GZ], + 'checksums': ['05040ae092142dd0bf38d1bb9ce33f6b475d9f9bb455e33be997932ae855c22b'], + 'backends': local_backends, + }), + ('LAPACK', '3.12.0', { + 'easyblock': 'CMakeMake', + 'source_urls': ['https://github.com/Reference-LAPACK/lapack/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['eac9570f8e0ad6f30ce4b963f4f033f0f643e7c3912fc9ee6cd99120675ad48b'], + 'configopts': ('-DBUILD_SHARED_LIBS=ON -DUSE_OPTIMIZED_BLAS=ON -DLAPACKE=ON ' + '-DUSE_OPTIMIZED_LAPACK=ON -DBUILD_DEPRECATED=ON ' + '-DCMAKE_INSTALL_INCLUDEDIR=%(installdir)s/include/flexiblas'), + 'sanity_check_paths': { + 'files': ['lib/liblapacke.%s' % SHLIB_EXT, 'include/flexiblas/lapacke.h'], + 'dirs': [], + }, + }), +] + +moduleclass = 'lib' From de959105008096f9dbbbf7df345716279a0cf0c9 Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Sun, 26 May 2024 08:34:37 +0200 Subject: [PATCH 716/889] adding easyconfigs: GDB-14.2-GCCcore-13.3.0.eb, ISL-0.26-GCCcore-13.3.0.eb, MPC-1.3.1-GCCcore-13.3.0.eb, makeinfo-7.1-GCCcore-13.3.0.eb --- .../g/GDB/GDB-14.2-GCCcore-13.3.0.eb | 49 +++++++++++++++++++ .../i/ISL/ISL-0.26-GCCcore-13.3.0.eb | 23 +++++++++ .../m/MPC/MPC-1.3.1-GCCcore-13.3.0.eb | 35 +++++++++++++ .../m/makeinfo/makeinfo-7.1-GCCcore-13.3.0.eb | 25 ++++++++++ 4 files changed, 132 insertions(+) create mode 100644 easybuild/easyconfigs/g/GDB/GDB-14.2-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/i/ISL/ISL-0.26-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/m/MPC/MPC-1.3.1-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/m/makeinfo/makeinfo-7.1-GCCcore-13.3.0.eb diff --git a/easybuild/easyconfigs/g/GDB/GDB-14.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/GDB/GDB-14.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..7cb65516ac9 --- /dev/null +++ b/easybuild/easyconfigs/g/GDB/GDB-14.2-GCCcore-13.3.0.eb @@ -0,0 +1,49 @@ +easyblock = 'ConfigureMake' + +name = 'GDB' +version = '14.2' + +homepage = 'https://www.gnu.org/software/gdb/gdb.html' +description = "The GNU Project Debugger" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['2d4dd8061d8ded12b6c63f55e45344881e8226105f4d2a9b234040efa5ce7772'] + +builddependencies = [ + ('binutils', '2.42'), + ('makeinfo', '7.1'), +] + +dependencies = [ + ('zlib', '1.3.1'), + ('libreadline', '8.2'), + ('ncurses', '6.5'), + ('expat', '2.6.2'), + ('Python', '3.12.3'), + ('ISL', '0.26'), + ('MPC', '1.3.1'), +] + +preconfigopts = "mkdir obj && cd obj && " +configure_cmd_prefix = '../' +prebuildopts = "cd obj && " +preinstallopts = prebuildopts + +configopts = '--with-system-zlib --with-system-readline --with-expat=$EBROOTEXPAT ' +configopts += '--with-python=$EBROOTPYTHON/bin/python --with-isl=$EBROOTISL --with-mpc=$EBROOTMPC ' +configopts += '--enable-tui --enable-plugins --disable-install-libbfd ' + +sanity_check_paths = { + 'files': ['bin/gdb', 'bin/gdbserver'], + 'dirs': [], +} + +sanity_check_commands = [ + 'gdb --help', + 'gdbserver --help', +] + +moduleclass = 'debugger' diff --git a/easybuild/easyconfigs/i/ISL/ISL-0.26-GCCcore-13.3.0.eb b/easybuild/easyconfigs/i/ISL/ISL-0.26-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..2f2eb41a3a0 --- /dev/null +++ b/easybuild/easyconfigs/i/ISL/ISL-0.26-GCCcore-13.3.0.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'ISL' +version = '0.26' + +homepage = 'https://libisl.sourceforge.io' +description = "isl is a library for manipulating sets and relations of integer points bounded by linear constraints." + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://libisl.sourceforge.io'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['5eac8664e9d67be6bd0bee5085d6840b8baf738c06814df47eaf4166d9776436'] + +builddependencies = [('binutils', '2.42')] +dependencies = [('GMP', '6.3.0')] + +sanity_check_paths = { + 'files': ['lib/libisl.%s' % SHLIB_EXT, 'lib/libisl.a'], + 'dirs': ['include/isl'] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MPC/MPC-1.3.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/m/MPC/MPC-1.3.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..dce3ae2d1d9 --- /dev/null +++ b/easybuild/easyconfigs/m/MPC/MPC-1.3.1-GCCcore-13.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'MPC' +version = '1.3.1' + +homepage = 'http://www.multiprecision.org/' +description = """Gnu Mpc is a C library for the arithmetic of + complex numbers with arbitrarily high precision and correct + rounding of the result. It extends the principles of the IEEE-754 + standard for fixed precision real floating point numbers to + complex numbers, providing well-defined semantics for every + operation. At the same time, speed of operation at high precision + is a major design goal.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://ftpmirror.gnu.org/gnu/mpc/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8'] + +builddependencies = [('binutils', '2.42')] + +dependencies = [ + ('GMP', '6.3.0'), + ('MPFR', '4.2.1'), +] + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libmpc.%s' % SHLIB_EXT, 'include/mpc.h'], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/makeinfo/makeinfo-7.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/m/makeinfo/makeinfo-7.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..b2d35c079d4 --- /dev/null +++ b/easybuild/easyconfigs/m/makeinfo/makeinfo-7.1-GCCcore-13.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'makeinfo' +version = '7.1' + +homepage = 'https://www.gnu.org/software/texinfo/' +description = """makeinfo is part of the Texinfo project, the official documentation format of the GNU project.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://ftpmirror.gnu.org/gnu/texinfo'] +sources = ['texinfo-%(version)s.tar.xz'] +checksums = ['deeec9f19f159e046fdf8ad22231981806dac332cc372f1c763504ad82b30953'] + +builddependencies = [('binutils', '2.42')] +dependencies = [('Perl', '5.38.2')] + +sanity_check_paths = { + 'files': ['bin/makeinfo'], + 'dirs': ['share'], +} + +sanity_check_commands = ["makeinfo --help"] + +moduleclass = 'devel' From 0e3c59a8c108610da8ab54c199505be6deba838f Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Sun, 26 May 2024 08:35:19 +0200 Subject: [PATCH 717/889] adding easyconfigs: FFTW-3.3.10-GCC-13.3.0.eb, gfbf-2024.05.eb --- .../f/FFTW/FFTW-3.3.10-GCC-13.3.0.eb | 17 ++++++++++++++++ easybuild/easyconfigs/g/gfbf/gfbf-2024.05.eb | 20 +++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-13.3.0.eb create mode 100644 easybuild/easyconfigs/g/gfbf/gfbf-2024.05.eb diff --git a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-13.3.0.eb b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-13.3.0.eb new file mode 100644 index 00000000000..bf18544e701 --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-13.3.0.eb @@ -0,0 +1,17 @@ +name = 'FFTW' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'GCC', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/g/gfbf/gfbf-2024.05.eb b/easybuild/easyconfigs/g/gfbf/gfbf-2024.05.eb new file mode 100644 index 00000000000..f0c1233309a --- /dev/null +++ b/easybuild/easyconfigs/g/gfbf/gfbf-2024.05.eb @@ -0,0 +1,20 @@ +easyblock = 'Toolchain' + +name = 'gfbf' +version = '2024.05' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain, including + FlexiBLAS (BLAS and LAPACK support) and (serial) FFTW.""" + +toolchain = SYSTEM + +local_gccver = '13.3.0' + +dependencies = [ + ('GCC', local_gccver), + ('FlexiBLAS', '3.4.4', '', ('GCC', local_gccver)), + ('FFTW', '3.3.10', '', ('GCC', local_gccver)), +] + +moduleclass = 'toolchain' From 9ec9c3d2d4010c0f1a6e19c50eb5721fb1d139c2 Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Sun, 26 May 2024 14:03:20 +0200 Subject: [PATCH 718/889] adding easyconfigs: foss-2024.05.eb, gompi-2024.05.eb, FFTW.MPI-3.3.10-gompi-2024.05.eb, ScaLAPACK-2.2.0-gompi-2024.05-fb.eb --- .../FFTW.MPI/FFTW.MPI-3.3.10-gompi-2024.05.eb | 19 +++++++++ easybuild/easyconfigs/f/foss/foss-2024.05.eb | 28 +++++++++++++ .../easyconfigs/g/gompi/gompi-2024.05.eb | 20 ++++++++++ .../ScaLAPACK-2.2.0-gompi-2024.05-fb.eb | 40 +++++++++++++++++++ 4 files changed, 107 insertions(+) create mode 100644 easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2024.05.eb create mode 100644 easybuild/easyconfigs/f/foss/foss-2024.05.eb create mode 100644 easybuild/easyconfigs/g/gompi/gompi-2024.05.eb create mode 100644 easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2024.05-fb.eb diff --git a/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2024.05.eb b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2024.05.eb new file mode 100644 index 00000000000..b6ab2a2d4f0 --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2024.05.eb @@ -0,0 +1,19 @@ +name = 'FFTW.MPI' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'gompi', 'version': '2024.05'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = ['fftw-%(version)s.tar.gz'] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +dependencies = [('FFTW', '3.3.10')] + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/foss/foss-2024.05.eb b/easybuild/easyconfigs/f/foss/foss-2024.05.eb new file mode 100644 index 00000000000..0d3f8fac41a --- /dev/null +++ b/easybuild/easyconfigs/f/foss/foss-2024.05.eb @@ -0,0 +1,28 @@ +easyblock = 'Toolchain' + +name = 'foss' +version = '2024.05' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#foss-toolchain' +description = """GNU Compiler Collection (GCC) based compiler toolchain, including + OpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.""" + +toolchain = SYSTEM + +local_gccver = '13.3.0' + +# toolchain used to build foss dependencies +local_comp_mpi_tc = ('gompi', version) + +# we need GCC and OpenMPI as explicit dependencies instead of gompi toolchain +# because of toolchain preparation functions +dependencies = [ + ('GCC', local_gccver), + ('OpenMPI', '5.0.3', '', ('GCC', local_gccver)), + ('FlexiBLAS', '3.4.4', '', ('GCC', local_gccver)), + ('FFTW', '3.3.10', '', ('GCC', local_gccver)), + ('FFTW.MPI', '3.3.10', '', local_comp_mpi_tc), + ('ScaLAPACK', '2.2.0', '-fb', local_comp_mpi_tc), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/gompi/gompi-2024.05.eb b/easybuild/easyconfigs/g/gompi/gompi-2024.05.eb new file mode 100644 index 00000000000..c3f4137cd28 --- /dev/null +++ b/easybuild/easyconfigs/g/gompi/gompi-2024.05.eb @@ -0,0 +1,20 @@ +easyblock = 'Toolchain' + +name = 'gompi' +version = '2024.05' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain, + including OpenMPI for MPI support.""" + +toolchain = SYSTEM + +local_gccver = '13.3.0' + +# compiler toolchain dependencies +dependencies = [ + ('GCC', local_gccver), # includes both GCC and binutils + ('OpenMPI', '5.0.3', '', ('GCC', local_gccver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2024.05-fb.eb b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2024.05-fb.eb new file mode 100644 index 00000000000..4bdfa045feb --- /dev/null +++ b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2024.05-fb.eb @@ -0,0 +1,40 @@ +name = 'ScaLAPACK' +version = '2.2.0' +versionsuffix = '-fb' + +homepage = 'https://www.netlib.org/scalapack/' +description = """The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines + redesigned for distributed memory MIMD parallel computers.""" + +toolchain = {'name': 'gompi', 'version': '2024.05'} +toolchainopts = {'extra_fflags': '-lpthread', 'openmp': True, 'pic': True, 'usempi': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TGZ] +patches = ['ScaLAPACK-%(version)s_fix-GCC-10.patch'] +checksums = [ + '40b9406c20735a9a3009d863318cb8d3e496fb073d201c5463df810e01ab2a57', # scalapack-2.2.0.tgz + 'f6bc3c6dee012ba4a696548a2e12b6aae932ce4fd5a142153b338839f52b5906', # ScaLAPACK-2.2.0_fix-GCC-10.patch +] + +builddependencies = [ + ('CMake', '3.29.3'), +] + +dependencies = [ + ('FlexiBLAS', '3.4.4'), +] + +# Config Opts based on AOCL User Guide: +# https://developer.amd.com/wp-content/resources/AOCL_User%20Guide_2.2.pdf + +configopts = '-DBUILD_SHARED_LIBS=ON ' +configopts += '-DBLAS_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT +configopts += '-DLAPACK_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT + +sanity_check_paths = { + 'files': ['lib/libscalapack.%s' % SHLIB_EXT, 'lib64/libscalapack.%s' % SHLIB_EXT], + 'dirs': ["lib", "lib64"], +} + +moduleclass = 'numlib' From daf1333ebe71093d3724b7043d56644d89868929 Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Sun, 26 May 2024 14:38:02 +0200 Subject: [PATCH 719/889] adding easyconfigs: HPL-2.3-foss-2024.05.eb --- .../easyconfigs/h/HPL/HPL-2.3-foss-2024.05.eb | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2024.05.eb diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2024.05.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2024.05.eb new file mode 100644 index 00000000000..8dd7ddcfa9c --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2024.05.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'foss', 'version': '2024.05'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' From 462e355a631913ab05d23011799fb5bdba9233db Mon Sep 17 00:00:00 2001 From: Samuel Moors Date: Mon, 27 May 2024 11:15:51 +0200 Subject: [PATCH 720/889] adding easyconfigs: TorchIO-0.19.6-foss-2023a-CUDA-12.1.1.eb --- .../TorchIO-0.19.6-foss-2023a-CUDA-12.1.1.eb | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 easybuild/easyconfigs/t/TorchIO/TorchIO-0.19.6-foss-2023a-CUDA-12.1.1.eb diff --git a/easybuild/easyconfigs/t/TorchIO/TorchIO-0.19.6-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/t/TorchIO/TorchIO-0.19.6-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..a15c81681ce --- /dev/null +++ b/easybuild/easyconfigs/t/TorchIO/TorchIO-0.19.6-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,56 @@ +easyblock = 'PythonBundle' + +name = 'TorchIO' +version = '0.19.6' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://torchio.readthedocs.io/' +description = """ +TorchIO is an open-source Python library for efficient loading, preprocessing, +augmentation and patch-based sampling of 3D medical images in deep learning, +following the design of PyTorch. + +It includes multiple intensity and spatial transforms for data augmentation and +preprocessing. These transforms include typical computer vision operations such +as random affine transformations and also domain-specific ones such as +simulation of intensity artifacts due to MRI magnetic field inhomogeneity +(bias) or k-space motion artifacts.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('PyTorch', '2.1.2', versionsuffix), + ('tqdm', '4.66.1'), + ('Deprecated', '1.2.14'), + ('SimpleITK', '2.3.1'), + ('NiBabel', '5.2.0'), +] + +use_pip = True + +exts_list = [ + ('humanize', '4.8.0', { + 'checksums': ['9783373bf1eec713a770ecaa7c2d7a7902c98398009dfa3d8a2df91eec9311e8'], + }), + ('typer', '0.9.0', { + 'checksums': ['50922fd79aea2f4751a8e0408ff10d2662bd0c8bbfa84755a699f3bada2978b2'], + }), + ('torchio', version, { + 'checksums': ['c3afe16c3d822b6cb4aa103ffd6ec28816c95faa03cbeb22f33ff4cf81ec05df'], + }), +] + +_bins = ['tiohd', 'tiotr', 'torchio-transform'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _bins], + 'dirs': ['lib/python%(pyshortver)s/site-packages/'], +} + +sanity_check_commands = ['%s --help' % x for x in _bins] + +sanity_pip_check = True + +moduleclass = 'vis' From 94ed4d9a7c1d486233bdaa1db9f2118caca1fad2 Mon Sep 17 00:00:00 2001 From: Samuel Moors Date: Mon, 27 May 2024 11:17:49 +0200 Subject: [PATCH 721/889] adding easyconfigs: PyVista-0.43.8-foss-2023a.eb --- .../p/PyVista/PyVista-0.43.8-foss-2023a.eb | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 easybuild/easyconfigs/p/PyVista/PyVista-0.43.8-foss-2023a.eb diff --git a/easybuild/easyconfigs/p/PyVista/PyVista-0.43.8-foss-2023a.eb b/easybuild/easyconfigs/p/PyVista/PyVista-0.43.8-foss-2023a.eb new file mode 100644 index 00000000000..b89bae3b057 --- /dev/null +++ b/easybuild/easyconfigs/p/PyVista/PyVista-0.43.8-foss-2023a.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'PyVista' +version = '0.43.8' + +homepage = 'https://docs.pyvista.org/' +description = """ +3D plotting and mesh analysis through a streamlined interface for the +Visualization Toolkit (VTK)""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('VTK', '9.3.0'), + ('imageio', '2.33.1'), + ('matplotlib', '3.7.2'), + ('Pillow', '10.0.0'), +] + +use_pip = True + +exts_list = [ + ('scooby', '0.10.0', { + 'checksums': ['7ea33c262c0cc6a33c6eeeb5648df787be4f22660e53c114e5fff1b811a8854f'], + }), + ('cmocean', '4.0.3', { + 'checksums': ['37868399fb5f41b4eac596e69803f9bfaea49946514dfb2e7f48886854250d7c'], + }), + ('colorcet', '3.1.0', { + 'checksums': ['2921b3cd81a2288aaf2d63dbc0ce3c26dcd882e8c389cc505d6886bf7aa9a4eb'], + }), + ('meshio', '5.3.5', { + 'checksums': ['f21f01abd9f29ba06ea119304b3d39e610421cfe93b9dd23362834919f87586d'], + }), + ('pyvista', version, { + 'use_pip_extras': 'colormaps,io', + 'checksums': ['b9220753ae94fb8ca3047d291a706a4046b06659016c0000c184b5f24504f8d0'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' From c095b4be02d51dd350a412dd3333c5b7eef7739d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Mon, 27 May 2024 11:47:26 +0200 Subject: [PATCH 722/889] adding easyconfigs: SYMMETRICA-2.0-GCCcore-13.2.0.eb --- .../SYMMETRICA-2.0-GCCcore-13.2.0.eb | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 easybuild/easyconfigs/s/SYMMETRICA/SYMMETRICA-2.0-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/s/SYMMETRICA/SYMMETRICA-2.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/s/SYMMETRICA/SYMMETRICA-2.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..9381f0a71c8 --- /dev/null +++ b/easybuild/easyconfigs/s/SYMMETRICA/SYMMETRICA-2.0-GCCcore-13.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'MakeCp' + +name = 'SYMMETRICA' +version = '2.0' + +homepage = 'https://www.algorithm.uni-bayreuth.de/en/research/SYMMETRICA' +description = "Symmetrica is a Collection of C routines for representation theory." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = [{'download_filename': 'SYM2_0_tar.gz', 'filename': SOURCE_TAR_GZ}] +patches = ['SYMMETRICA-2.0_makefile.patch'] +checksums = [ + {'SYMMETRICA-2.0.tar.gz': 'bf52788dedc14c482e89f5e7efe8c60864a633314ddd446dd4602d5fdaca0ee2'}, + {'SYMMETRICA-2.0_makefile.patch': 'd38a8935a3c1e7d9fbafd941e43f933b241fbe8bc012ef8b3a32610ab3be25df'}, +] + +builddependencies = [('binutils', '2.40')] + +local_sharedlib = 'libsymmetrica.%s' % SHLIB_EXT + +buildopts = 'test && $CC -shared $CFLAGS $LDFLAGS -o %s *.o' % local_sharedlib + +files_to_copy = [ + (['factorial'], 'bin'), + (['*.doc'], 'share/doc'), + ([local_sharedlib], 'lib'), + (['def.h', 'macro.h'], 'include/symmetrica'), +] + +sanity_check_paths = { + 'files': ['bin/factorial', + 'share/doc/intro.doc', + 'lib/%s' % local_sharedlib, + 'include/symmetrica/def.h', 'include/symmetrica/macro.h'], + 'dirs': [], +} + +sanity_check_commands = ["echo 5 | %(installdir)s/bin/factorial | grep 120"] + +moduleclass = 'math' From 592d55304437392c04bde2589d02e038079a4818 Mon Sep 17 00:00:00 2001 From: Pedro Santos Neves <10762799+Neves-P@users.noreply.github.com> Date: Mon, 27 May 2024 11:55:31 +0200 Subject: [PATCH 723/889] Update easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023a.eb MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Bob Dröge --- .../easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023a.eb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023a.eb b/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023a.eb index a4117d1ce9b..0c71aaa9976 100644 --- a/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023a.eb +++ b/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023a.eb @@ -6,8 +6,9 @@ version = '4.2.2' homepage = 'https://espressomd.org/wordpress' description = """A software package for performing and analyzing scientific Molecular Dynamics simulations.""" -source_urls = ['https://github.com/espressomd/espresso/releases/download/%(version)s/'] -sources = ['%(namelower)s-%(version)s.tar.gz'] +github_account = 'espressomd' +source_urls = [GITHUB_LOWER_RELEASE] +sources = [SOURCELOWER_TAR_GZ] checksums = ['2bc02f91632b0030f1203759768bd718bd8a0005f72696980b12331b4bfa0d76'] toolchain = {'name': 'foss', 'version': '2023a'} From 37ab49d4edf9d63abd28d6b5d1ddaa950fce355e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Mon, 27 May 2024 12:12:03 +0200 Subject: [PATCH 724/889] adding easyconfigs: cysignals-1.11.4-GCCcore-13.2.0.eb --- .../cysignals-1.11.4-GCCcore-13.2.0.eb | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 easybuild/easyconfigs/c/cysignals/cysignals-1.11.4-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/c/cysignals/cysignals-1.11.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/cysignals/cysignals-1.11.4-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..08a87d938bb --- /dev/null +++ b/easybuild/easyconfigs/c/cysignals/cysignals-1.11.4-GCCcore-13.2.0.eb @@ -0,0 +1,41 @@ +# +# Author: Fenglai Liu +# fenglai@accre.vanderbilt.edu +# Vanderbilt University +# +# Update: Petr Král (INUITS) +# +easyblock = 'PythonPackage' + +name = 'cysignals' +version = '1.11.4' + +homepage = 'https://pypi.org/project/cysignals/' +description = """The cysignals package provides mechanisms to handle +interrupts (and other signals and errors) in Cython code.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['0f1e321e55a07f901c86a36a1e4497f6ff9dfe700681d0130a38c36e4eb238c3'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.40'), + ('Cython', '3.0.10'), +] + +dependencies = [ + ('Python', '3.11.5'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/cysignals-CSI'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'lang' From 191cc6407f78a03e1c41f4d1572390395fc24a03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Mon, 27 May 2024 12:18:13 +0200 Subject: [PATCH 725/889] adding easyconfigs: libgd-2.3.3-GCCcore-13.2.0.eb --- .../l/libgd/libgd-2.3.3-GCCcore-13.2.0.eb | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 easybuild/easyconfigs/l/libgd/libgd-2.3.3-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/l/libgd/libgd-2.3.3-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libgd/libgd-2.3.3-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..8ebba5a4031 --- /dev/null +++ b/easybuild/easyconfigs/l/libgd/libgd-2.3.3-GCCcore-13.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'libgd' +version = '2.3.3' + +homepage = 'https://libgd.github.io' +description = "GD is an open source code library for the dynamic creation of images by programmers." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/libgd/libgd/releases/download/gd-%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['dd3f1f0bb016edcc0b2d082e8229c822ad1d02223511997c80461481759b1ed2'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('fontconfig', '2.14.2'), + ('libjpeg-turbo', '3.0.1'), + ('libpng', '1.6.40'), + ('zlib', '1.2.13'), +] + +configopts = "--with-fontconfig=$EBROOTFONTCONFIG --with-jpeg=$EBROOTLIBJPEGMINTURBO " +configopts += "--with-png=$EBROOTLIBPNG --with-zlib=$EBROOTZLIB" + +sanity_check_paths = { + 'files': ['lib/libgd.a', 'lib/libgd.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include'], +} + +sanity_check_commands = ['webpng --help'] + +moduleclass = 'lib' From 67afb64e7aa5217dcc29f19519af095737d90e6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Mon, 27 May 2024 12:22:05 +0200 Subject: [PATCH 726/889] adding easyconfigs: libbraiding-1.2-GCCcore-13.2.0.eb --- .../libbraiding-1.2-GCCcore-13.2.0.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/l/libbraiding/libbraiding-1.2-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/l/libbraiding/libbraiding-1.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libbraiding/libbraiding-1.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..172d0f449a2 --- /dev/null +++ b/easybuild/easyconfigs/l/libbraiding/libbraiding-1.2-GCCcore-13.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'libbraiding' +version = '1.2' + +homepage = 'https://github.com/miguelmarco/libbraiding' +description = """This is a project to expose the functionalitis of the Braiding program as a shared library. + The original goal is to include it as a component of SageMath, but it can be used in any other c++ program.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/miguelmarco/libbraiding/releases/download/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['73087d1145ace719eafeda1db1c28b5fe1c981b7e784dc59f2b1d6fc4ff75f80'] + +builddependencies = [ + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': [ + 'include/braiding.h', + 'include/cbraid.h', + 'include/cbraid_implementation.h', + 'include/cbraid_interface.h', + 'lib/libbraiding.%s' % SHLIB_EXT, + ], + 'dirs': [], +} + +moduleclass = 'lib' From 02a8db2a559ad93ddea6f50933d1ac2797506a40 Mon Sep 17 00:00:00 2001 From: Pedro Santos Neves <10762799+Neves-P@users.noreply.github.com> Date: Mon, 27 May 2024 13:13:36 +0200 Subject: [PATCH 727/889] Don't use template for source_url Can't use `GITHUB_LOWER_RELEASE` because the release is tagged 4.2.2 and not v4.2.2 --- easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023a.eb b/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023a.eb index 0c71aaa9976..d5f8346fdb6 100644 --- a/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023a.eb +++ b/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023a.eb @@ -7,7 +7,7 @@ homepage = 'https://espressomd.org/wordpress' description = """A software package for performing and analyzing scientific Molecular Dynamics simulations.""" github_account = 'espressomd' -source_urls = [GITHUB_LOWER_RELEASE] +source_urls = ['https://github.com/espressomd/espresso/releases/download/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['2bc02f91632b0030f1203759768bd718bd8a0005f72696980b12331b4bfa0d76'] From 9ae530f6e0425c75f9fe7646ebdd2aaebf935aad Mon Sep 17 00:00:00 2001 From: Pedro Santos Neves <10762799+Neves-P@users.noreply.github.com> Date: Mon, 27 May 2024 13:14:40 +0200 Subject: [PATCH 728/889] Also remove `github_account` --- easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023a.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023a.eb b/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023a.eb index d5f8346fdb6..eb16f7546f5 100644 --- a/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023a.eb +++ b/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023a.eb @@ -6,7 +6,6 @@ version = '4.2.2' homepage = 'https://espressomd.org/wordpress' description = """A software package for performing and analyzing scientific Molecular Dynamics simulations.""" -github_account = 'espressomd' source_urls = ['https://github.com/espressomd/espresso/releases/download/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['2bc02f91632b0030f1203759768bd718bd8a0005f72696980b12331b4bfa0d76'] From c80c1a718cb7689b351eb8c3218eebeff96f82c4 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Mon, 27 May 2024 15:14:49 +0200 Subject: [PATCH 729/889] adding easyconfigs: dask-2024.5.1-gfbf-2023b.eb, bokeh-3.4.1-gfbf-2023b.eb --- .../b/bokeh/bokeh-3.4.1-gfbf-2023b.eb | 50 ++++++++++++++ .../d/dask/dask-2024.5.1-gfbf-2023b.eb | 67 +++++++++++++++++++ 2 files changed, 117 insertions(+) create mode 100644 easybuild/easyconfigs/b/bokeh/bokeh-3.4.1-gfbf-2023b.eb create mode 100644 easybuild/easyconfigs/d/dask/dask-2024.5.1-gfbf-2023b.eb diff --git a/easybuild/easyconfigs/b/bokeh/bokeh-3.4.1-gfbf-2023b.eb b/easybuild/easyconfigs/b/bokeh/bokeh-3.4.1-gfbf-2023b.eb new file mode 100644 index 00000000000..58f15fcf3e9 --- /dev/null +++ b/easybuild/easyconfigs/b/bokeh/bokeh-3.4.1-gfbf-2023b.eb @@ -0,0 +1,50 @@ +easyblock = 'PythonBundle' + +name = 'bokeh' +version = '3.4.1' + +homepage = 'https://github.com/bokeh/bokeh' +description = "Statistical and novel interactive HTML plots for Python" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +builddependencies = [ + ('meson-python', '0.15.0'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('SciPy-bundle', '2023.11'), + ('matplotlib', '3.8.2'), + ('PyYAML', '6.0.1'), + ('Pillow', '10.2.0'), + ('tornado', '6.4'), +] + +use_pip = True + +exts_list = [ + ('contourpy', '1.2.1', { + 'checksums': ['4d8908b3bee1c889e547867ca4cdc54e5ab6be6d3e078556814a22457f49423c'], + }), + ('xyzservices', '2024.4.0', { + 'checksums': ['6a04f11487a6fb77d92a98984cd107fbd9157fd5e65f929add9c3d6e604ee88c'], + }), + (name, version, { + # bokeh uses git tags to get version, so we'll instead inject the version into setup.py + 'preinstallopts': """sed -i 's/setup(/setup(version="%(version)s",/g' setup.py && """, + 'checksums': ['d824961e4265367b0750ce58b07e564ad0b83ca64b335521cd3421e9b9f10d89'], + }), +] + +sanity_check_paths = { + 'files': ['bin/bokeh'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["bokeh --help"] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/dask/dask-2024.5.1-gfbf-2023b.eb b/easybuild/easyconfigs/d/dask/dask-2024.5.1-gfbf-2023b.eb new file mode 100644 index 00000000000..36229e3f967 --- /dev/null +++ b/easybuild/easyconfigs/d/dask/dask-2024.5.1-gfbf-2023b.eb @@ -0,0 +1,67 @@ +easyblock = 'PythonBundle' + +name = 'dask' +version = '2024.5.1' + +homepage = 'https://dask.org/' +description = """ Dask natively scales Python. Dask provides advanced parallelism for analytics, +enabling performance at scale for the tools you love.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('SciPy-bundle', '2023.11'), + ('PyYAML', '6.0.1'), + ('bokeh', '3.4.1'), +] + +use_pip = True + +exts_list = [ + ('toolz', '0.12.1', { + 'checksums': ['ecca342664893f177a13dac0e6b41cbd8ac25a358e5f215316d43e2100224f4d'], + }), + ('locket', '1.0.0', { + 'checksums': ['5c0d4c052a8bbbf750e056a8e65ccd309086f4f0f18a2eac306a8dfa4112a632'], + }), + ('partd', '1.4.2', { + 'checksums': ['d022c33afbdc8405c226621b015e8067888173d85f7f5ecebb3cafed9a20f02c'], + }), + ('HeapDict', '1.0.1', { + 'checksums': ['8495f57b3e03d8e46d5f1b2cc62ca881aca392fd5cc048dc0aa2e1a6d23ecdb6'], + }), + ('zict', '3.0.0', { + 'checksums': ['e321e263b6a97aafc0790c3cfb3c04656b7066e6738c37fffcca95d803c9fba5'], + }), + ('tblib', '3.0.0', { + 'checksums': ['93622790a0a29e04f0346458face1e144dc4d32f493714c6c3dff82a4adb77e6'], + }), + (name, version, { + 'checksums': ['e071fda67031c314569e37ca70b3e88bb30f1d91ff8ee4122b541845847cc264'], + }), + ('distributed', version, { + 'checksums': ['c4e641e5fc014de3b43c584c70f703a7d44557b51b1143db812b8bc861aa84e2'], + }), + ('dask-mpi', '2022.4.0', { + 'checksums': ['0a04f1d7d35a06cdff506593330d4414ea242c9172498ce191f5742eac499e17'], + }), + ('docrep', '0.3.2', { + 'checksums': ['ed8a17e201abd829ef8da78a0b6f4d51fb99a4cbd0554adbed3309297f964314'], + }), + ('dask-jobqueue', '0.8.5', { + 'checksums': ['f6923f9d7ff894b96efbf706118b2cd37fd37751d567e91c22dfd3e2eaa93202'], + }), +] + +sanity_check_paths = { + 'files': ['bin/dask-%s' % x for x in ['mpi', 'scheduler', 'ssh', 'worker']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["dask-scheduler --help"] + +sanity_pip_check = True + +moduleclass = 'data' From 6a4d69dc02c67ae6680610fb51dd782ffe04ce89 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Mon, 27 May 2024 15:22:38 +0200 Subject: [PATCH 730/889] adding easyconfigs: dask-labextension-7.0.0-gfbf-2023b.eb --- .../dask-labextension-7.0.0-gfbf-2023b.eb | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 easybuild/easyconfigs/d/dask-labextension/dask-labextension-7.0.0-gfbf-2023b.eb diff --git a/easybuild/easyconfigs/d/dask-labextension/dask-labextension-7.0.0-gfbf-2023b.eb b/easybuild/easyconfigs/d/dask-labextension/dask-labextension-7.0.0-gfbf-2023b.eb new file mode 100644 index 00000000000..7ff6ec31bf7 --- /dev/null +++ b/easybuild/easyconfigs/d/dask-labextension/dask-labextension-7.0.0-gfbf-2023b.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'dask-labextension' +version = '7.0.0' + +homepage = 'https://github.com/dask/dask-labextension' +description = """This package provides a JupyterLab extension to manage Dask clusters, as well +as embed Dask's dashboard plots directly into JupyterLab panes.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +dependencies = [ + ('Python', '3.11.5'), + ('JupyterLab', '4.2.0'), + ('jupyter-server-proxy', '4.1.2'), + ('dask', '2024.5.1'), +] + +use_pip = True + +exts_list = [ + ('dask_labextension', version, { + 'sources': ['%(name)s-%(version)s-py3-none-any.whl'], + 'checksums': ['34fd1ee80a7259dc292a789cc82e4563d7cd1f5a26eb2ee8b434517482f82027'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/dask_labextension', 'etc/jupyter', 'share/jupyter'], +} + +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} + +moduleclass = 'tools' From 84bdfa3119b18f95cc78d00e1d72f651f72e0821 Mon Sep 17 00:00:00 2001 From: Julian Morillo Date: Mon, 27 May 2024 16:20:24 +0200 Subject: [PATCH 731/889] Add initial RISC-V support to PAPI --- .../p/PAPI/PAPI-7.1.0-GCCcore-13.2.0.eb | 6 +- ...PAPI-7.1.0_add_initial_riscv_support.patch | 64 +++++++++++++++++++ 2 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 easybuild/easyconfigs/p/PAPI/PAPI-7.1.0_add_initial_riscv_support.patch diff --git a/easybuild/easyconfigs/p/PAPI/PAPI-7.1.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PAPI/PAPI-7.1.0-GCCcore-13.2.0.eb index fafbe94664c..2e423fd636c 100644 --- a/easybuild/easyconfigs/p/PAPI/PAPI-7.1.0-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/p/PAPI/PAPI-7.1.0-GCCcore-13.2.0.eb @@ -23,7 +23,11 @@ toolchain = {'name': 'GCCcore', 'version': '13.2.0'} source_urls = ['https://icl.utk.edu/projects/papi/downloads'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['5818afb6dba3ece57f51e65897db5062f8e3464e6ed294b654ebf34c3991bc4f'] +patches = ['%(name)s-%(version)s_add_initial_riscv_support.patch'] +checksums = [ + '5818afb6dba3ece57f51e65897db5062f8e3464e6ed294b654ebf34c3991bc4f', + {'PAPI-7.1.0_add_initial_riscv_support.patch': '6c7d0d63ccf2b8c46f2ed736fbd4c58303038fb2a45315aed94c026b773af35a'} +] builddependencies = [ ('binutils', '2.40'), diff --git a/easybuild/easyconfigs/p/PAPI/PAPI-7.1.0_add_initial_riscv_support.patch b/easybuild/easyconfigs/p/PAPI/PAPI-7.1.0_add_initial_riscv_support.patch new file mode 100644 index 00000000000..ac57971d845 --- /dev/null +++ b/easybuild/easyconfigs/p/PAPI/PAPI-7.1.0_add_initial_riscv_support.patch @@ -0,0 +1,64 @@ +From b464420f3a2855b2c800413a4c5767b69e088087 Mon Sep 17 00:00:00 2001 +From: Vince Weaver +Date: Tue, 9 Jan 2024 21:50:26 +0000 +Subject: [PATCH] add initial riscv support + +This adds basic support for the RISC-V architecture + +After this PAPI will compile and the tools will run, however no events will +work because of missing libpfm4 support. + +Tested on a BeagleV-Ahead board +--- + src/linux-context.h | 2 ++ + src/linux-timer.c | 2 +- + src/mb.h | 10 ++++++++++ + 3 files changed, 13 insertions(+), 1 deletion(-) + +diff --git a/src/linux-context.h b/src/linux-context.h +index f46e5577b..394a4804d 100644 +--- a/src/linux-context.h ++++ b/src/linux-context.h +@@ -39,6 +39,8 @@ typedef ucontext_t hwd_ucontext_t; + #define OVERFLOW_ADDRESS(ctx) ctx.ucontext->uc_mcontext.pc + #elif defined(__hppa__) + #define OVERFLOW_ADDRESS(ctx) ctx.ucontext->uc_mcontext.sc_iaoq[0] ++#elif defined(__riscv) ++#define OVERFLOW_ADDRESS(ctx) ctx.ucontext->uc_mcontext.__gregs[REG_PC] + #else + #error "OVERFLOW_ADDRESS() undefined!" + #endif +diff --git a/src/linux-timer.c b/src/linux-timer.c +index 0eaa79c66..be489f325 100644 +--- a/src/linux-timer.c ++++ b/src/linux-timer.c +@@ -281,7 +281,7 @@ static inline long long get_cycles() + return retval; + } + +-#elif (defined(__arm__) || defined(__mips__) || defined(__hppa__)) ++#elif (defined(__arm__) || defined(__mips__) || defined(__hppa__)) || defined(__riscv) + static inline long long + get_cycles( void ) + { +diff --git a/src/mb.h b/src/mb.h +index 81797c553..56d980410 100644 +--- a/src/mb.h ++++ b/src/mb.h +@@ -63,6 +63,16 @@ + #define rmb() asm volatile("lfence":::"memory") + #endif + ++ ++#elif defined (__riscv) ++#define RISCV_FENCE(p, s) \ ++ __asm__ __volatile__ ("fence " #p "," #s : : : "memory") ++ ++/* These barriers need to enforce ordering on both devices or memory. */ ++#define mb() RISCV_FENCE(iorw,iorw) ++#define rmb() RISCV_FENCE(ir,ir) ++#define wmb() RISCV_FENCE(ow,ow) ++ + #else + #error Need to define rmb for this architecture! + #error See the kernel source directory: tools/perf/perf.h file From a59a2e5c4086188017bbf34cc416f2beaa996057 Mon Sep 17 00:00:00 2001 From: Samuel Moors Date: Mon, 27 May 2024 16:30:01 +0200 Subject: [PATCH 732/889] add hatchling builddep --- .../t/TorchIO/TorchIO-0.19.6-foss-2023a-CUDA-12.1.1.eb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/easybuild/easyconfigs/t/TorchIO/TorchIO-0.19.6-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/t/TorchIO/TorchIO-0.19.6-foss-2023a-CUDA-12.1.1.eb index a15c81681ce..ed04f4a9f40 100644 --- a/easybuild/easyconfigs/t/TorchIO/TorchIO-0.19.6-foss-2023a-CUDA-12.1.1.eb +++ b/easybuild/easyconfigs/t/TorchIO/TorchIO-0.19.6-foss-2023a-CUDA-12.1.1.eb @@ -18,6 +18,10 @@ simulation of intensity artifacts due to MRI magnetic field inhomogeneity toolchain = {'name': 'foss', 'version': '2023a'} +builddependencies = [ + ('hatchling', '1.18.0'), +] + dependencies = [ ('CUDA', '12.1.1', '', SYSTEM), ('Python', '3.11.3'), From e47e572f5393a5b6d31c07353905eb2538f717b2 Mon Sep 17 00:00:00 2001 From: WilleBell Date: Mon, 27 May 2024 16:57:11 +0200 Subject: [PATCH 733/889] adding easyconfigs: CharLS-2.4.2-GCCcore-12.3.0.eb, jxrlib-1.1-GCCcore-12.3.0.eb, libavif-1.0.4-foss-2023a.eb, LibLZF-3.6-GCCcore-12.3.0.eb, libjxl-0.8.2-GCCcore-12.3.0.eb --- .../c/CharLS/CharLS-2.4.2-GCCcore-12.3.0.eb | 30 +++++++++++ .../j/jxrlib/jxrlib-1.1-GCCcore-12.3.0.eb | 39 ++++++++++++++ .../l/LibLZF/LibLZF-3.6-GCCcore-12.3.0.eb | 31 +++++++++++ .../l/libavif/libavif-1.0.4-foss-2023a.eb | 36 +++++++++++++ .../l/libjxl/libjxl-0.8.2-GCCcore-12.3.0.eb | 53 +++++++++++++++++++ 5 files changed, 189 insertions(+) create mode 100644 easybuild/easyconfigs/c/CharLS/CharLS-2.4.2-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/j/jxrlib/jxrlib-1.1-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/l/LibLZF/LibLZF-3.6-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/l/libavif/libavif-1.0.4-foss-2023a.eb create mode 100644 easybuild/easyconfigs/l/libjxl/libjxl-0.8.2-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/c/CharLS/CharLS-2.4.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/CharLS/CharLS-2.4.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..9d814bdfc23 --- /dev/null +++ b/easybuild/easyconfigs/c/CharLS/CharLS-2.4.2-GCCcore-12.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'CharLS' +version = '2.4.2' + +homepage = 'https://github.com/team-charls/charls' +description = """CharLS is a C++ implementation of the JPEG-LS standard for lossless and near-lossless image +compression and decompression. JPEG-LS is a low-complexity image compression standard that matches JPEG 2000 +compression ratios.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/team-charls/charls/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['d1c2c35664976f1e43fec7764d72755e6a50a80f38eca70fcc7553cad4fe19d9'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3') +] + +configopts = '-DBUILD_SHARED_LIBS=ON ' + +sanity_check_paths = { + 'files': ['lib/libcharls.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/jxrlib/jxrlib-1.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/jxrlib/jxrlib-1.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..f8aeb2b413a --- /dev/null +++ b/easybuild/easyconfigs/j/jxrlib/jxrlib-1.1-GCCcore-12.3.0.eb @@ -0,0 +1,39 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author:: Denis Kristak (INUITS) +# Update: Thomas Hoffmann (EMBL) +## + +easyblock = 'CMakeMake' + +name = 'jxrlib' +version = '1.1' + +homepage = 'https://github.com/4creators/jxrlib' +description = """Open source implementation of jpegxr""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://deb.debian.org/debian/pool/main/j/jxrlib/'] +sources = ['%(name)s_%(version)s.orig.tar.gz'] +patches = [('jxrlib-%(version)s_cmake.patch', 1)] +checksums = [ + {'jxrlib_1.1.orig.tar.gz': 'c7287b86780befa0914f2eeb8be2ac83e672ebd4bd16dc5574a36a59d9708303'}, + {'jxrlib-1.1_cmake.patch': 'e96ea8b418fdab10e9cbc2f4cad95ca1f59a826ce7379c6a3192882050689a74'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +sanity_check_paths = { + 'files': ['bin/JxrDecApp', 'bin/JxrEncApp', "lib/libjpegxr.%s" % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ['JxrDecApp', 'JxrEncApp'] + +modextrapaths = {'CPATH': 'include/jxrlib'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LibLZF/LibLZF-3.6-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/LibLZF/LibLZF-3.6-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..500e9679115 --- /dev/null +++ b/easybuild/easyconfigs/l/LibLZF/LibLZF-3.6-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Update: Thomas Hoffmann (EMBL), Denis Kristak +easyblock = 'ConfigureMake' + +name = 'LibLZF' +version = '3.6' + +homepage = 'http://oldhome.schmorp.de/marc/liblzf.html' +description = """LibLZF is a very small data compression library. It consists of only two .c and two .h files +and is very easy to incorporate into your own programs. The compression algorithm is very, very fast, yet still +written in portable C.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['http://dist.schmorp.de/liblzf/Attic/'] +sources = ['liblzf-%(version)s.tar.gz'] +checksums = ['9c5de01f7b9ccae40c3f619d26a7abec9986c06c36d260c179cedd04b89fb46a'] + +builddependencies = [ + ('binutils', '2.40'), +] + +sanity_check_commands = ['lzf -h'] + +sanity_check_paths = { + 'files': ['bin/lzf', 'lib/liblzf.a'], + 'dirs': ['bin', 'lib'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libavif/libavif-1.0.4-foss-2023a.eb b/easybuild/easyconfigs/l/libavif/libavif-1.0.4-foss-2023a.eb new file mode 100644 index 00000000000..1a4ed1031ef --- /dev/null +++ b/easybuild/easyconfigs/l/libavif/libavif-1.0.4-foss-2023a.eb @@ -0,0 +1,36 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak (Inuits) +# Update: Thomas Hoffmann (EMBL), Denis Kristak (Inuits) +easyblock = 'CMakeMake' + +name = 'libavif' +version = '1.0.4' + +homepage = 'https://github.com/AOMediaCodec/libavif' +description = """This library aims to be a friendly, portable C implementation of the AV1 Image File Format, +as described here: https://aomediacodec.github.io/av1-avif/ +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/AOMediaCodec/libavif/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['dc56708c83a4b934a8af2b78f67f866ba2fb568605c7cf94312acf51ee57d146'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('NASM', '2.16.01'), + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('Rust', '1.70.0'), +] + +sanity_check_paths = { + 'files': ['lib/libavif.%s' % SHLIB_EXT, 'include/avif/avif.h'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libjxl/libjxl-0.8.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libjxl/libjxl-0.8.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..22bddfd467b --- /dev/null +++ b/easybuild/easyconfigs/l/libjxl/libjxl-0.8.2-GCCcore-12.3.0.eb @@ -0,0 +1,53 @@ +easyblock = 'CMakeMake' + +name = 'libjxl' +version = '0.8.2' +# Newer versions of libjxl require Highway >=1.0.7 + +homepage = 'https://github.com/libjxl/libjxl' +description = "JPEG XL image format reference implementation" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'libjxl' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['c70916fb3ed43784eb840f82f05d390053a558e2da106e40863919238fa7b420'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), + ('googletest', '1.13.0'), + ('pkgconf', '1.9.5'), + ('Highway', '1.0.4'), # Highway only has a static library +] + +dependencies = [ + ('LittleCMS', '2.15'), + ('Brotli', '1.0.9'), + ('libjpeg-turbo', '2.1.5.1'), + ('libpng', '1.6.39'), + ('zlib', '1.2.13'), + ('giflib', '5.2.1'), + ('libwebp', '1.3.1'), + ('OpenEXR', '3.1.7'), + ('gperftools', '2.12'), +] + +configopts = '-DJPEGXL_WARNINGS_AS_ERRORS=OFF -DJPEGXL_ENABLE_SJPEG=OFF -DJPEGXL_ENABLE_SKCMS=OFF ' +# building man pages requires/uses asciidoc (which may be installed in OS, and may fail) +configopts += '-DJPEGXL_ENABLE_MANPAGES=OFF ' +configopts += '-DJPEGXL_FORCE_SYSTEM_BROTLI=ON -DJPEGXL_FORCE_SYSTEM_HWY=ON ' +configopts += '-DJPEGXL_FORCE_SYSTEM_GTEST=ON -DJPEGXL_FORCE_SYSTEM_LCMS2=ON ' + +sanity_check_paths = { + 'files': ['bin/cjxl', 'bin/djxl', 'lib/libjxl.%s' % SHLIB_EXT], + 'dirs': ['include/jxl'], +} + +sanity_check_commands = [ + "cjxl --help", + "djxl --help", +] + +moduleclass = 'lib' From 4d4361720d453d5f3c91654b778d7dab3e472658 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Mon, 27 May 2024 17:01:51 +0200 Subject: [PATCH 734/889] add missing build dependencies and specify installed version --- .../easyconfigs/h/HOMER/HOMER-4.11-foss-2023a-R-4.3.2.eb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/h/HOMER/HOMER-4.11-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/h/HOMER/HOMER-4.11-foss-2023a-R-4.3.2.eb index 62628f77d54..49de16a3d99 100644 --- a/easybuild/easyconfigs/h/HOMER/HOMER-4.11-foss-2023a-R-4.3.2.eb +++ b/easybuild/easyconfigs/h/HOMER/HOMER-4.11-foss-2023a-R-4.3.2.eb @@ -19,6 +19,8 @@ checksums = ['ccdaa3004a0e0df0882634671d4a1acc88364761e0e6c7ea329ebbf1eb729537'] builddependencies = [ ('wget', '1.24.5'), + ('Zip', '3.0'), + ('UnZip', '6.0'), ] dependencies = [ @@ -28,7 +30,7 @@ dependencies = [ ('R-bundle-Bioconductor', '3.18', versionsuffix) ] -postinstallcmds = ["cd %(installdir)s && perl ./configureHomer.pl -install -all"] +postinstallcmds = ["cd %(installdir)s && perl ./configureHomer.pl -install homer -version v%(version)s"] sanity_check_paths = { 'files': [ From dbc55998cecb7e4a3c536394f59c7bef35bbd1fd Mon Sep 17 00:00:00 2001 From: WilleBell Date: Mon, 27 May 2024 17:09:33 +0200 Subject: [PATCH 735/889] adding easyconfigs: zlib-ng-2.1.6-GCCcore-12.3.0.eb, Zopfli-1.0.3-GCCcore-12.3.0.eb, zfp-1.0.1-GCCcore-12.3.0.eb, libheif-1.17.6-GCC-12.3.0.eb, libde265-1.0.15-GCC-12.3.0.eb, bitshuffle-0.5.1-foss-2023a.eb --- .../bitshuffle/bitshuffle-0.5.1-foss-2023a.eb | 32 ++++++++++++++ .../l/libde265/libde265-1.0.15-GCC-12.3.0.eb | 33 +++++++++++++++ .../l/libheif/libheif-1.17.6-GCC-12.3.0.eb | 42 +++++++++++++++++++ .../z/Zopfli/Zopfli-1.0.3-GCCcore-12.3.0.eb | 37 ++++++++++++++++ .../z/zfp/zfp-1.0.1-GCCcore-12.3.0.eb | 40 ++++++++++++++++++ .../z/zlib-ng/zlib-ng-2.1.6-GCCcore-12.3.0.eb | 30 +++++++++++++ 6 files changed, 214 insertions(+) create mode 100644 easybuild/easyconfigs/b/bitshuffle/bitshuffle-0.5.1-foss-2023a.eb create mode 100644 easybuild/easyconfigs/l/libde265/libde265-1.0.15-GCC-12.3.0.eb create mode 100644 easybuild/easyconfigs/l/libheif/libheif-1.17.6-GCC-12.3.0.eb create mode 100644 easybuild/easyconfigs/z/Zopfli/Zopfli-1.0.3-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/z/zfp/zfp-1.0.1-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/z/zlib-ng/zlib-ng-2.1.6-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/b/bitshuffle/bitshuffle-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/b/bitshuffle/bitshuffle-0.5.1-foss-2023a.eb new file mode 100644 index 00000000000..3faf7d3a1ee --- /dev/null +++ b/easybuild/easyconfigs/b/bitshuffle/bitshuffle-0.5.1-foss-2023a.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'bitshuffle' +version = '0.5.1' + +homepage = 'https://github.com/kiyo-masui/bitshuffle' +description = """ +Filter for improving compression of typed binary data. +Bitshuffle is an algorithm that rearranges typed, binary data for improving compression, as +well as a python/C package that implements this algorithm within the Numpy framework. +The library can be used along side HDF5 to compress and decompress datasets and is integrated +through the dynamically loaded filters framework. Bitshuffle is HDF5 filter number 32008. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('h5py', '3.9.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['988f224739aa6858475a4c59172968c7b51cc657d2249580c8f96848708fbae3'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libde265/libde265-1.0.15-GCC-12.3.0.eb b/easybuild/easyconfigs/l/libde265/libde265-1.0.15-GCC-12.3.0.eb new file mode 100644 index 00000000000..9d6371e84ba --- /dev/null +++ b/easybuild/easyconfigs/l/libde265/libde265-1.0.15-GCC-12.3.0.eb @@ -0,0 +1,33 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'CMakeMake' + +name = 'libde265' +version = '1.0.15' + +homepage = 'https://github.com/strukturag/libde265' +description = "libde265 is an open source implementation of the h.265 video codec" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/strukturag/libde265/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['00251986c29d34d3af7117ed05874950c875dd9292d016be29d3b3762666511d'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +configopts = "-DENABLE_DECODER=ON -DENABLE_ENCODER=ON" + +sanity_check_paths = { + 'files': ['bin/dec265', 'bin/enc265', 'lib/libde265.%s' % SHLIB_EXT, 'lib/pkgconfig/libde265.pc'], + 'dirs': ['include/libde265', 'lib/cmake/libde265'], +} + +sanity_check_commands = [ + "dec265 --help", + "enc265 --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libheif/libheif-1.17.6-GCC-12.3.0.eb b/easybuild/easyconfigs/l/libheif/libheif-1.17.6-GCC-12.3.0.eb new file mode 100644 index 00000000000..ee355100089 --- /dev/null +++ b/easybuild/easyconfigs/l/libheif/libheif-1.17.6-GCC-12.3.0.eb @@ -0,0 +1,42 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'CMakeMake' + +name = 'libheif' +version = '1.17.6' + +homepage = 'https://github.com/strukturag/libheif' +description = "libheif is an HEIF and AVIF file format decoder and encoder" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/strukturag/libheif/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['8390baf4913eda0a183e132cec62b875fb2ef507ced5ddddc98dfd2f17780aee'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('libpng', '1.6.39'), + ('libjpeg-turbo', '2.1.5.1'), + ('libde265', '1.0.15'), + ('x265', '3.5'), + ('Gdk-Pixbuf', '2.42.10'), +] + +# build both static and shared libraries +configopts = [ + "-DBUILD_SHARED_LIBS=OFF", + "-DBUILD_SHARED_LIBS=ON", +] + +sanity_check_paths = { + 'files': ['bin/heif-info', 'lib/libheif.a', 'lib/libheif.%s' % SHLIB_EXT, 'lib/pkgconfig/libheif.pc'], + 'dirs': ['include/libheif'], +} + +sanity_check_commands = ["heif-info --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/Zopfli/Zopfli-1.0.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/z/Zopfli/Zopfli-1.0.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..8b4417a9e34 --- /dev/null +++ b/easybuild/easyconfigs/z/Zopfli/Zopfli-1.0.3-GCCcore-12.3.0.eb @@ -0,0 +1,37 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +# Updated: Thomas Hoffmann (EMBL), Denis Kristak (Inuits) +easyblock = 'CMakeMake' + +name = 'Zopfli' +version = '1.0.3' + +homepage = 'https://github.com/google/zopfli' +description = """Zopfli Compression Algorithm is a compression library programmed in C to perform +very good, but slow, deflate or zlib compression.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/google/zopfli/archive/refs/tags/'] +sources = ['%(namelower)s-%(version)s.tar.gz'] +checksums = ['e955a7739f71af37ef3349c4fa141c648e8775bceb2195be07e86f8e638814bd'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), +] + +configopts = [ + '-DBUILD_SHARED_LIBS=ON', + '-DBUILD_SHARED_LIBS=OFF', +] + +sanity_check_paths = { + 'files': ['bin/zopfli', 'include/zopfli.h', 'lib/libzopfli.a', 'lib/libzopfli.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["zopfli --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/zfp/zfp-1.0.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/z/zfp/zfp-1.0.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..94719046584 --- /dev/null +++ b/easybuild/easyconfigs/z/zfp/zfp-1.0.1-GCCcore-12.3.0.eb @@ -0,0 +1,40 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Update: Thomas Hoffmann (EMBL) +easyblock = 'MakeCp' + +name = 'zfp' +version = '1.0.1' + +homepage = 'https://github.com/LLNL/zfp' +description = """zfp is a compressed format for representing multidimensional floating-point and integer arrays. +zfp provides compressed-array classes that support high throughput read and write random access to individual array +elements. zfp also supports serial and parallel (OpenMP and CUDA) compression of whole arrays, e.g., for applications +that read and write large data sets to and from disk.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/LLNL/zfp/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['4984db6a55bc919831966dd17ba5e47ca7ac58668f4fd278ebd98cd2200da66f'] + +builddependencies = [ + ('binutils', '2.40'), +] + +prebuildopts = "sed -i 's/FLAGS = -O3/FLAGS = $CFLAGS/g' Makefile && " +buildopts = 'ZFP_WITH_OPENMP=1' + +runtest = 'test' + +files_to_copy = ['bin', 'include', 'lib'] + +sanity_check_paths = { + 'files': ['bin/zfp', 'bin/testzfp', 'include/zfp.h', 'lib/libzfp.a'], + 'dirs': ['include/zfp'], +} + +sanity_check_commands = ["zfp --help 2>&1 | grep 'Usage: zfp'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zlib-ng/zlib-ng-2.1.6-GCCcore-12.3.0.eb b/easybuild/easyconfigs/z/zlib-ng/zlib-ng-2.1.6-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..c29b31ffb34 --- /dev/null +++ b/easybuild/easyconfigs/z/zlib-ng/zlib-ng-2.1.6-GCCcore-12.3.0.eb @@ -0,0 +1,30 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak (Inuits) +# Updated: Thomas Hoffmann (EMBL), Denis Kristak (Inuits) +easyblock = 'CMakeMake' + +name = 'zlib-ng' +version = '2.1.6' + +homepage = 'https://github.com/zlib-ng/zlib-ng' +description = """zlib data compression library for the next generation systems""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/zlib-ng/zlib-ng/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['a5d504c0d52e2e2721e7e7d86988dec2e290d723ced2307145dedd06aeb6fef2'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), +] + +configopts = ' -DZLIB_ENABLE_TESTS=True ' + +sanity_check_paths = { + 'files': ['include/zconf-ng.h', 'include/zlib-ng.h', 'lib/libz-ng.a', 'lib/libz-ng.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' From bf131f50fcdfe513a879ce1f1294d28ec40106f4 Mon Sep 17 00:00:00 2001 From: WilleBell Date: Mon, 27 May 2024 17:34:19 +0200 Subject: [PATCH 736/889] adding easyconfigs: imagecodecs-2024.1.1-foss-2023a.eb and patches: imagecodecs-2024.1.1_fix-aec-version.patch --- .../imagecodecs-2024.1.1-foss-2023a.eb | 78 +++++++++++++++++++ ...imagecodecs-2024.1.1_fix-aec-version.patch | 16 ++++ 2 files changed, 94 insertions(+) create mode 100644 easybuild/easyconfigs/i/imagecodecs/imagecodecs-2024.1.1-foss-2023a.eb create mode 100644 easybuild/easyconfigs/i/imagecodecs/imagecodecs-2024.1.1_fix-aec-version.patch diff --git a/easybuild/easyconfigs/i/imagecodecs/imagecodecs-2024.1.1-foss-2023a.eb b/easybuild/easyconfigs/i/imagecodecs/imagecodecs-2024.1.1-foss-2023a.eb new file mode 100644 index 00000000000..25c939f0627 --- /dev/null +++ b/easybuild/easyconfigs/i/imagecodecs/imagecodecs-2024.1.1-foss-2023a.eb @@ -0,0 +1,78 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# update: Thomas Hoffmann (EMBL), Denis Kristak (Inuits), Cintia Willemyns (Vrije Universiteit Brussel) +easyblock = 'PythonBundle' + +name = 'imagecodecs' +version = '2024.1.1' + +homepage = 'https://github.com/cgohlke/imagecodecs' +description = """Imagecodecs is a Python library that provides block-oriented, in-memory buffer transformation, +compression, and decompression functions for use in the tifffile, czifile, zarr, and other +scientific image input/output modules.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +local_openjpeg_maj_min = '2.5' +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Cython', '3.0.8'), + ('matplotlib', '3.7.2'), + ('Brotli', '1.0.9'), + ('Blosc', '1.21.5'), + ('Blosc2', '2.8.0'), + ('CFITSIO', '4.3.0'), + ('CharLS', '2.4.2'), + ('giflib', '5.2.1'), + ('jxrlib', '1.1'), + ('LittleCMS', '2.15'), + ('LERC', '4.0.0'), + ('libaec', '1.0.6'), + ('libavif', '1.0.4'), + ('libdeflate', '1.18'), + ('libjpeg-turbo', '2.1.5.1'), + ('libjxl', '0.8.2'), + ('LibLZF', '3.6'), + ('libpng', '1.6.39'), + ('LibTIFF', '4.5.0'), + ('libwebp', '1.3.1'), + ('lz4', '1.9.4'), + ('OpenJPEG', local_openjpeg_maj_min + '.0'), + ('snappy', '1.1.10'), + ('zlib-ng', '2.1.6'), + ('Zopfli', '1.0.3'), + ('zfp', '1.0.1'), + ('zstd', '1.5.5'), + ('Brunsli', '0.1'), + ('HDF5', '1.14.0'), + ('h5py', '3.9.0'), + ('libheif', '1.17.6'), + ('bitshuffle', '0.5.1'), # Cannot be as extension because Cython 3.0.8 is too new +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('colorlog', '6.8.2', { + 'checksums': ['3e3e079a41feb5a1b64f978b5ea4f46040a94f11f0e8bbb8261e3dbbeca64d44'], + }), + (name, version, { + 'buildopts': '--global-option="build_ext" --global-option="--lite"', + 'extract_cmd': "tar -xvf %s && find . -type f -print0 | xargs -0 dos2unix", + 'patches': ['imagecodecs-2024.1.1_fix-aec-version.patch'], + 'preinstallopts': "export CPATH=$EBROOTOPENJPEG/include/openjpeg-2.5/:$CPATH && ", + 'source_urls': [ + 'https://github.com/cgohlke/imagecodecs/releases/download/v%(version)s/imagecodecs-2024.1.1.tar.gz' + ], + 'sources': ['%(name)s-%(version)s.tar.gz'], + 'checksums': [ + {'imagecodecs-2024.1.1.tar.gz': 'fde46bd698d008255deef5411c59b35c0e875295e835bf6079f7e2ab22f216eb'}, + {'imagecodecs-2024.1.1_fix-aec-version.patch': + '7feb0a5fe37893d1a186f85c8f6cdb940704605ee2da5ea8e5d555ec5bfa01aa'}, + ], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/imagecodecs/imagecodecs-2024.1.1_fix-aec-version.patch b/easybuild/easyconfigs/i/imagecodecs/imagecodecs-2024.1.1_fix-aec-version.patch new file mode 100644 index 00000000000..045dca394d7 --- /dev/null +++ b/easybuild/easyconfigs/i/imagecodecs/imagecodecs-2024.1.1_fix-aec-version.patch @@ -0,0 +1,16 @@ +Determine version of libaec from header does not work and causes error +Author: Cintia Willemyns (Vrije Universiteit Brussel) +--- imagecodecs-2024.1.1.orig/imagecodecs/_aec.pyx 2024-05-27 15:12:24.533724000 +0200 ++++ imagecodecs-2024.1.1/imagecodecs/_aec.pyx 2024-05-27 15:13:02.238325670 +0200 +@@ -76,10 +76,7 @@ + + def aec_version(): + """Return libaec library version string.""" +- return ( +- f'libaec {AEC_VERSION_MAJOR}.{AEC_VERSION_MINOR}.{AEC_VERSION_PATCH}' +- ) +- ++ return 'libaec 1.0.6' + + def aec_check(data): + """Return whether data is AEC encoded.""" From 4d8d55cb6720f5ac3062587d739dad25e69ea3c3 Mon Sep 17 00:00:00 2001 From: Cintia Willemyns <115622907+WilleBell@users.noreply.github.com> Date: Mon, 27 May 2024 17:38:38 +0200 Subject: [PATCH 737/889] Update libwebp-1.3.1-GCCcore-12.3.0.eb Set 'pic' to True, otherwise imagecodecs fails --- easybuild/easyconfigs/l/libwebp/libwebp-1.3.1-GCCcore-12.3.0.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/l/libwebp/libwebp-1.3.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libwebp/libwebp-1.3.1-GCCcore-12.3.0.eb index 4ac82164e4b..7a8453a029c 100644 --- a/easybuild/easyconfigs/l/libwebp/libwebp-1.3.1-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/l/libwebp/libwebp-1.3.1-GCCcore-12.3.0.eb @@ -10,6 +10,7 @@ webmasters and web developers can create smaller, richer images that make the web faster.""" toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} source_urls = ['https://storage.googleapis.com/downloads.webmproject.org/releases/webp'] sources = [SOURCELOWER_TAR_GZ] From 00e717ef61ce4a749ba6bfb8e5091da62444b968 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Mon, 27 May 2024 23:38:14 +0200 Subject: [PATCH 738/889] fix sources in RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb --- .../RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb index a2b5689287b..7821f9f4b06 100644 --- a/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb +++ b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb @@ -21,7 +21,7 @@ and then used with: toolchain = {'name': 'gfbf', 'version': '2023b'} source_urls = ['https://github.com/rstudio/rstudio/archive'] -sources = ['%(version)s.tar.gz'] +sources = ['v%(version)s.tar.gz'] checksums = ['196d31094d580a74737fbf689d2d0b302da5fec13694aa1d63f8875d3e45e4dd'] builddependencies = [ From 8ce1911dd501d1ed8adb34005eeb25e89376a944 Mon Sep 17 00:00:00 2001 From: Julian Morillo Date: Tue, 28 May 2024 11:06:48 +0200 Subject: [PATCH 739/889] Avoid using tabs --- easybuild/easyconfigs/p/PAPI/PAPI-7.1.0-GCCcore-13.2.0.eb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/p/PAPI/PAPI-7.1.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PAPI/PAPI-7.1.0-GCCcore-13.2.0.eb index 2e423fd636c..9967c536534 100644 --- a/easybuild/easyconfigs/p/PAPI/PAPI-7.1.0-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/p/PAPI/PAPI-7.1.0-GCCcore-13.2.0.eb @@ -24,9 +24,8 @@ toolchain = {'name': 'GCCcore', 'version': '13.2.0'} source_urls = ['https://icl.utk.edu/projects/papi/downloads'] sources = [SOURCELOWER_TAR_GZ] patches = ['%(name)s-%(version)s_add_initial_riscv_support.patch'] -checksums = [ - '5818afb6dba3ece57f51e65897db5062f8e3464e6ed294b654ebf34c3991bc4f', - {'PAPI-7.1.0_add_initial_riscv_support.patch': '6c7d0d63ccf2b8c46f2ed736fbd4c58303038fb2a45315aed94c026b773af35a'} +checksums = ['5818afb6dba3ece57f51e65897db5062f8e3464e6ed294b654ebf34c3991bc4f', +{'PAPI-7.1.0_add_initial_riscv_support.patch': '6c7d0d63ccf2b8c46f2ed736fbd4c58303038fb2a45315aed94c026b773af35a'} ] builddependencies = [ From 1aedea08398353a69e1af063950c76874ebe4cc1 Mon Sep 17 00:00:00 2001 From: julianmorillo Date: Tue, 28 May 2024 11:30:15 +0200 Subject: [PATCH 740/889] Update PAPI-7.1.0-GCCcore-13.2.0.eb --- easybuild/easyconfigs/p/PAPI/PAPI-7.1.0-GCCcore-13.2.0.eb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/p/PAPI/PAPI-7.1.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PAPI/PAPI-7.1.0-GCCcore-13.2.0.eb index 9967c536534..9461b9e72e5 100644 --- a/easybuild/easyconfigs/p/PAPI/PAPI-7.1.0-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/p/PAPI/PAPI-7.1.0-GCCcore-13.2.0.eb @@ -24,12 +24,13 @@ toolchain = {'name': 'GCCcore', 'version': '13.2.0'} source_urls = ['https://icl.utk.edu/projects/papi/downloads'] sources = [SOURCELOWER_TAR_GZ] patches = ['%(name)s-%(version)s_add_initial_riscv_support.patch'] -checksums = ['5818afb6dba3ece57f51e65897db5062f8e3464e6ed294b654ebf34c3991bc4f', -{'PAPI-7.1.0_add_initial_riscv_support.patch': '6c7d0d63ccf2b8c46f2ed736fbd4c58303038fb2a45315aed94c026b773af35a'} +checksums = [ + '5818afb6dba3ece57f51e65897db5062f8e3464e6ed294b654ebf34c3991bc4f', + {'PAPI-7.1.0_add_initial_riscv_support.patch': '6c7d0d63ccf2b8c46f2ed736fbd4c58303038fb2a45315aed94c026b773af35a'} ] builddependencies = [ - ('binutils', '2.40'), + ('binutils', '2.40') ] start_dir = 'src' From 0eda4a739a24f2c3d26fcc3e3895e0d9504cdfee Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Tue, 28 May 2024 13:03:27 +0200 Subject: [PATCH 741/889] adding easyconfigs: TF-COMB-1.1-foss-2023a.eb, TOBIAS-0.16.1-foss-2023a.eb, pyBigWig-0.3.22-foss-2023a.eb, svist4get-1.3.1-foss-2023a.eb, adjustText-0.7.3-foss-2023a.eb, python-louvain-0.16-foss-2023a.eb, GOATOOLS-1.4.5-foss-2023a.eb, qnorm-0.8.1-foss-2023a.eb --- .../adjustText/adjustText-0.7.3-foss-2023a.eb | 27 +++++++ .../g/GOATOOLS/GOATOOLS-1.4.5-foss-2023a.eb | 72 +++++++++++++++++++ .../p/pyBigWig/pyBigWig-0.3.22-foss-2023a.eb | 36 ++++++++++ .../python-louvain-0.16-foss-2023a.eb | 25 +++++++ .../q/qnorm/qnorm-0.8.1-foss-2023a.eb | 36 ++++++++++ .../s/svist4get/svist4get-1.3.1-foss-2023a.eb | 61 ++++++++++++++++ .../t/TF-COMB/TF-COMB-1.1-foss-2023a.eb | 54 ++++++++++++++ .../t/TOBIAS/TOBIAS-0.16.1-foss-2023a.eb | 57 +++++++++++++++ 8 files changed, 368 insertions(+) create mode 100644 easybuild/easyconfigs/a/adjustText/adjustText-0.7.3-foss-2023a.eb create mode 100644 easybuild/easyconfigs/g/GOATOOLS/GOATOOLS-1.4.5-foss-2023a.eb create mode 100644 easybuild/easyconfigs/p/pyBigWig/pyBigWig-0.3.22-foss-2023a.eb create mode 100644 easybuild/easyconfigs/p/python-louvain/python-louvain-0.16-foss-2023a.eb create mode 100644 easybuild/easyconfigs/q/qnorm/qnorm-0.8.1-foss-2023a.eb create mode 100644 easybuild/easyconfigs/s/svist4get/svist4get-1.3.1-foss-2023a.eb create mode 100644 easybuild/easyconfigs/t/TF-COMB/TF-COMB-1.1-foss-2023a.eb create mode 100644 easybuild/easyconfigs/t/TOBIAS/TOBIAS-0.16.1-foss-2023a.eb diff --git a/easybuild/easyconfigs/a/adjustText/adjustText-0.7.3-foss-2023a.eb b/easybuild/easyconfigs/a/adjustText/adjustText-0.7.3-foss-2023a.eb new file mode 100644 index 00000000000..70ad0961c47 --- /dev/null +++ b/easybuild/easyconfigs/a/adjustText/adjustText-0.7.3-foss-2023a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'adjustText' +version = '0.7.3' + +homepage = 'https://github.com/Phlya/adjustText' +description = "A small library for automatically adjustment of text position in matplotlib plots to minimize overlaps." + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['b90e275a95b4d980cbbac7967914b8d66477c09bc346a0b3c9e2125bba664b06'] + +dependencies = [ + ('Python', '3.11.3'), + ('matplotlib', '3.7.2'), + ('SciPy-bundle', '2023.07'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +options = {'modulename': 'adjustText'} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/GOATOOLS/GOATOOLS-1.4.5-foss-2023a.eb b/easybuild/easyconfigs/g/GOATOOLS/GOATOOLS-1.4.5-foss-2023a.eb new file mode 100644 index 00000000000..946629da54d --- /dev/null +++ b/easybuild/easyconfigs/g/GOATOOLS/GOATOOLS-1.4.5-foss-2023a.eb @@ -0,0 +1,72 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Update: Pavel Tománek (Inuits) + +easyblock = 'PythonPackage' + +name = 'GOATOOLS' +version = '1.4.5' + +homepage = 'https://github.com/tanghaibao/goatools' +description = "A Python library for Gene Ontology analyses" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [{ + 'git_config': { + 'url': 'https://github.com/tanghaibao', + 'repo_name': 'goatools', + 'tag': 'v%(version)s', + 'keep_git_dir': True, + }, + 'filename': SOURCE_TAR_GZ, +}] +checksums = ['ba92ad89f9c91b3aadd1c36ae58f77c1725e64dbf00e27910e5b00d3d7348c61'] + +builddependencies = [('cURL', '8.0.1')] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('XlsxWriter', '3.1.3'), + ('statsmodels', '0.14.1'), + ('pydot', '2.0.0'), + ('openpyxl', '3.1.2'), +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, + 'sanity_pip_check': True, +} + +exts_list = [ + ('ftpretty', '0.4.0', { + 'checksums': ['61233b9212f2cceec96ee2c972738fa31cae7248e92d0874c99c04ee739bb5a9'], + }), +] + +download_dep_fail = True +use_pip = True + +postinstallcmds = ["cp -a %(builddir)s/goatools/data/ %(installdir)s/"] + +sanity_check_paths = { + 'files': ['bin/find_enrichment.py'], + 'dirs': ['data', 'lib/python%(pyshortver)s/site-packages'], +} + +# example test run, see https://github.com/tanghaibao/goatools/blob/master/run.sh +sanity_check_commands = [ + "mkdir -p %(builddir)s", + "cd %(builddir)s && curl -OL http://geneontology.org/ontology/go-basic.obo", + "cd %(builddir)s && curl -OL http://www.geneontology.org/ontology/subsets/goslim_generic.obo", + "cd %(builddir)s && cp -a %(installdir)s/data .", + "cd %(builddir)s && find_enrichment.py --pval=0.05 --indent data/study data/population data/association", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pyBigWig/pyBigWig-0.3.22-foss-2023a.eb b/easybuild/easyconfigs/p/pyBigWig/pyBigWig-0.3.22-foss-2023a.eb new file mode 100644 index 00000000000..fc2cc3e8efc --- /dev/null +++ b/easybuild/easyconfigs/p/pyBigWig/pyBigWig-0.3.22-foss-2023a.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonPackage' + +name = 'pyBigWig' +version = '0.3.22' + +github_account = 'deeptools' +homepage = 'https://github.com/%(github_account)s/%(name)s' +description = """A python extension, written in C, for quick access to bigBed + files and access to and creation of bigWig files.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['3b8d62b2bedcee0545a586884466c97a64b64283a309b211300b670f41dd2046'] + +dependencies = [ + ('Python', '3.11.3'), + ('cURL', '8.0.1'), + ('NSS', '3.89.1'), # provides libfreebl3 + ('SciPy-bundle', '2023.07'), # optional, for numpy support +] + +# fix version of '0.0.0' issue +preinstallopts = """sed -i 's/setup(/setup(version="%(version)s",/g' setup.py && """ +# do not use setuptools-scm to detect version +preinstallopts += """sed -i 's/[tool.setuptools_scm]//' pyproject.toml && """ + +use_pip = True +download_dep_fail = True + +options = {'modulename': name} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/python-louvain/python-louvain-0.16-foss-2023a.eb b/easybuild/easyconfigs/p/python-louvain/python-louvain-0.16-foss-2023a.eb new file mode 100644 index 00000000000..6f730914bc2 --- /dev/null +++ b/easybuild/easyconfigs/p/python-louvain/python-louvain-0.16-foss-2023a.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'python-louvain' +version = '0.16' + +homepage = 'https://pypi.org/project/python-louvain' +description = "Louvain algorithm for community detection" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['b7ba2df5002fd28d3ee789a49532baad11fe648e4f2117cf0798e7520a1da56b'] + +dependencies = [ + ('Python', '3.11.3'), + ('networkx', '3.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'community'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/q/qnorm/qnorm-0.8.1-foss-2023a.eb b/easybuild/easyconfigs/q/qnorm/qnorm-0.8.1-foss-2023a.eb new file mode 100644 index 00000000000..fe306fc5314 --- /dev/null +++ b/easybuild/easyconfigs/q/qnorm/qnorm-0.8.1-foss-2023a.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonPackage' + +name = 'qnorm' +version = '0.8.1' + +homepage = 'https://github.com/Maarten-vd-Sande/qnorm' +description = "Fast-ish (and correct!) quantile normalization in Python" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('numba', '0.58.1'), +] + +sources = [SOURCE_TAR_GZ] +checksums = ['61b2f3ef09a9c552a4f3b83dc438cb13f191fa190164361a3a508c4777eed3c7'] + +download_dep_fail = True +use_pip = True + +# pyproject.toml included in qnorm source tarball does not include standard fields, +# it's only there to be read for setup.py +preinstallopts = "sed -i 's/pyproject.toml/pyproject.toml_/g' setup.py && mv pyproject.toml pyproject.toml_ && " + +sanity_check_paths = { + 'files': ['bin/qnorm'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["qnorm --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/svist4get/svist4get-1.3.1-foss-2023a.eb b/easybuild/easyconfigs/s/svist4get/svist4get-1.3.1-foss-2023a.eb new file mode 100644 index 00000000000..f44d27dd1f5 --- /dev/null +++ b/easybuild/easyconfigs/s/svist4get/svist4get-1.3.1-foss-2023a.eb @@ -0,0 +1,61 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) +# Update: Pavel Tománek (Inuits) + +easyblock = 'PythonBundle' + +name = 'svist4get' +version = '1.3.1' + +homepage = 'https://github.com/art-egorov/svist4get' +description = """Svist4get is a simple bioinformatics tool for visualization of +genomic signal tracks in user-defined genomic windows, either arbitrary selected +by genomic coordinates or anchored to particular transcripts or genes.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('pybedtools', '0.9.1'), + ('Biopython', '1.83'), + ('Pillow', '10.0.0'), + ('ImageMagick', '7.1.1-15'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('reportlab', '3.6.9', { + 'patches': ['reportlab-3.6.12-fontconfig.patch'], + 'checksums': ['5d0cc3682456ad213150f6dbffe7d47eab737d809e517c316103376be548fb84', + # reportlab-3.6.12-fontconfig.patch: + '2cc9b40e09650b7404ee9c4d72b134739acc89bacac3da58131cef2308726297'], + }), + ('configs', '3.0.3', { + 'sources': ['%(name)s-%(version)s.zip'], + 'checksums': ['a5ab09e04e441dac6aa856a71fbf5ffc62954352630f79d311b8f8a31d9ce19c'], + }), + ('argparse', '1.4.0', { + 'checksums': ['62b089a55be1d8949cd2bc7e0df0bddb9e028faefc8c32038cc84862aefdd6e4'], + }), + ('Wand', '0.6.10', { + 'checksums': ['373f4a7f2866c868c31ce910e1f9b36a92d132640a20068ec17cea3284fedc57'], + }), + (name, version, { + # unpin statistics dependency - it is old package and interfering with python lib statistics + 'preinstallopts': "sed -i 's/statistics//' setup.py && ", + 'checksums': ['22311fdc956cca531dac7ba924744e8f870a57bc6f27cbe4e8ba9854117e720c'], + }), +] + +sanity_check_paths = { + 'files': ['bin/svist4get', 'bin/svist4get_copier'], + 'dirs': ['lib'], +} + +sanity_check_commands = [ + "svist4get --help", + "svist4get -v", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TF-COMB/TF-COMB-1.1-foss-2023a.eb b/easybuild/easyconfigs/t/TF-COMB/TF-COMB-1.1-foss-2023a.eb new file mode 100644 index 00000000000..d95bedfc764 --- /dev/null +++ b/easybuild/easyconfigs/t/TF-COMB/TF-COMB-1.1-foss-2023a.eb @@ -0,0 +1,54 @@ +easyblock = 'PythonBundle' + +name = 'TF-COMB' +version = '1.1' + +homepage = 'https://github.com/loosolab/TF-COMB' +description = """Transcription Factor Co-Occurrence using Market Basket analysis.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('tqdm', '4.66.1'), + ('Pysam', '0.22.0'), + ('matplotlib', '3.7.2'), + ('networkx', '3.1'), + ('Graphviz', '8.1.0'), + ('statsmodels', '0.14.1'), + ('dill', '0.3.7'), + ('Seaborn', '0.13.2'), + ('IPython', '8.14.0'), + ('TOBIAS', '0.16.1'), + ('python-louvain', '0.16'), + ('GOATOOLS', '1.4.5'), + ('qnorm', '0.8.1'), +] + +use_pip = True +sanity_pip_check = True + +# remove graphviz from deps - the pip check failing, should be "import gv" +local_tfcomb_preinstallopts = "sed -i '70d' setup.py && " +# fix "import graphviz" to "import gv" +local_tfcomb_preinstallopts += "sed -i 's/import graphviz/import gv as graphviz/' tfcomb/plotting.py && " +# unpin python version to works with python 3.11.3 +local_tfcomb_preinstallopts += "sed -i '59d' setup.py && " +# regenerate counting.c to works with python 3.11 +local_tfcomb_preinstallopts += "cd tfcomb && rm counting.c && cythonize -i counting.pyx && cd .. && " + + +exts_list = [ + ('uropa', '4.0.3', { + 'checksums': ['e0b648881b95f301e3f3ecc924314995312f10b0cbabf96d5a5ce2fb18c53a59'], + }), + (name, version, { + 'preinstallopts': local_tfcomb_preinstallopts, + 'modulename': 'tfcomb', + 'checksums': ['5b718061660e0f9f94d86459eb742ca81de5851b0defd8b08c8a7a7e3370c253'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TOBIAS/TOBIAS-0.16.1-foss-2023a.eb b/easybuild/easyconfigs/t/TOBIAS/TOBIAS-0.16.1-foss-2023a.eb new file mode 100644 index 00000000000..186556eb374 --- /dev/null +++ b/easybuild/easyconfigs/t/TOBIAS/TOBIAS-0.16.1-foss-2023a.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'TOBIAS' +version = '0.16.1' + +homepage = 'https://github.com/loosolab/TOBIAS' +description = """TOBIAS is a collection of command-line bioinformatics tools +for performing footprinting analysis on ATAC-seq data.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [('hatchling', '1.18.0')] +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('Seaborn', '0.13.2'), + ('Pysam', '0.22.0'), + ('pybedtools', '0.9.1'), + ('boto3', '1.28.70'), + ('pyBigWig', '0.3.22'), + ('scikit-learn', '1.3.1'), + ('PyYAML', '6.0'), + ('XlsxWriter', '3.1.3'), + ('svist4get', '1.3.1'), + ('adjustText', '0.7.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('kneed', '0.8.5', { + 'checksums': ['a4847ac4f1d04852fea278d5de7aa8bfdc3beb7fbca4a182fec0f0efee43f4b1'], + }), + ('logomaker', '0.8', { + 'checksums': ['d8c7501a7d6d7961cd68e5a44e939000ebf1b0c4197a0c9198351e1d681d3f6d'], + }), + ('MOODS-python', '1.9.4.1', { + 'modulename': 'MOODS', + 'checksums': ['b3b5e080cb0cd13c0fd175d0ee0d453fde3e42794fa7ac39a4f6db1ac5ddb4cc'], + }), + ('PyPDF2', '3.0.1', { + 'modulename': 'PyPDF2', + 'checksums': ['a74408f69ba6271f71b9352ef4ed03dc53a31aa404d29b5d31f53bfecfee1440'], + }), + ('tobias', version, { + # remove pyBigWig dependency - pip_check fails with "import pybigwig" + 'preinstallopts': "sed -i '81d' setup.py && ", + 'checksums': ['c46267c01287be06201b3e6f7a36daad1ad86d6c578f96e878501be7da7fd109'], + }), +] + +sanity_check_commands = ["python -c 'import pyBigWig'"] + +moduleclass = 'bio' From 8eff376865494026b70622cefe829a9931552c99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 28 May 2024 13:26:33 +0200 Subject: [PATCH 742/889] add comma back --- easybuild/easyconfigs/p/PAPI/PAPI-7.1.0-GCCcore-13.2.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/PAPI/PAPI-7.1.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PAPI/PAPI-7.1.0-GCCcore-13.2.0.eb index 9461b9e72e5..27c5255c39a 100644 --- a/easybuild/easyconfigs/p/PAPI/PAPI-7.1.0-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/p/PAPI/PAPI-7.1.0-GCCcore-13.2.0.eb @@ -30,7 +30,7 @@ checksums = [ ] builddependencies = [ - ('binutils', '2.40') + ('binutils', '2.40'), ] start_dir = 'src' From 8440d1c0a37e4c88baac8082f7a2b9ce466d57fc Mon Sep 17 00:00:00 2001 From: Pavel Tomanek <99190809+pavelToman@users.noreply.github.com> Date: Tue, 28 May 2024 13:39:37 +0200 Subject: [PATCH 743/889] Update GOATOOLS-1.4.5-foss-2023a.eb checksum --- easybuild/easyconfigs/g/GOATOOLS/GOATOOLS-1.4.5-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/GOATOOLS/GOATOOLS-1.4.5-foss-2023a.eb b/easybuild/easyconfigs/g/GOATOOLS/GOATOOLS-1.4.5-foss-2023a.eb index 946629da54d..02e35cba627 100644 --- a/easybuild/easyconfigs/g/GOATOOLS/GOATOOLS-1.4.5-foss-2023a.eb +++ b/easybuild/easyconfigs/g/GOATOOLS/GOATOOLS-1.4.5-foss-2023a.eb @@ -21,7 +21,7 @@ sources = [{ }, 'filename': SOURCE_TAR_GZ, }] -checksums = ['ba92ad89f9c91b3aadd1c36ae58f77c1725e64dbf00e27910e5b00d3d7348c61'] +checksums = [None] builddependencies = [('cURL', '8.0.1')] From 0b4dda46c3e24b60f4f6725a7dfc74ecead8760d Mon Sep 17 00:00:00 2001 From: Richard Top Date: Tue, 28 May 2024 13:10:17 +0000 Subject: [PATCH 744/889] adding easyconfigs: cpio-2.15-GCCcore-12.2.0.eb, cpio-2.15-GCCcore-12.3.0.eb, cpio-2.15-GCCcore-13.2.0.eb, cpio-2.15-GCCcore-13.3.0.eb --- .../c/cpio/cpio-2.15-GCCcore-12.2.0.eb | 28 +++++++++++++++++++ .../c/cpio/cpio-2.15-GCCcore-12.3.0.eb | 28 +++++++++++++++++++ .../c/cpio/cpio-2.15-GCCcore-13.2.0.eb | 28 +++++++++++++++++++ .../c/cpio/cpio-2.15-GCCcore-13.3.0.eb | 28 +++++++++++++++++++ 4 files changed, 112 insertions(+) create mode 100644 easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-12.2.0.eb create mode 100644 easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-13.3.0.eb diff --git a/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..0ec028c3013 --- /dev/null +++ b/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' +name = 'cpio' +version = '2.15' + +homepage = "https://savannah.gnu.org/projects/cpio/" +description = """The cpio package contains tools for archiving.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://gnuftp.uib.no/cpio/'] +sources = ['cpio-%(version)s.tar.bz2'] +checksums = ['937610b97c329a1ec9268553fb780037bcfff0dcffe9725ebc4fd9c1aa9075db'] + +builddependencies = [ + ('binutils', '2.39'), + ('makeinfo', '7.0.3'), +] + +postinstallcmds = ['makeinfo --plaintext -o %(installdir)s/doc/cpio.txt doc/cpio.texi'] + +sanity_check_paths = { + 'files': ['bin/cpio'], + 'dirs': [] +} + +sanity_check_commands = ['cpio --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..f8351ec6050 --- /dev/null +++ b/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' +name = 'cpio' +version = '2.15' + +homepage = "https://savannah.gnu.org/projects/cpio/" +description = """The cpio package contains tools for archiving.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://gnuftp.uib.no/cpio/'] +sources = ['cpio-%(version)s.tar.bz2'] +checksums = ['937610b97c329a1ec9268553fb780037bcfff0dcffe9725ebc4fd9c1aa9075db'] + +builddependencies = [ + ('binutils', '2.40'), + ('makeinfo', '7.0.3'), +] + +postinstallcmds = ['makeinfo --plaintext -o %(installdir)s/doc/cpio.txt doc/cpio.texi'] + +sanity_check_paths = { + 'files': ['bin/cpio'], + 'dirs': [] +} + +sanity_check_commands = ['cpio --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..484dda29a7a --- /dev/null +++ b/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-13.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' +name = 'cpio' +version = '2.15' + +homepage = "https://savannah.gnu.org/projects/cpio/" +description = """The cpio package contains tools for archiving.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://gnuftp.uib.no/cpio/'] +sources = ['cpio-%(version)s.tar.bz2'] +checksums = ['937610b97c329a1ec9268553fb780037bcfff0dcffe9725ebc4fd9c1aa9075db'] + +builddependencies = [ + ('binutils', '2.40'), + ('makeinfo', '7.1'), +] + +postinstallcmds = ['makeinfo --plaintext -o %(installdir)s/doc/cpio.txt doc/cpio.texi'] + +sanity_check_paths = { + 'files': ['bin/cpio'], + 'dirs': [] +} + +sanity_check_commands = ['cpio --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-13.3.0.eb b/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..661e18488db --- /dev/null +++ b/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-13.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' +name = 'cpio' +version = '2.15' + +homepage = "https://savannah.gnu.org/projects/cpio/" +description = """The cpio package contains tools for archiving.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://gnuftp.uib.no/cpio/'] +sources = ['cpio-%(version)s.tar.bz2'] +checksums = ['937610b97c329a1ec9268553fb780037bcfff0dcffe9725ebc4fd9c1aa9075db'] + +builddependencies = [ + ('binutils', '2.42'), + ('makeinfo', '7.1'), +] + +postinstallcmds = ['makeinfo --plaintext -o %(installdir)s/doc/cpio.txt doc/cpio.texi'] + +sanity_check_paths = { + 'files': ['bin/cpio'], + 'dirs': [] +} + +sanity_check_commands = ['cpio --help'] + +moduleclass = 'tools' From 0f7724751969ec38a289633811d41a874409a111 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Tue, 28 May 2024 15:42:11 +0200 Subject: [PATCH 745/889] adding easyconfigs: MDTraj-1.9.9-gfbf-2023a.eb, nglview-3.1.2-foss-2023a.eb --- .../m/MDTraj/MDTraj-1.9.9-gfbf-2023a.eb | 39 +++++++++++++++++++ .../n/nglview/nglview-3.1.2-foss-2023a.eb | 37 ++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 easybuild/easyconfigs/m/MDTraj/MDTraj-1.9.9-gfbf-2023a.eb create mode 100644 easybuild/easyconfigs/n/nglview/nglview-3.1.2-foss-2023a.eb diff --git a/easybuild/easyconfigs/m/MDTraj/MDTraj-1.9.9-gfbf-2023a.eb b/easybuild/easyconfigs/m/MDTraj/MDTraj-1.9.9-gfbf-2023a.eb new file mode 100644 index 00000000000..8f172912989 --- /dev/null +++ b/easybuild/easyconfigs/m/MDTraj/MDTraj-1.9.9-gfbf-2023a.eb @@ -0,0 +1,39 @@ +# Updated: Pavel Grochal (INUITS) + +easyblock = 'PythonBundle' + +name = 'MDTraj' +version = '1.9.9' + +homepage = 'https://mdtraj.org' +description = "Read, write and analyze MD trajectories with only a few lines of Python code." + +toolchain = {'name': 'gfbf', 'version': '2023a'} +toolchainopts = {'openmp': True} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('zlib', '1.2.13'), +] + +use_pip = True +exts_list = [ + ('pyparsing', '3.1.0', { + 'checksums': ['edb662d6fe322d6e990b1594b5feaeadf806803359e3d4d42f11e295e588f0ea'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + ('mdtraj', version, { + 'checksums': ['1b03f7ac753af5ca07cf874842689c8d49e791ee1242510875581df6100ca15e'], + }), +] + +# The unit tests of MDTraj are a pain to get to work: they require +# a massive number of extra dependencies. See +# https://github.com/mdtraj/mdtraj/blob/master/devtools/conda-recipe/meta.yaml + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/nglview/nglview-3.1.2-foss-2023a.eb b/easybuild/easyconfigs/n/nglview/nglview-3.1.2-foss-2023a.eb new file mode 100644 index 00000000000..55e526f9e19 --- /dev/null +++ b/easybuild/easyconfigs/n/nglview/nglview-3.1.2-foss-2023a.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'nglview' +version = '3.1.2' + +homepage = 'https://github.com/arose/nglview' +description = "IPython widget to interactively view molecular structures and trajectories." + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('nodejs', '18.17.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('JupyterNotebook', '7.2.0'), + ('ASE', '3.22.1'), # optional + ('MDAnalysis', '2.7.0'), # optional + ('MDTraj', '1.9.9'), # optional +] + +use_pip = True + +exts_list = [ + (name, version, { + 'use_pip_extras': 'ase,MDAnalysis,mdtraj', + 'checksums': ['7f672efa2b6ca0db34de968e5b5766b14b1b3dade212d2f8a083c600a11345ce'], + }), +] + +sanity_pip_check = True + +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} + +moduleclass = 'chem' From 5eb3d62792bc7e5039255c073c07d45f6596ccf2 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Tue, 28 May 2024 15:44:00 +0200 Subject: [PATCH 746/889] fix version of JupyterNotebook dependency on nglview-3.1.2-foss-2023a.eb --- easybuild/easyconfigs/n/nglview/nglview-3.1.2-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/n/nglview/nglview-3.1.2-foss-2023a.eb b/easybuild/easyconfigs/n/nglview/nglview-3.1.2-foss-2023a.eb index 55e526f9e19..55899477fd5 100644 --- a/easybuild/easyconfigs/n/nglview/nglview-3.1.2-foss-2023a.eb +++ b/easybuild/easyconfigs/n/nglview/nglview-3.1.2-foss-2023a.eb @@ -15,7 +15,7 @@ builddependencies = [ dependencies = [ ('Python', '3.11.3'), ('SciPy-bundle', '2023.07'), - ('JupyterNotebook', '7.2.0'), + ('JupyterNotebook', '7.0.2'), ('ASE', '3.22.1'), # optional ('MDAnalysis', '2.7.0'), # optional ('MDTraj', '1.9.9'), # optional From e3d9acc694adcabdf9375407b6e50d80cf24bcf6 Mon Sep 17 00:00:00 2001 From: thoffman Date: Tue, 28 May 2024 16:21:16 +0200 Subject: [PATCH 747/889] {bio}[foss/2023a] ctffind5 v5.0.2 --- .../c/ctffind5/ctffind5-5.0.2-foss-2023a.eb | 81 +++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 easybuild/easyconfigs/c/ctffind5/ctffind5-5.0.2-foss-2023a.eb diff --git a/easybuild/easyconfigs/c/ctffind5/ctffind5-5.0.2-foss-2023a.eb b/easybuild/easyconfigs/c/ctffind5/ctffind5-5.0.2-foss-2023a.eb new file mode 100644 index 00000000000..350f6920230 --- /dev/null +++ b/easybuild/easyconfigs/c/ctffind5/ctffind5-5.0.2-foss-2023a.eb @@ -0,0 +1,81 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/05 +easyblock = 'ConfigureMake' + +name = 'ctffind5' +version = '5.0.2' + +local_commit = 'b21db55a91366fe4f75301c56091d213bbd326eb' +local_branch = 'ctffind5_merge' + +homepage = 'https://grigoriefflab.umassmed.edu/ctf_estimation_ctffind_ctftilt' +description = """Program for finding CTFs of electron micrographs.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +# Use git_config in order to allow setting CISTEM_CURRENT_BRANCH and CISTEM_VERSION_TEXT by configure +sources = [{ + 'download_filename': '%s.tar.gz' % local_commit, + 'filename': 'cisTEM-ctffind5-%s.tar.gz' % local_commit[:7], + 'git_config': { + 'url': 'https://github.com/timothygrant80', + 'repo_name': 'cisTEM', + 'commit': local_commit, + 'keep_git_dir': True, + } +}] + +# no checksume, due to git_config +checksums = [None] + +# Alternative source: +# https://grigoriefflab.umassmed.edu/sites/default/files/cisTEM-ctffind5-b21db55.tar.gz + +# switch branch in order to inject proper branch name into binary: +preconfigopts = 'git switch --create %s &&' % local_branch + +# disable all targets except for ctffind and applyctf (do not build any other cisTEM tool): +local_remove_targets = """sed -i "s/^bin_PROGRAMS/""" +local_remove_targets += """bin_PROGRAMS=ctffind applyctf\\nnoinst_PROGRAMS/g" """ +local_remove_targets += """ src/Makefile.am &&""" +preconfigopts += local_remove_targets + +# run autotools +preconfigopts += './regenerate_project.b &&' + + +local_configureopts = [ + # '--enable-latest-instruction-set', # don't use; managed by CFLAGS + '--enable-shared', + '--with-gnu-ld', + '--with-wx-config=$EBROOTWXWIDGETS/bin/wx-config', + '--disable-silent-rules', + '--enable-openmp', + '--disable-debugmode' + '--disable-staticmode', + '--enable-experimental', + '--without-cuda', +] + +configopts = ' '.join(local_configureopts) + +builddependencies = [ + ('Autotools', '20220317'), + ('git', '2.41.0', '-nodocs') +] + +dependencies = [ + ('wxWidgets', '3.2.2.1') +] + +sanity_check_paths = { + 'files': ['bin/ctffind', 'bin/applyctf'], + 'dirs': ['bin'], +} + +sanity_check_commands = [ + 'echo|ctffind|grep Version|grep %(version)s', + 'echo|ctffind|grep "Library Version"|grep %s' % local_commit[:7], + 'echo|ctffind|grep "Branch"|grep %s' % local_branch, +] + +moduleclass = 'bio' From 960b265f27cd7b615d4da03e847e5ce51737bcdd Mon Sep 17 00:00:00 2001 From: TopRichard <121792457+TopRichard@users.noreply.github.com> Date: Tue, 28 May 2024 16:21:41 +0200 Subject: [PATCH 748/889] Update easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-12.2.0.eb MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Bob Dröge --- easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-12.2.0.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-12.2.0.eb index 0ec028c3013..f97452acc3d 100644 --- a/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-12.2.0.eb @@ -7,8 +7,8 @@ description = """The cpio package contains tools for archiving.""" toolchain = {'name': 'GCCcore', 'version': '12.2.0'} -source_urls = ['https://gnuftp.uib.no/cpio/'] -sources = ['cpio-%(version)s.tar.bz2'] +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_BZ2] checksums = ['937610b97c329a1ec9268553fb780037bcfff0dcffe9725ebc4fd9c1aa9075db'] builddependencies = [ From ed048c8d7d72593345124b39cfd31d79c9519a6e Mon Sep 17 00:00:00 2001 From: TopRichard <121792457+TopRichard@users.noreply.github.com> Date: Tue, 28 May 2024 16:21:49 +0200 Subject: [PATCH 749/889] Update easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-13.2.0.eb MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Bob Dröge --- easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-13.2.0.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-13.2.0.eb index 484dda29a7a..43cc1783368 100644 --- a/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-13.2.0.eb @@ -7,8 +7,8 @@ description = """The cpio package contains tools for archiving.""" toolchain = {'name': 'GCCcore', 'version': '13.2.0'} -source_urls = ['https://gnuftp.uib.no/cpio/'] -sources = ['cpio-%(version)s.tar.bz2'] +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_BZ2] checksums = ['937610b97c329a1ec9268553fb780037bcfff0dcffe9725ebc4fd9c1aa9075db'] builddependencies = [ From aedf35e16a65d521bf0cd7c87582b4c5072e7526 Mon Sep 17 00:00:00 2001 From: TopRichard <121792457+TopRichard@users.noreply.github.com> Date: Tue, 28 May 2024 16:21:57 +0200 Subject: [PATCH 750/889] Update easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-13.3.0.eb MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Bob Dröge --- easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-13.3.0.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-13.3.0.eb b/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-13.3.0.eb index 661e18488db..3640f333607 100644 --- a/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-13.3.0.eb +++ b/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-13.3.0.eb @@ -7,8 +7,8 @@ description = """The cpio package contains tools for archiving.""" toolchain = {'name': 'GCCcore', 'version': '13.3.0'} -source_urls = ['https://gnuftp.uib.no/cpio/'] -sources = ['cpio-%(version)s.tar.bz2'] +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_BZ2] checksums = ['937610b97c329a1ec9268553fb780037bcfff0dcffe9725ebc4fd9c1aa9075db'] builddependencies = [ From 7fe48bd918bf96739ca861241f3619e73e85c1bb Mon Sep 17 00:00:00 2001 From: TopRichard <121792457+TopRichard@users.noreply.github.com> Date: Tue, 28 May 2024 16:22:12 +0200 Subject: [PATCH 751/889] Update easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-12.3.0.eb MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Bob Dröge --- easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-12.3.0.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-12.3.0.eb index f8351ec6050..88be666ec15 100644 --- a/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-12.3.0.eb @@ -7,8 +7,8 @@ description = """The cpio package contains tools for archiving.""" toolchain = {'name': 'GCCcore', 'version': '12.3.0'} -source_urls = ['https://gnuftp.uib.no/cpio/'] -sources = ['cpio-%(version)s.tar.bz2'] +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_BZ2] checksums = ['937610b97c329a1ec9268553fb780037bcfff0dcffe9725ebc4fd9c1aa9075db'] builddependencies = [ From 7f45efca1fb34d57eb4b9360ef83524545730c03 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Tue, 28 May 2024 16:26:02 +0200 Subject: [PATCH 752/889] adding easyconfigs: IRkernel-1.3.2-gfbf-2023a-R-4.3.2.eb --- .../IRkernel-1.3.2-gfbf-2023a-R-4.3.2.eb | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 easybuild/easyconfigs/i/IRkernel/IRkernel-1.3.2-gfbf-2023a-R-4.3.2.eb diff --git a/easybuild/easyconfigs/i/IRkernel/IRkernel-1.3.2-gfbf-2023a-R-4.3.2.eb b/easybuild/easyconfigs/i/IRkernel/IRkernel-1.3.2-gfbf-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..43953215612 --- /dev/null +++ b/easybuild/easyconfigs/i/IRkernel/IRkernel-1.3.2-gfbf-2023a-R-4.3.2.eb @@ -0,0 +1,72 @@ +easyblock = 'Bundle' + +name = 'IRkernel' +version = '1.3.2' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://irkernel.github.io' +description = """The R kernel for the 'Jupyter' environment executes R code + which the front-end (Jupyter Notebook or other front-ends) submits to the + kernel via the network.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('R', '4.3.2'), + ('Python', '3.11.3'), + ('IPython', '8.14.0'), + ('ZeroMQ', '4.3.4'), +] + +exts_defaultclass = 'RPackage' +exts_filter = ("R -q --no-save", "library(%(ext_name)s)") + +exts_default_options = { + 'source_urls': [ + 'https://cran.r-project.org/src/contrib/', + 'https://cran.rstudio.com/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/%(name)s/', + ], + 'source_tmpl': '%(name)s_%(version)s.tar.gz', +} + +exts_list = [ + ('uuid', '1.1-1', { + 'checksums': ['1611240eb706e6f53400b25c9cf792ad90f151b72ed0918a1e756997f7abb716'], + }), + ('repr', '1.1.7', { + 'checksums': ['73bd696b4d4211096e0d1e382d5ce6591527d2ff400cc7ae8230f0235eed021b'], + }), + ('IRdisplay', '1.1', { + 'checksums': ['83eb030ff91f546cb647899f8aa3f5dc9fe163a89a981696447ea49cc98e8d2b'], + }), + ('pbdZMQ', '0.3-11', { + 'checksums': ['da7e204d857370201f75a05fbd808a2f409d440cc96855bb8f48f4a5dd75405b'], + }), + (name, version, { + 'checksums': ['e1c6d8bddc23e5039dd9c537feb371f937d60028fb753b90345698c58ae424a6'], + }), +] + +modextrapaths = { + 'R_LIBS_SITE': '', + 'JUPYTER_PATH': '%(name)s' +} + +# IPython notebook looks for the json kernel file in kernels/IRkernel +# We start the kernel with default bitmapType 'cairo'. This is a more sensible default +# for headless nodes. See https://github.com/IRkernel/IRkernel/issues/388 +local_kerneldir = '%(installdir)s/IRkernel' +postinstallcmds = [ + 'mkdir -p %s/kernels/ir' % local_kerneldir, + 'cp %s/kernelspec/* %s/kernels/ir' % (local_kerneldir, local_kerneldir), + ('sed -i \'s/"IRkernel::main()"/"options(bitmapType=\\x27cairo\\x27); IRkernel::main()"/g\'' + ' %s/kernels/ir/kernel.json') % local_kerneldir +] + +sanity_check_paths = { + 'files': ['%s/kernels/ir/kernel.json' % local_kerneldir], + 'dirs': [name], +} + +moduleclass = 'tools' From 3f0f473ae57e149223fde27fc5d313418fc91220 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Tue, 28 May 2024 16:27:47 +0200 Subject: [PATCH 753/889] adding easyconfigs: jupyter-rsession-proxy-2.2.0-GCCcore-12.3.0.eb --- ...ter-rsession-proxy-2.2.0-GCCcore-12.3.0.eb | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 easybuild/easyconfigs/j/jupyter-rsession-proxy/jupyter-rsession-proxy-2.2.0-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/j/jupyter-rsession-proxy/jupyter-rsession-proxy-2.2.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/jupyter-rsession-proxy/jupyter-rsession-proxy-2.2.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..47273213f6e --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-rsession-proxy/jupyter-rsession-proxy-2.2.0-GCCcore-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = "PythonPackage" + +name = 'jupyter-rsession-proxy' +version = '2.2.0' + +homepage = 'https://github.com/jupyterhub/jupyter-rsession-proxy' +description = "Jupyter extensions for running an RStudio rsession proxy" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4073f4b4241fe6e976de2c3d49a438b7d82589712e9ee06c19f325a8ec557018'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('jupyter-server-proxy', '4.1.2'), +] + +download_dep_fail = True + +use_pip = True +sanity_pip_check = True + +moduleclass = 'tools' From 26b0911da3dbd47788af1abc095f8ce98e44e907 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Tue, 28 May 2024 16:33:50 +0200 Subject: [PATCH 754/889] adding easyconfigs: py3Dmol-2.1.0-GCCcore-12.3.0.eb --- .../p/py3Dmol/py3Dmol-2.1.0-GCCcore-12.3.0.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/p/py3Dmol/py3Dmol-2.1.0-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/p/py3Dmol/py3Dmol-2.1.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/py3Dmol/py3Dmol-2.1.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..0ff64a7f07a --- /dev/null +++ b/easybuild/easyconfigs/p/py3Dmol/py3Dmol-2.1.0-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonBundle' + +name = 'py3Dmol' +version = '2.1.0' + +homepage = 'https://github.com/3dmol/3Dmol.js/tree/master/py3Dmol' +description = "A simple IPython/Jupyter widget to embed an interactive 3Dmol.js viewer in a notebook." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('IPython', '8.14.0'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'modulename': "%(name)s", + 'checksums': ['83d2f25a9107b4cef125c0c1f5caa4dce9b7577f1346fc0a3f7d12972e11c0e8'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' From 0f0fdb6a73e99e0503374fab1b0205255e2b6707 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Tue, 28 May 2024 16:47:23 +0200 Subject: [PATCH 755/889] fix version of jupyter-server-proxy dependency in jupyter-rsession-proxy-2.2.0-GCCcore-12.3.0.eb --- .../jupyter-rsession-proxy-2.2.0-GCCcore-12.3.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/j/jupyter-rsession-proxy/jupyter-rsession-proxy-2.2.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/jupyter-rsession-proxy/jupyter-rsession-proxy-2.2.0-GCCcore-12.3.0.eb index 47273213f6e..8a4e803d985 100644 --- a/easybuild/easyconfigs/j/jupyter-rsession-proxy/jupyter-rsession-proxy-2.2.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/j/jupyter-rsession-proxy/jupyter-rsession-proxy-2.2.0-GCCcore-12.3.0.eb @@ -18,7 +18,7 @@ builddependencies = [ dependencies = [ ('Python', '3.11.3'), - ('jupyter-server-proxy', '4.1.2'), + ('jupyter-server-proxy', '4.0.0'), ] download_dep_fail = True From 018e03cf6abbc1716b0293a5e1095045845f0d8f Mon Sep 17 00:00:00 2001 From: sassy Date: Tue, 28 May 2024 17:19:35 +0100 Subject: [PATCH 756/889] adding easyconfigs: CellRanger-8.0.1.eb --- .../c/CellRanger/CellRanger-8.0.1.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/c/CellRanger/CellRanger-8.0.1.eb diff --git a/easybuild/easyconfigs/c/CellRanger/CellRanger-8.0.1.eb b/easybuild/easyconfigs/c/CellRanger/CellRanger-8.0.1.eb new file mode 100644 index 00000000000..baa6b095438 --- /dev/null +++ b/easybuild/easyconfigs/c/CellRanger/CellRanger-8.0.1.eb @@ -0,0 +1,31 @@ +# The STAR binary included in this version has been vectorized with AVX +# hence it is not recommended for systems that do not support it. + +easyblock = 'Tarball' + +name = 'CellRanger' +version = '8.0.1' + +homepage = 'https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/what-is-cell-ranger' +description = """Cell Ranger is a set of analysis pipelines that process Chromium + single-cell RNA-seq output to align reads, generate gene-cell matrices and perform + clustering and gene expression analysis.""" + +toolchain = SYSTEM + +download_instructions = """ +Download manually from https://support.10xgenomics.com/single-cell-gene-expression/software/downloads/latest +""" +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ea2a35ac0f03961bab2ea485565d60cc6709a981c833a5e6c2b13a8fef641e81'] + +keepsymlinks = True + +sanity_check_paths = { + 'files': ['bin/cellranger'], + 'dirs': ['bin/rna', 'bin/tenkit'], +} + +sanity_check_commands = ['cellranger testrun --id=tiny'] + +moduleclass = 'bio' From 2ac0f4d17c40e48cef2b7acbb2cfa5343f98b11f Mon Sep 17 00:00:00 2001 From: Richard Top Date: Tue, 28 May 2024 16:35:50 +0000 Subject: [PATCH 757/889] Adding cpio dependency to BLAST+ --- easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.0-gompi-2022b.eb | 1 + easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.1-gompi-2023a.eb | 1 + 2 files changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.0-gompi-2022b.eb b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.0-gompi-2022b.eb index 142ad4eb6aa..17805bd9c66 100644 --- a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.0-gompi-2022b.eb +++ b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.0-gompi-2022b.eb @@ -36,6 +36,7 @@ dependencies = [ ('libpng', '1.6.38'), ('libjpeg-turbo', '2.1.4'), ('LMDB', '0.9.29'), + ('cpio', '2.15'), ] configopts = "--with-64 --with-z=$EBROOTZLIB --with-bz2=$EBROOTBZIP2 " diff --git a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.1-gompi-2023a.eb b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.1-gompi-2023a.eb index 47c8e2d2ef6..fc4e292d217 100644 --- a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.1-gompi-2023a.eb +++ b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.1-gompi-2023a.eb @@ -36,6 +36,7 @@ dependencies = [ ('libpng', '1.6.39'), ('libjpeg-turbo', '2.1.5.1'), ('LMDB', '0.9.31'), + ('cpio', '2.15'), ] configopts = "--with-64 --with-z=$EBROOTZLIB --with-bz2=$EBROOTBZIP2 " From 0b42d077909be31feda31e07084ae56512abc4ce Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Tue, 28 May 2024 19:00:57 +0200 Subject: [PATCH 758/889] remove outdated comment about Slurm support and add --with-show-load-errors=no in OpenMPI-5.0.3-GCC-13.3.0.eb --- easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.3-GCC-13.3.0.eb | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.3-GCC-13.3.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.3-GCC-13.3.0.eb index 107540dad88..81e9279e4bf 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.3-GCC-13.3.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.3-GCC-13.3.0.eb @@ -32,12 +32,9 @@ dependencies = [ # CUDA related patches and custom configure option can be removed if CUDA support isn't wanted. preconfigopts = 'gcc -Iopal/mca/cuda/include -shared opal/mca/cuda/lib/cuda.c -o opal/mca/cuda/lib/libcuda.so && ' -configopts = '--with-cuda=%(start_dir)s/opal/mca/cuda ' +configopts = '--with-cuda=%(start_dir)s/opal/mca/cuda --with-show-load-errors=no ' # disable MPI1 compatibility for now, see what breaks... # configopts += '--enable-mpi1-compatibility ' -# to enable SLURM integration (site-specific) -# configopts += '--with-slurm --with-pmi=/usr/include/slurm --with-pmi-libdir=/usr' - moduleclass = 'mpi' From 45a0a993b48ec89b7c6d25908fd9b354c6921931 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 28 May 2024 20:05:11 +0200 Subject: [PATCH 759/889] move cpio to builddependencies --- easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.0-gompi-2022b.eb | 3 ++- easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.1-gompi-2023a.eb | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.0-gompi-2022b.eb b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.0-gompi-2022b.eb index 17805bd9c66..50076e9cf68 100644 --- a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.0-gompi-2022b.eb +++ b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.0-gompi-2022b.eb @@ -27,6 +27,8 @@ source_urls = ['https://ftp.ncbi.nlm.nih.gov/blast/executables/%(namelower)s/%(v sources = ['ncbi-blast-%(version)s+-src.tar.gz'] checksums = ['bf477f1b0c3b82f0b7a7094bf003a9a83e37e3b0716c1df799060c4feab17500'] +builddependencies = [('cpio', '2.15')] + dependencies = [ ('zlib', '1.2.12'), ('bzip2', '1.0.8'), @@ -36,7 +38,6 @@ dependencies = [ ('libpng', '1.6.38'), ('libjpeg-turbo', '2.1.4'), ('LMDB', '0.9.29'), - ('cpio', '2.15'), ] configopts = "--with-64 --with-z=$EBROOTZLIB --with-bz2=$EBROOTBZIP2 " diff --git a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.1-gompi-2023a.eb b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.1-gompi-2023a.eb index fc4e292d217..bf395c800b1 100644 --- a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.1-gompi-2023a.eb +++ b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.1-gompi-2023a.eb @@ -27,6 +27,8 @@ source_urls = ['https://ftp.ncbi.nlm.nih.gov/blast/executables/%(namelower)s/%(v sources = ['ncbi-blast-%(version)s+-src.tar.gz'] checksums = ['712c2dbdf0fb13cc1c2d4f4ef5dd1ce4b06c3b57e96dfea8f23e6e99f5b1650e'] +builddependencies = [('cpio', '2.15')] + dependencies = [ ('zlib', '1.2.13'), ('bzip2', '1.0.8'), @@ -36,7 +38,6 @@ dependencies = [ ('libpng', '1.6.39'), ('libjpeg-turbo', '2.1.5.1'), ('LMDB', '0.9.31'), - ('cpio', '2.15'), ] configopts = "--with-64 --with-z=$EBROOTZLIB --with-bz2=$EBROOTBZIP2 " From 5b90fd819f80f16940fa2878c4838afa6f0d0940 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 28 May 2024 20:05:21 +0200 Subject: [PATCH 760/889] add cpio as build dependency --- easybuild/easyconfigs/b/BLAST+/BLAST+-2.13.0-gompi-2022a.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.13.0-gompi-2022a.eb b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.13.0-gompi-2022a.eb index fb96f2a9897..28a66d168ce 100644 --- a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.13.0-gompi-2022a.eb +++ b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.13.0-gompi-2022a.eb @@ -27,6 +27,8 @@ source_urls = ['https://ftp.ncbi.nlm.nih.gov/blast/executables/%(namelower)s/%(v sources = ['ncbi-blast-%(version)s+-src.tar.gz'] checksums = ['89553714d133daf28c477f83d333794b3c62e4148408c072a1b4620e5ec4feb2'] +builddependencies = [('cpio', '2.14')] + dependencies = [ ('zlib', '1.2.12'), ('bzip2', '1.0.8'), From 2fb792e55dc308985e9d0c836fa660d64d304ead Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Tue, 28 May 2024 20:45:37 +0200 Subject: [PATCH 761/889] remove comment about MPI1 compatibility in OpenMPI-5.0.3-GCC-13.3.0.eb --- easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.3-GCC-13.3.0.eb | 3 --- 1 file changed, 3 deletions(-) diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.3-GCC-13.3.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.3-GCC-13.3.0.eb index 81e9279e4bf..7e11bfb3000 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.3-GCC-13.3.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.3-GCC-13.3.0.eb @@ -34,7 +34,4 @@ dependencies = [ preconfigopts = 'gcc -Iopal/mca/cuda/include -shared opal/mca/cuda/lib/cuda.c -o opal/mca/cuda/lib/libcuda.so && ' configopts = '--with-cuda=%(start_dir)s/opal/mca/cuda --with-show-load-errors=no ' -# disable MPI1 compatibility for now, see what breaks... -# configopts += '--enable-mpi1-compatibility ' - moduleclass = 'mpi' From 70f2be2cd2bb066ffda9aa4dc1db876734efa7ad Mon Sep 17 00:00:00 2001 From: Simon Branford Date: Wed, 29 May 2024 09:07:30 +0100 Subject: [PATCH 762/889] adding easyconfigs: OSU-Micro-Benchmarks-7.4-gompi-2024.05.eb --- .../OSU-Micro-Benchmarks-7.4-gompi-2024.05.eb | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.4-gompi-2024.05.eb diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.4-gompi-2024.05.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.4-gompi-2024.05.eb new file mode 100644 index 00000000000..60bfb29130b --- /dev/null +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.4-gompi-2024.05.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'OSU-Micro-Benchmarks' +version = '7.4' + +homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' +description = """OSU Micro-Benchmarks""" + +toolchain = {'name': 'gompi', 'version': '2024.05'} +toolchainopts = {'usempi': True} + +source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['1edd0c2efa61999409bfb28740a7f39689a5b42b1a1b4c66d1656e5637f7cefc'] + +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] +modextrapaths = {'PATH': local_benchmark_dirs} + +sanity_check_paths = { + 'files': [], + 'dirs': local_benchmark_dirs, +} + +moduleclass = 'perf' From 855a9a51b9ed05db06d2651b8f762c860e596d0d Mon Sep 17 00:00:00 2001 From: VictorGoitea Date: Wed, 29 May 2024 17:30:46 +0200 Subject: [PATCH 763/889] preseq 3.2.0 GCCcore 12.2.0 --- .../p/preseq/preseq-3.2.0-GCC-12.2.0.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/p/preseq/preseq-3.2.0-GCC-12.2.0.eb diff --git a/easybuild/easyconfigs/p/preseq/preseq-3.2.0-GCC-12.2.0.eb b/easybuild/easyconfigs/p/preseq/preseq-3.2.0-GCC-12.2.0.eb new file mode 100644 index 00000000000..2d4326f4585 --- /dev/null +++ b/easybuild/easyconfigs/p/preseq/preseq-3.2.0-GCC-12.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'preseq' +version = '3.2.0' + +homepage = 'https://smithlabresearch.org/software/preseq' +description = "Software for predicting library complexity and genome coverage in high-throughput sequencing." + +toolchain = {'name': 'GCC', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/smithlabcode/preseq/releases/download/v%(version)s'] +sources = [SOURCE_TAR_GZ] +checksums = ['95b81c9054e0d651de398585c7e96b807ad98f0bdc541b3e46665febbe2134d9'] + +dependencies = [ + ('GSL', '2.7'), + ('HTSlib', '1.17'), + ('zlib', '1.2.12'), +] + +configopts = '--enable-hts CPPFLAGS="-I$EBROOTHTSLIB/include" LDFLAGS="-L$EBROOTHTSLIB/lib"' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['preseq', 'to-mr']], + 'dirs': [], +} + +sanity_check_commands = ['preseq'] + +moduleclass = 'bio' \ No newline at end of file From 9127c8ee3aa4aa9779da32d27c56ff4e697b4aad Mon Sep 17 00:00:00 2001 From: VictorGoitea Date: Wed, 29 May 2024 17:33:54 +0200 Subject: [PATCH 764/889] preseq 3.2.0 GCCcore 12.2.0 --- .../p/preseq/preseq-3.2.0-GCC-12.2.0.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/p/preseq/preseq-3.2.0-GCC-12.2.0.eb diff --git a/easybuild/easyconfigs/p/preseq/preseq-3.2.0-GCC-12.2.0.eb b/easybuild/easyconfigs/p/preseq/preseq-3.2.0-GCC-12.2.0.eb new file mode 100644 index 00000000000..2d4326f4585 --- /dev/null +++ b/easybuild/easyconfigs/p/preseq/preseq-3.2.0-GCC-12.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'preseq' +version = '3.2.0' + +homepage = 'https://smithlabresearch.org/software/preseq' +description = "Software for predicting library complexity and genome coverage in high-throughput sequencing." + +toolchain = {'name': 'GCC', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/smithlabcode/preseq/releases/download/v%(version)s'] +sources = [SOURCE_TAR_GZ] +checksums = ['95b81c9054e0d651de398585c7e96b807ad98f0bdc541b3e46665febbe2134d9'] + +dependencies = [ + ('GSL', '2.7'), + ('HTSlib', '1.17'), + ('zlib', '1.2.12'), +] + +configopts = '--enable-hts CPPFLAGS="-I$EBROOTHTSLIB/include" LDFLAGS="-L$EBROOTHTSLIB/lib"' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['preseq', 'to-mr']], + 'dirs': [], +} + +sanity_check_commands = ['preseq'] + +moduleclass = 'bio' \ No newline at end of file From 856e2cbe00dbf00998a8957ea62301f77209321e Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Wed, 29 May 2024 21:33:53 +0200 Subject: [PATCH 765/889] adding easyconfigs: tmux-3.4-GCCcore-13.2.0.eb, tmux-3.4-GCCcore-13.3.0.eb, tmux-3.4.eb --- .../t/tmux/tmux-3.4-GCCcore-13.2.0.eb | 36 +++++++++++++++++++ .../t/tmux/tmux-3.4-GCCcore-13.3.0.eb | 36 +++++++++++++++++++ easybuild/easyconfigs/t/tmux/tmux-3.4.eb | 34 ++++++++++++++++++ 3 files changed, 106 insertions(+) create mode 100644 easybuild/easyconfigs/t/tmux/tmux-3.4-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/t/tmux/tmux-3.4-GCCcore-13.3.0.eb create mode 100644 easybuild/easyconfigs/t/tmux/tmux-3.4.eb diff --git a/easybuild/easyconfigs/t/tmux/tmux-3.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/t/tmux/tmux-3.4-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..20559aafdb6 --- /dev/null +++ b/easybuild/easyconfigs/t/tmux/tmux-3.4-GCCcore-13.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'tmux' +version = '3.4' + +homepage = 'https://github.com/tmux/tmux/' +description = """tmux is a terminal multiplexer: it enables a number of +terminals to be created, accessed, and controlled from a single screen. tmux +may be detached from a screen and continue running in the background, then +later reattached.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'optarch': True} + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['551ab8dea0bf505c0ad6b7bb35ef567cdde0ccb84357df142c254f35a23e19aa'] + +builddependencies = [ + ('binutils', '2.40'), + ('Bison', '3.8.2'), + ('make', '4.4.1'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('libevent', '2.1.12'), + ('ncurses', '6.4'), +] + +sanity_check_paths = { + 'files': ['bin/tmux'], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tmux/tmux-3.4-GCCcore-13.3.0.eb b/easybuild/easyconfigs/t/tmux/tmux-3.4-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..83a8748a13e --- /dev/null +++ b/easybuild/easyconfigs/t/tmux/tmux-3.4-GCCcore-13.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'tmux' +version = '3.4' + +homepage = 'https://github.com/tmux/tmux/' +description = """tmux is a terminal multiplexer: it enables a number of +terminals to be created, accessed, and controlled from a single screen. tmux +may be detached from a screen and continue running in the background, then +later reattached.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'optarch': True} + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['551ab8dea0bf505c0ad6b7bb35ef567cdde0ccb84357df142c254f35a23e19aa'] + +builddependencies = [ + ('binutils', '2.42'), + ('Bison', '3.8.2'), + ('make', '4.4.1'), + ('pkgconf', '2.2.0'), +] + +dependencies = [ + ('libevent', '2.1.12'), + ('ncurses', '6.5'), +] + +sanity_check_paths = { + 'files': ['bin/tmux'], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tmux/tmux-3.4.eb b/easybuild/easyconfigs/t/tmux/tmux-3.4.eb new file mode 100644 index 00000000000..d15f35e58ed --- /dev/null +++ b/easybuild/easyconfigs/t/tmux/tmux-3.4.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'tmux' +version = '3.4' + +homepage = 'https://github.com/tmux/tmux/' +description = """tmux is a terminal multiplexer: it enables a number of +terminals to be created, accessed, and controlled from a single screen. tmux +may be detached from a screen and continue running in the background, then +later reattached.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['551ab8dea0bf505c0ad6b7bb35ef567cdde0ccb84357df142c254f35a23e19aa'] + +builddependencies = [ + ('Bison', '3.8.2'), +] + +dependencies = [ + ('libevent', '2.1.12'), + ('ncurses', '6.5'), +] + +sanity_check_paths = { + 'files': ['bin/tmux'], + 'dirs': [] +} + +sanity_check_commands = ["tmux --help 2>&1 | grep 'usage: tmux'"] + +moduleclass = 'tools' From 6e0b3ab509575b458829a0f22a3a9f26319ab6a5 Mon Sep 17 00:00:00 2001 From: Alexander Salois Date: Wed, 29 May 2024 13:35:22 -0600 Subject: [PATCH 766/889] Added a new GTDB-tk for v 2.4.0 --- .../g/GTDB-Tk/GTDB-Tk-2.4.0-foss-2023a.eb | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-2.4.0-foss-2023a.eb diff --git a/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-2.4.0-foss-2023a.eb b/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-2.4.0-foss-2023a.eb new file mode 100644 index 00000000000..271be65a5dd --- /dev/null +++ b/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-2.4.0-foss-2023a.eb @@ -0,0 +1,46 @@ +# Updated from previous config +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'GTDB-Tk' +version = '2.4.0' + +homepage = 'https://github.com/Ecogenomics/GTDBTk' +description = "A toolkit for assigning objective taxonomic classifications to bacterial and archaeal genomes." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('DendroPy', '4.6.1'), + ('matplotlib', '3.7.2'), + ('prodigal', '2.6.3'), + ('HMMER', '3.4'), + ('pplacer', '1.1.alpha19', '', SYSTEM), + ('FastANI', '1.34'), + ('FastTree', '2.1.11'), + ('Mash', '2.3'), + ('tqdm', '4.66.1'), + ('pydantic', '1.10.13'), +] + +use_pip = True + +exts_list = [ + ('gtdbtk', version, { + 'checksums': ['e67bab2c8f3e47c7242c70236c78e85bb9dc4721636bbf5044b171f18f22b1f7'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/gtdbtk'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["gtdbtk --help"] + +moduleclass = 'bio' From 8c35874aa3d1706a27652709be6b4ce3c46ae793 Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Wed, 29 May 2024 21:46:55 +0200 Subject: [PATCH 767/889] adding easyconfigs: Boost-1.85.0-GCC-13.3.0.eb --- .../b/Boost/Boost-1.85.0-GCC-13.3.0.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/b/Boost/Boost-1.85.0-GCC-13.3.0.eb diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.85.0-GCC-13.3.0.eb b/easybuild/easyconfigs/b/Boost/Boost-1.85.0-GCC-13.3.0.eb new file mode 100644 index 00000000000..10518dc36a3 --- /dev/null +++ b/easybuild/easyconfigs/b/Boost/Boost-1.85.0-GCC-13.3.0.eb @@ -0,0 +1,31 @@ +## +# Authors:: Denis Kristak +## +name = 'Boost' +version = '1.85.0' + +homepage = 'https://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'GCC', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['be0d91732d5b0cc6fbb275c7939974457e79b54d6f07ce2e3dfdd68bef883b0b'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.3.1'), + ('XZ', '5.4.5'), + ('zstd', '1.5.6'), + ('ICU', '75.1'), +] + +configopts = '--without-libraries=python,mpi' + +# disable MPI, build Boost libraries with tagged layout +boost_mpi = False +tagged_layout = True + +moduleclass = 'devel' From af2734c28ccbc3f135ab6176af6d780debfd017a Mon Sep 17 00:00:00 2001 From: Victor Enrique Goitea <43407659+VictorGoitea@users.noreply.github.com> Date: Thu, 30 May 2024 10:01:39 +0200 Subject: [PATCH 768/889] Update preseq-3.2.0-GCC-12.2.0.eb --- easybuild/easyconfigs/p/preseq/preseq-3.2.0-GCC-12.2.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/preseq/preseq-3.2.0-GCC-12.2.0.eb b/easybuild/easyconfigs/p/preseq/preseq-3.2.0-GCC-12.2.0.eb index 2d4326f4585..e97deba5b85 100644 --- a/easybuild/easyconfigs/p/preseq/preseq-3.2.0-GCC-12.2.0.eb +++ b/easybuild/easyconfigs/p/preseq/preseq-3.2.0-GCC-12.2.0.eb @@ -28,4 +28,4 @@ sanity_check_paths = { sanity_check_commands = ['preseq'] -moduleclass = 'bio' \ No newline at end of file +moduleclass = 'bio' From 1238f376b84dbcba11b0ae1ee5ffd6332ae3e143 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Thu, 30 May 2024 11:01:47 +0200 Subject: [PATCH 769/889] add --disable-htmlpages to configopts --- easybuild/easyconfigs/f/FFmpeg/FFmpeg-5.0.1-GCCcore-11.3.0.eb | 2 +- easybuild/easyconfigs/f/FFmpeg/FFmpeg-5.1.2-GCCcore-12.2.0.eb | 2 +- easybuild/easyconfigs/f/FFmpeg/FFmpeg-6.0-GCCcore-12.3.0.eb | 2 +- easybuild/easyconfigs/f/FFmpeg/FFmpeg-6.0-GCCcore-13.2.0.eb | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/f/FFmpeg/FFmpeg-5.0.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-5.0.1-GCCcore-11.3.0.eb index 5f6462eec21..6a468c1f81d 100644 --- a/easybuild/easyconfigs/f/FFmpeg/FFmpeg-5.0.1-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-5.0.1-GCCcore-11.3.0.eb @@ -33,7 +33,7 @@ dependencies = [ configopts = '--enable-pic --enable-shared --enable-gpl --enable-version3 --enable-nonfree --cc="$CC" --cxx="$CXX" ' configopts += '--enable-libx264 --enable-libx265 --enable-libmp3lame --enable-libfreetype --enable-fontconfig ' -configopts += '--enable-libfribidi --enable-sdl2' +configopts += '--enable-libfribidi --enable-sdl2 --disable-htmlpages' sanity_check_paths = { 'files': ['bin/ff%s' % x for x in ['mpeg', 'probe', 'play']] + diff --git a/easybuild/easyconfigs/f/FFmpeg/FFmpeg-5.1.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-5.1.2-GCCcore-12.2.0.eb index b06aee26953..dfe40032efc 100644 --- a/easybuild/easyconfigs/f/FFmpeg/FFmpeg-5.1.2-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-5.1.2-GCCcore-12.2.0.eb @@ -33,7 +33,7 @@ dependencies = [ configopts = '--enable-pic --enable-shared --enable-gpl --enable-version3 --enable-nonfree --cc="$CC" --cxx="$CXX" ' configopts += '--enable-libx264 --enable-libx265 --enable-libmp3lame --enable-libfreetype --enable-fontconfig ' -configopts += '--enable-libfribidi --enable-sdl2' +configopts += '--enable-libfribidi --enable-sdl2 --disable-htmlpages' sanity_check_paths = { 'files': ['bin/ff%s' % x for x in ['mpeg', 'probe', 'play']] + diff --git a/easybuild/easyconfigs/f/FFmpeg/FFmpeg-6.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-6.0-GCCcore-12.3.0.eb index 4f5fb4a0bc5..caa80fed59d 100644 --- a/easybuild/easyconfigs/f/FFmpeg/FFmpeg-6.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-6.0-GCCcore-12.3.0.eb @@ -33,7 +33,7 @@ dependencies = [ configopts = '--enable-pic --enable-shared --enable-gpl --enable-version3 --enable-nonfree --cc="$CC" --cxx="$CXX" ' configopts += '--enable-libx264 --enable-libx265 --enable-libmp3lame --enable-libfreetype --enable-fontconfig ' -configopts += '--enable-libfribidi --enable-sdl2' +configopts += '--enable-libfribidi --enable-sdl2 --disable-htmlpages' sanity_check_paths = { 'files': ['bin/ff%s' % x for x in ['mpeg', 'probe', 'play']] + diff --git a/easybuild/easyconfigs/f/FFmpeg/FFmpeg-6.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-6.0-GCCcore-13.2.0.eb index fab8972c089..c75695951f6 100644 --- a/easybuild/easyconfigs/f/FFmpeg/FFmpeg-6.0-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-6.0-GCCcore-13.2.0.eb @@ -33,7 +33,7 @@ dependencies = [ configopts = '--enable-pic --enable-shared --enable-gpl --enable-version3 --enable-nonfree --cc="$CC" --cxx="$CXX" ' configopts += '--enable-libx264 --enable-libx265 --enable-libmp3lame --enable-libfreetype --enable-fontconfig ' -configopts += '--enable-libfribidi --enable-sdl2' +configopts += '--enable-libfribidi --enable-sdl2 --disable-htmlpages' sanity_check_paths = { 'files': ['bin/ff%s' % x for x in ['mpeg', 'probe', 'play']] + From 3d834c2627b1c7c07a36aa0a03213e0422c711e2 Mon Sep 17 00:00:00 2001 From: e0958350 Date: Thu, 30 May 2024 17:06:52 +0800 Subject: [PATCH 770/889] adding easyconfigs: Seaborn-0.13.2-gfbf-2023b.eb --- .../s/Seaborn/Seaborn-0.13.2-gfbf-2023b.eb | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 easybuild/easyconfigs/s/Seaborn/Seaborn-0.13.2-gfbf-2023b.eb diff --git a/easybuild/easyconfigs/s/Seaborn/Seaborn-0.13.2-gfbf-2023b.eb b/easybuild/easyconfigs/s/Seaborn/Seaborn-0.13.2-gfbf-2023b.eb new file mode 100644 index 00000000000..23ec87f56ed --- /dev/null +++ b/easybuild/easyconfigs/s/Seaborn/Seaborn-0.13.2-gfbf-2023b.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'Seaborn' +version = '0.13.2' + +homepage = 'https://seaborn.pydata.org/' +description = """ Seaborn is a Python visualization library based on matplotlib. + It provides a high-level interface for drawing attractive statistical graphics. """ + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['93e60a40988f4d65e9f4885df477e2fdaff6b73a9ded434c1ab356dd57eefff7'] + +dependencies = [ + ('Python', '3.11.5'), + ('matplotlib', '3.8.2'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'bio' From c136ea6a2debd69cd97dffb91b0d21808e10c2a2 Mon Sep 17 00:00:00 2001 From: thielemans Date: Thu, 30 May 2024 11:14:25 +0200 Subject: [PATCH 771/889] Removed timm-0.9.7-foss-2022a-CUDA-11.7.0.eb crate duplicates Removed all crate duplicates as they would trigger extraction errors. They could not be succesfully extracted (a second time) on eb 4.9.1. --- .../timm/timm-0.9.7-foss-2022a-CUDA-11.7.0.eb | 111 ------------------ 1 file changed, 111 deletions(-) diff --git a/easybuild/easyconfigs/t/timm/timm-0.9.7-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/t/timm/timm-0.9.7-foss-2022a-CUDA-11.7.0.eb index f97e02d9b16..07cedb70489 100644 --- a/easybuild/easyconfigs/t/timm/timm-0.9.7-foss-2022a-CUDA-11.7.0.eb +++ b/easybuild/easyconfigs/t/timm/timm-0.9.7-foss-2022a-CUDA-11.7.0.eb @@ -139,14 +139,9 @@ crates = [ ('aho-corasick', '1.1.2'), ('anes', '0.1.6'), ('atty', '0.2.14'), - ('autocfg', '1.1.0'), ('bit-set', '0.5.3'), ('bit-vec', '0.6.3'), - ('bitflags', '1.3.2'), - ('bitflags', '2.4.2'), - ('bumpalo', '3.14.0'), ('cast', '0.3.0'), - ('cfg-if', '1.0.0'), ('ciborium', '0.2.2'), ('ciborium-io', '0.2.2'), ('ciborium-ll', '0.2.2'), @@ -154,91 +149,41 @@ crates = [ ('clap_lex', '0.2.4'), ('criterion', '0.4.0'), ('criterion-plot', '0.5.0'), - ('crossbeam-deque', '0.8.5'), - ('crossbeam-epoch', '0.9.18'), - ('crossbeam-utils', '0.8.19'), ('crunchy', '0.2.2'), - ('either', '1.9.0'), ('errno', '0.3.8'), ('fastrand', '2.0.1'), ('fnv', '1.0.7'), - ('getrandom', '0.2.12'), ('half', '2.3.1'), ('hashbrown', '0.12.3'), ('hermit-abi', '0.1.19'), ('indexmap', '1.9.3'), ('itertools', '0.10.5'), - ('itoa', '1.0.10'), - ('js-sys', '0.3.67'), - ('lazy_static', '1.4.0'), - ('libc', '0.2.152'), - ('libm', '0.2.8'), ('linux-raw-sys', '0.4.13'), - ('log', '0.4.20'), ('memchr', '2.7.1'), ('memmap2', '0.5.10'), - ('num-traits', '0.2.17'), - ('once_cell', '1.19.0'), ('oorandom', '11.1.3'), ('os_str_bytes', '6.6.1'), ('plotters', '0.3.5'), ('plotters-backend', '0.3.5'), ('plotters-svg', '0.3.5'), - ('ppv-lite86', '0.2.17'), - ('proc-macro2', '1.0.78'), - ('proptest', '1.4.0'), ('pyo3', '0.20.2'), ('pyo3-build-config', '0.20.2'), ('pyo3-ffi', '0.20.2'), ('pyo3-macros', '0.20.2'), ('pyo3-macros-backend', '0.20.2'), ('quick-error', '1.2.3'), - ('quote', '1.0.35'), - ('rand', '0.8.5'), - ('rand_chacha', '0.3.1'), - ('rand_core', '0.6.4'), - ('rand_xorshift', '0.3.0'), - ('rayon', '1.8.1'), - ('rayon-core', '1.12.1'), - ('redox_syscall', '0.4.1'), ('regex', '1.10.3'), ('regex-automata', '0.4.4'), - ('regex-syntax', '0.8.2'), ('rustix', '0.38.30'), ('rusty-fork', '0.3.0'), - ('ryu', '1.0.16'), ('same-file', '1.0.6'), - ('serde', '1.0.195'), - ('serde_derive', '1.0.195'), - ('serde_json', '1.0.111'), - ('syn', '2.0.48'), ('tempfile', '3.9.0'), ('textwrap', '0.16.0'), ('tinytemplate', '1.2.1'), - ('unarray', '0.1.4'), - ('unicode-ident', '1.0.12'), ('wait-timeout', '0.2.0'), ('walkdir', '2.4.0'), - ('wasi', '0.11.0+wasi-snapshot-preview1'), - ('wasm-bindgen', '0.2.90'), - ('wasm-bindgen-backend', '0.2.90'), - ('wasm-bindgen-macro', '0.2.90'), - ('wasm-bindgen-macro-support', '0.2.90'), - ('wasm-bindgen-shared', '0.2.90'), ('web-sys', '0.3.67'), - ('winapi', '0.3.9'), - ('winapi-i686-pc-windows-gnu', '0.4.0'), - ('winapi-util', '0.1.6'), - ('winapi-x86_64-pc-windows-gnu', '0.4.0'), ('windows-sys', '0.52.0'), - ('windows-targets', '0.52.0'), - ('windows_aarch64_gnullvm', '0.52.0'), - ('windows_aarch64_msvc', '0.52.0'), - ('windows_i686_gnu', '0.52.0'), - ('windows_i686_msvc', '0.52.0'), - ('windows_x86_64_gnu', '0.52.0'), - ('windows_x86_64_gnullvm', '0.52.0'), - ('windows_x86_64_msvc', '0.52.0'), ] sources = [SOURCE_TAR_GZ] checksums = [ @@ -352,14 +297,9 @@ checksums = [ {'aho-corasick-1.1.2.tar.gz': 'b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0'}, {'anes-0.1.6.tar.gz': '4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299'}, {'atty-0.2.14.tar.gz': 'd9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8'}, - {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, {'bit-set-0.5.3.tar.gz': '0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1'}, {'bit-vec-0.6.3.tar.gz': '349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb'}, - {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, - {'bitflags-2.4.2.tar.gz': 'ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf'}, - {'bumpalo-3.14.0.tar.gz': '7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec'}, {'cast-0.3.0.tar.gz': '37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5'}, - {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, {'ciborium-0.2.2.tar.gz': '42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e'}, {'ciborium-io-0.2.2.tar.gz': '05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757'}, {'ciborium-ll-0.2.2.tar.gz': '57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9'}, @@ -367,91 +307,40 @@ checksums = [ {'clap_lex-0.2.4.tar.gz': '2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5'}, {'criterion-0.4.0.tar.gz': 'e7c76e09c1aae2bc52b3d2f29e13c6572553b30c4aa1b8a49fd70de6412654cb'}, {'criterion-plot-0.5.0.tar.gz': '6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1'}, - {'crossbeam-deque-0.8.5.tar.gz': '613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d'}, - {'crossbeam-epoch-0.9.18.tar.gz': '5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e'}, - {'crossbeam-utils-0.8.19.tar.gz': '248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345'}, {'crunchy-0.2.2.tar.gz': '7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7'}, - {'either-1.9.0.tar.gz': 'a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07'}, {'errno-0.3.8.tar.gz': 'a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245'}, {'fastrand-2.0.1.tar.gz': '25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5'}, {'fnv-1.0.7.tar.gz': '3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1'}, - {'getrandom-0.2.12.tar.gz': '190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5'}, {'half-2.3.1.tar.gz': 'bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872'}, {'hashbrown-0.12.3.tar.gz': '8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888'}, {'hermit-abi-0.1.19.tar.gz': '62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33'}, {'indexmap-1.9.3.tar.gz': 'bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99'}, {'itertools-0.10.5.tar.gz': 'b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473'}, - {'itoa-1.0.10.tar.gz': 'b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c'}, - {'js-sys-0.3.67.tar.gz': '9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1'}, - {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, - {'libc-0.2.152.tar.gz': '13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7'}, - {'libm-0.2.8.tar.gz': '4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058'}, {'linux-raw-sys-0.4.13.tar.gz': '01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c'}, - {'log-0.4.20.tar.gz': 'b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f'}, {'memchr-2.7.1.tar.gz': '523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149'}, {'memmap2-0.5.10.tar.gz': '83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327'}, - {'num-traits-0.2.17.tar.gz': '39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c'}, - {'once_cell-1.19.0.tar.gz': '3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92'}, {'oorandom-11.1.3.tar.gz': '0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575'}, {'os_str_bytes-6.6.1.tar.gz': 'e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1'}, {'plotters-0.3.5.tar.gz': 'd2c224ba00d7cadd4d5c660deaf2098e5e80e07846537c51f9cfa4be50c1fd45'}, {'plotters-backend-0.3.5.tar.gz': '9e76628b4d3a7581389a35d5b6e2139607ad7c75b17aed325f210aa91f4a9609'}, {'plotters-svg-0.3.5.tar.gz': '38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab'}, - {'ppv-lite86-0.2.17.tar.gz': '5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de'}, - {'proc-macro2-1.0.78.tar.gz': 'e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae'}, - {'proptest-1.4.0.tar.gz': '31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf'}, {'pyo3-0.20.2.tar.gz': '9a89dc7a5850d0e983be1ec2a463a171d20990487c3cfcd68b5363f1ee3d6fe0'}, {'pyo3-build-config-0.20.2.tar.gz': '07426f0d8fe5a601f26293f300afd1a7b1ed5e78b2a705870c5f30893c5163be'}, {'pyo3-ffi-0.20.2.tar.gz': 'dbb7dec17e17766b46bca4f1a4215a85006b4c2ecde122076c562dd058da6cf1'}, {'pyo3-macros-0.20.2.tar.gz': '05f738b4e40d50b5711957f142878cfa0f28e054aa0ebdfc3fd137a843f74ed3'}, {'pyo3-macros-backend-0.20.2.tar.gz': '0fc910d4851847827daf9d6cdd4a823fbdaab5b8818325c5e97a86da79e8881f'}, {'quick-error-1.2.3.tar.gz': 'a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0'}, - {'quote-1.0.35.tar.gz': '291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef'}, - {'rand-0.8.5.tar.gz': '34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404'}, - {'rand_chacha-0.3.1.tar.gz': 'e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88'}, - {'rand_core-0.6.4.tar.gz': 'ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c'}, - {'rand_xorshift-0.3.0.tar.gz': 'd25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f'}, - {'rayon-1.8.1.tar.gz': 'fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051'}, - {'rayon-core-1.12.1.tar.gz': '1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2'}, - {'redox_syscall-0.4.1.tar.gz': '4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa'}, {'regex-1.10.3.tar.gz': 'b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15'}, {'regex-automata-0.4.4.tar.gz': '3b7fa1134405e2ec9353fd416b17f8dacd46c473d7d3fd1cf202706a14eb792a'}, - {'regex-syntax-0.8.2.tar.gz': 'c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f'}, {'rustix-0.38.30.tar.gz': '322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca'}, {'rusty-fork-0.3.0.tar.gz': 'cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f'}, - {'ryu-1.0.16.tar.gz': 'f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c'}, {'same-file-1.0.6.tar.gz': '93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502'}, - {'serde-1.0.195.tar.gz': '63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02'}, - {'serde_derive-1.0.195.tar.gz': '46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c'}, - {'serde_json-1.0.111.tar.gz': '176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4'}, - {'syn-2.0.48.tar.gz': '0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f'}, {'tempfile-3.9.0.tar.gz': '01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa'}, {'textwrap-0.16.0.tar.gz': '222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d'}, {'tinytemplate-1.2.1.tar.gz': 'be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc'}, - {'unarray-0.1.4.tar.gz': 'eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94'}, - {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'}, {'wait-timeout-0.2.0.tar.gz': '9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6'}, {'walkdir-2.4.0.tar.gz': 'd71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee'}, - {'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}, - {'wasm-bindgen-0.2.90.tar.gz': 'b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406'}, - {'wasm-bindgen-backend-0.2.90.tar.gz': 'fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd'}, - {'wasm-bindgen-macro-0.2.90.tar.gz': '3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999'}, - {'wasm-bindgen-macro-support-0.2.90.tar.gz': 'bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7'}, - {'wasm-bindgen-shared-0.2.90.tar.gz': '4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b'}, {'web-sys-0.3.67.tar.gz': '58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed'}, - {'winapi-0.3.9.tar.gz': '5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419'}, - {'winapi-i686-pc-windows-gnu-0.4.0.tar.gz': 'ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6'}, - {'winapi-util-0.1.6.tar.gz': 'f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596'}, - {'winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz': '712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f'}, - {'windows-sys-0.52.0.tar.gz': '282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d'}, - {'windows-targets-0.52.0.tar.gz': '8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd'}, - {'windows_aarch64_gnullvm-0.52.0.tar.gz': 'cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea'}, - {'windows_aarch64_msvc-0.52.0.tar.gz': 'bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef'}, - {'windows_i686_gnu-0.52.0.tar.gz': 'a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313'}, - {'windows_i686_msvc-0.52.0.tar.gz': 'ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a'}, - {'windows_x86_64_gnu-0.52.0.tar.gz': '3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd'}, - {'windows_x86_64_gnullvm-0.52.0.tar.gz': '1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e'}, - {'windows_x86_64_msvc-0.52.0.tar.gz': 'dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04'}, ] use_pip = True From cb93fb9ac3f549ebd8c9aafcbf7c66ae2b89228e Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Thu, 30 May 2024 15:37:05 +0200 Subject: [PATCH 772/889] adding easyconfigs: GL2PS-1.4.2-GCCcore-12.3.0.eb, ROOT-6.30.06-foss-2023a.eb --- .../g/GL2PS/GL2PS-1.4.2-GCCcore-12.3.0.eb | 34 ++++++++++++ .../r/ROOT/ROOT-6.30.06-foss-2023a.eb | 53 +++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 easybuild/easyconfigs/g/GL2PS/GL2PS-1.4.2-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/r/ROOT/ROOT-6.30.06-foss-2023a.eb diff --git a/easybuild/easyconfigs/g/GL2PS/GL2PS-1.4.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/GL2PS/GL2PS-1.4.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..55df4c13600 --- /dev/null +++ b/easybuild/easyconfigs/g/GL2PS/GL2PS-1.4.2-GCCcore-12.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'GL2PS' +version = '1.4.2' + +homepage = 'https://www.geuz.org/gl2ps/' +description = """GL2PS: an OpenGL to PostScript printing library""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://geuz.org/gl2ps/src/'] +sources = [SOURCELOWER_TGZ] +checksums = ['8d1c00c1018f96b4b97655482e57dcb0ce42ae2f1d349cd6d4191e7848d9ffe9'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), +] + +dependencies = [ + ('X11', '20230603'), + ('Mesa', '23.1.4'), + ('libGLU', '9.0.3'), + ('freeglut', '3.4.0'), + ('libpng', '1.6.39'), + ('zlib', '1.2.13'), +] + +sanity_check_paths = { + 'files': ['include/gl2ps.h', 'lib/libgl2ps.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/r/ROOT/ROOT-6.30.06-foss-2023a.eb b/easybuild/easyconfigs/r/ROOT/ROOT-6.30.06-foss-2023a.eb new file mode 100644 index 00000000000..b11dbb20ea5 --- /dev/null +++ b/easybuild/easyconfigs/r/ROOT/ROOT-6.30.06-foss-2023a.eb @@ -0,0 +1,53 @@ +name = 'ROOT' +version = '6.30.06' + +homepage = 'https://root.cern.ch' +description = """The ROOT system provides a set of OO frameworks with all the functionality + needed to handle and analyze large amounts of data in a very efficient way.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True} + +source_urls = ['https://root.cern.ch/download/'] +sources = ['%(namelower)s_v%(version)s.source.tar.gz'] +checksums = ['300db7ed1b678ed2fb9635ca675921a1945c7c2103da840033b493091f55700c'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('GSL', '2.7'), + ('libxml2', '2.11.4'), + ('PCRE', '8.45'), + ('CFITSIO', '4.3.0'), + ('freetype', '2.13.0'), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('zlib', '1.2.13'), + ('X11', '20230603'), + ('Mesa', '23.1.4'), + ('libGLU', '9.0.3'), + ('GL2PS', '1.4.2'), + ('FFTW', '3.3.10'), + ('SQLite', '3.42.0'), + ('XZ', '5.4.2'), + ('libpng', '1.6.39'), +] + +# NOTE: Ensure that each configopts string begins with a blank +# disable some components +configopts = " -Dxrootd=OFF -Dmysql=OFF -Dkrb5=OFF -Dodbc=OFF -Doracle=OFF -Dpgsql=OFF -Dqt=OFF" + +# make sure some components are enabled +configopts += " -Dpcre=ON -Dzlib=ON -Dpyroot=ON" +configopts += " -Dunuran=ON -Dexplicitlink=ON -Dminuit2=ON -Droofit=ON " + +# Add component-specific settings based on dependencies +configopts += ' -Dfftw3=ON -Dgsl=ON -DOpenGL_GL_PREFERENCE=GLVND' + +# Set C++ standard to C++17 for better stability +configopts += ' -DCMAKE_CXX_STANDARD=17' + +moduleclass = 'data' From 0e3a991864c40ca0456b6248f17e7749e23a6f1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Thu, 30 May 2024 14:20:13 +0000 Subject: [PATCH 773/889] adding easyconfigs: libaio-0.3.113-GCCcore-13.2.0.eb --- .../l/libaio/libaio-0.3.113-GCCcore-13.2.0.eb | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 easybuild/easyconfigs/l/libaio/libaio-0.3.113-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/l/libaio/libaio-0.3.113-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libaio/libaio-0.3.113-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..e5a7827cc4b --- /dev/null +++ b/easybuild/easyconfigs/l/libaio/libaio-0.3.113-GCCcore-13.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'MakeCp' + +name = 'libaio' +version = '0.3.113' +_libversion = '1.0.2' + +homepage = 'https://pagure.io/libaio' +description = "Asynchronous input/output library that uses the kernels native interface." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://pagure.io/%(name)s/archive/%(name)s-%(version)s/'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['1c561c20670c5c09cc8437a622008c0693c6a7816c1f30332da3796953b2f454'] + +builddependencies = [('binutils', '2.40')] + +_soname = "libaio.%s.%s" % (SHLIB_EXT, _libversion) + +files_to_copy = [ + (["src/libaio.a", "src/%s" % _soname], "lib"), + (["src/libaio.h"], "include"), +] + +# links to the shared library with generic names +_solinks = [ + "libaio.%s" % SHLIB_EXT, + "libaio.%s.1" % SHLIB_EXT, +] + +postinstallcmds = ["cd %%(installdir)s/lib && ln -s %s %s" % (_soname, l) for l in _solinks] + +sanity_check_paths = { + 'files': ['lib/%s' % l for l in ['libaio.a', _soname] + _solinks] + ['include/libaio.h'], + 'dirs': [], +} + +moduleclass = 'lib' From 496cb8c2d4937fd5784a30ff37f9764be480945f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Thu, 30 May 2024 14:57:08 +0000 Subject: [PATCH 774/889] adding easyconfigs: code-server-4.89.1.eb --- .../c/code-server/code-server-4.89.1.eb | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 easybuild/easyconfigs/c/code-server/code-server-4.89.1.eb diff --git a/easybuild/easyconfigs/c/code-server/code-server-4.89.1.eb b/easybuild/easyconfigs/c/code-server/code-server-4.89.1.eb new file mode 100644 index 00000000000..12bc8444b19 --- /dev/null +++ b/easybuild/easyconfigs/c/code-server/code-server-4.89.1.eb @@ -0,0 +1,20 @@ +name = 'code-server' +version = '4.89.1' + +homepage = 'https://github.com/coder/code-server' +description = """Run VS Code on any machine anywhere and access it in the browser.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/coder/code-server/releases/download/v%(version)s/'] +sources = ['code-server-%(version)s-linux-%(mapped_arch)s.tar.gz'] +checksums = [ + { + 'code-server-%(version)s-linux-amd64.tar.gz': + '69d3d1f7158d6e2125bd2f831611ab959a2aa80d5a7d96422a44070eb2b8645b', + 'code-server-%(version)s-linux-arm64.tar.gz': + '5c3769b1ab5cbb2eceb092524dc46f558905e4260155b477d3a313f9ea25ca33', + } +] + +moduleclass = 'tools' From f56242138ffb1d1b442801dc510587e9f2e0d654 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Thu, 30 May 2024 14:58:51 +0000 Subject: [PATCH 775/889] Fix checksums --- easybuild/easyconfigs/c/code-server/code-server-4.89.1.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/c/code-server/code-server-4.89.1.eb b/easybuild/easyconfigs/c/code-server/code-server-4.89.1.eb index 12bc8444b19..dfd586cb4fc 100644 --- a/easybuild/easyconfigs/c/code-server/code-server-4.89.1.eb +++ b/easybuild/easyconfigs/c/code-server/code-server-4.89.1.eb @@ -11,9 +11,9 @@ sources = ['code-server-%(version)s-linux-%(mapped_arch)s.tar.gz'] checksums = [ { 'code-server-%(version)s-linux-amd64.tar.gz': - '69d3d1f7158d6e2125bd2f831611ab959a2aa80d5a7d96422a44070eb2b8645b', - 'code-server-%(version)s-linux-arm64.tar.gz': '5c3769b1ab5cbb2eceb092524dc46f558905e4260155b477d3a313f9ea25ca33', + 'code-server-%(version)s-linux-arm64.tar.gz': + '69d3d1f7158d6e2125bd2f831611ab959a2aa80d5a7d96422a44070eb2b8645b', } ] From c5b7f0480d8ade62fd30bc60cd57e6512595380a Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 30 May 2024 21:23:43 +0200 Subject: [PATCH 776/889] remove double empty line in CellBender easyconfig --- .../easyconfigs/c/CellBender/CellBender-0.3.0-foss-2023a.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/c/CellBender/CellBender-0.3.0-foss-2023a.eb b/easybuild/easyconfigs/c/CellBender/CellBender-0.3.0-foss-2023a.eb index ebabd44b3d6..5fb9920fb70 100644 --- a/easybuild/easyconfigs/c/CellBender/CellBender-0.3.0-foss-2023a.eb +++ b/easybuild/easyconfigs/c/CellBender/CellBender-0.3.0-foss-2023a.eb @@ -56,7 +56,6 @@ exts_list = [ }), ] - sanity_check_paths = { 'files': ['bin/cellbender'], 'dirs': ['lib/python%(pyshortver)s/site-packages'], From 2b5f03e2a50c549b4010f0478b2e59e2e266e57f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 30 May 2024 22:33:37 +0200 Subject: [PATCH 777/889] fix patch for CheckM2 --- .../c/CheckM2/CheckM2-1.0.2-foss-2022b.eb | 2 +- ...M2-1.0.2_fileManager.py-database-fix.patch | 399 +++--------------- 2 files changed, 59 insertions(+), 342 deletions(-) diff --git a/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022b.eb b/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022b.eb index 2dab4ab6a7c..9f834b1a38f 100644 --- a/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022b.eb +++ b/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022b.eb @@ -34,7 +34,7 @@ exts_list = [ 'checksums': [ {'1.0.2.tar.gz': '9d3129e4d0b53acc38519a259cc1e20a215dff0cbce51cef874545ca2fff005a'}, {'CheckM2-1.0.2_fileManager.py-database-fix.patch': - '5f0124ed41a25587b4f98abaacc8005b61c13778616fe7ecf0c9b12f3d034cfa'}, + '953f0eeef49ea537c0cb97c173a2488c29f09b58cd10800c60078b436a7ea2c7'}, ], }), ] diff --git a/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2_fileManager.py-database-fix.patch b/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2_fileManager.py-database-fix.patch index 54f0f72ee46..5c64bd20738 100644 --- a/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2_fileManager.py-database-fix.patch +++ b/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2_fileManager.py-database-fix.patch @@ -1,48 +1,32 @@ -Author: Pavel Tomanek (Inuits) +Author: Pavel Tomanek (Inuits) + Kenneth Hoste (HPC-UGent) This patch changes the way a path to the diamond database is set. It used to be stored in install dir in diamond_path.json, but since this is unmodifiable file for user, the path is stored in env variable CHECKM2DB. The patch needs to change whole file - there was a problem with dos style endings (CRLF). ---- checkm2/fileManager.py.orig 2024-04-23 14:17:24.825732872 +0200 -+++ checkm2/fileManager.py 2024-04-24 11:23:05.737180000 +0200 -@@ -1,228 +1,173 @@ --import os --import errno --import sys --import logging --import shutil --import requests --import json --import gzip --import tempfile -- --from checkm2 import versionControl --from checkm2.defaultValues import DefaultValues --from checkm2 import zenodo_backpack -- --class DiamondDB: -- def __init__(self): -- if DefaultValues.DB_VAR in os.environ: -- self.DATABASE_DIR = os.environ[DefaultValues.DB_VAR] -- #Check if it's still there and if not, unset variable -- if not os.path.exists(self.DATABASE_DIR): -- logging.warning('Database not found using the environmental variable: {}. Please fix your $PATH. Using internal database path instead.'.format(DefaultValues.DB_VAR)) -- -- diamond_definition = self.__get_db_file() -- +diff -ruZ CheckM2-1.0.2.orig/checkm2/fileManager.py CheckM2-1.0.2/checkm2/fileManager.py +--- CheckM2-1.0.2.orig/checkm2/fileManager.py 2023-05-19 01:56:46.000000000 +0200 ++++ CheckM2-1.0.2/checkm2/fileManager.py 2024-05-30 22:13:45.230761282 +0200 +@@ -22,62 +22,34 @@ + + diamond_definition = self.__get_db_file() + - if diamond_definition['DBPATH'] == 'Not Set': -- self.DATABASE_DIR = 'Not Set' -- else: ++ if diamond_definition == 'Not Set': + self.DATABASE_DIR = 'Not Set' + else: - self.DATABASE_DIR = diamond_definition['DBPATH'] -- else: -- diamond_definition = self.__get_db_file() -- ++ self.DATABASE_DIR = diamond_definition + else: + diamond_definition = self.__get_db_file() + - if diamond_definition['DBPATH'] == 'Not Set': -- self.DATABASE_DIR = 'Not Set' -- else: ++ if diamond_definition == 'Not Set': + self.DATABASE_DIR = 'Not Set' + else: - self.DATABASE_DIR = diamond_definition['DBPATH'] -- -- -- def __get_db_file(self): ++ self.DATABASE_DIR = diamond_definition + + + def __get_db_file(self): - diamond_location = DefaultValues.DB_LOCATION_DEFINITION - try: - with open(diamond_location) as f: @@ -61,15 +45,20 @@ The patch needs to change whole file - there was a problem with dos style ending - logging.error('Could not create new file: {}'.format(e)) - sys.exit(1) - -- -- def get_DB_location(self): -- if self.DATABASE_DIR == 'Not Set': ++ return DefaultValues.DB_LOCATION_DEFINITION + + def get_DB_location(self): + if self.DATABASE_DIR == 'Not Set': - logging.error('DIAMOND database not found. Please download database using ') -- sys.exit(1) -- else: -- return self.DATABASE_DIR -- -- def set_DB_location(self, provided_location): ++ logging.error( ++ 'DIAMOND database not found. Please download database using $ checkm2 database --download --path /path/to/database ' ++ + ',but FIRST set CHECKM2DB to PATH by $ export CHECKM2DB=\"/path/to/database/CheckM2_database/uniref100.KO.1.dmnd\"' ++ ) + sys.exit(1) + else: + return self.DATABASE_DIR + + def set_DB_location(self, provided_location): - logging.info('Checking provided DIAMOND database location') - if versionControl.VersionControl().checksum_version_validate_DIAMOND(provided_location): - #great - let's set it @@ -85,15 +74,14 @@ The patch needs to change whole file - there was a problem with dos style ending - logging.error("Checksum in CheckM2 reference doesn't match provided database. Please check your files.") - sys.exit(1) - -- -- def download_database(self, download_location): -- -- '''Uses a DOI link to automatically download, unpack and verify from zenodo.org''' -- -- logging.info("Command: Download database. Checking internal path information.") -- -- diamond_location = DefaultValues.DB_LOCATION_DEFINITION -- ++ logging.info("Set path to database location by: $ export CHECKM2DB=path/to/database/CheckM2_database/uniref100.KO.1.dmnd") + + def download_database(self, download_location): + +@@ -87,32 +59,11 @@ + + diamond_location = DefaultValues.DB_LOCATION_DEFINITION + - try: - with open(diamond_location) as f: - diamond_definition = json.load(f) @@ -112,298 +100,27 @@ The patch needs to change whole file - there was a problem with dos style ending - logging.warning('DIAMOND database found at {}. Overwriting previous database.'.format(diamond_definition['DBPATH'])) - - -- make_sure_path_exists(os.path.join(download_location, 'CheckM2_database')) -- -- backpack_downloader = zenodo_backpack.zenodo_backpack_downloader('INFO') -- highest_compatible_version, DOI = versionControl.VersionControl().return_highest_compatible_DB_version() -- + make_sure_path_exists(os.path.join(download_location, 'CheckM2_database')) + + backpack_downloader = zenodo_backpack.zenodo_backpack_downloader('INFO') + highest_compatible_version, DOI = versionControl.VersionControl().return_highest_compatible_DB_version() + - - diamond_loc_final = os.path.join(download_location, 'CheckM2_database', 'uniref100.KO.1.dmnd') - -- if download_location is not None: -- #check we have writing permission -- try: -- os.makedirs(download_location, exist_ok=True) -- with tempfile.TemporaryDirectory(dir=download_location): -- pass -- except OSError: -- logging.error("You do not appear to have permission to write to {}. Please choose a different directory" -- .format(download_location)) -- sys.exit(1) -- -- backpack_downloader.download_and_extract(download_location, DOI, progress_bar=True, no_check_version=False) -- + if download_location is not None: + #check we have writing permission + try: +@@ -126,12 +77,6 @@ + + backpack_downloader.download_and_extract(download_location, DOI, progress_bar=True, no_check_version=False) + - diamond_definition['DBPATH'] = os.path.abspath(diamond_loc_final) - - with open(diamond_location, 'w') as dd: - json.dump(diamond_definition, dd) - - -- else: -- logging.info('Failed to determine download location') -- sys.exit(1) -- -- #do checksum -- if versionControl.VersionControl().checksum_version_validate_DIAMOND(): -- logging.info('Diamond DATABASE downloaded successfully! Consider running to verify everything works.') -- else: -- logging.error('Could not verify successfull installation of reference database.') -- -- -- def update_database(self): -- pass -- --def update_checkm2(): -- pass -- -- --def check_empty_dir(input_dir, overwrite=False): -- """Check the the specified directory is empty and create it if necessary.""" -- if not os.path.exists(input_dir): -- make_sure_path_exists(input_dir) -- else: -- # check if directory is empty -- files = os.listdir(input_dir) -- if len(files) != 0: -- if overwrite: -- for root, dirs, files in os.walk(input_dir): -- for f in files: -- os.unlink(os.path.join(root, f)) -- for d in dirs: -- shutil.rmtree(os.path.join(root, d)) -- else: -- logging.error('Output directory must be empty: ' + input_dir + ' Use --force if you wish to overwrite ' -- 'existing directory. \n') -- sys.exit(1) -- --def verify_prodigal_output(prodigal_dir, ttable_dict, bin_extension): -- """Check the prodigal process was successful, matches internal list of genomes, and return list of protein files.""" -- if not os.path.exists(prodigal_dir): -- # check if directory is empty -- logging.error('Error: Protein directory {} does not exist: ' + prodigal_dir + '\n') -- sys.exit(1) -- -- else: -- files = os.listdir(prodigal_dir) -- #check if files were generated -- if len(files) == 0: -- logging.error('Error: No protein files were generated in {}'.format(prodigal_dir)) -- sys.exit(1) -- -- prodigal_files = [] -- -- for f in files: -- if f.endswith('.faa'): -- protein_file = os.path.join(prodigal_dir, f) -- if os.stat(protein_file).st_size == 0: -- logging.warning("Skipping protein file {} as it was empty.".format(protein_file)) -- del ttable_dict[f[:-4]] -- elif os.path.splitext(os.path.basename(f))[0] not in ttable_dict: -- logging.warning("Skipping protein file {} as it was not generated by Checkm2.".format(protein_file)) -- else: -- prodigal_files.append(protein_file) -- if len(prodigal_files) == len(ttable_dict.keys()): -- return prodigal_files, ttable_dict -- else: -- logging.error('Error: List of protein files does not match internal reference.') -- sys.exit(1) -- --def check_if_file_exists(inputFile): -- """Check if file exists.""" -- if not os.path.exists(inputFile): -- logging.error('File does not exist: ' + inputFile + '\n') -- sys.exit(1) -- -- --def check_if_dir_exists(inputDir): -- """Check if directory exists.""" -- if not os.path.exists(inputDir): -- logging.error('Input directory does not exists: ' + inputDir + '\n') -- sys.exit(1) -- -- --def make_sure_path_exists(path): -- """Create directory if it does not exist.""" -- if not path: -- return -- -- try: -- os.makedirs(path) -- except OSError as exception: -- if exception.errno != errno.EEXIST: -- logging.error('Specified path does not exist: ' + path + '\n') -- sys.exit(1) -+import os -+import errno -+import sys -+import logging -+import shutil -+import requests -+import json -+import gzip -+import tempfile -+ -+from checkm2 import versionControl -+from checkm2.defaultValues import DefaultValues -+from checkm2 import zenodo_backpack -+ -+class DiamondDB: -+ def __init__(self): -+ if DefaultValues.DB_VAR in os.environ: -+ self.DATABASE_DIR = os.environ[DefaultValues.DB_VAR] -+ #Check if it's still there and if not, unset variable -+ if not os.path.exists(self.DATABASE_DIR): -+ logging.warning('Database not found using the environmental variable: {}. Please fix your $PATH. Using internal database path instead.'.format(DefaultValues.DB_VAR)) -+ -+ diamond_definition = self.__get_db_file() -+ -+ if diamond_definition == 'Not Set': -+ self.DATABASE_DIR = 'Not Set' -+ else: -+ self.DATABASE_DIR = diamond_definition -+ else: -+ diamond_definition = self.__get_db_file() -+ -+ if diamond_definition == 'Not Set': -+ self.DATABASE_DIR = 'Not Set' -+ else: -+ self.DATABASE_DIR = diamond_definition -+ -+ -+ def __get_db_file(self): -+ return DefaultValues.DB_LOCATION_DEFINITION -+ -+ def get_DB_location(self): -+ if self.DATABASE_DIR == 'Not Set': -+ logging.error( -+ 'DIAMOND database not found. Please download database using $ checkm2 database --download --path /path/to/database ' -+ + ',but FIRST set CHECKM2DB to PATH by $ export CHECKM2DB=\"/path/to/database/CheckM2_database/uniref100.KO.1.dmnd\"' -+ ) -+ sys.exit(1) -+ else: -+ return self.DATABASE_DIR -+ -+ def set_DB_location(self, provided_location): -+ logging.info("Set path to database location by: $ export CHECKM2DB=path/to/database/CheckM2_database/uniref100.KO.1.dmnd") -+ -+ def download_database(self, download_location): -+ -+ '''Uses a DOI link to automatically download, unpack and verify from zenodo.org''' -+ -+ logging.info("Command: Download database. Checking internal path information.") -+ -+ diamond_location = DefaultValues.DB_LOCATION_DEFINITION -+ -+ make_sure_path_exists(os.path.join(download_location, 'CheckM2_database')) -+ -+ backpack_downloader = zenodo_backpack.zenodo_backpack_downloader('INFO') -+ highest_compatible_version, DOI = versionControl.VersionControl().return_highest_compatible_DB_version() -+ -+ if download_location is not None: -+ #check we have writing permission -+ try: -+ os.makedirs(download_location, exist_ok=True) -+ with tempfile.TemporaryDirectory(dir=download_location): -+ pass -+ except OSError: -+ logging.error("You do not appear to have permission to write to {}. Please choose a different directory" -+ .format(download_location)) -+ sys.exit(1) -+ -+ backpack_downloader.download_and_extract(download_location, DOI, progress_bar=True, no_check_version=False) -+ -+ else: -+ logging.info('Failed to determine download location') -+ sys.exit(1) -+ -+ #do checksum -+ if versionControl.VersionControl().checksum_version_validate_DIAMOND(): -+ logging.info('Diamond DATABASE downloaded successfully! Consider running to verify everything works.') -+ else: -+ logging.error('Could not verify successfull installation of reference database.') -+ -+ -+ def update_database(self): -+ pass -+ -+def update_checkm2(): -+ pass -+ -+ -+def check_empty_dir(input_dir, overwrite=False): -+ """Check the the specified directory is empty and create it if necessary.""" -+ if not os.path.exists(input_dir): -+ make_sure_path_exists(input_dir) -+ else: -+ # check if directory is empty -+ files = os.listdir(input_dir) -+ if len(files) != 0: -+ if overwrite: -+ for root, dirs, files in os.walk(input_dir): -+ for f in files: -+ os.unlink(os.path.join(root, f)) -+ for d in dirs: -+ shutil.rmtree(os.path.join(root, d)) -+ else: -+ logging.error('Output directory must be empty: ' + input_dir + ' Use --force if you wish to overwrite ' -+ 'existing directory. \n') -+ sys.exit(1) -+ -+def verify_prodigal_output(prodigal_dir, ttable_dict, bin_extension): -+ """Check the prodigal process was successful, matches internal list of genomes, and return list of protein files.""" -+ if not os.path.exists(prodigal_dir): -+ # check if directory is empty -+ logging.error('Error: Protein directory {} does not exist: ' + prodigal_dir + '\n') -+ sys.exit(1) -+ -+ else: -+ files = os.listdir(prodigal_dir) -+ #check if files were generated -+ if len(files) == 0: -+ logging.error('Error: No protein files were generated in {}'.format(prodigal_dir)) -+ sys.exit(1) -+ -+ prodigal_files = [] -+ -+ for f in files: -+ if f.endswith('.faa'): -+ protein_file = os.path.join(prodigal_dir, f) -+ if os.stat(protein_file).st_size == 0: -+ logging.warning("Skipping protein file {} as it was empty.".format(protein_file)) -+ del ttable_dict[f[:-4]] -+ elif os.path.splitext(os.path.basename(f))[0] not in ttable_dict: -+ logging.warning("Skipping protein file {} as it was not generated by Checkm2.".format(protein_file)) -+ else: -+ prodigal_files.append(protein_file) -+ if len(prodigal_files) == len(ttable_dict.keys()): -+ return prodigal_files, ttable_dict -+ else: -+ logging.error('Error: List of protein files does not match internal reference.') -+ sys.exit(1) -+ -+def check_if_file_exists(inputFile): -+ """Check if file exists.""" -+ if not os.path.exists(inputFile): -+ logging.error('File does not exist: ' + inputFile + '\n') -+ sys.exit(1) -+ -+ -+def check_if_dir_exists(inputDir): -+ """Check if directory exists.""" -+ if not os.path.exists(inputDir): -+ logging.error('Input directory does not exists: ' + inputDir + '\n') -+ sys.exit(1) -+ -+ -+def make_sure_path_exists(path): -+ """Create directory if it does not exist.""" -+ if not path: -+ return -+ -+ try: -+ os.makedirs(path) -+ except OSError as exception: -+ if exception.errno != errno.EEXIST: -+ logging.error('Specified path does not exist: ' + path + '\n') -+ sys.exit(1) -\ No newline at end of file + else: + logging.info('Failed to determine download location') + sys.exit(1) From 84b3a1cc11ec978a1e77367f392984fd631f767e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Fri, 31 May 2024 09:26:55 +0200 Subject: [PATCH 778/889] add sanity check command --- easybuild/easyconfigs/t/tmux/tmux-3.4-GCCcore-13.2.0.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/t/tmux/tmux-3.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/t/tmux/tmux-3.4-GCCcore-13.2.0.eb index 20559aafdb6..8a3a24c2d12 100644 --- a/easybuild/easyconfigs/t/tmux/tmux-3.4-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/t/tmux/tmux-3.4-GCCcore-13.2.0.eb @@ -33,4 +33,6 @@ sanity_check_paths = { 'dirs': [] } +sanity_check_commands = ["tmux --help 2>&1 | grep 'usage: tmux'"] + moduleclass = 'tools' From eee81a981dc5dcc4b83cfdb2978c651bccf6eaf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Fri, 31 May 2024 09:27:02 +0200 Subject: [PATCH 779/889] add sanity check command --- easybuild/easyconfigs/t/tmux/tmux-3.4-GCCcore-13.3.0.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/t/tmux/tmux-3.4-GCCcore-13.3.0.eb b/easybuild/easyconfigs/t/tmux/tmux-3.4-GCCcore-13.3.0.eb index 83a8748a13e..43a1310c52d 100644 --- a/easybuild/easyconfigs/t/tmux/tmux-3.4-GCCcore-13.3.0.eb +++ b/easybuild/easyconfigs/t/tmux/tmux-3.4-GCCcore-13.3.0.eb @@ -33,4 +33,6 @@ sanity_check_paths = { 'dirs': [] } +sanity_check_commands = ["tmux --help 2>&1 | grep 'usage: tmux'"] + moduleclass = 'tools' From d0f437d390d28b2ce8259acb10d819681ac0878e Mon Sep 17 00:00:00 2001 From: Cintia Willemyns <115622907+WilleBell@users.noreply.github.com> Date: Fri, 31 May 2024 11:05:05 +0200 Subject: [PATCH 780/889] add 'pic': True to libwebp-1.3.1-GCCcore-12.3.0.eb --- easybuild/easyconfigs/l/libwebp/libwebp-1.3.1-GCCcore-12.3.0.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/l/libwebp/libwebp-1.3.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libwebp/libwebp-1.3.1-GCCcore-12.3.0.eb index 4ac82164e4b..7a8453a029c 100644 --- a/easybuild/easyconfigs/l/libwebp/libwebp-1.3.1-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/l/libwebp/libwebp-1.3.1-GCCcore-12.3.0.eb @@ -10,6 +10,7 @@ webmasters and web developers can create smaller, richer images that make the web faster.""" toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} source_urls = ['https://storage.googleapis.com/downloads.webmproject.org/releases/webp'] sources = [SOURCELOWER_TAR_GZ] From 659d476a1c204f42d9d32c1deb1530a4b243b94b Mon Sep 17 00:00:00 2001 From: Cintia Willemyns <115622907+WilleBell@users.noreply.github.com> Date: Fri, 31 May 2024 11:06:03 +0200 Subject: [PATCH 781/889] remove change in libwebp-1.3.1as it was included in PR#20660 --- .../l/libwebp/libwebp-1.3.1-GCCcore-12.3.0.eb | 45 ------------------- 1 file changed, 45 deletions(-) delete mode 100644 easybuild/easyconfigs/l/libwebp/libwebp-1.3.1-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/l/libwebp/libwebp-1.3.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libwebp/libwebp-1.3.1-GCCcore-12.3.0.eb deleted file mode 100644 index 7a8453a029c..00000000000 --- a/easybuild/easyconfigs/l/libwebp/libwebp-1.3.1-GCCcore-12.3.0.eb +++ /dev/null @@ -1,45 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libwebp' -version = '1.3.1' - -homepage = 'https://developers.google.com/speed/webp/' -description = """WebP is a modern image format that provides superior -lossless and lossy compression for images on the web. Using WebP, -webmasters and web developers can create smaller, richer images that -make the web faster.""" - -toolchain = {'name': 'GCCcore', 'version': '12.3.0'} -toolchainopts = {'pic': True} - -source_urls = ['https://storage.googleapis.com/downloads.webmproject.org/releases/webp'] -sources = [SOURCELOWER_TAR_GZ] -checksums = ['b3779627c2dfd31e3d8c4485962c2efe17785ef975e2be5c8c0c9e6cd3c4ef66'] - -builddependencies = [ - ('binutils', '2.40'), -] -dependencies = [ - ('libjpeg-turbo', '2.1.5.1'), - ('libpng', '1.6.39'), - ('LibTIFF', '4.5.0'), - ('giflib', '5.2.1'), -] - -configopts = '--enable-libwebpmux' - -local_headers, local_libs = ( - ['decode.h', 'demux.h', 'encode.h', 'mux.h', 'mux_types.h', 'types.h'], - ['webp', 'webpdemux', 'webpmux'] -) - -sanity_check_paths = { - 'files': ( - ['include/webp/%s' % h for h in local_headers] + - ['lib/lib%s.a' % s for s in local_libs] + - ['lib/lib%s.%s' % (s, SHLIB_EXT) for s in local_libs] - ), - 'dirs': ['lib/'] -} - -moduleclass = 'lib' From e73d3d4c9cf08270e800aeb83e755c4ea783f675 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Fri, 31 May 2024 12:03:43 +0200 Subject: [PATCH 782/889] adding easyconfigs: matlab-proxy-0.18.1-GCCcore-12.3.0.eb, jupyter-matlab-proxy-0.12.2-GCCcore-12.3.0.eb --- ...yter-matlab-proxy-0.12.2-GCCcore-12.3.0.eb | 48 +++++++++++++++++++ .../matlab-proxy-0.18.1-GCCcore-12.3.0.eb | 46 ++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 easybuild/easyconfigs/j/jupyter-matlab-proxy/jupyter-matlab-proxy-0.12.2-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.18.1-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/j/jupyter-matlab-proxy/jupyter-matlab-proxy-0.12.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/jupyter-matlab-proxy/jupyter-matlab-proxy-0.12.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..095d491ef49 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-matlab-proxy/jupyter-matlab-proxy-0.12.2-GCCcore-12.3.0.eb @@ -0,0 +1,48 @@ +easyblock = "PythonBundle" + +name = 'jupyter-matlab-proxy' +version = '0.12.2' + +homepage = 'https://github.com/mathworks/jupyter-matlab-proxy' +description = 'MATLAB Integration for Jupyter' + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('nodejs', '18.17.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('IPython', '8.14.0'), + ('jupyter-server-proxy', '4.0.0'), + ('matlab-proxy', '0.18.1'), +] + +use_pip = True + +exts_list = [ + ('jupyter_matlab_proxy', version, { + 'sources': ['%(name)s-%(version)s-py3-none-any.whl'], + 'checksums': ['2f1fcb8cba3b60ceccfbaa118ce1de0ca54d6c630c6d6ec61c052dca7f62cb6b'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'share/jupyter'], +} + +sanity_check_commands = [ + "python -c 'import jupyter_matlab_proxy'", + "python -c 'import jupyter_matlab_kernel'", +] + +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter', +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.18.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.18.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..bf1c9fec2ed --- /dev/null +++ b/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.18.1-GCCcore-12.3.0.eb @@ -0,0 +1,46 @@ +easyblock = "PythonBundle" + +name = 'matlab-proxy' +version = '0.18.1' + +homepage = 'https://github.com/mathworks/matlab-proxy' +description = "A Python package which enables you to launch MATLAB and access it from a web browser." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('nodejs', '18.17.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('aiohttp', '3.8.5'), + ('Xvfb', '21.1.8'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('aiohttp-session', '2.12.0', { + 'checksums': ['0ccd11a7c77cb9e5a61f4daacdc9170d561112f9cfaf9e9a2d9867c0587d1950'], + }), + (name, version, { + 'patches': ['%(name)s-%(version)s_use_lic_from_eb_installed_matlab.patch'], + 'checksums': [ + {'matlab-proxy-0.18.1.tar.gz': 'c6ffe60de2e34b007f94b61c6c2f29b38115e4c9cb8b1e8f45d42a2713e0ac24'}, + {'matlab-proxy-0.18.1_use_lic_from_eb_installed_matlab.patch': + 'a6b994d8b511bd00f86f232c9d9cf230883090b575383a42c06857f26ea08210'}, + ], + }), +] + +sanity_check_paths = { + 'files': ['bin/matlab-proxy-app'], + 'dirs': ['lib64/python%(pyshortver)s/site-packages'] +} + +modloadmsg = 'matlab-proxy requires MATLAB to be loaded separately and BEFORE this module (2020b or later)' + +moduleclass = 'math' From c2cebdbc5eed1a955aefbec563999097a8188a2f Mon Sep 17 00:00:00 2001 From: thoffman Date: Fri, 31 May 2024 13:05:17 +0200 Subject: [PATCH 783/889] {bio}[foss/2023a] lil-aretomo v0.1.0 --- .../lil-aretomo-0.1.0-foss-2023a.eb | 44 +++++++++ .../lil-aretomo-0.1.0_exec_pr43.patch | 95 +++++++++++++++++++ 2 files changed, 139 insertions(+) create mode 100644 easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.0-foss-2023a.eb create mode 100644 easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.0_exec_pr43.patch diff --git a/easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.0-foss-2023a.eb b/easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.0-foss-2023a.eb new file mode 100644 index 00000000000..4086ec9b82c --- /dev/null +++ b/easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.0-foss-2023a.eb @@ -0,0 +1,44 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/05 +easyblock = 'PythonBundle' + +name = 'lil-aretomo' +version = '0.1.0' + +homepage = 'https://github.com/teamtomo/lil-aretomo' +description = """ +A lightweight Python API for AreTomo. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +patches = [] + +dependencies = [ + ('Python', '3.11.3'), + ('mrcfile', '1.5.0'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True + +exts_list = [ + ('typer', '0.9.0', { + 'checksums': ['50922fd79aea2f4751a8e0408ff10d2662bd0c8bbfa84755a699f3bada2978b2'], + }), + ('lil_aretomo', version, { + # add executable arg in order to allow using AreTomo2 executable + 'patches': ['lil-aretomo-0.1.0_exec_pr43.patch'], + 'checksums': [ + {'lil_aretomo-0.1.0.tar.gz': '0749604bbf75f2d9013c6a40b5c024be2ed54dd1ccb1fd7c7663a0fd2f175e8f'}, + {'lil-aretomo-0.1.0_exec_pr43.patch': '3ecd78b0bf8bf441b2d5224be2b85bd17f85b04d756af421993d74f7722b5f21'}, + ], + }), +] + +sanity_pip_check = True +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.0_exec_pr43.patch b/easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.0_exec_pr43.patch new file mode 100644 index 00000000000..617a66f928d --- /dev/null +++ b/easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.0_exec_pr43.patch @@ -0,0 +1,95 @@ +From 974db1f435ea0b314b5135aba9c9ae6674f3944d Mon Sep 17 00:00:00 2001 +From: thoffman +Date: Fri, 24 May 2024 16:00:22 +0200 +Subject: [PATCH 1/2] add executable parameter + +--- + lil_aretomo/aretomo.py | 6 ++++-- + lil_aretomo/utils.py | 9 +++++---- + 2 files changed, 9 insertions(+), 6 deletions(-) + +diff --git a/lil_aretomo/aretomo.py b/lil_aretomo/aretomo.py +index 6f275ee..1bdfcbe 100644 +--- a/lil_aretomo/aretomo.py ++++ b/lil_aretomo/aretomo.py +@@ -22,7 +22,8 @@ def align_tilt_series( + nominal_rotation_angle: Optional[float] = None, + correct_tilt_angle_offset: bool = False, + gpu_ids: Optional[Sequence[int]] = None, +- skip_if_completed: bool = False ++ skip_if_completed: bool = False, ++ executable: Optional[str]='AreTomo' + ) -> AreTomoOutput: + """Align a single-axis tilt-series using AreTomo. + +@@ -43,7 +44,7 @@ def align_tilt_series( + gpu_ids: integer ids for GPUs on the system (zero indexed). + skip_if_completed: skip alignment if previous results found. + """ +- if check_aretomo_on_path() is False: ++ if check_aretomo_on_path(executable) is False: + raise RuntimeError("AreTomo executable was not found. \ + Put 'AreTomo' on the PATH to proceed.") + if do_local_alignments is True and n_patches_xy is None: +@@ -68,6 +69,7 @@ def align_tilt_series( + do_local_alignments=do_local_alignments, + n_patches_xy=n_patches_xy, + gpu_ids=gpu_ids, ++ executable=executable + ) + aretomo_output = AreTomoOutput(tilt_series_file=tilt_series_file, reconstruction_file=reconstruction_file) + if aretomo_output.contains_alignment_results is False or skip_if_completed is False: +diff --git a/lil_aretomo/utils.py b/lil_aretomo/utils.py +index 5994258..a26db38 100644 +--- a/lil_aretomo/utils.py ++++ b/lil_aretomo/utils.py +@@ -47,11 +47,12 @@ def get_aretomo_command( + nominal_tilt_axis_angle: Optional[float] = None, + do_local_alignments: bool = True, + n_patches_xy: Optional[Tuple[int, int]] = None, +- gpu_ids: Optional[Sequence[int]] = None ++ gpu_ids: Optional[Sequence[int]] = None, ++ executable: Optional[str] = 'AreTomo', + ) -> List[str]: + """Generate a command which can be used to run AreTomo.""" + command = [ +- 'AreTomo', ++ executable, + '-InMrc', f'{tilt_series_file}', + '-OutMrc', f'{reconstruction_file}', + '-OutBin', f'{binning_factor:.3f}', +@@ -71,9 +72,9 @@ def get_aretomo_command( + return command + + +-def check_aretomo_on_path(): ++def check_aretomo_on_path(executable: Optional[str] = 'AreTomo'): + """Check the PATH for AreTomo.""" +- return shutil.which('AreTomo') is not None ++ return shutil.which(executable) is not None + + + def read_aln(filename: os.PathLike) -> pd.DataFrame: + +From 09901ccd2e5ce2aa1e6f229a5fab0d1cbd1a501f Mon Sep 17 00:00:00 2001 +From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> +Date: Fri, 24 May 2024 16:28:57 +0200 +Subject: [PATCH 2/2] Update utils.py + +--- + lil_aretomo/utils.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lil_aretomo/utils.py b/lil_aretomo/utils.py +index a26db38..97f006b 100644 +--- a/lil_aretomo/utils.py ++++ b/lil_aretomo/utils.py +@@ -52,7 +52,7 @@ def get_aretomo_command( + ) -> List[str]: + """Generate a command which can be used to run AreTomo.""" + command = [ +- executable, ++ f'{executable}', + '-InMrc', f'{tilt_series_file}', + '-OutMrc', f'{reconstruction_file}', + '-OutBin', f'{binning_factor:.3f}', From a5f2cc43f7b434e444c35913439b67aa42dc9c7b Mon Sep 17 00:00:00 2001 From: kErica Date: Fri, 31 May 2024 13:38:01 +0200 Subject: [PATCH 784/889] adding easyconfigs: BWA-0.7.18-GCCcore-12.3.0.eb --- .../b/BWA/BWA-0.7.18-GCCcore-12.3.0.eb | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 easybuild/easyconfigs/b/BWA/BWA-0.7.18-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/b/BWA/BWA-0.7.18-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/BWA/BWA-0.7.18-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a5599e37642 --- /dev/null +++ b/easybuild/easyconfigs/b/BWA/BWA-0.7.18-GCCcore-12.3.0.eb @@ -0,0 +1,52 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Cyprus Institute / CaSToRC, Uni.Lu/LCSB, NTUA +# Authors:: George Tsouloupas , Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +# +# Version >= 0.7.15 +# Author: Adam Huffman +# The Francis Crick Institute +# +# Note that upstream development is mainly at: https://github.com/lh3/bwa +# +# 0.7.18 +# Erica Bianco (HPCNow!) +## + +name = 'BWA' +version = '0.7.18' + +homepage = 'http://bio-bwa.sourceforge.net/' +description = """ + Burrows-Wheeler Aligner (BWA) is an efficient program that aligns relatively + short nucleotide sequences against a long reference sequence such as the human + genome. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/lh3/%(name)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['194788087f7b9a77c0114aa481b2ef21439f6abab72488c83917302e8d0e7870'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Perl', '5.36.1'), + ('zlib', '1.2.13'), +] + +# Allow use of x86 intrinsics on PPC +prebuildopts = 'export CFLAGS="$CFLAGS -fcommon -DNO_WARN_X86_INTRINSICS" && ' +prebuildopts += "sed -i 's|^CC=|#CC=|g' Makefile && " +prebuildopts += "sed -i 's|^CFLAGS=|#CFLAGS=|g' Makefile && " +prebuildopts += "sed -i 's|^LIBS=|LIBS= $(LDFLAGS) |g' Makefile && " + +moduleclass = 'bio' From f7cce1c15bcbcee37b177cde371aa7afab7c7ea4 Mon Sep 17 00:00:00 2001 From: Cintia Willemyns <115622907+WilleBell@users.noreply.github.com> Date: Fri, 31 May 2024 15:04:15 +0200 Subject: [PATCH 785/889] restore libwebp eb file previous commit was a mistake, only the change had to be reverted, the easyconfig was not to be deleted. --- .../l/libwebp/libwebp-1.3.1-GCCcore-12.3.0.eb | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 easybuild/easyconfigs/l/libwebp/libwebp-1.3.1-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/l/libwebp/libwebp-1.3.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libwebp/libwebp-1.3.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..7a8453a029c --- /dev/null +++ b/easybuild/easyconfigs/l/libwebp/libwebp-1.3.1-GCCcore-12.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'libwebp' +version = '1.3.1' + +homepage = 'https://developers.google.com/speed/webp/' +description = """WebP is a modern image format that provides superior +lossless and lossy compression for images on the web. Using WebP, +webmasters and web developers can create smaller, richer images that +make the web faster.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://storage.googleapis.com/downloads.webmproject.org/releases/webp'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b3779627c2dfd31e3d8c4485962c2efe17785ef975e2be5c8c0c9e6cd3c4ef66'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('libjpeg-turbo', '2.1.5.1'), + ('libpng', '1.6.39'), + ('LibTIFF', '4.5.0'), + ('giflib', '5.2.1'), +] + +configopts = '--enable-libwebpmux' + +local_headers, local_libs = ( + ['decode.h', 'demux.h', 'encode.h', 'mux.h', 'mux_types.h', 'types.h'], + ['webp', 'webpdemux', 'webpmux'] +) + +sanity_check_paths = { + 'files': ( + ['include/webp/%s' % h for h in local_headers] + + ['lib/lib%s.a' % s for s in local_libs] + + ['lib/lib%s.%s' % (s, SHLIB_EXT) for s in local_libs] + ), + 'dirs': ['lib/'] +} + +moduleclass = 'lib' From 36cacbcc06f2c99de5c87799d99b5c80d1fd63fd Mon Sep 17 00:00:00 2001 From: Bart Oldeman Date: Fri, 31 May 2024 15:49:25 +0000 Subject: [PATCH 786/889] Use external PRRTE 3.1.5 in OpenMPI 5.0.3 --- .../o/OpenMPI/OpenMPI-5.0.3-GCC-13.3.0.eb | 1 + .../PRRTE/PRRTE-3.0.5-GCCcore-13.3-gentoo.eb | 35 +++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 easybuild/easyconfigs/p/PRRTE/PRRTE-3.0.5-GCCcore-13.3-gentoo.eb diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.3-GCC-13.3.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.3-GCC-13.3.0.eb index 7e11bfb3000..6864e213a9f 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.3-GCC-13.3.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.3-GCC-13.3.0.eb @@ -27,6 +27,7 @@ dependencies = [ ('UCX', '1.16.0'), ('libfabric', '1.21.0'), ('PMIx', '5.0.2'), + ('PRRTE', '3.0.5'), ('UCC', '1.3.0'), ] diff --git a/easybuild/easyconfigs/p/PRRTE/PRRTE-3.0.5-GCCcore-13.3-gentoo.eb b/easybuild/easyconfigs/p/PRRTE/PRRTE-3.0.5-GCCcore-13.3-gentoo.eb new file mode 100644 index 00000000000..65d67dcba81 --- /dev/null +++ b/easybuild/easyconfigs/p/PRRTE/PRRTE-3.0.5-GCCcore-13.3-gentoo.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'PRRTE' +version = '3.0.5' + +homepage = 'https://docs.prrte.org/' +description = """PRRTE is the PMIx Reference RunTime Environment""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openpmix/prrte/releases/download/v%(version)s'] +sources = ['%(namelower)s-%(version)s.tar.bz2'] +checksums = ['75ce732b02f3bc7eff5e51b81469e4373f1effc6a42d8445e2935d3670e58c8e'] + +builddependencies = [('binutils', '2.42')] + +dependencies = [ + ('libevent', '2.1.12'), + ('zlib', '1.3.1'), + ('hwloc', '2.10.0'), + ('PMIx', '5.0.2'), +] + +configopts = ' --with-libevent=$EBROOTLIBEVENT --with-zlib=$EBROOTZLIB' +configopts += ' --with-hwloc=$EBROOTHWLOC --with-pmix=$EBROOTPMIX' + +buildopts = 'V=1' + +sanity_check_paths = { + 'files': ['bin/prte', 'bin/prte_info', 'bin/prterun', 'bin/prun', 'bin/pterm'], + 'dirs': ['etc', 'include', 'lib', 'share'] +} + +moduleclass = 'lib' From 90ea51c075317048a4e97ab98f94c14c04baef06 Mon Sep 17 00:00:00 2001 From: Bart Oldeman Date: Fri, 31 May 2024 16:07:22 +0000 Subject: [PATCH 787/889] Remove unneeded zlib dependency --- .../p/PMIx/PMIx-5.0.2-GCCcore-13.2.0.eb | 45 +++++++++++++++++++ ...entoo.eb => PRRTE-3.0.5-GCCcore-13.3.0.eb} | 3 +- 2 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 easybuild/easyconfigs/p/PMIx/PMIx-5.0.2-GCCcore-13.2.0.eb rename easybuild/easyconfigs/p/PRRTE/{PRRTE-3.0.5-GCCcore-13.3-gentoo.eb => PRRTE-3.0.5-GCCcore-13.3.0.eb} (90%) diff --git a/easybuild/easyconfigs/p/PMIx/PMIx-5.0.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PMIx/PMIx-5.0.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..fba5fdc9c5c --- /dev/null +++ b/easybuild/easyconfigs/p/PMIx/PMIx-5.0.2-GCCcore-13.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'PMIx' +version = '5.0.2' + +homepage = 'https://pmix.org/' +description = """Process Management for Exascale Environments +PMI Exascale (PMIx) represents an attempt to +provide an extended version of the PMI standard specifically designed +to support clusters up to and including exascale sizes. The overall +objective of the project is not to branch the existing pseudo-standard +definitions - in fact, PMIx fully supports both of the existing PMI-1 +and PMI-2 APIs - but rather to (a) augment and extend those APIs to +eliminate some current restrictions that impact scalability, and (b) +provide a reference implementation of the PMI-server that demonstrates +the desired level of scalability. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openpmix/openpmix/releases/download/v%(version)s'] +sources = ['%(namelower)s-%(version)s.tar.bz2'] +checksums = ['28227ff2ba925da2c3fece44502f23a91446017de0f5a58f5cea9370c514b83c'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('libevent', '2.1.12'), + ('zlib', '1.2.13'), + ('hwloc', '2.9.2'), +] + +configopts = ' --with-libevent=$EBROOTLIBEVENT --with-zlib=$EBROOTZLIB' +configopts += ' --with-hwloc=$EBROOTHWLOC' +configopts += ' --enable-pmix-binaries' + +buildopts = 'V=1' + +sanity_check_paths = { + 'files': ['bin/pevent', 'bin/plookup', 'bin/pmix_info', 'bin/pps'], + 'dirs': ['etc', 'include', 'lib', 'share'] +} + +moduleclass = 'lib' \ No newline at end of file diff --git a/easybuild/easyconfigs/p/PRRTE/PRRTE-3.0.5-GCCcore-13.3-gentoo.eb b/easybuild/easyconfigs/p/PRRTE/PRRTE-3.0.5-GCCcore-13.3.0.eb similarity index 90% rename from easybuild/easyconfigs/p/PRRTE/PRRTE-3.0.5-GCCcore-13.3-gentoo.eb rename to easybuild/easyconfigs/p/PRRTE/PRRTE-3.0.5-GCCcore-13.3.0.eb index 65d67dcba81..4cfb320464f 100644 --- a/easybuild/easyconfigs/p/PRRTE/PRRTE-3.0.5-GCCcore-13.3-gentoo.eb +++ b/easybuild/easyconfigs/p/PRRTE/PRRTE-3.0.5-GCCcore-13.3.0.eb @@ -17,12 +17,11 @@ builddependencies = [('binutils', '2.42')] dependencies = [ ('libevent', '2.1.12'), - ('zlib', '1.3.1'), ('hwloc', '2.10.0'), ('PMIx', '5.0.2'), ] -configopts = ' --with-libevent=$EBROOTLIBEVENT --with-zlib=$EBROOTZLIB' +configopts = ' --with-libevent=$EBROOTLIBEVENT' configopts += ' --with-hwloc=$EBROOTHWLOC --with-pmix=$EBROOTPMIX' buildopts = 'V=1' From 39f9bdf6487f0827b2a1e145e0b2075b6e17a2ce Mon Sep 17 00:00:00 2001 From: Bart Oldeman Date: Fri, 31 May 2024 16:10:11 +0000 Subject: [PATCH 788/889] Remove accidental PMIx for GCCcore 13.2.0 --- .../p/PMIx/PMIx-5.0.2-GCCcore-13.2.0.eb | 45 ------------------- 1 file changed, 45 deletions(-) delete mode 100644 easybuild/easyconfigs/p/PMIx/PMIx-5.0.2-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/p/PMIx/PMIx-5.0.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PMIx/PMIx-5.0.2-GCCcore-13.2.0.eb deleted file mode 100644 index fba5fdc9c5c..00000000000 --- a/easybuild/easyconfigs/p/PMIx/PMIx-5.0.2-GCCcore-13.2.0.eb +++ /dev/null @@ -1,45 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'PMIx' -version = '5.0.2' - -homepage = 'https://pmix.org/' -description = """Process Management for Exascale Environments -PMI Exascale (PMIx) represents an attempt to -provide an extended version of the PMI standard specifically designed -to support clusters up to and including exascale sizes. The overall -objective of the project is not to branch the existing pseudo-standard -definitions - in fact, PMIx fully supports both of the existing PMI-1 -and PMI-2 APIs - but rather to (a) augment and extend those APIs to -eliminate some current restrictions that impact scalability, and (b) -provide a reference implementation of the PMI-server that demonstrates -the desired level of scalability. -""" - -toolchain = {'name': 'GCCcore', 'version': '13.2.0'} -toolchainopts = {'pic': True} - -source_urls = ['https://github.com/openpmix/openpmix/releases/download/v%(version)s'] -sources = ['%(namelower)s-%(version)s.tar.bz2'] -checksums = ['28227ff2ba925da2c3fece44502f23a91446017de0f5a58f5cea9370c514b83c'] - -builddependencies = [('binutils', '2.40')] - -dependencies = [ - ('libevent', '2.1.12'), - ('zlib', '1.2.13'), - ('hwloc', '2.9.2'), -] - -configopts = ' --with-libevent=$EBROOTLIBEVENT --with-zlib=$EBROOTZLIB' -configopts += ' --with-hwloc=$EBROOTHWLOC' -configopts += ' --enable-pmix-binaries' - -buildopts = 'V=1' - -sanity_check_paths = { - 'files': ['bin/pevent', 'bin/plookup', 'bin/pmix_info', 'bin/pps'], - 'dirs': ['etc', 'include', 'lib', 'share'] -} - -moduleclass = 'lib' \ No newline at end of file From af756c8def84e90c31d61fe12a1e6e3cc9e3023a Mon Sep 17 00:00:00 2001 From: Bart Oldeman Date: Fri, 31 May 2024 19:07:02 +0000 Subject: [PATCH 789/889] Improve sanity checks with commands and lib --- .../easyconfigs/p/PRRTE/PRRTE-3.0.5-GCCcore-13.3.0.eb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/p/PRRTE/PRRTE-3.0.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/PRRTE/PRRTE-3.0.5-GCCcore-13.3.0.eb index 4cfb320464f..2a8688776d8 100644 --- a/easybuild/easyconfigs/p/PRRTE/PRRTE-3.0.5-GCCcore-13.3.0.eb +++ b/easybuild/easyconfigs/p/PRRTE/PRRTE-3.0.5-GCCcore-13.3.0.eb @@ -26,9 +26,13 @@ configopts += ' --with-hwloc=$EBROOTHWLOC --with-pmix=$EBROOTPMIX' buildopts = 'V=1' +local_binaries = ['prte', 'prte_info', 'prterun', 'prun', 'pterm'] + sanity_check_paths = { - 'files': ['bin/prte', 'bin/prte_info', 'bin/prterun', 'bin/prun', 'bin/pterm'], - 'dirs': ['etc', 'include', 'lib', 'share'] + 'files': ['bin/%s' % x for x in local_binaries] + ['lib/libprrte.%s' % SHLIB_EXT], + 'dirs': ['etc', 'include', 'share'] } +sanity_check_commands = ['%s --version' % x for x in local_binaries] + moduleclass = 'lib' From 3be32aa3e7e006de2a3375f5e5a6d4218aa29b59 Mon Sep 17 00:00:00 2001 From: Alexander Salois Date: Fri, 31 May 2024 15:58:13 -0600 Subject: [PATCH 790/889] Needed to add an exception for Pydantic and GTDB-tk --- test/easyconfigs/easyconfigs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/easyconfigs/easyconfigs.py b/test/easyconfigs/easyconfigs.py index 911e383394b..ceae4c5bef9 100644 --- a/test/easyconfigs/easyconfigs.py +++ b/test/easyconfigs/easyconfigs.py @@ -613,7 +613,7 @@ def check_dep_vars(self, gen, dep, dep_vars): ], 'pydantic': [ # GTDB-Tk v2.3.2 requires pydantic 1.x (see https://github.com/Ecogenomics/GTDBTk/pull/530) - ('1.10.13;', ['GTDB-Tk-2.3.2-']), + ('1.10.13;', ['GTDB-Tk-2.3.2-', 'GTDB-Tk-2.4.0-']), ], # medaka 1.1.*, 1.2.*, 1.4.* requires Pysam 0.16.0.1, # which is newer than what others use as dependency w.r.t. Pysam version in 2019b generation; From a209ed6df407df66d8c86b2f9e837322ba1f5cf4 Mon Sep 17 00:00:00 2001 From: WilleBell Date: Mon, 3 Jun 2024 12:00:50 +0200 Subject: [PATCH 791/889] adding easyconfigs: LangChain-0.2.1-foss-2023a.eb --- .../l/LangChain/LangChain-0.2.1-foss-2023a.eb | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 easybuild/easyconfigs/l/LangChain/LangChain-0.2.1-foss-2023a.eb diff --git a/easybuild/easyconfigs/l/LangChain/LangChain-0.2.1-foss-2023a.eb b/easybuild/easyconfigs/l/LangChain/LangChain-0.2.1-foss-2023a.eb new file mode 100644 index 00000000000..640990af4c3 --- /dev/null +++ b/easybuild/easyconfigs/l/LangChain/LangChain-0.2.1-foss-2023a.eb @@ -0,0 +1,67 @@ +easyblock = 'PythonBundle' + +name = 'LangChain' +version = '0.2.1' +_rust_ver = '1.75.0' + +homepage = 'https://github.com/langchain-ai/langchain' +description = """ +LangChain is a framework for developing applications powered by large language models (LLMs). +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('hatchling', '1.18.0'), + ('Rust', _rust_ver), + ('maturin', '1.4.0', '-Rust-%s' % _rust_ver), + ('poetry', '1.5.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('aiohttp', '3.8.5'), + ('pydantic', '2.5.3'), + ('PyYAML', '6.0'), + ('SQLAlchemy', '2.0.25'), +] + +exts_list = [ + ('jsonpointer', '2.4', { + 'checksums': ['585cee82b70211fa9e6043b7bb89db6e1aa49524340dde8ad6b63206ea689d88'], + }), + ('jsonpatch', '1.33', { + 'checksums': ['9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c'], + }), + ('packaging', '23.2', { + 'checksums': ['048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5'], + }), + ('langchain-core', '0.2.3', { + 'sources': ['langchain_core-%(version)s.tar.gz'], + 'checksums': ['fbc75a64b9c0b7655d96ca57a707df1e6c09efc1539c36adbd73260612549810'], + }), + ('langchain-text-splitters', '0.2.0', { + 'sources': ['langchain_text_splitters-%(version)s.tar.gz'], + 'checksums': ['b32ab4f7397f7d42c1fa3283fefc2547ba356bd63a68ee9092865e5ad83c82f9'], + }), + ('orjson', '3.9.14', { + 'checksums': ['06fb40f8e49088ecaa02f1162581d39e2cf3fd9dbbfe411eb2284147c99bad79'], + }), + ('langsmith', '0.1.65', { + 'checksums': ['d3c2eb2391478bd79989f02652cf66e29a7959d677614b6993a47cef43f7f43b'], + }), + ('tenacity', '8.3.0', { + 'checksums': ['953d4e6ad24357bceffbc9707bc74349aca9d245f68eb65419cf0c249a1949a2'], + }), + (name, version, { + 'modulename': 'langchain', + 'sources': ['langchain-%(version)s.tar.gz'], + 'checksums': ['5758a315e1ac92eb26dafec5ad0fafa03cafa686aba197d5bb0b1dd28cc03ebe'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'ai' From 129cc8d23ac9b8bf04d30711a5759fbfcf9825c6 Mon Sep 17 00:00:00 2001 From: vsc46128 Date: Mon, 3 Jun 2024 16:17:09 +0200 Subject: [PATCH 792/889] adding easyconfigs: ProteinMPNN-1.0.1_20230627-foss-2022a.eb --- .../ProteinMPNN-1.0.1_20230627-foss-2022a.eb | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a.eb diff --git a/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a.eb b/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a.eb new file mode 100644 index 00000000000..83c7fc20895 --- /dev/null +++ b/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a.eb @@ -0,0 +1,40 @@ +# Author: Lara Peeters (UGent) + +easyblock = 'Tarball' + +name = 'ProteinMPNN' +version = '1.0.1_20230627' +local_commit = '8907e6671bfbfc92303b5f79c4b5e6ce47cdef57' + +homepage = 'https://github.com/dauparas/ProteinMPNN' +description = """A deep learning based protein sequence design method is +described that is widely applicable to current design challenges and shows +outstanding performance in both in silico and experimental tests. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'dauparas' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['2e11f385074facb06e12496acde80756b34504f0f70bf78714fb07fe9244f398'] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('PyTorch', '1.12.0', '-CUDA-%(cudaver)s'), + ('torchvision', '0.13.1' , '-CUDA-%(cudaver)s'), + ('torchaudio', '0.12.0', '-PyTorch-1.12.0-CUDA-11.7.0'), +] + +postinstallcmds = ['chmod a+x %(installdir)s/protein_mpnn_run.py'] + +sanity_check_paths = { + 'files': ['protein_mpnn_run.py'], + 'dirs': ['examples'], +} + +fix_python_shebang_for = ['protein_mpnn_run.py'] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' From 8dd701b1f73bfdee81f958a2c37e147d59e5a0b4 Mon Sep 17 00:00:00 2001 From: vsc46128 Date: Mon, 3 Jun 2024 16:28:07 +0200 Subject: [PATCH 793/889] add sanity check command --- .../p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a.eb b/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a.eb index 83c7fc20895..00ce7ba8170 100644 --- a/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a.eb +++ b/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a.eb @@ -35,6 +35,8 @@ sanity_check_paths = { fix_python_shebang_for = ['protein_mpnn_run.py'] +sanity_check_commands = ['protein_mpnn_run.py --help'] + modextrapaths = {'PATH': ''} moduleclass = 'bio' From fb2215ad7d0e07a564709fb02d0f68f27f658556 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Mon, 3 Jun 2024 16:25:36 +0100 Subject: [PATCH 794/889] Fix whitespace --- .../p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a.eb b/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a.eb index 00ce7ba8170..90051e4b0ba 100644 --- a/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a.eb +++ b/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a.eb @@ -22,7 +22,7 @@ checksums = ['2e11f385074facb06e12496acde80756b34504f0f70bf78714fb07fe9244f398'] dependencies = [ ('CUDA', '11.7.0', '', SYSTEM), ('PyTorch', '1.12.0', '-CUDA-%(cudaver)s'), - ('torchvision', '0.13.1' , '-CUDA-%(cudaver)s'), + ('torchvision', '0.13.1', '-CUDA-%(cudaver)s'), ('torchaudio', '0.12.0', '-PyTorch-1.12.0-CUDA-11.7.0'), ] From 9b9ec1d44ec68ff1ffa7a87f68079da8b43cd4a1 Mon Sep 17 00:00:00 2001 From: thoffman Date: Mon, 3 Jun 2024 18:10:47 +0200 Subject: [PATCH 795/889] {tools}[gfbf/2023a] ml_dtypes v0.3.2 --- .../m/ml_dtypes/ml_dtypes-0.3.2-gfbf-2023a.eb | 51 + .../ml_dtypes-0.3.2_EigenAvx512.patch | 1219 +++++++++++++++++ 2 files changed, 1270 insertions(+) create mode 100644 easybuild/easyconfigs/m/ml_dtypes/ml_dtypes-0.3.2-gfbf-2023a.eb create mode 100644 easybuild/easyconfigs/m/ml_dtypes/ml_dtypes-0.3.2_EigenAvx512.patch diff --git a/easybuild/easyconfigs/m/ml_dtypes/ml_dtypes-0.3.2-gfbf-2023a.eb b/easybuild/easyconfigs/m/ml_dtypes/ml_dtypes-0.3.2-gfbf-2023a.eb new file mode 100644 index 00000000000..9c3a18bfdb5 --- /dev/null +++ b/easybuild/easyconfigs/m/ml_dtypes/ml_dtypes-0.3.2-gfbf-2023a.eb @@ -0,0 +1,51 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/02 +easyblock = 'PythonBundle' + +name = 'ml_dtypes' +version = '0.3.2' + +homepage = 'https://github.com/jax-ml/ml_dtypes' +description = """ +ml_dtypes is a stand-alone implementation of several NumPy dtype extensions used +in machine learning libraries, including: + +bfloat16: an alternative to the standard float16 format +float8_*: several experimental 8-bit floating point representations including: +float8_e4m3b11fnuz +float8_e4m3fn +float8_e4m3fnuz +float8_e5m2 +float8_e5m2fnuz +""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + + +use_pip = True + +default_easyblock = 'PythonPackage' + +exts_list = [ + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('etils', '1.6.0', { + 'checksums': ['c635fbd02a79fed4ad76825d31306b581d22b40671721daa8bc279cf6333e48a'], + }), + (name, version, { + 'patches': [('ml_dtypes-0.3.2_EigenAvx512.patch', 1)], + 'checksums': [ + {'ml_dtypes-0.3.2.tar.gz': '533059bc5f1764fac071ef54598db358c167c51a718f68f5bb55e3dee79d2967'}, + {'ml_dtypes-0.3.2_EigenAvx512.patch': '197b05b0b7f611749824369f026099f6a172f9e8eab6ebb6504a16573746c892'}, + ], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/ml_dtypes/ml_dtypes-0.3.2_EigenAvx512.patch b/easybuild/easyconfigs/m/ml_dtypes/ml_dtypes-0.3.2_EigenAvx512.patch new file mode 100644 index 00000000000..42ea0606391 --- /dev/null +++ b/easybuild/easyconfigs/m/ml_dtypes/ml_dtypes-0.3.2_EigenAvx512.patch @@ -0,0 +1,1219 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/01 +# ml_dtype 0.3.2 ships a copy of Eigen commit 7bf2968 (https://gitlab.com/libeigen/eigen/-/commit/7bf2968). +# This copy is missing the file src/Core/arch/AVX512/TrsmUnrolls.inc, which is added by the present patch. +diff -ru --new-file old/third_party_ori/eigen/Eigen/src/Core/arch/AVX512/TrsmUnrolls.inc new/third_party/eigen/Eigen/src/Core/arch/AVX512/TrsmUnrolls.inc +--- old/third_party/eigen/Eigen/src/Core/arch/AVX512/TrsmUnrolls.inc 1970-01-01 01:00:00.000000000 +0100 ++++ new/third_party/eigen/Eigen/src/Core/arch/AVX512/TrsmUnrolls.inc 2024-02-14 10:32:25.492978066 +0100 +@@ -0,0 +1,1212 @@ ++// This file is part of Eigen, a lightweight C++ template library ++// for linear algebra. ++// ++// Copyright (C) 2022 Intel Corporation ++// ++// This Source Code Form is subject to the terms of the Mozilla ++// Public License v. 2.0. If a copy of the MPL was not distributed ++// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. ++ ++#ifndef EIGEN_CORE_ARCH_AVX512_TRSM_UNROLLS_H ++#define EIGEN_CORE_ARCH_AVX512_TRSM_UNROLLS_H ++ ++template ++EIGEN_ALWAYS_INLINE int64_t idA(int64_t i, int64_t j, int64_t LDA) { ++ EIGEN_IF_CONSTEXPR(isARowMajor) return i * LDA + j; ++ else return i + j * LDA; ++} ++ ++/** ++ * This namespace contains various classes used to generate compile-time unrolls which are ++ * used throughout the trsm/gemm kernels. The unrolls are characterized as for-loops (1-D), nested ++ * for-loops (2-D), or triple nested for-loops (3-D). Unrolls are generated using template recursion ++ * ++ * Example, the 2-D for-loop is unrolled recursively by first flattening to a 1-D loop. ++ * ++ * for(startI = 0; startI < endI; startI++) for(startC = 0; startC < endI*endJ; startC++) ++ * for(startJ = 0; startJ < endJ; startJ++) ----> startI = (startC)/(endJ) ++ * func(startI,startJ) startJ = (startC)%(endJ) ++ * func(...) ++ * ++ * The 1-D loop can be unrolled recursively by using enable_if and defining an auxillary function ++ * with a template parameter used as a counter. ++ * ++ * template ++ * std::enable_if_t<(counter <= 0)> <---- tail case. ++ * aux_func {} ++ * ++ * template ++ * std::enable_if_t<(counter > 0)> <---- actual for-loop ++ * aux_func { ++ * startC = endI*endJ - counter ++ * startI = (startC)/(endJ) ++ * startJ = (startC)%(endJ) ++ * func(startI, startJ) ++ * aux_func() ++ * } ++ * ++ * Note: Additional wrapper functions are provided for aux_func which hides the counter template ++ * parameter since counter usually depends on endI, endJ, etc... ++ * ++ * Conventions: ++ * 1) endX: specifies the terminal value for the for-loop, (ex: for(startX = 0; startX < endX; startX++)) ++ * ++ * 2) rem, remM, remK template parameters are used for deciding whether to use masked operations for ++ * handling remaining tails (when sizes are not multiples of PacketSize or EIGEN_AVX_MAX_NUM_ROW) ++ */ ++namespace unrolls { ++ ++template ++EIGEN_ALWAYS_INLINE auto remMask(int64_t m) { ++ EIGEN_IF_CONSTEXPR(N == 16) { return 0xFFFF >> (16 - m); } ++ else EIGEN_IF_CONSTEXPR(N == 8) { ++ return 0xFF >> (8 - m); ++ } ++ else EIGEN_IF_CONSTEXPR(N == 4) { ++ return 0x0F >> (4 - m); ++ } ++ return 0; ++} ++ ++template ++EIGEN_ALWAYS_INLINE void trans8x8blocks(PacketBlock &kernel); ++ ++template <> ++EIGEN_ALWAYS_INLINE void trans8x8blocks(PacketBlock &kernel) { ++ __m512 T0 = _mm512_unpacklo_ps(kernel.packet[0], kernel.packet[1]); ++ __m512 T1 = _mm512_unpackhi_ps(kernel.packet[0], kernel.packet[1]); ++ __m512 T2 = _mm512_unpacklo_ps(kernel.packet[2], kernel.packet[3]); ++ __m512 T3 = _mm512_unpackhi_ps(kernel.packet[2], kernel.packet[3]); ++ __m512 T4 = _mm512_unpacklo_ps(kernel.packet[4], kernel.packet[5]); ++ __m512 T5 = _mm512_unpackhi_ps(kernel.packet[4], kernel.packet[5]); ++ __m512 T6 = _mm512_unpacklo_ps(kernel.packet[6], kernel.packet[7]); ++ __m512 T7 = _mm512_unpackhi_ps(kernel.packet[6], kernel.packet[7]); ++ ++ kernel.packet[0] = _mm512_castpd_ps(_mm512_unpacklo_pd(_mm512_castps_pd(T0), _mm512_castps_pd(T2))); ++ kernel.packet[1] = _mm512_castpd_ps(_mm512_unpackhi_pd(_mm512_castps_pd(T0), _mm512_castps_pd(T2))); ++ kernel.packet[2] = _mm512_castpd_ps(_mm512_unpacklo_pd(_mm512_castps_pd(T1), _mm512_castps_pd(T3))); ++ kernel.packet[3] = _mm512_castpd_ps(_mm512_unpackhi_pd(_mm512_castps_pd(T1), _mm512_castps_pd(T3))); ++ kernel.packet[4] = _mm512_castpd_ps(_mm512_unpacklo_pd(_mm512_castps_pd(T4), _mm512_castps_pd(T6))); ++ kernel.packet[5] = _mm512_castpd_ps(_mm512_unpackhi_pd(_mm512_castps_pd(T4), _mm512_castps_pd(T6))); ++ kernel.packet[6] = _mm512_castpd_ps(_mm512_unpacklo_pd(_mm512_castps_pd(T5), _mm512_castps_pd(T7))); ++ kernel.packet[7] = _mm512_castpd_ps(_mm512_unpackhi_pd(_mm512_castps_pd(T5), _mm512_castps_pd(T7))); ++ ++ T0 = _mm512_castpd_ps(_mm512_permutex_pd(_mm512_castps_pd(kernel.packet[4]), 0x4E)); ++ T0 = _mm512_mask_blend_ps(0xF0F0, kernel.packet[0], T0); ++ T4 = _mm512_castpd_ps(_mm512_permutex_pd(_mm512_castps_pd(kernel.packet[0]), 0x4E)); ++ T4 = _mm512_mask_blend_ps(0xF0F0, T4, kernel.packet[4]); ++ T1 = _mm512_castpd_ps(_mm512_permutex_pd(_mm512_castps_pd(kernel.packet[5]), 0x4E)); ++ T1 = _mm512_mask_blend_ps(0xF0F0, kernel.packet[1], T1); ++ T5 = _mm512_castpd_ps(_mm512_permutex_pd(_mm512_castps_pd(kernel.packet[1]), 0x4E)); ++ T5 = _mm512_mask_blend_ps(0xF0F0, T5, kernel.packet[5]); ++ T2 = _mm512_castpd_ps(_mm512_permutex_pd(_mm512_castps_pd(kernel.packet[6]), 0x4E)); ++ T2 = _mm512_mask_blend_ps(0xF0F0, kernel.packet[2], T2); ++ T6 = _mm512_castpd_ps(_mm512_permutex_pd(_mm512_castps_pd(kernel.packet[2]), 0x4E)); ++ T6 = _mm512_mask_blend_ps(0xF0F0, T6, kernel.packet[6]); ++ T3 = _mm512_castpd_ps(_mm512_permutex_pd(_mm512_castps_pd(kernel.packet[7]), 0x4E)); ++ T3 = _mm512_mask_blend_ps(0xF0F0, kernel.packet[3], T3); ++ T7 = _mm512_castpd_ps(_mm512_permutex_pd(_mm512_castps_pd(kernel.packet[3]), 0x4E)); ++ T7 = _mm512_mask_blend_ps(0xF0F0, T7, kernel.packet[7]); ++ ++ kernel.packet[0] = T0; ++ kernel.packet[1] = T1; ++ kernel.packet[2] = T2; ++ kernel.packet[3] = T3; ++ kernel.packet[4] = T4; ++ kernel.packet[5] = T5; ++ kernel.packet[6] = T6; ++ kernel.packet[7] = T7; ++} ++ ++template <> ++EIGEN_ALWAYS_INLINE void trans8x8blocks(PacketBlock &kernel) { ++ ptranspose(kernel); ++} ++ ++/*** ++ * Unrolls for tranposed C stores ++ */ ++template ++class trans { ++ public: ++ using vec = typename std::conditional::value, vecFullFloat, vecFullDouble>::type; ++ using vecHalf = typename std::conditional::value, vecHalfFloat, vecFullDouble>::type; ++ static constexpr int64_t PacketSize = packet_traits::size; ++ ++ /*********************************** ++ * Auxillary Functions for: ++ * - storeC ++ *********************************** ++ */ ++ ++ /** ++ * aux_storeC ++ * ++ * 1-D unroll ++ * for(startN = 0; startN < endN; startN++) ++ * ++ * (endN <= PacketSize) is required to handle the fp32 case, see comments in transStoreC ++ * ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0 && endN <= PacketSize)> aux_storeC( ++ Scalar *C_arr, int64_t LDC, PacketBlock &zmm, int64_t remM_ = 0) { ++ constexpr int64_t counterReverse = endN - counter; ++ constexpr int64_t startN = counterReverse; ++ ++ EIGEN_IF_CONSTEXPR(startN < EIGEN_AVX_MAX_NUM_ROW) { ++ EIGEN_IF_CONSTEXPR(remM) { ++ pstoreu( ++ C_arr + LDC * startN, ++ padd(ploadu((const Scalar *)C_arr + LDC * startN, remMask(remM_)), ++ preinterpret(zmm.packet[packetIndexOffset + (unrollN / PacketSize) * startN]), ++ remMask(remM_)), ++ remMask(remM_)); ++ } ++ else { ++ pstoreu(C_arr + LDC * startN, ++ padd(ploadu((const Scalar *)C_arr + LDC * startN), ++ preinterpret(zmm.packet[packetIndexOffset + (unrollN / PacketSize) * startN]))); ++ } ++ } ++ else { // This block is only needed for fp32 case ++ // Reinterpret as __m512 for _mm512_shuffle_f32x4 ++ vecFullFloat zmm2vecFullFloat = preinterpret( ++ zmm.packet[packetIndexOffset + (unrollN / PacketSize) * (startN - EIGEN_AVX_MAX_NUM_ROW)]); ++ // Swap lower and upper half of avx register. ++ zmm.packet[packetIndexOffset + (unrollN / PacketSize) * (startN - EIGEN_AVX_MAX_NUM_ROW)] = ++ preinterpret(_mm512_shuffle_f32x4(zmm2vecFullFloat, zmm2vecFullFloat, 0b01001110)); ++ ++ EIGEN_IF_CONSTEXPR(remM) { ++ pstoreu( ++ C_arr + LDC * startN, ++ padd(ploadu((const Scalar *)C_arr + LDC * startN, remMask(remM_)), ++ preinterpret( ++ zmm.packet[packetIndexOffset + (unrollN / PacketSize) * (startN - EIGEN_AVX_MAX_NUM_ROW)])), ++ remMask(remM_)); ++ } ++ else { ++ pstoreu( ++ C_arr + LDC * startN, ++ padd(ploadu((const Scalar *)C_arr + LDC * startN), ++ preinterpret( ++ zmm.packet[packetIndexOffset + (unrollN / PacketSize) * (startN - EIGEN_AVX_MAX_NUM_ROW)]))); ++ } ++ } ++ aux_storeC(C_arr, LDC, zmm, remM_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t 0 && endN <= PacketSize)> aux_storeC( ++ Scalar *C_arr, int64_t LDC, PacketBlock &zmm, int64_t remM_ = 0) { ++ EIGEN_UNUSED_VARIABLE(C_arr); ++ EIGEN_UNUSED_VARIABLE(LDC); ++ EIGEN_UNUSED_VARIABLE(zmm); ++ EIGEN_UNUSED_VARIABLE(remM_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE void storeC(Scalar *C_arr, int64_t LDC, ++ PacketBlock &zmm, ++ int64_t remM_ = 0) { ++ aux_storeC(C_arr, LDC, zmm, remM_); ++ } ++ ++ /** ++ * Transposes LxunrollN row major block of matrices stored EIGEN_AVX_MAX_NUM_ACC zmm registers to ++ * "unrollN"xL ymm registers to be stored col-major into C. ++ * ++ * For 8x48, the 8x48 block (row-major) is stored in zmm as follows: ++ * ++ * row0: zmm0 zmm1 zmm2 ++ * row1: zmm3 zmm4 zmm5 ++ * . ++ * . ++ * row7: zmm21 zmm22 zmm23 ++ * ++ * For 8x32, the 8x32 block (row-major) is stored in zmm as follows: ++ * ++ * row0: zmm0 zmm1 ++ * row1: zmm2 zmm3 ++ * . ++ * . ++ * row7: zmm14 zmm15 ++ * ++ * ++ * In general we will have {1,2,3} groups of avx registers each of size ++ * EIGEN_AVX_MAX_NUM_ROW. packetIndexOffset is used to select which "block" of ++ * avx registers are being transposed. ++ */ ++ template ++ static EIGEN_ALWAYS_INLINE void transpose(PacketBlock &zmm) { ++ // Note: this assumes EIGEN_AVX_MAX_NUM_ROW = 8. Unrolls should be adjusted ++ // accordingly if EIGEN_AVX_MAX_NUM_ROW is smaller. ++ constexpr int64_t zmmStride = unrollN / PacketSize; ++ PacketBlock r; ++ r.packet[0] = zmm.packet[packetIndexOffset + zmmStride * 0]; ++ r.packet[1] = zmm.packet[packetIndexOffset + zmmStride * 1]; ++ r.packet[2] = zmm.packet[packetIndexOffset + zmmStride * 2]; ++ r.packet[3] = zmm.packet[packetIndexOffset + zmmStride * 3]; ++ r.packet[4] = zmm.packet[packetIndexOffset + zmmStride * 4]; ++ r.packet[5] = zmm.packet[packetIndexOffset + zmmStride * 5]; ++ r.packet[6] = zmm.packet[packetIndexOffset + zmmStride * 6]; ++ r.packet[7] = zmm.packet[packetIndexOffset + zmmStride * 7]; ++ trans8x8blocks(r); ++ zmm.packet[packetIndexOffset + zmmStride * 0] = r.packet[0]; ++ zmm.packet[packetIndexOffset + zmmStride * 1] = r.packet[1]; ++ zmm.packet[packetIndexOffset + zmmStride * 2] = r.packet[2]; ++ zmm.packet[packetIndexOffset + zmmStride * 3] = r.packet[3]; ++ zmm.packet[packetIndexOffset + zmmStride * 4] = r.packet[4]; ++ zmm.packet[packetIndexOffset + zmmStride * 5] = r.packet[5]; ++ zmm.packet[packetIndexOffset + zmmStride * 6] = r.packet[6]; ++ zmm.packet[packetIndexOffset + zmmStride * 7] = r.packet[7]; ++ } ++}; ++ ++/** ++ * Unrolls for copyBToRowMajor ++ * ++ * Idea: ++ * 1) Load a block of right-hand sides to registers (using loadB). ++ * 2) Convert the block from column-major to row-major (transposeLxL) ++ * 3) Store the blocks from register either to a temp array (toTemp == true), or back to B (toTemp == false). ++ * ++ * We use at most EIGEN_AVX_MAX_NUM_ACC avx registers to store the blocks of B. The remaining registers are ++ * used as temps for transposing. ++ * ++ * Blocks will be of size Lx{U1,U2,U3}. packetIndexOffset is used to index between these subblocks ++ * For fp32, PacketSize = 2*EIGEN_AVX_MAX_NUM_ROW, so we reinterpret packets as packets half the size (zmm -> ymm). ++ */ ++template ++class transB { ++ public: ++ using vec = typename std::conditional::value, vecFullFloat, vecFullDouble>::type; ++ using vecHalf = typename std::conditional::value, vecHalfFloat, vecFullDouble>::type; ++ static constexpr int64_t PacketSize = packet_traits::size; ++ ++ /*********************************** ++ * Auxillary Functions for: ++ * - loadB ++ * - storeB ++ * - loadBBlock ++ * - storeBBlock ++ *********************************** ++ */ ++ ++ /** ++ * aux_loadB ++ * ++ * 1-D unroll ++ * for(startN = 0; startN < endN; startN++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_loadB( ++ Scalar *B_arr, int64_t LDB, PacketBlock &ymm, ++ int64_t remM_ = 0) { ++ constexpr int64_t counterReverse = endN - counter; ++ constexpr int64_t startN = counterReverse; ++ ++ EIGEN_IF_CONSTEXPR(remM) { ++ ymm.packet[packetIndexOffset + startN] = ++ ploadu((const Scalar *)&B_arr[startN * LDB], remMask(remM_)); ++ } ++ else ymm.packet[packetIndexOffset + startN] = ploadu((const Scalar *)&B_arr[startN * LDB]); ++ ++ aux_loadB(B_arr, LDB, ymm, remM_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_loadB( ++ Scalar *B_arr, int64_t LDB, PacketBlock &ymm, ++ int64_t remM_ = 0) { ++ EIGEN_UNUSED_VARIABLE(B_arr); ++ EIGEN_UNUSED_VARIABLE(LDB); ++ EIGEN_UNUSED_VARIABLE(ymm); ++ EIGEN_UNUSED_VARIABLE(remM_); ++ } ++ ++ /** ++ * aux_storeB ++ * ++ * 1-D unroll ++ * for(startN = 0; startN < endN; startN++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_storeB( ++ Scalar *B_arr, int64_t LDB, PacketBlock &ymm, int64_t rem_ = 0) { ++ constexpr int64_t counterReverse = endN - counter; ++ constexpr int64_t startN = counterReverse; ++ ++ EIGEN_IF_CONSTEXPR(remK || remM) { ++ pstoreu(&B_arr[startN * LDB], ymm.packet[packetIndexOffset + startN], ++ remMask(rem_)); ++ } ++ else { ++ pstoreu(&B_arr[startN * LDB], ymm.packet[packetIndexOffset + startN]); ++ } ++ ++ aux_storeB(B_arr, LDB, ymm, rem_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_storeB( ++ Scalar *B_arr, int64_t LDB, PacketBlock &ymm, int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(B_arr); ++ EIGEN_UNUSED_VARIABLE(LDB); ++ EIGEN_UNUSED_VARIABLE(ymm); ++ EIGEN_UNUSED_VARIABLE(rem_); ++ } ++ ++ /** ++ * aux_loadBBlock ++ * ++ * 1-D unroll ++ * for(startN = 0; startN < endN; startN += EIGEN_AVX_MAX_NUM_ROW) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_loadBBlock( ++ Scalar *B_arr, int64_t LDB, Scalar *B_temp, int64_t LDB_, ++ PacketBlock &ymm, int64_t remM_ = 0) { ++ constexpr int64_t counterReverse = endN - counter; ++ constexpr int64_t startN = counterReverse; ++ transB::template loadB(&B_temp[startN], LDB_, ymm); ++ aux_loadBBlock(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_loadBBlock( ++ Scalar *B_arr, int64_t LDB, Scalar *B_temp, int64_t LDB_, ++ PacketBlock &ymm, int64_t remM_ = 0) { ++ EIGEN_UNUSED_VARIABLE(B_arr); ++ EIGEN_UNUSED_VARIABLE(LDB); ++ EIGEN_UNUSED_VARIABLE(B_temp); ++ EIGEN_UNUSED_VARIABLE(LDB_); ++ EIGEN_UNUSED_VARIABLE(ymm); ++ EIGEN_UNUSED_VARIABLE(remM_); ++ } ++ ++ /** ++ * aux_storeBBlock ++ * ++ * 1-D unroll ++ * for(startN = 0; startN < endN; startN += EIGEN_AVX_MAX_NUM_ROW) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_storeBBlock( ++ Scalar *B_arr, int64_t LDB, Scalar *B_temp, int64_t LDB_, ++ PacketBlock &ymm, int64_t remM_ = 0) { ++ constexpr int64_t counterReverse = endN - counter; ++ constexpr int64_t startN = counterReverse; ++ ++ EIGEN_IF_CONSTEXPR(toTemp) { ++ transB::template storeB(&B_temp[startN], LDB_, ymm, remK_); ++ } ++ else { ++ transB::template storeB(&B_arr[0 + startN * LDB], LDB, ++ ymm, remM_); ++ } ++ aux_storeBBlock(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_storeBBlock( ++ Scalar *B_arr, int64_t LDB, Scalar *B_temp, int64_t LDB_, ++ PacketBlock &ymm, int64_t remM_ = 0) { ++ EIGEN_UNUSED_VARIABLE(B_arr); ++ EIGEN_UNUSED_VARIABLE(LDB); ++ EIGEN_UNUSED_VARIABLE(B_temp); ++ EIGEN_UNUSED_VARIABLE(LDB_); ++ EIGEN_UNUSED_VARIABLE(ymm); ++ EIGEN_UNUSED_VARIABLE(remM_); ++ } ++ ++ /******************************************************** ++ * Wrappers for aux_XXXX to hide counter parameter ++ ********************************************************/ ++ ++ template ++ static EIGEN_ALWAYS_INLINE void loadB(Scalar *B_arr, int64_t LDB, ++ PacketBlock &ymm, ++ int64_t remM_ = 0) { ++ aux_loadB(B_arr, LDB, ymm, remM_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE void storeB(Scalar *B_arr, int64_t LDB, ++ PacketBlock &ymm, ++ int64_t rem_ = 0) { ++ aux_storeB(B_arr, LDB, ymm, rem_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE void loadBBlock(Scalar *B_arr, int64_t LDB, Scalar *B_temp, int64_t LDB_, ++ PacketBlock &ymm, ++ int64_t remM_ = 0) { ++ EIGEN_IF_CONSTEXPR(toTemp) { transB::template loadB(&B_arr[0], LDB, ymm, remM_); } ++ else { ++ aux_loadBBlock(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ } ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE void storeBBlock(Scalar *B_arr, int64_t LDB, Scalar *B_temp, int64_t LDB_, ++ PacketBlock &ymm, ++ int64_t remM_ = 0) { ++ aux_storeBBlock(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE void transposeLxL(PacketBlock &ymm) { ++ // Note: this assumes EIGEN_AVX_MAX_NUM_ROW = 8. Unrolls should be adjusted ++ // accordingly if EIGEN_AVX_MAX_NUM_ROW is smaller. ++ PacketBlock r; ++ r.packet[0] = ymm.packet[packetIndexOffset + 0]; ++ r.packet[1] = ymm.packet[packetIndexOffset + 1]; ++ r.packet[2] = ymm.packet[packetIndexOffset + 2]; ++ r.packet[3] = ymm.packet[packetIndexOffset + 3]; ++ r.packet[4] = ymm.packet[packetIndexOffset + 4]; ++ r.packet[5] = ymm.packet[packetIndexOffset + 5]; ++ r.packet[6] = ymm.packet[packetIndexOffset + 6]; ++ r.packet[7] = ymm.packet[packetIndexOffset + 7]; ++ ptranspose(r); ++ ymm.packet[packetIndexOffset + 0] = r.packet[0]; ++ ymm.packet[packetIndexOffset + 1] = r.packet[1]; ++ ymm.packet[packetIndexOffset + 2] = r.packet[2]; ++ ymm.packet[packetIndexOffset + 3] = r.packet[3]; ++ ymm.packet[packetIndexOffset + 4] = r.packet[4]; ++ ymm.packet[packetIndexOffset + 5] = r.packet[5]; ++ ymm.packet[packetIndexOffset + 6] = r.packet[6]; ++ ymm.packet[packetIndexOffset + 7] = r.packet[7]; ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE void transB_kernel(Scalar *B_arr, int64_t LDB, Scalar *B_temp, int64_t LDB_, ++ PacketBlock &ymm, ++ int64_t remM_ = 0) { ++ constexpr int64_t U3 = PacketSize * 3; ++ constexpr int64_t U2 = PacketSize * 2; ++ constexpr int64_t U1 = PacketSize * 1; ++ /** ++ * Unrolls needed for each case: ++ * - AVX512 fp32 48 32 16 8 4 2 1 ++ * - AVX512 fp64 24 16 8 4 2 1 ++ * ++ * For fp32 L and U1 are 1:2 so for U3/U2 cases the loads/stores need to be split up. ++ */ ++ EIGEN_IF_CONSTEXPR(unrollN == U3) { ++ // load LxU3 B col major, transpose LxU3 row major ++ constexpr int64_t maxUBlock = std::min(3 * EIGEN_AVX_MAX_NUM_ROW, U3); ++ transB::template loadBBlock(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ transB::template transposeLxL<0 * EIGEN_AVX_MAX_NUM_ROW>(ymm); ++ transB::template transposeLxL<1 * EIGEN_AVX_MAX_NUM_ROW>(ymm); ++ transB::template transposeLxL<2 * EIGEN_AVX_MAX_NUM_ROW>(ymm); ++ transB::template storeBBlock(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ ++ EIGEN_IF_CONSTEXPR(maxUBlock < U3) { ++ transB::template loadBBlock(&B_arr[maxUBlock * LDB], LDB, &B_temp[maxUBlock], LDB_, ++ ymm, remM_); ++ transB::template transposeLxL<0 * EIGEN_AVX_MAX_NUM_ROW>(ymm); ++ transB::template transposeLxL<1 * EIGEN_AVX_MAX_NUM_ROW>(ymm); ++ transB::template transposeLxL<2 * EIGEN_AVX_MAX_NUM_ROW>(ymm); ++ transB::template storeBBlock(&B_arr[maxUBlock * LDB], LDB, &B_temp[maxUBlock], LDB_, ++ ymm, remM_); ++ } ++ } ++ else EIGEN_IF_CONSTEXPR(unrollN == U2) { ++ // load LxU2 B col major, transpose LxU2 row major ++ constexpr int64_t maxUBlock = std::min(3 * EIGEN_AVX_MAX_NUM_ROW, U2); ++ transB::template loadBBlock(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ transB::template transposeLxL<0 * EIGEN_AVX_MAX_NUM_ROW>(ymm); ++ transB::template transposeLxL<1 * EIGEN_AVX_MAX_NUM_ROW>(ymm); ++ EIGEN_IF_CONSTEXPR(maxUBlock < U2) transB::template transposeLxL<2 * EIGEN_AVX_MAX_NUM_ROW>(ymm); ++ transB::template storeBBlock(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ ++ EIGEN_IF_CONSTEXPR(maxUBlock < U2) { ++ transB::template loadBBlock(&B_arr[maxUBlock * LDB], LDB, ++ &B_temp[maxUBlock], LDB_, ymm, remM_); ++ transB::template transposeLxL<0>(ymm); ++ transB::template storeBBlock(&B_arr[maxUBlock * LDB], LDB, ++ &B_temp[maxUBlock], LDB_, ymm, remM_); ++ } ++ } ++ else EIGEN_IF_CONSTEXPR(unrollN == U1) { ++ // load LxU1 B col major, transpose LxU1 row major ++ transB::template loadBBlock(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ transB::template transposeLxL<0>(ymm); ++ EIGEN_IF_CONSTEXPR(EIGEN_AVX_MAX_NUM_ROW < U1) { transB::template transposeLxL<1 * EIGEN_AVX_MAX_NUM_ROW>(ymm); } ++ transB::template storeBBlock(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ } ++ else EIGEN_IF_CONSTEXPR(unrollN == 8 && U1 > 8) { ++ // load Lx4 B col major, transpose Lx4 row major ++ transB::template loadBBlock<8, toTemp, remM>(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ transB::template transposeLxL<0>(ymm); ++ transB::template storeBBlock<8, toTemp, remM, 8>(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ } ++ else EIGEN_IF_CONSTEXPR(unrollN == 4 && U1 > 4) { ++ // load Lx4 B col major, transpose Lx4 row major ++ transB::template loadBBlock<4, toTemp, remM>(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ transB::template transposeLxL<0>(ymm); ++ transB::template storeBBlock<4, toTemp, remM, 4>(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ } ++ else EIGEN_IF_CONSTEXPR(unrollN == 2) { ++ // load Lx2 B col major, transpose Lx2 row major ++ transB::template loadBBlock<2, toTemp, remM>(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ transB::template transposeLxL<0>(ymm); ++ transB::template storeBBlock<2, toTemp, remM, 2>(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ } ++ else EIGEN_IF_CONSTEXPR(unrollN == 1) { ++ // load Lx1 B col major, transpose Lx1 row major ++ transB::template loadBBlock<1, toTemp, remM>(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ transB::template transposeLxL<0>(ymm); ++ transB::template storeBBlock<1, toTemp, remM, 1>(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ } ++ } ++}; ++ ++/** ++ * Unrolls for triSolveKernel ++ * ++ * Idea: ++ * 1) Load a block of right-hand sides to registers in RHSInPacket (using loadRHS). ++ * 2) Do triangular solve with RHSInPacket and a small block of A (triangular matrix) ++ * stored in AInPacket (using triSolveMicroKernel). ++ * 3) Store final results (in avx registers) back into memory (using storeRHS). ++ * ++ * RHSInPacket uses at most EIGEN_AVX_MAX_NUM_ACC avx registers and AInPacket uses at most ++ * EIGEN_AVX_MAX_NUM_ROW registers. ++ */ ++template ++class trsm { ++ public: ++ using vec = typename std::conditional::value, vecFullFloat, vecFullDouble>::type; ++ static constexpr int64_t PacketSize = packet_traits::size; ++ ++ /*********************************** ++ * Auxillary Functions for: ++ * - loadRHS ++ * - storeRHS ++ * - divRHSByDiag ++ * - updateRHS ++ * - triSolveMicroKernel ++ ************************************/ ++ /** ++ * aux_loadRHS ++ * ++ * 2-D unroll ++ * for(startM = 0; startM < endM; startM++) ++ * for(startK = 0; startK < endK; startK++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_loadRHS( ++ Scalar *B_arr, int64_t LDB, PacketBlock &RHSInPacket, int64_t rem = 0) { ++ constexpr int64_t counterReverse = endM * endK - counter; ++ constexpr int64_t startM = counterReverse / (endK); ++ constexpr int64_t startK = counterReverse % endK; ++ ++ constexpr int64_t packetIndex = startM * endK + startK; ++ constexpr int64_t startM_ = isFWDSolve ? startM : -startM; ++ const int64_t rhsIndex = (startK * PacketSize) + startM_ * LDB; ++ EIGEN_IF_CONSTEXPR(krem) { ++ RHSInPacket.packet[packetIndex] = ploadu(&B_arr[rhsIndex], remMask(rem)); ++ } ++ else { ++ RHSInPacket.packet[packetIndex] = ploadu(&B_arr[rhsIndex]); ++ } ++ aux_loadRHS(B_arr, LDB, RHSInPacket, rem); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_loadRHS( ++ Scalar *B_arr, int64_t LDB, PacketBlock &RHSInPacket, int64_t rem = 0) { ++ EIGEN_UNUSED_VARIABLE(B_arr); ++ EIGEN_UNUSED_VARIABLE(LDB); ++ EIGEN_UNUSED_VARIABLE(RHSInPacket); ++ EIGEN_UNUSED_VARIABLE(rem); ++ } ++ ++ /** ++ * aux_storeRHS ++ * ++ * 2-D unroll ++ * for(startM = 0; startM < endM; startM++) ++ * for(startK = 0; startK < endK; startK++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_storeRHS( ++ Scalar *B_arr, int64_t LDB, PacketBlock &RHSInPacket, int64_t rem = 0) { ++ constexpr int64_t counterReverse = endM * endK - counter; ++ constexpr int64_t startM = counterReverse / (endK); ++ constexpr int64_t startK = counterReverse % endK; ++ ++ constexpr int64_t packetIndex = startM * endK + startK; ++ constexpr int64_t startM_ = isFWDSolve ? startM : -startM; ++ const int64_t rhsIndex = (startK * PacketSize) + startM_ * LDB; ++ EIGEN_IF_CONSTEXPR(krem) { ++ pstoreu(&B_arr[rhsIndex], RHSInPacket.packet[packetIndex], remMask(rem)); ++ } ++ else { ++ pstoreu(&B_arr[rhsIndex], RHSInPacket.packet[packetIndex]); ++ } ++ aux_storeRHS(B_arr, LDB, RHSInPacket, rem); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_storeRHS( ++ Scalar *B_arr, int64_t LDB, PacketBlock &RHSInPacket, int64_t rem = 0) { ++ EIGEN_UNUSED_VARIABLE(B_arr); ++ EIGEN_UNUSED_VARIABLE(LDB); ++ EIGEN_UNUSED_VARIABLE(RHSInPacket); ++ EIGEN_UNUSED_VARIABLE(rem); ++ } ++ ++ /** ++ * aux_divRHSByDiag ++ * ++ * currM may be -1, (currM >=0) in enable_if checks for this ++ * ++ * 1-D unroll ++ * for(startK = 0; startK < endK; startK++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0 && currM >= 0)> aux_divRHSByDiag( ++ PacketBlock &RHSInPacket, PacketBlock &AInPacket) { ++ constexpr int64_t counterReverse = endK - counter; ++ constexpr int64_t startK = counterReverse; ++ ++ constexpr int64_t packetIndex = currM * endK + startK; ++ RHSInPacket.packet[packetIndex] = pmul(AInPacket.packet[currM], RHSInPacket.packet[packetIndex]); ++ aux_divRHSByDiag(RHSInPacket, AInPacket); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t 0 && currM >= 0)> aux_divRHSByDiag( ++ PacketBlock &RHSInPacket, PacketBlock &AInPacket) { ++ EIGEN_UNUSED_VARIABLE(RHSInPacket); ++ EIGEN_UNUSED_VARIABLE(AInPacket); ++ } ++ ++ /** ++ * aux_updateRHS ++ * ++ * 2-D unroll ++ * for(startM = initM; startM < endM; startM++) ++ * for(startK = 0; startK < endK; startK++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_updateRHS( ++ Scalar *A_arr, int64_t LDA, PacketBlock &RHSInPacket, ++ PacketBlock &AInPacket) { ++ constexpr int64_t counterReverse = (endM - initM) * endK - counter; ++ constexpr int64_t startM = initM + counterReverse / (endK); ++ constexpr int64_t startK = counterReverse % endK; ++ ++ // For each row of A, first update all corresponding RHS ++ constexpr int64_t packetIndex = startM * endK + startK; ++ EIGEN_IF_CONSTEXPR(currentM > 0) { ++ RHSInPacket.packet[packetIndex] = ++ pnmadd(AInPacket.packet[startM], RHSInPacket.packet[(currentM - 1) * endK + startK], ++ RHSInPacket.packet[packetIndex]); ++ } ++ ++ EIGEN_IF_CONSTEXPR(startK == endK - 1) { ++ // Once all RHS for previous row of A is updated, we broadcast the next element in the column A_{i, currentM}. ++ EIGEN_IF_CONSTEXPR(startM == currentM && !isUnitDiag) { ++ // If diagonal is not unit, we broadcast reciprocals of diagonals AinPacket.packet[currentM]. ++ // This will be used in divRHSByDiag ++ EIGEN_IF_CONSTEXPR(isFWDSolve) ++ AInPacket.packet[currentM] = pset1(Scalar(1) / A_arr[idA(currentM, currentM, LDA)]); ++ else AInPacket.packet[currentM] = pset1(Scalar(1) / A_arr[idA(-currentM, -currentM, LDA)]); ++ } ++ else { ++ // Broadcast next off diagonal element of A ++ EIGEN_IF_CONSTEXPR(isFWDSolve) ++ AInPacket.packet[startM] = pset1(A_arr[idA(startM, currentM, LDA)]); ++ else AInPacket.packet[startM] = pset1(A_arr[idA(-startM, -currentM, LDA)]); ++ } ++ } ++ ++ aux_updateRHS( ++ A_arr, LDA, RHSInPacket, AInPacket); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_updateRHS( ++ Scalar *A_arr, int64_t LDA, PacketBlock &RHSInPacket, ++ PacketBlock &AInPacket) { ++ EIGEN_UNUSED_VARIABLE(A_arr); ++ EIGEN_UNUSED_VARIABLE(LDA); ++ EIGEN_UNUSED_VARIABLE(RHSInPacket); ++ EIGEN_UNUSED_VARIABLE(AInPacket); ++ } ++ ++ /** ++ * aux_triSolverMicroKernel ++ * ++ * 1-D unroll ++ * for(startM = 0; startM < endM; startM++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_triSolveMicroKernel( ++ Scalar *A_arr, int64_t LDA, PacketBlock &RHSInPacket, ++ PacketBlock &AInPacket) { ++ constexpr int64_t counterReverse = endM - counter; ++ constexpr int64_t startM = counterReverse; ++ ++ constexpr int64_t currentM = startM; ++ // Divides the right-hand side in row startM, by digonal value of A ++ // broadcasted to AInPacket.packet[startM-1] in the previous iteration. ++ // ++ // Without "if constexpr" the compiler instantiates the case <-1, numK> ++ // this is handled with enable_if to prevent out-of-bound warnings ++ // from the compiler ++ EIGEN_IF_CONSTEXPR(!isUnitDiag && startM > 0) ++ trsm::template divRHSByDiag(RHSInPacket, AInPacket); ++ ++ // After division, the rhs corresponding to subsequent rows of A can be partially updated ++ // We also broadcast the reciprocal of the next diagonal to AInPacket.packet[currentM] (if needed) ++ // to be used in the next iteration. ++ trsm::template updateRHS(A_arr, LDA, RHSInPacket, ++ AInPacket); ++ ++ // Handle division for the RHS corresponding to the final row of A. ++ EIGEN_IF_CONSTEXPR(!isUnitDiag && startM == endM - 1) ++ trsm::template divRHSByDiag(RHSInPacket, AInPacket); ++ ++ aux_triSolveMicroKernel(A_arr, LDA, RHSInPacket, ++ AInPacket); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_triSolveMicroKernel( ++ Scalar *A_arr, int64_t LDA, PacketBlock &RHSInPacket, ++ PacketBlock &AInPacket) { ++ EIGEN_UNUSED_VARIABLE(A_arr); ++ EIGEN_UNUSED_VARIABLE(LDA); ++ EIGEN_UNUSED_VARIABLE(RHSInPacket); ++ EIGEN_UNUSED_VARIABLE(AInPacket); ++ } ++ ++ /******************************************************** ++ * Wrappers for aux_XXXX to hide counter parameter ++ ********************************************************/ ++ ++ /** ++ * Load endMxendK block of B to RHSInPacket ++ * Masked loads are used for cases where endK is not a multiple of PacketSize ++ */ ++ template ++ static EIGEN_ALWAYS_INLINE void loadRHS(Scalar *B_arr, int64_t LDB, ++ PacketBlock &RHSInPacket, int64_t rem = 0) { ++ aux_loadRHS(B_arr, LDB, RHSInPacket, rem); ++ } ++ ++ /** ++ * Load endMxendK block of B to RHSInPacket ++ * Masked loads are used for cases where endK is not a multiple of PacketSize ++ */ ++ template ++ static EIGEN_ALWAYS_INLINE void storeRHS(Scalar *B_arr, int64_t LDB, ++ PacketBlock &RHSInPacket, int64_t rem = 0) { ++ aux_storeRHS(B_arr, LDB, RHSInPacket, rem); ++ } ++ ++ /** ++ * Only used if Triangular matrix has non-unit diagonal values ++ */ ++ template ++ static EIGEN_ALWAYS_INLINE void divRHSByDiag(PacketBlock &RHSInPacket, ++ PacketBlock &AInPacket) { ++ aux_divRHSByDiag(RHSInPacket, AInPacket); ++ } ++ ++ /** ++ * Update right-hand sides (stored in avx registers) ++ * Traversing along the column A_{i,currentM}, where currentM <= i <= endM, and broadcasting each value to AInPacket. ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE void updateRHS(Scalar *A_arr, int64_t LDA, ++ PacketBlock &RHSInPacket, ++ PacketBlock &AInPacket) { ++ aux_updateRHS( ++ A_arr, LDA, RHSInPacket, AInPacket); ++ } ++ ++ /** ++ * endM: dimension of A. 1 <= endM <= EIGEN_AVX_MAX_NUM_ROW ++ * numK: number of avx registers to use for each row of B (ex fp32: 48 rhs => 3 avx reg used). 1 <= endK <= 3. ++ * isFWDSolve: true => forward substitution, false => backwards substitution ++ * isUnitDiag: true => triangular matrix has unit diagonal. ++ */ ++ template ++ static EIGEN_ALWAYS_INLINE void triSolveMicroKernel(Scalar *A_arr, int64_t LDA, ++ PacketBlock &RHSInPacket, ++ PacketBlock &AInPacket) { ++ static_assert(numK >= 1 && numK <= 3, "numK out of range"); ++ aux_triSolveMicroKernel(A_arr, LDA, RHSInPacket, AInPacket); ++ } ++}; ++ ++/** ++ * Unrolls for gemm kernel ++ * ++ * isAdd: true => C += A*B, false => C -= A*B ++ */ ++template ++class gemm { ++ public: ++ using vec = typename std::conditional::value, vecFullFloat, vecFullDouble>::type; ++ static constexpr int64_t PacketSize = packet_traits::size; ++ ++ /*********************************** ++ * Auxillary Functions for: ++ * - setzero ++ * - updateC ++ * - storeC ++ * - startLoadB ++ * - triSolveMicroKernel ++ ************************************/ ++ ++ /** ++ * aux_setzero ++ * ++ * 2-D unroll ++ * for(startM = 0; startM < endM; startM++) ++ * for(startN = 0; startN < endN; startN++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_setzero( ++ PacketBlock &zmm) { ++ constexpr int64_t counterReverse = endM * endN - counter; ++ constexpr int64_t startM = counterReverse / (endN); ++ constexpr int64_t startN = counterReverse % endN; ++ ++ zmm.packet[startN * endM + startM] = pzero(zmm.packet[startN * endM + startM]); ++ aux_setzero(zmm); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_setzero( ++ PacketBlock &zmm) { ++ EIGEN_UNUSED_VARIABLE(zmm); ++ } ++ ++ /** ++ * aux_updateC ++ * ++ * 2-D unroll ++ * for(startM = 0; startM < endM; startM++) ++ * for(startN = 0; startN < endN; startN++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_updateC( ++ Scalar *C_arr, int64_t LDC, PacketBlock &zmm, int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(rem_); ++ constexpr int64_t counterReverse = endM * endN - counter; ++ constexpr int64_t startM = counterReverse / (endN); ++ constexpr int64_t startN = counterReverse % endN; ++ ++ EIGEN_IF_CONSTEXPR(rem) ++ zmm.packet[startN * endM + startM] = ++ padd(ploadu(&C_arr[(startN)*LDC + startM * PacketSize], remMask(rem_)), ++ zmm.packet[startN * endM + startM], remMask(rem_)); ++ else zmm.packet[startN * endM + startM] = ++ padd(ploadu(&C_arr[(startN)*LDC + startM * PacketSize]), zmm.packet[startN * endM + startM]); ++ aux_updateC(C_arr, LDC, zmm, rem_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_updateC( ++ Scalar *C_arr, int64_t LDC, PacketBlock &zmm, int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(C_arr); ++ EIGEN_UNUSED_VARIABLE(LDC); ++ EIGEN_UNUSED_VARIABLE(zmm); ++ EIGEN_UNUSED_VARIABLE(rem_); ++ } ++ ++ /** ++ * aux_storeC ++ * ++ * 2-D unroll ++ * for(startM = 0; startM < endM; startM++) ++ * for(startN = 0; startN < endN; startN++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_storeC( ++ Scalar *C_arr, int64_t LDC, PacketBlock &zmm, int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(rem_); ++ constexpr int64_t counterReverse = endM * endN - counter; ++ constexpr int64_t startM = counterReverse / (endN); ++ constexpr int64_t startN = counterReverse % endN; ++ ++ EIGEN_IF_CONSTEXPR(rem) ++ pstoreu(&C_arr[(startN)*LDC + startM * PacketSize], zmm.packet[startN * endM + startM], ++ remMask(rem_)); ++ else pstoreu(&C_arr[(startN)*LDC + startM * PacketSize], zmm.packet[startN * endM + startM]); ++ aux_storeC(C_arr, LDC, zmm, rem_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_storeC( ++ Scalar *C_arr, int64_t LDC, PacketBlock &zmm, int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(C_arr); ++ EIGEN_UNUSED_VARIABLE(LDC); ++ EIGEN_UNUSED_VARIABLE(zmm); ++ EIGEN_UNUSED_VARIABLE(rem_); ++ } ++ ++ /** ++ * aux_startLoadB ++ * ++ * 1-D unroll ++ * for(startL = 0; startL < endL; startL++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_startLoadB( ++ Scalar *B_t, int64_t LDB, PacketBlock &zmm, int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(rem_); ++ constexpr int64_t counterReverse = endL - counter; ++ constexpr int64_t startL = counterReverse; ++ ++ EIGEN_IF_CONSTEXPR(rem) ++ zmm.packet[unrollM * unrollN + startL] = ++ ploadu(&B_t[(startL / unrollM) * LDB + (startL % unrollM) * PacketSize], remMask(rem_)); ++ else zmm.packet[unrollM * unrollN + startL] = ++ ploadu(&B_t[(startL / unrollM) * LDB + (startL % unrollM) * PacketSize]); ++ ++ aux_startLoadB(B_t, LDB, zmm, rem_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_startLoadB( ++ Scalar *B_t, int64_t LDB, PacketBlock &zmm, int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(B_t); ++ EIGEN_UNUSED_VARIABLE(LDB); ++ EIGEN_UNUSED_VARIABLE(zmm); ++ EIGEN_UNUSED_VARIABLE(rem_); ++ } ++ ++ /** ++ * aux_startBCastA ++ * ++ * 1-D unroll ++ * for(startB = 0; startB < endB; startB++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_startBCastA( ++ Scalar *A_t, int64_t LDA, PacketBlock &zmm) { ++ constexpr int64_t counterReverse = endB - counter; ++ constexpr int64_t startB = counterReverse; ++ ++ zmm.packet[unrollM * unrollN + numLoad + startB] = pload1(&A_t[idA(startB, 0, LDA)]); ++ ++ aux_startBCastA(A_t, LDA, zmm); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_startBCastA( ++ Scalar *A_t, int64_t LDA, PacketBlock &zmm) { ++ EIGEN_UNUSED_VARIABLE(A_t); ++ EIGEN_UNUSED_VARIABLE(LDA); ++ EIGEN_UNUSED_VARIABLE(zmm); ++ } ++ ++ /** ++ * aux_loadB ++ * currK: current K ++ * ++ * 1-D unroll ++ * for(startM = 0; startM < endM; startM++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_loadB( ++ Scalar *B_t, int64_t LDB, PacketBlock &zmm, int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(rem_); ++ if ((numLoad / endM + currK < unrollK)) { ++ constexpr int64_t counterReverse = endM - counter; ++ constexpr int64_t startM = counterReverse; ++ ++ EIGEN_IF_CONSTEXPR(rem) { ++ zmm.packet[endM * unrollN + (startM + currK * endM) % numLoad] = ++ ploadu(&B_t[(numLoad / endM + currK) * LDB + startM * PacketSize], remMask(rem_)); ++ } ++ else { ++ zmm.packet[endM * unrollN + (startM + currK * endM) % numLoad] = ++ ploadu(&B_t[(numLoad / endM + currK) * LDB + startM * PacketSize]); ++ } ++ ++ aux_loadB(B_t, LDB, zmm, rem_); ++ } ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_loadB( ++ Scalar *B_t, int64_t LDB, PacketBlock &zmm, int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(B_t); ++ EIGEN_UNUSED_VARIABLE(LDB); ++ EIGEN_UNUSED_VARIABLE(zmm); ++ EIGEN_UNUSED_VARIABLE(rem_); ++ } ++ ++ /** ++ * aux_microKernel ++ * ++ * 3-D unroll ++ * for(startM = 0; startM < endM; startM++) ++ * for(startN = 0; startN < endN; startN++) ++ * for(startK = 0; startK < endK; startK++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_microKernel( ++ Scalar *B_t, Scalar *A_t, int64_t LDB, int64_t LDA, PacketBlock &zmm, ++ int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(rem_); ++ constexpr int64_t counterReverse = endM * endN * endK - counter; ++ constexpr int startK = counterReverse / (endM * endN); ++ constexpr int startN = (counterReverse / (endM)) % endN; ++ constexpr int startM = counterReverse % endM; ++ ++ EIGEN_IF_CONSTEXPR(startK == 0 && startM == 0 && startN == 0) { ++ gemm::template startLoadB(B_t, LDB, zmm, rem_); ++ gemm::template startBCastA(A_t, LDA, zmm); ++ } ++ ++ { ++ // Interleave FMA and Bcast ++ EIGEN_IF_CONSTEXPR(isAdd) { ++ zmm.packet[startN * endM + startM] = ++ pmadd(zmm.packet[endM * endN + numLoad + (startN + startK * endN) % numBCast], ++ zmm.packet[endM * endN + (startM + startK * endM) % numLoad], zmm.packet[startN * endM + startM]); ++ } ++ else { ++ zmm.packet[startN * endM + startM] = ++ pnmadd(zmm.packet[endM * endN + numLoad + (startN + startK * endN) % numBCast], ++ zmm.packet[endM * endN + (startM + startK * endM) % numLoad], zmm.packet[startN * endM + startM]); ++ } ++ // Bcast ++ EIGEN_IF_CONSTEXPR(startM == endM - 1 && (numBCast + startN + startK * endN < endK * endN)) { ++ zmm.packet[endM * endN + numLoad + (startN + startK * endN) % numBCast] = pload1(&A_t[idA( ++ (numBCast + startN + startK * endN) % endN, (numBCast + startN + startK * endN) / endN, LDA)]); ++ } ++ } ++ ++ // We have updated all accumlators, time to load next set of B's ++ EIGEN_IF_CONSTEXPR((startN == endN - 1) && (startM == endM - 1)) { ++ gemm::template loadB(B_t, LDB, zmm, rem_); ++ } ++ aux_microKernel(B_t, A_t, LDB, LDA, zmm, rem_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_microKernel( ++ Scalar *B_t, Scalar *A_t, int64_t LDB, int64_t LDA, PacketBlock &zmm, ++ int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(B_t); ++ EIGEN_UNUSED_VARIABLE(A_t); ++ EIGEN_UNUSED_VARIABLE(LDB); ++ EIGEN_UNUSED_VARIABLE(LDA); ++ EIGEN_UNUSED_VARIABLE(zmm); ++ EIGEN_UNUSED_VARIABLE(rem_); ++ } ++ ++ /******************************************************** ++ * Wrappers for aux_XXXX to hide counter parameter ++ ********************************************************/ ++ ++ template ++ static EIGEN_ALWAYS_INLINE void setzero(PacketBlock &zmm) { ++ aux_setzero(zmm); ++ } ++ ++ /** ++ * Ideally the compiler folds these into vaddp{s,d} with an embedded memory load. ++ */ ++ template ++ static EIGEN_ALWAYS_INLINE void updateC(Scalar *C_arr, int64_t LDC, ++ PacketBlock &zmm, ++ int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(rem_); ++ aux_updateC(C_arr, LDC, zmm, rem_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE void storeC(Scalar *C_arr, int64_t LDC, ++ PacketBlock &zmm, ++ int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(rem_); ++ aux_storeC(C_arr, LDC, zmm, rem_); ++ } ++ ++ /** ++ * Use numLoad registers for loading B at start of microKernel ++ */ ++ template ++ static EIGEN_ALWAYS_INLINE void startLoadB(Scalar *B_t, int64_t LDB, ++ PacketBlock &zmm, ++ int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(rem_); ++ aux_startLoadB(B_t, LDB, zmm, rem_); ++ } ++ ++ /** ++ * Use numBCast registers for broadcasting A at start of microKernel ++ */ ++ template ++ static EIGEN_ALWAYS_INLINE void startBCastA(Scalar *A_t, int64_t LDA, ++ PacketBlock &zmm) { ++ aux_startBCastA(A_t, LDA, zmm); ++ } ++ ++ /** ++ * Loads next set of B into vector registers between each K unroll. ++ */ ++ template ++ static EIGEN_ALWAYS_INLINE void loadB(Scalar *B_t, int64_t LDB, ++ PacketBlock &zmm, ++ int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(rem_); ++ aux_loadB(B_t, LDB, zmm, rem_); ++ } ++ ++ /** ++ * Generates a microkernel for gemm (row-major) with unrolls {1,2,4,8}x{U1,U2,U3} to compute C -= A*B. ++ * A matrix can be row/col-major. B matrix is assumed row-major. ++ * ++ * isARowMajor: is A row major ++ * endM: Number registers per row ++ * endN: Number of rows ++ * endK: Loop unroll for K. ++ * numLoad: Number of registers for loading B. ++ * numBCast: Number of registers for broadcasting A. ++ * ++ * Ex: microkernel: 8x48 unroll (24 accumulators), k unrolled 4 times, ++ * 6 register for loading B, 2 for broadcasting A. ++ * ++ * Note: Ideally the microkernel should not have any register spilling. ++ * The avx instruction counts should be: ++ * - endK*endN vbroadcasts{s,d} ++ * - endK*endM vmovup{s,d} ++ * - endK*endN*endM FMAs ++ * ++ * From testing, there are no register spills with clang. There are register spills with GNU, which ++ * causes a performance hit. ++ */ ++ template ++ static EIGEN_ALWAYS_INLINE void microKernel(Scalar *B_t, Scalar *A_t, int64_t LDB, int64_t LDA, ++ PacketBlock &zmm, ++ int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(rem_); ++ aux_microKernel(B_t, A_t, LDB, LDA, zmm, ++ rem_); ++ } ++}; ++} // namespace unrolls ++ ++#endif // EIGEN_CORE_ARCH_AVX512_TRSM_UNROLLS_H From 934da9bc82d77d8b7ab749184e4ea62b1e3eb1f6 Mon Sep 17 00:00:00 2001 From: VictorGoitea Date: Tue, 4 Jun 2024 10:18:14 +0200 Subject: [PATCH 796/889] add builddependecy HDF5 --- .../easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022b.eb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022b.eb b/easybuild/easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022b.eb index f5eb6f67b05..58b8445639b 100644 --- a/easybuild/easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022b.eb +++ b/easybuild/easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022b.eb @@ -12,7 +12,10 @@ source_urls = ['https://sourceforge.net/projects/arma/files'] sources = [SOURCELOWER_TAR_XZ] checksums = ['87603263664988af41da2ca4f36205e36ea47a9281fa6cfd463115f3797a1da2'] -builddependencies = [('CMake', '3.24.3')] +builddependencies = [ + ('CMake', '3.24.3'), + ('HDF5', '1.14.0', '', ('gompi', '2022b')), +] dependencies = [ ('Boost', '1.81.0'), From f002e5f19f0acb4fc548e5d25eb126b94840801d Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Tue, 4 Jun 2024 10:29:44 +0200 Subject: [PATCH 797/889] adding patch matlab-proxy-0.18.1_use_lic_from_eb_installed_matlab.patch --- ...8.1_use_lic_from_eb_installed_matlab.patch | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.18.1_use_lic_from_eb_installed_matlab.patch diff --git a/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.18.1_use_lic_from_eb_installed_matlab.patch b/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.18.1_use_lic_from_eb_installed_matlab.patch new file mode 100644 index 00000000000..a37df91943d --- /dev/null +++ b/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.18.1_use_lic_from_eb_installed_matlab.patch @@ -0,0 +1,23 @@ +Use the license file from EB's MATLAB installation by default +Author: Mikael Öhman micketeer@gmail.com +--- matlab_proxy/settings.py.orig 2024-05-30 16:01:07.778707000 +0200 ++++ matlab_proxy/settings.py 2024-05-30 16:03:48.517654923 +0200 +@@ -357,9 +357,16 @@ + # folder may cause hinderance in this workflow. So specifying -licmode as 'file' + # overrides license_info.xml and enforces MLM_LICENSE_FILE to be the topmost priority + +- # NLM Connection String provided by MLM_LICENSE_FILE environment variable ++ license_file = None ++ if mwi_env.get_env_name_network_license_manager() in os.environ: ++ # NLM Connection String provided by MLM_LICENSE_FILE environment variable ++ license_file = os.environ.get(mwi_env.get_env_name_network_license_manager()) ++ elif 'EBROOTMATLAB' in os.environ: ++ # License file provided by MATLAB installation in EasyBuild ++ license_file = os.environ.get('EBROOTMATLAB') + '/licenses/network.lic' ++ + nlm_conn_str = mwi.validators.validate_mlm_license_file( +- os.environ.get(mwi_env.get_env_name_network_license_manager()) ++ license_file + ) + matlab_lic_mode = ["-licmode", "file"] if nlm_conn_str else "" + # flag to hide MATLAB Window From 15b327bc1950e8d8cc0e0049e18c95e6cffcb0c0 Mon Sep 17 00:00:00 2001 From: Victor Enrique Goitea <43407659+VictorGoitea@users.noreply.github.com> Date: Tue, 4 Jun 2024 11:00:40 +0200 Subject: [PATCH 798/889] Update preseq-3.2.0-GCC-12.2.0.eb --- easybuild/easyconfigs/p/preseq/preseq-3.2.0-GCC-12.2.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/preseq/preseq-3.2.0-GCC-12.2.0.eb b/easybuild/easyconfigs/p/preseq/preseq-3.2.0-GCC-12.2.0.eb index 2d4326f4585..e97deba5b85 100644 --- a/easybuild/easyconfigs/p/preseq/preseq-3.2.0-GCC-12.2.0.eb +++ b/easybuild/easyconfigs/p/preseq/preseq-3.2.0-GCC-12.2.0.eb @@ -28,4 +28,4 @@ sanity_check_paths = { sanity_check_commands = ['preseq'] -moduleclass = 'bio' \ No newline at end of file +moduleclass = 'bio' From 6e6f1573318752c87de6545a2d9e0c8e1c982a90 Mon Sep 17 00:00:00 2001 From: Yunqi Shao Date: Tue, 4 Jun 2024 09:18:20 +0200 Subject: [PATCH 799/889] Remove easyconfigs from ongoing jax PR #20119 --- .../jax/jax-0.4.25-gfbf-2023a-CUDA-12.1.1.eb | 136 ------------------ .../jax-0.4.25_fix_env_test_no_log_spam.patch | 18 --- 2 files changed, 154 deletions(-) delete mode 100644 easybuild/easyconfigs/j/jax/jax-0.4.25-gfbf-2023a-CUDA-12.1.1.eb delete mode 100644 easybuild/easyconfigs/j/jax/jax-0.4.25_fix_env_test_no_log_spam.patch diff --git a/easybuild/easyconfigs/j/jax/jax-0.4.25-gfbf-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/j/jax/jax-0.4.25-gfbf-2023a-CUDA-12.1.1.eb deleted file mode 100644 index 6b5b930524e..00000000000 --- a/easybuild/easyconfigs/j/jax/jax-0.4.25-gfbf-2023a-CUDA-12.1.1.eb +++ /dev/null @@ -1,136 +0,0 @@ -# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild -# Author: Denis Kristak -# Updated by: Alex Domingo (Vrije Universiteit Brussel) -# Updated by: Thomas Hoffmann (EMBL Heidelberg) -easyblock = 'PythonBundle' - -name = 'jax' -version = '0.4.25' -versionsuffix = '-CUDA-%(cudaver)s' - -homepage = 'https://pypi.python.org/pypi/jax' -description = """Composable transformations of Python+NumPy programs: -differentiate, vectorize, JIT to GPU/TPU, and more""" - -toolchain = {'name': 'gfbf', 'version': '2023a'} -cuda_compute_capabilities = ["5.0", "6.0", "6.1", "7.0", "7.5", "8.0", "8.6", "9.0"] - -builddependencies = [ - ('Bazel', '6.3.1'), - ('pytest-xdist', '3.3.1'), - # git 2.x required to fetch repository 'io_bazel_rules_docker' - ('git', '2.41.0', '-nodocs'), - ('matplotlib', '3.7.2'), # required for tests/lobpcg_test.py - ('poetry', '1.5.1'), -] - -dependencies = [ - ('CUDA', '12.1.1', '', SYSTEM), - ('cuDNN', '8.9.2.26', versionsuffix, SYSTEM), - ('NCCL', '2.18.3', versionsuffix), - ('zlib', '1.2.13'), - ('Python', '3.11.3'), - ('SciPy-bundle', '2023.07'), - ('flatbuffers-python', '23.5.26'), - ('ml_dtypes', '0.3.2'), -] - -# downloading xla and other tarballs to avoid that Bazel downloads it during the build -# note: this *must* be the exact same commit as used in third_party/{xla,"other"}/workspace.bzl -local_xla_commit = '4ccfe33c71665ddcbca5b127fefe8baa3ed632d4' -local_tfrt_commit = '0aeefb1660d7e37964b2bb71b1f518096bda9a25' -local_repo_opt = '--bazel_options="--override_repository=xla=%%(builddir)s/xla-%s" ' % local_xla_commit -local_repo_opt += '--bazel_options="--override_repository=runtime=%%(builddir)s/tf_runtime-%s" ' % local_xla_commit - - -# Some tests require an isolated run: -local_isolated_tests = [ - 'tests/host_callback_test.py::HostCallbackTapTest::test_tap_scan_custom_jvp', - 'tests/host_callback_test.py::HostCallbackTapTest::test_tap_transforms_doc', - 'tests/lax_scipy_special_functions_test.py::LaxScipySpcialFunctionsTest' + - '::testScipySpecialFun_gammainc_s_2x1x4_float32_float32', - 'tests/lax_numpy_test.py::NumpyUfuncTests::testUfuncInputTypes763' -] -# deliberately not testing in parallel, as that results in (additional) failing tests; -# use XLA_PYTHON_CLIENT_ALLOCATOR=platform to allocate and deallocate GPU memory during testing, -# see https://github.com/google/jax/issues/7323 and -# https://github.com/google/jax/blob/main/docs/gpu_memory_allocation.rst; -# use CUDA_VISIBLE_DEVICES=0 to avoid failing tests on systems with multiple GPUs; -# use NVIDIA_TF32_OVERRIDE=0 to avoid loosing numerical precision by disabling TF32 Tensor Cores; -local_test_exports = [ - "NVIDIA_TF32_OVERRIDE=0", - "CUDA_VISIBLE_DEVICES=0", - "XLA_PYTHON_CLIENT_ALLOCATOR=platform", - "JAX_ENABLE_X64=true", -] -local_test = ''.join(['export %s;' % x for x in local_test_exports]) -# run all tests at once except for local_isolated_tests: -local_test += "pytest -vv tests %s && " % ' '.join(['--deselect %s' % x for x in local_isolated_tests]) -# run remaining local_isolated_tests separately: -local_test += ' && '.join(['pytest -vv %s' % x for x in local_isolated_tests]) - -use_pip = True - -default_easyblock = 'PythonPackage' -default_component_specs = { - 'sources': [SOURCE_TAR_GZ], - 'source_urls': [PYPI_SOURCE], - 'start_dir': '%(name)s-%(version)s', - 'use_pip': True, - 'sanity_pip_check': True, - 'download_dep_fail': True, -} - -components = [ - ('absl-py', '2.1.0', { - 'options': {'modulename': 'absl'}, - 'checksums': ['7820790efbb316739cde8b4e19357243fc3608a152024288513dd968d7d959ff'], - }), - ('jaxlib', version, { - 'sources': [ - '%(name)s-v%(version)s.tar.gz', - { - 'download_filename': '%s.tar.gz' % local_xla_commit, - 'filename': 'xla-%s.tar.gz' % local_xla_commit, - }, - { - 'download_filename': '%s.tar.gz' % local_tfrt_commit, - 'filename': 'tf_runtime-%s.tar.gz' % local_tfrt_commit, - }, - ], - 'source_urls': [ - 'https://github.com/google/jax/archive/', - 'https://github.com/tensorflow/runtime/archive', - 'https://github.com/openxla/xla/archive' - ], - 'checksums': [ - {'jaxlib-v0.4.25.tar.gz': - 'fc1197c401924942eb14185a61688d0c476e3e81ff71f9dc95e620b57c06eec8'}, - {'xla-4ccfe33c71665ddcbca5b127fefe8baa3ed632d4.tar.gz': - '8a59b9af7d0850059d7043f7043c780066d61538f3af536e8a10d3d717f35089'}, - {'tf_runtime-0aeefb1660d7e37964b2bb71b1f518096bda9a25.tar.gz': - 'a3df827d7896774cb1d80bf4e1c79ab05c268f29bd4d3db1fb5a4b9c2079d8e3'}, - ], - 'start_dir': 'jax-jaxlib-v%(version)s', - # Avoid warning (treated as error) in upb/table.c - 'buildopts': local_repo_opt + ' --bazel_options="--copt=-Wno-maybe-uninitialized"' - }), -] - -exts_list = [ - (name, version, { - 'patches': ['jax-0.4.25_fix_env_test_no_log_spam.patch'], - 'runtest': local_test, - 'source_tmpl': '%(name)s-v%(version)s.tar.gz', - 'source_urls': ['https://github.com/google/jax/archive/'], - 'checksums': [ - {'jax-v0.4.25.tar.gz': '8b30af49688c0c13b82c6f5ce992727c00b5fc6d04a4c6962012f4246fa664eb'}, - {'jax-0.4.25_fix_env_test_no_log_spam.patch': - 'a18b5f147569d9ad41025124333a0f04fd0d0e0f9e4309658d7f6b9b838e2e2a'}, - ], - }), -] - -sanity_pip_check = True - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jax/jax-0.4.25_fix_env_test_no_log_spam.patch b/easybuild/easyconfigs/j/jax/jax-0.4.25_fix_env_test_no_log_spam.patch deleted file mode 100644 index ad919608437..00000000000 --- a/easybuild/easyconfigs/j/jax/jax-0.4.25_fix_env_test_no_log_spam.patch +++ /dev/null @@ -1,18 +0,0 @@ -# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/03 -# avoid overriding LD_LIBRARY_PATH, which would lead to test error: error while loading shared libraries: libpython3.11.so.1.0: cannot open shared object file: No such file or directory' -diff -ru jax-jax-v0.4.25/tests/logging_test.py jax-jax-v0.4.25_fix_env_test_no_log_spam/tests/logging_test.py ---- jax-jax-v0.4.25/tests/logging_test.py 2024-02-24 19:25:17.000000000 +0100 -+++ jax-jax-v0.4.25_fix_env_test_no_log_spam/tests/logging_test.py 2024-03-15 12:00:34.133022613 +0100 -@@ -72,8 +72,11 @@ - python = sys.executable - assert "python" in python - # Make sure C++ logging is at default level for the test process. -+ import os -+ tmp_env=os.environ.copy() -+ tmp_env['TF_CPP_MIN_LOG_LEVEL']='1' - proc = subprocess.run([python, "-c", program], capture_output=True, -- env={"TF_CPP_MIN_LOG_LEVEL": "1"}) -+ env=tmp_env) - - lines = proc.stdout.split(b"\n") - lines.extend(proc.stderr.split(b"\n")) From 548c48501662c2329b93328cf66dfb1a6eb96a4b Mon Sep 17 00:00:00 2001 From: Yunqi Shao Date: Tue, 4 Jun 2024 09:23:14 +0200 Subject: [PATCH 800/889] Fix missing /usr path fix --- easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb index d5865626234..fbf9fa35f8c 100644 --- a/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb @@ -30,6 +30,8 @@ exts_list = [ (name, version, { 'modulename': 'grpc', 'preinstallopts': ( + # patch hardcoded /usr paths to prefix them with alternate sysroot path (if defined) + "sed -i 's@/usr@%(sysroot)s/usr@g' setup.py && " "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && " # Required to avoid building with non-default C++ standard but keep other flags, # see https://github.com/grpc/grpc/issues/34256 From 02ffe61fb2e6e538f02b38d4a333e593d2bc94cd Mon Sep 17 00:00:00 2001 From: Yunqi Shao Date: Tue, 4 Jun 2024 10:43:34 +0200 Subject: [PATCH 801/889] Remove Abseil from build dep, should be dependency via protobuf --- easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb index fbf9fa35f8c..1346d4a84b5 100644 --- a/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb @@ -18,7 +18,6 @@ builddependencies = [ ('binutils', '2.40'), ('OpenSSL', '1.1', '', SYSTEM), ('RE2', '2023-08-01'), - ('Abseil', '20230125.3'), ] dependencies = [ From abe84f5cca0ab29cbf3f41fbb6bd5bad509b6599 Mon Sep 17 00:00:00 2001 From: Yunqi Shao Date: Tue, 4 Jun 2024 12:54:44 +0200 Subject: [PATCH 802/889] Bring back Abseil as dependency --- easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb index 1346d4a84b5..e979aea1f28 100644 --- a/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb @@ -23,6 +23,7 @@ builddependencies = [ dependencies = [ ('Python', '3.11.3'), ('protobuf-python', '4.24.0'), + ('Abseil', '20230125.3'), ] exts_list = [ From cc48568edcc08558824be57092f206eb61ee52cf Mon Sep 17 00:00:00 2001 From: Yunqi Shao Date: Tue, 4 Jun 2024 12:57:21 +0200 Subject: [PATCH 803/889] Fix tab in indentation --- .../easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb index e979aea1f28..01d839324bb 100644 --- a/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb @@ -30,8 +30,8 @@ exts_list = [ (name, version, { 'modulename': 'grpc', 'preinstallopts': ( - # patch hardcoded /usr paths to prefix them with alternate sysroot path (if defined) - "sed -i 's@/usr@%(sysroot)s/usr@g' setup.py && " + # patch hardcoded /usr paths to prefix them with alternate sysroot path (if defined) + "sed -i 's@/usr@%(sysroot)s/usr@g' setup.py && " "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && " # Required to avoid building with non-default C++ standard but keep other flags, # see https://github.com/grpc/grpc/issues/34256 From d5d1e8daccf5302c74115507d61fc1ca3f44be6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Tue, 4 Jun 2024 13:36:32 +0200 Subject: [PATCH 804/889] adding easyconfigs: PyQtGraph-0.13.7-foss-2023a.eb --- .../PyQtGraph/PyQtGraph-0.13.7-foss-2023a.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/p/PyQtGraph/PyQtGraph-0.13.7-foss-2023a.eb diff --git a/easybuild/easyconfigs/p/PyQtGraph/PyQtGraph-0.13.7-foss-2023a.eb b/easybuild/easyconfigs/p/PyQtGraph/PyQtGraph-0.13.7-foss-2023a.eb new file mode 100644 index 00000000000..ff061fd9577 --- /dev/null +++ b/easybuild/easyconfigs/p/PyQtGraph/PyQtGraph-0.13.7-foss-2023a.eb @@ -0,0 +1,31 @@ +# updated: Denis Kristak +easyblock = 'PythonPackage' +# TH77EMBL adapted from PyQtGraph-0.11.0-foss-2019b-Python-3.7.4.eb +# update: Petr Král (INUITS) +name = 'PyQtGraph' +version = '0.13.7' + +homepage = 'http://www.pyqtgraph.org/' +description = """PyQtGraph is a pure-python graphics and GUI library built on PyQt5/PySide2 and numpy.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True} + +github_account = 'pyqtgraph' +source_urls = [GITHUB_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['28c5fb6eaf60ff3ea7b7b6e0f8935cf85f34e7b5c554f154eeb10649c6b21573'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('PyQt5', '5.15.10'), + ('PyOpenGL', '3.1.7'), +] + +use_pip = True +download_dep_fail = True + +sanity_pip_check = True + +moduleclass = 'vis' From 92a8250e13796ff2ba6887b15d668dd99e063ade Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 4 Jun 2024 15:11:20 +0200 Subject: [PATCH 805/889] adding easyconfigs: COMEBin-1.0.3-20240310-foss-2022a.eb --- .../COMEBin-1.0.3-20240310-foss-2022a.eb | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 easybuild/easyconfigs/c/COMEBin/COMEBin-1.0.3-20240310-foss-2022a.eb diff --git a/easybuild/easyconfigs/c/COMEBin/COMEBin-1.0.3-20240310-foss-2022a.eb b/easybuild/easyconfigs/c/COMEBin/COMEBin-1.0.3-20240310-foss-2022a.eb new file mode 100644 index 00000000000..cb2793efbc8 --- /dev/null +++ b/easybuild/easyconfigs/c/COMEBin/COMEBin-1.0.3-20240310-foss-2022a.eb @@ -0,0 +1,68 @@ +easyblock = 'Tarball' + +name = 'COMEBin' +local_commit = '987db95' +version = '1.0.3-20240310' + +homepage = 'https://github.com/ziyewang/COMEBin' +description = "Effective binning of metagenomic contigs using COntrastive Multi-viEw representation learning" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/ziyewang/COMEBin/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['aa9c9e98d0cd121b2be60cae85d735527f510ad07df1a84ed6405cbc66eea684'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('PyTorch', '1.12.0'), + ('tensorboard', '2.10.0'), + ('Biopython', '1.79'), + ('scikit-learn', '1.1.2'), + ('tqdm', '4.64.0'), + ('leidenalg', '0.9.1'), + ('BEDTools', '2.30.0'), + ('BWA', '0.7.17'), + ('CheckM', '1.2.2'), + ('FragGeneScan', '1.31'), + ('HMMER', '3.3.2'), + ('pplacer', '1.1.alpha19', '', SYSTEM), + ('prodigal', '2.6.3'), + ('SAMtools', '1.16.1'), + ('python-igraph', '0.10.3'), + ('PyYAML', '6.0'), +] + +exts_defaultclass = 'PythonPackage' + +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'use_pip': True, + 'download_dep_fail': True, + 'sanity_pip_check': True, +} + +exts_list = [ + ('fastjsonschema', '2.19.1', { + 'checksums': ['e3126a94bdc4623d3de4485f8d468a12f02a67921315ddc87836d6e456dc789d'], + }), + ('hnswlib', '0.8.0', { + 'checksums': ['cb6d037eedebb34a7134e7dc78966441dfd04c9cf5ee93911be911ced951c44c'], + }), + ('biolib', '0.1.9', { + 'checksums': ['bc9ae68c6d76d46e4295fe0b1df5a48b575fe96374bd96d624c3330feb94856f'], + }), +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_paths = { + 'files': ['bin/run_comebin.sh', 'COMEBin/main.py'], + 'dirs': ['COMEBin/models', 'COMEBin/scripts'], +} + +sanity_check_commands = ["python %(installdir)s/COMEBin/main.py --help"] + +moduleclass = 'bio' From b633e2d0aec16e98a3f6e4d10bda013c4c2cdd09 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen Date: Tue, 4 Jun 2024 13:22:10 +0000 Subject: [PATCH 806/889] adding easyconfigs: mumott-2.1-foss-2022b.eb --- .../m/mumott/mumott-2.1-foss-2022b.eb | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 easybuild/easyconfigs/m/mumott/mumott-2.1-foss-2022b.eb diff --git a/easybuild/easyconfigs/m/mumott/mumott-2.1-foss-2022b.eb b/easybuild/easyconfigs/m/mumott/mumott-2.1-foss-2022b.eb new file mode 100644 index 00000000000..6897792ee4b --- /dev/null +++ b/easybuild/easyconfigs/m/mumott/mumott-2.1-foss-2022b.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'mumott' +version = '2.1' + +homepage = 'https://mumott.org/' +description = "mumott is a Python library for the analysis of multi-modal tensor tomography data." + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('numba', '0.58.1'), + ('matplotlib', '3.7.0'), + ('scikit-image', '0.21.0'), + ('h5py', '3.8.0'), + ('tqdm', '4.64.1') +] + + +use_pip = True + +exts_list = [ + ('mumott', '2.1', { + 'checksums': ['00c485f1f00052154c9ee82b6f597e2326715aa8cf2d6dd44ae5e2e9b9653273']}), + ('colorcet', '3.1.0', { + 'checksums': ['2921b3cd81a2288aaf2d63dbc0ce3c26dcd882e8c389cc505d6886bf7aa9a4eb'] + }), + ('colorspacious', '1.1.2', { + 'checksums': ['5e9072e8cdca889dac445c35c9362a22ccf758e97b00b79ff0d5a7ba3e11b618'], + }), +] + + +sanity_pip_check = True + +sanity_check_commands = ["python -c 'import mumott'"] + +moduleclass = 'phys' From 77973095ff699e03e04138bff38b4206b4803352 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen Date: Tue, 4 Jun 2024 13:24:57 +0000 Subject: [PATCH 807/889] added newline --- easybuild/easyconfigs/m/mumott/mumott-2.1-foss-2022b.eb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/m/mumott/mumott-2.1-foss-2022b.eb b/easybuild/easyconfigs/m/mumott/mumott-2.1-foss-2022b.eb index 6897792ee4b..6fd208d6258 100644 --- a/easybuild/easyconfigs/m/mumott/mumott-2.1-foss-2022b.eb +++ b/easybuild/easyconfigs/m/mumott/mumott-2.1-foss-2022b.eb @@ -23,7 +23,8 @@ use_pip = True exts_list = [ ('mumott', '2.1', { - 'checksums': ['00c485f1f00052154c9ee82b6f597e2326715aa8cf2d6dd44ae5e2e9b9653273']}), + 'checksums': ['00c485f1f00052154c9ee82b6f597e2326715aa8cf2d6dd44ae5e2e9b9653273'] + }), ('colorcet', '3.1.0', { 'checksums': ['2921b3cd81a2288aaf2d63dbc0ce3c26dcd882e8c389cc505d6886bf7aa9a4eb'] }), From 124ad3c6057df4d57659dbdd56d0b3e6434e478a Mon Sep 17 00:00:00 2001 From: sassy Date: Tue, 4 Jun 2024 15:38:09 +0100 Subject: [PATCH 808/889] adding easyconfigs: CellRanger-ARC-2.0.2.eb --- .../c/CellRanger-ARC/CellRanger-ARC-2.0.2.eb | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 easybuild/easyconfigs/c/CellRanger-ARC/CellRanger-ARC-2.0.2.eb diff --git a/easybuild/easyconfigs/c/CellRanger-ARC/CellRanger-ARC-2.0.2.eb b/easybuild/easyconfigs/c/CellRanger-ARC/CellRanger-ARC-2.0.2.eb new file mode 100644 index 00000000000..fc7d6955925 --- /dev/null +++ b/easybuild/easyconfigs/c/CellRanger-ARC/CellRanger-ARC-2.0.2.eb @@ -0,0 +1,37 @@ +# The STAR binary included in this version has been vectorized with AVX +# hence it is not recommended for systems that do not support it. + +easyblock = 'Tarball' + +name = 'CellRanger-ARC' +version = '2.0.2' + +homepage = 'https://support.10xgenomics.com/single-cell-multiome-atac-gex/software/pipelines/latest/' +homepage += 'what-is-cell-ranger-arc' +description = """Cell Ranger ARC is a set of analysis pipelines that process + Chromium Single Cell Multiome ATAC + Gene Expression sequencing data to generate a + variety of analyses pertaining to gene expression, chromatin accessibility and + their linkage. Furthermore, since the ATAC and gene expression measurements are on + the very same cell, we are able to perform analyses that link chromatin + accessibility and gene expression.""" + +toolchain = SYSTEM + +download_instructions = """ +Download manually from: +https://www.10xgenomics.com/support/software/cell-ranger-arc/downloads +""" + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['02a02457938dcf8dcb418b6c65effac06b210282d167437bfa8b2f10023dacae'] + +keepsymlinks = True + +sanity_check_paths = { + 'files': ["bin/cellranger-arc"], + 'dirs': ["bin/rna", "bin/tenkit"], +} + +sanity_check_commands = ['cellranger-arc -h'] + +moduleclass = 'bio' From f9f032b59ca1189bd6cae3b0e455ee7cc0e5a99c Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 4 Jun 2024 16:59:14 +0200 Subject: [PATCH 809/889] add patch for COMEBin + fix exec permissions via postinstallcmds --- .../c/COMEBin/COMEBin-1.0.3-20240310-foss-2022a.eb | 13 +++++++++++-- .../c/COMEBin/COMEBin-1.0.3_fix-run-script.patch | 10 ++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 easybuild/easyconfigs/c/COMEBin/COMEBin-1.0.3_fix-run-script.patch diff --git a/easybuild/easyconfigs/c/COMEBin/COMEBin-1.0.3-20240310-foss-2022a.eb b/easybuild/easyconfigs/c/COMEBin/COMEBin-1.0.3-20240310-foss-2022a.eb index cb2793efbc8..3bd61ba7a5a 100644 --- a/easybuild/easyconfigs/c/COMEBin/COMEBin-1.0.3-20240310-foss-2022a.eb +++ b/easybuild/easyconfigs/c/COMEBin/COMEBin-1.0.3-20240310-foss-2022a.eb @@ -11,7 +11,11 @@ toolchain = {'name': 'foss', 'version': '2022a'} source_urls = ['https://github.com/ziyewang/COMEBin/archive/'] sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] -checksums = ['aa9c9e98d0cd121b2be60cae85d735527f510ad07df1a84ed6405cbc66eea684'] +patches = ['COMEBin-1.0.3_fix-run-script.patch'] +checksums = [ + {'COMEBin-1.0.3-20240310.tar.gz': 'aa9c9e98d0cd121b2be60cae85d735527f510ad07df1a84ed6405cbc66eea684'}, + {'COMEBin-1.0.3_fix-run-script.patch': '27c0a2ae0b99d4ee2ed411f954fcbfcb70db549dd749bd618c5b0b324734669d'}, +] dependencies = [ ('Python', '3.10.4'), @@ -56,6 +60,8 @@ exts_list = [ }), ] +postinstallcmds = ["chmod a+x %(installdir)s/bin/run_comebin.sh"] + modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} sanity_check_paths = { @@ -63,6 +69,9 @@ sanity_check_paths = { 'dirs': ['COMEBin/models', 'COMEBin/scripts'], } -sanity_check_commands = ["python %(installdir)s/COMEBin/main.py --help"] +sanity_check_commands = [ + "run_comebin.sh | grep '^Usage: bash run_comebin.sh'" + "python %(installdir)s/COMEBin/main.py --help", +] moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/COMEBin/COMEBin-1.0.3_fix-run-script.patch b/easybuild/easyconfigs/c/COMEBin/COMEBin-1.0.3_fix-run-script.patch new file mode 100644 index 00000000000..0c008204788 --- /dev/null +++ b/easybuild/easyconfigs/c/COMEBin/COMEBin-1.0.3_fix-run-script.patch @@ -0,0 +1,10 @@ +--- /apps/gent/RHEL8/skylake-ib/software/COMEBin/1.0.3-20240310-foss-2022a/bin/run_comebin.sh.orig 2024-06-04 16:27:24.373968000 +0200 ++++ /apps/gent/RHEL8/skylake-ib/software/COMEBin/1.0.3-20240310-foss-2022a/bin/run_comebin.sh 2024-06-04 16:27:38.413830000 +0200 +@@ -25,6 +25,7 @@ + echo "";} + + run_file_path=$(dirname $(which run_comebin.sh)) ++run_file_path=$(dirname $(dirname $(which run_comebin.sh))) + + if [[ $? -ne 0 ]]; then + echo "cannot find run_comebin.sh file - something went wrong with the installation!" From 1b5a6ddc88132b78ab5aad252e7a54cd25577ddd Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 4 Jun 2024 17:27:28 +0200 Subject: [PATCH 810/889] fix COMEBin patch + add description --- .../c/COMEBin/COMEBin-1.0.3-20240310-foss-2022a.eb | 2 +- .../c/COMEBin/COMEBin-1.0.3_fix-run-script.patch | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/c/COMEBin/COMEBin-1.0.3-20240310-foss-2022a.eb b/easybuild/easyconfigs/c/COMEBin/COMEBin-1.0.3-20240310-foss-2022a.eb index 3bd61ba7a5a..4bc881dc9c1 100644 --- a/easybuild/easyconfigs/c/COMEBin/COMEBin-1.0.3-20240310-foss-2022a.eb +++ b/easybuild/easyconfigs/c/COMEBin/COMEBin-1.0.3-20240310-foss-2022a.eb @@ -14,7 +14,7 @@ sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_ patches = ['COMEBin-1.0.3_fix-run-script.patch'] checksums = [ {'COMEBin-1.0.3-20240310.tar.gz': 'aa9c9e98d0cd121b2be60cae85d735527f510ad07df1a84ed6405cbc66eea684'}, - {'COMEBin-1.0.3_fix-run-script.patch': '27c0a2ae0b99d4ee2ed411f954fcbfcb70db549dd749bd618c5b0b324734669d'}, + {'COMEBin-1.0.3_fix-run-script.patch': 'e9ac578667d4f7233cf716cc98b134b8bd7cb7bcc70a06322500319d84b67773'}, ] dependencies = [ diff --git a/easybuild/easyconfigs/c/COMEBin/COMEBin-1.0.3_fix-run-script.patch b/easybuild/easyconfigs/c/COMEBin/COMEBin-1.0.3_fix-run-script.patch index 0c008204788..1752260e69b 100644 --- a/easybuild/easyconfigs/c/COMEBin/COMEBin-1.0.3_fix-run-script.patch +++ b/easybuild/easyconfigs/c/COMEBin/COMEBin-1.0.3_fix-run-script.patch @@ -1,5 +1,7 @@ ---- /apps/gent/RHEL8/skylake-ib/software/COMEBin/1.0.3-20240310-foss-2022a/bin/run_comebin.sh.orig 2024-06-04 16:27:24.373968000 +0200 -+++ /apps/gent/RHEL8/skylake-ib/software/COMEBin/1.0.3-20240310-foss-2022a/bin/run_comebin.sh 2024-06-04 16:27:38.413830000 +0200 +fix determining path to top-level directory, +since run_comebin.sh is located in bin/run_comebin.sh +--- bin/run_comebin.sh.orig 2024-06-04 16:27:24.373968000 +0200 ++++ bin/run_comebin.sh 2024-06-04 16:27:38.413830000 +0200 @@ -25,6 +25,7 @@ echo "";} From a907c5c6df536a28b7383d87ad1031cc262bf41a Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 4 Jun 2024 18:58:25 +0200 Subject: [PATCH 811/889] remove easyconfigs for CellBender v0.3.1, since this version has been redacted due to a serious bug --- ...CellBender-0.3.1-foss-2022a-CUDA-11.7.0.eb | 85 ------------------- .../CellBender/CellBender-0.3.1-foss-2022a.eb | 83 ------------------ 2 files changed, 168 deletions(-) delete mode 100644 easybuild/easyconfigs/c/CellBender/CellBender-0.3.1-foss-2022a-CUDA-11.7.0.eb delete mode 100644 easybuild/easyconfigs/c/CellBender/CellBender-0.3.1-foss-2022a.eb diff --git a/easybuild/easyconfigs/c/CellBender/CellBender-0.3.1-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/c/CellBender/CellBender-0.3.1-foss-2022a-CUDA-11.7.0.eb deleted file mode 100644 index 88f92ec75ab..00000000000 --- a/easybuild/easyconfigs/c/CellBender/CellBender-0.3.1-foss-2022a-CUDA-11.7.0.eb +++ /dev/null @@ -1,85 +0,0 @@ -easyblock = 'PythonBundle' - -name = 'CellBender' -local_commit = 'e2fb597' -version = '0.3.1' -versionsuffix = '-CUDA-%(cudaver)s' - -homepage = 'http://github.com/broadinstitute/CellBender' -description = """ -CellBender is a software package for eliminating technical artifacts from -high-throughput single-cell RNA sequencing (scRNA-seq) data. -""" - -toolchain = {'name': 'foss', 'version': '2022a'} - -dependencies = [ - ('CUDA', '11.7.0', '', SYSTEM), - ('Python', '3.10.4'), - ('SciPy-bundle', '2022.05'), - ('matplotlib', '3.5.2'), - ('PyTorch', '1.12.0', versionsuffix), - ('IPython', '8.5.0'), - ('anndata', '0.8.0'), - ('jupyter-contrib-nbextensions', '0.7.0'), - ('pyro-ppl', '1.8.4', versionsuffix), - ('loompy', '3.0.7'), - ('PyTables', '3.8.0'), - ('Qtconsole', '5.4.0'), -] - -use_pip = True - -local_comm_preinstallopts = """sed -i -e 's/^requires.*hatchling.*/requires = ["setuptools"]/g' """ -local_comm_preinstallopts += """-e 's/^build-backend.*/build-backend = "setuptools.build_meta"/g' """ -local_comm_preinstallopts += """-e 's/^dynamic = .*version.*/version = "%(version)s"/g' pyproject.toml && """ - -exts_list = [ - ('setuptools', '69.0.3', { - 'checksums': ['be1af57fc409f93647f2e8e4573a142ed38724b8cdd389706a867bb4efcf1e78'], - }), - ('comm', '0.2.1', { - 'checksums': ['0bc91edae1344d39d3661dcbc36937181fdaddb304790458f8b044dbc064b89a'], - 'preinstallopts': local_comm_preinstallopts, - }), - # jupyter-console 6.6.3 requires ipykernel>=6.14 - ('ipykernel', '6.20.2', { - 'source_tmpl': SOURCE_PY3_WHL, - 'checksums': ['5d0675d5f48bf6a95fd517d7b70bcb3b2c5631b2069949b5c2d6e1d7477fb5a0'], - }), - # jupyter-console 6.6.3 requires jupyter-core!=5.0.*,>=4.12 - ('jupyter_core', '4.12.0', { - 'source_tmpl': SOURCE_PY3_WHL, - 'checksums': ['a54672c539333258495579f6964144924e0aa7b07f7069947bef76d7ea5cb4c1'], - }), - # jupyter-console 6.6.3 requires traitlets>=5.4 - ('traitlets', '5.14.1', { - 'source_tmpl': SOURCE_PY3_WHL, - 'checksums': ['2e5a030e6eff91737c643231bfcf04a65b0132078dad75e4936700b213652e74'], - }), - ('jupyter_console', '6.6.3', { - 'source_tmpl': SOURCE_PY3_WHL, - 'checksums': ['309d33409fcc92ffdad25f0bcdf9a4a9daa61b6f341177570fdac03de5352485'], - }), - ('jupyter', '1.0.0', { - 'checksums': ['d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f'], - }), - ('cellbender', version, { - 'source_urls': ['https://github.com/broadinstitute/CellBender/archive'], - 'sources': [{'download_filename': '%s.tar.gz' % local_commit, 'filename': '%(name)s-%(version)s.tar.gz'}], - 'checksums': ['7eb67837d28495adb82147e80a2ab58eeb406c5d91aa69dd0cc120d9cb3d6396'], - }), -] - -sanity_check_paths = { - 'files': ['bin/cellbender'], - 'dirs': ['lib/python%(pyshortver)s/site-packages'], -} - -sanity_check_commands = [ - "cellbender --help", -] - -sanity_pip_check = True - -moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CellBender/CellBender-0.3.1-foss-2022a.eb b/easybuild/easyconfigs/c/CellBender/CellBender-0.3.1-foss-2022a.eb deleted file mode 100644 index 798e18442ab..00000000000 --- a/easybuild/easyconfigs/c/CellBender/CellBender-0.3.1-foss-2022a.eb +++ /dev/null @@ -1,83 +0,0 @@ -easyblock = 'PythonBundle' - -name = 'CellBender' -local_commit = 'e2fb597' -version = '0.3.1' - -homepage = 'http://github.com/broadinstitute/CellBender' -description = """ -CellBender is a software package for eliminating technical artifacts from -high-throughput single-cell RNA sequencing (scRNA-seq) data. -""" - -toolchain = {'name': 'foss', 'version': '2022a'} - -dependencies = [ - ('Python', '3.10.4'), - ('SciPy-bundle', '2022.05'), - ('matplotlib', '3.5.2'), - ('PyTorch', '1.12.0'), - ('IPython', '8.5.0'), - ('anndata', '0.8.0'), - ('jupyter-contrib-nbextensions', '0.7.0'), - ('pyro-ppl', '1.8.4'), - ('loompy', '3.0.7'), - ('PyTables', '3.8.0'), - ('Qtconsole', '5.4.0'), -] - -use_pip = True - -local_comm_preinstallopts = """sed -i -e 's/^requires.*hatchling.*/requires = ["setuptools"]/g' """ -local_comm_preinstallopts += """-e 's/^build-backend.*/build-backend = "setuptools.build_meta"/g' """ -local_comm_preinstallopts += """-e 's/^dynamic = .*version.*/version = "%(version)s"/g' pyproject.toml && """ - -exts_list = [ - ('setuptools', '69.0.3', { - 'checksums': ['be1af57fc409f93647f2e8e4573a142ed38724b8cdd389706a867bb4efcf1e78'], - }), - ('comm', '0.2.1', { - 'checksums': ['0bc91edae1344d39d3661dcbc36937181fdaddb304790458f8b044dbc064b89a'], - 'preinstallopts': local_comm_preinstallopts, - }), - # jupyter-console 6.6.3 requires ipykernel>=6.14 - ('ipykernel', '6.20.2', { - 'source_tmpl': SOURCE_PY3_WHL, - 'checksums': ['5d0675d5f48bf6a95fd517d7b70bcb3b2c5631b2069949b5c2d6e1d7477fb5a0'], - }), - # jupyter-console 6.6.3 requires jupyter-core!=5.0.*,>=4.12 - ('jupyter_core', '4.12.0', { - 'source_tmpl': SOURCE_PY3_WHL, - 'checksums': ['a54672c539333258495579f6964144924e0aa7b07f7069947bef76d7ea5cb4c1'], - }), - # jupyter-console 6.6.3 requires traitlets>=5.4 - ('traitlets', '5.14.1', { - 'source_tmpl': SOURCE_PY3_WHL, - 'checksums': ['2e5a030e6eff91737c643231bfcf04a65b0132078dad75e4936700b213652e74'], - }), - ('jupyter_console', '6.6.3', { - 'source_tmpl': SOURCE_PY3_WHL, - 'checksums': ['309d33409fcc92ffdad25f0bcdf9a4a9daa61b6f341177570fdac03de5352485'], - }), - ('jupyter', '1.0.0', { - 'checksums': ['d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f'], - }), - ('cellbender', version, { - 'source_urls': ['https://github.com/broadinstitute/CellBender/archive'], - 'sources': [{'download_filename': '%s.tar.gz' % local_commit, 'filename': '%(name)s-%(version)s.tar.gz'}], - 'checksums': ['7eb67837d28495adb82147e80a2ab58eeb406c5d91aa69dd0cc120d9cb3d6396'], - }), -] - -sanity_check_paths = { - 'files': ['bin/cellbender'], - 'dirs': ['lib/python%(pyshortver)s/site-packages'], -} - -sanity_check_commands = [ - "cellbender --help", -] - -sanity_pip_check = True - -moduleclass = 'bio' From 8a30d398d5ecff884d64f4ad377672cbb4ff1d80 Mon Sep 17 00:00:00 2001 From: sassy Date: Tue, 4 Jun 2024 19:16:30 +0100 Subject: [PATCH 812/889] adding easyconfigs: glew-2.2.0-GCCcore-12.3.0-egl.eb --- .../g/glew/glew-2.2.0-GCCcore-12.3.0-egl.eb | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-12.3.0-egl.eb diff --git a/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-12.3.0-egl.eb b/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-12.3.0-egl.eb new file mode 100644 index 00000000000..81bca17cbb7 --- /dev/null +++ b/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-12.3.0-egl.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' +versionsuffix = '-egl' +# available: -glx, -osmesa, -egl +# GLEW does support GLX (onscreen or requiring VirtualGL), EGL (technically can do both onscreen and +# offscreen), and OSMESA (offscreen software only). + +name = 'glew' +version = '2.2.0' + +homepage = 'https://github.com/nigels-com/glew' +description = """The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source +C/C++ extension loading library. GLEW provides efficient run-time mechanisms +for determining which OpenGL extensions are supported on the target platform.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/nigels-com/glew/releases/download/%(name)s-%(version)s/'] +sources = ['%(name)s-%(version)s.tgz'] +checksums = ['d4fc82893cfb00109578d0a1a2337fb8ca335b3ceccf97b97e5cc7f08e4353e1'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Mesa', '23.1.4'), + ('X11', '20230603'), +] + +local_system = 'SYSTEM=linux`echo %(versionsuffix)s|sed -e "s/-glx//g"`' +buildopts = local_system + +skipsteps = ['configure'] + +preinstallopts = 'GLEW_PREFIX=%(installdir)s GLEW_DEST=%(installdir)s ' +install_cmd = 'make install.all ' + local_system + +sanity_check_paths = { + 'files': ['lib/libGLEW.a', 'lib/libGLEW.%s' % SHLIB_EXT] + + ['bin/glewinfo', 'bin/visualinfo'] + + ['include/GL/%s.h' % h for h in ['glew', 'glxew', 'wglew']], + 'dirs': [] +} + +moduleclass = 'devel' From df22456adfc9b41ebd0a47cb666a1aa3d8df5dd3 Mon Sep 17 00:00:00 2001 From: vsc46128 Date: Tue, 4 Jun 2024 21:37:05 +0200 Subject: [PATCH 813/889] add version suffix --- ...N-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb diff --git a/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..b026eb17dbd --- /dev/null +++ b/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,43 @@ +# Author: Lara Peeters (UGent) + +easyblock = 'Tarball' + +name = 'ProteinMPNN' +version = '1.0.1_20230627' +local_commit = '8907e6671bfbfc92303b5f79c4b5e6ce47cdef57' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/dauparas/ProteinMPNN' +description = """A deep learning based protein sequence design method is +described that is widely applicable to current design challenges and shows +outstanding performance in both in silico and experimental tests. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'dauparas' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['2e11f385074facb06e12496acde80756b34504f0f70bf78714fb07fe9244f398'] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('PyTorch', '1.12.0', '%(versionsuffix)s'), + ('torchvision', '0.13.1', '%(versionsuffix)s'), + ('torchaudio', '0.12.0', '-PyTorch-1.12.0%(versionsuffix)s'), +] + +postinstallcmds = ['chmod a+x %(installdir)s/protein_mpnn_run.py'] + +sanity_check_paths = { + 'files': ['protein_mpnn_run.py'], + 'dirs': ['examples'], +} + +fix_python_shebang_for = ['protein_mpnn_run.py'] + +sanity_check_commands = ['protein_mpnn_run.py --help'] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' From 6f294a2c6b8545aab88ccf91f0e15d2393fa2eb0 Mon Sep 17 00:00:00 2001 From: lara Date: Tue, 4 Jun 2024 21:43:45 +0200 Subject: [PATCH 814/889] remove file without versionsuffix --- .../ProteinMPNN-1.0.1_20230627-foss-2022a.eb | 42 ------------------- 1 file changed, 42 deletions(-) delete mode 100644 easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a.eb diff --git a/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a.eb b/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a.eb deleted file mode 100644 index 90051e4b0ba..00000000000 --- a/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a.eb +++ /dev/null @@ -1,42 +0,0 @@ -# Author: Lara Peeters (UGent) - -easyblock = 'Tarball' - -name = 'ProteinMPNN' -version = '1.0.1_20230627' -local_commit = '8907e6671bfbfc92303b5f79c4b5e6ce47cdef57' - -homepage = 'https://github.com/dauparas/ProteinMPNN' -description = """A deep learning based protein sequence design method is -described that is widely applicable to current design challenges and shows -outstanding performance in both in silico and experimental tests. -""" - -toolchain = {'name': 'foss', 'version': '2022a'} - -github_account = 'dauparas' -source_urls = [GITHUB_SOURCE] -sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] -checksums = ['2e11f385074facb06e12496acde80756b34504f0f70bf78714fb07fe9244f398'] - -dependencies = [ - ('CUDA', '11.7.0', '', SYSTEM), - ('PyTorch', '1.12.0', '-CUDA-%(cudaver)s'), - ('torchvision', '0.13.1', '-CUDA-%(cudaver)s'), - ('torchaudio', '0.12.0', '-PyTorch-1.12.0-CUDA-11.7.0'), -] - -postinstallcmds = ['chmod a+x %(installdir)s/protein_mpnn_run.py'] - -sanity_check_paths = { - 'files': ['protein_mpnn_run.py'], - 'dirs': ['examples'], -} - -fix_python_shebang_for = ['protein_mpnn_run.py'] - -sanity_check_commands = ['protein_mpnn_run.py --help'] - -modextrapaths = {'PATH': ''} - -moduleclass = 'bio' From 436c33c512af2ea150b6f2c6c1e6f26f18e27631 Mon Sep 17 00:00:00 2001 From: WilleBell Date: Wed, 5 Jun 2024 11:41:13 +0200 Subject: [PATCH 815/889] adding easyconfigs: EVcouplings-0.1.1-foss-2023a.eb, plmc-20230121-GCCcore-12.3.0-32bit.eb and patches: EVcouplings-0.1.1_fix-import-Iterable-Mapping.patch --- .../EVcouplings-0.1.1-foss-2023a.eb | 61 +++++++++++++++ ...gs-0.1.1_fix-import-Iterable-Mapping.patch | 77 +++++++++++++++++++ .../plmc-20230121-GCCcore-12.3.0-32bit.eb | 33 ++++++++ 3 files changed, 171 insertions(+) create mode 100644 easybuild/easyconfigs/e/EVcouplings/EVcouplings-0.1.1-foss-2023a.eb create mode 100644 easybuild/easyconfigs/e/EVcouplings/EVcouplings-0.1.1_fix-import-Iterable-Mapping.patch create mode 100644 easybuild/easyconfigs/p/plmc/plmc-20230121-GCCcore-12.3.0-32bit.eb diff --git a/easybuild/easyconfigs/e/EVcouplings/EVcouplings-0.1.1-foss-2023a.eb b/easybuild/easyconfigs/e/EVcouplings/EVcouplings-0.1.1-foss-2023a.eb new file mode 100644 index 00000000000..9312109a5e7 --- /dev/null +++ b/easybuild/easyconfigs/e/EVcouplings/EVcouplings-0.1.1-foss-2023a.eb @@ -0,0 +1,61 @@ +easyblock = 'PythonBundle' + +name = 'EVcouplings' +version = '0.1.1' + +homepage = 'https://github.com/debbiemarkslab/EVcouplings' +description = """ +Predict protein structure, function and mutations using evolutionary sequence covariation. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('numba', '0.58.1'), + ('SciPy-bundle', '2023.07'), + ('ruamel.yaml', '0.17.32'), + ('matplotlib', '3.7.2'), + ('bokeh', '3.2.2'), + ('Biopython', '1.83'), + ('Seaborn', '0.13.2'), + ('scikit-learn', '1.4.2'), + ('HMMER', '3.4'), + # Needs plmc installed with single precision + ('plmc', '20230121', '-32bit'), +] + +exts_list = [ + ('mmtf-python', '1.1.3', { + 'modulename': 'mmtf', + 'checksums': ['12a02fe1b7131f0a2b8ce45b46f1e0cdd28b9818fe4499554c26884987ea0c32'], + }), + ('filelock', '3.13.4', { + 'checksums': ['d13f466618bfde72bd2c18255e269f72542c6e70e7bac83a0232d6b1cc5c8cf4'], + }), + ('billiard', '4.2.0', { + 'checksums': ['9a3c3184cb275aa17a732f93f65b20c525d3d9f253722d26a82194803ade5a2c'], + }), + ('evcouplings', version, { + 'patches': ['EVcouplings-%(version)s_fix-import-Iterable-Mapping.patch'], + 'sources': ['%(name)s-%(version)s.zip'], + 'checksums': [ + {'evcouplings-0.1.1.zip': 'aba07acdc39a0da73f39f48a8cac915d5b671abc008c123bbe30e6759a2499d2'}, + {'EVcouplings-0.1.1_fix-import-Iterable-Mapping.patch': + 'db2cff1de3488baaa1f0ac186c02c61432c27a3e5221525f1c773817722e7ba9'}, + ], + }), +] + +sanity_check_commands = [ + "evcouplings --help", +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/EVcouplings/EVcouplings-0.1.1_fix-import-Iterable-Mapping.patch b/easybuild/easyconfigs/e/EVcouplings/EVcouplings-0.1.1_fix-import-Iterable-Mapping.patch new file mode 100644 index 00000000000..59caa949d96 --- /dev/null +++ b/easybuild/easyconfigs/e/EVcouplings/EVcouplings-0.1.1_fix-import-Iterable-Mapping.patch @@ -0,0 +1,77 @@ +The Iterable and Mapping were removed from collections in Python 3.10 +Import Iterable and Mapping from collections.abc +Author: Cintia Willemyns (Vrije Universiteit Brussel) +diff -Naru evcouplings-0.1.1.orig/evcouplings/align/protocol.py evcouplings-0.1.1/evcouplings/align/protocol.py +--- evcouplings-0.1.1.orig/evcouplings/align/protocol.py 2024-06-04 17:15:24.409905000 +0200 ++++ evcouplings-0.1.1/evcouplings/align/protocol.py 2024-06-04 17:16:54.492901448 +0200 +@@ -8,7 +8,8 @@ + + """ + +-from collections import OrderedDict, Iterable ++from collections import OrderedDict ++from collections.abc import Iterable + import re + from shutil import copy + import os +diff -Naru evcouplings-0.1.1.orig/evcouplings/compare/pdb.py evcouplings-0.1.1/evcouplings/compare/pdb.py +--- evcouplings-0.1.1.orig/evcouplings/compare/pdb.py 2024-06-04 17:15:24.419850000 +0200 ++++ evcouplings-0.1.1/evcouplings/compare/pdb.py 2024-06-04 17:52:31.882593767 +0200 +@@ -5,7 +5,8 @@ + Thomas A. Hopf + """ + +-from collections import OrderedDict, Iterable ++from collections import OrderedDict ++from collections.abc import Iterable + from os import path + from urllib.error import HTTPError + +diff -Naru evcouplings-0.1.1.orig/evcouplings/couplings/mapping.py evcouplings-0.1.1/evcouplings/couplings/mapping.py +--- evcouplings-0.1.1.orig/evcouplings/couplings/mapping.py 2024-06-04 17:15:24.405238000 +0200 ++++ evcouplings-0.1.1/evcouplings/couplings/mapping.py 2024-06-04 17:52:59.165312780 +0200 +@@ -7,7 +7,7 @@ + Anna G. Green (MultiSegmentCouplingsModel) + """ + +-from collections import Iterable ++from collections.abc import Iterable + from copy import deepcopy + from evcouplings.couplings.model import CouplingsModel + import pandas as pd +diff -Naru evcouplings-0.1.1.orig/evcouplings/couplings/model.py evcouplings-0.1.1/evcouplings/couplings/model.py +--- evcouplings-0.1.1.orig/evcouplings/couplings/model.py 2024-06-04 17:15:24.407628000 +0200 ++++ evcouplings-0.1.1/evcouplings/couplings/model.py 2024-06-04 17:53:16.476317130 +0200 +@@ -6,7 +6,7 @@ + Authors: + Thomas A. Hopf + """ +-from collections import Iterable ++from collections.abc import Iterable + from copy import deepcopy + + from numba import jit +diff -Naru evcouplings-0.1.1.orig/evcouplings/utils/app.py evcouplings-0.1.1/evcouplings/utils/app.py +--- evcouplings-0.1.1.orig/evcouplings/utils/app.py 2024-06-04 17:15:24.424719000 +0200 ++++ evcouplings-0.1.1/evcouplings/utils/app.py 2024-06-04 17:53:56.971793813 +0200 +@@ -14,7 +14,7 @@ + import re + from copy import deepcopy + from os import path, environ +-from collections import Mapping ++from collections.abc import Mapping + + import click + +diff -Naru evcouplings-0.1.1.orig/evcouplings/utils/tracker/mongodb.py evcouplings-0.1.1/evcouplings/utils/tracker/mongodb.py +--- evcouplings-0.1.1.orig/evcouplings/utils/tracker/mongodb.py 2024-06-04 17:15:24.421959000 +0200 ++++ evcouplings-0.1.1/evcouplings/utils/tracker/mongodb.py 2024-06-04 17:54:25.411050098 +0200 +@@ -16,7 +16,7 @@ + + import os + from datetime import datetime +-from collections import Mapping ++from collections.abc import Mapping + + from pymongo import MongoClient, errors + import gridfs diff --git a/easybuild/easyconfigs/p/plmc/plmc-20230121-GCCcore-12.3.0-32bit.eb b/easybuild/easyconfigs/p/plmc/plmc-20230121-GCCcore-12.3.0-32bit.eb new file mode 100644 index 00000000000..111554c2496 --- /dev/null +++ b/easybuild/easyconfigs/p/plmc/plmc-20230121-GCCcore-12.3.0-32bit.eb @@ -0,0 +1,33 @@ +easyblock = 'MakeCp' + +name = 'plmc' +version = '20230121' +versionsuffix = '-32bit' +local_commit = '18c9e55' + +homepage = 'https://github.com/debbiemarkslab/plmc' +description = """ +Inference of couplings in proteins and RNAs from sequence variation. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'debbiemarkslab' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['780b657246749adeb8c5ec01746b7283d1b94598c547abd61b87f1efd996d619'] + +buildopts = 'all-openmp32' + +files_to_copy = ['*'] + +sanity_check_paths = { + 'files': [], + 'dirs': ['bin'], +} + +sanity_check_commands = [ + "plmc -h 2>&1| grep Usage:", +] + +moduleclass = 'bio' From fbe5fda2123bfc2dff03cdb7539eff121e109b35 Mon Sep 17 00:00:00 2001 From: thoffman Date: Wed, 5 Jun 2024 11:44:24 +0200 Subject: [PATCH 816/889] update 0.1.1 --- .../lil-aretomo-0.1.1-foss-2023a.eb | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.1-foss-2023a.eb diff --git a/easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.1-foss-2023a.eb b/easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.1-foss-2023a.eb new file mode 100644 index 00000000000..d5bae40260a --- /dev/null +++ b/easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.1-foss-2023a.eb @@ -0,0 +1,39 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/05 +easyblock = 'PythonBundle' + +name = 'lil-aretomo' +version = '0.1.1' + +homepage = 'https://github.com/teamtomo/lil-aretomo' +description = """ +A lightweight Python API for AreTomo. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +patches = [] + +dependencies = [ + ('Python', '3.11.3'), + ('mrcfile', '1.5.0'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True + +exts_list = [ + ('typer', '0.9.0', { + 'checksums': ['50922fd79aea2f4751a8e0408ff10d2662bd0c8bbfa84755a699f3bada2978b2'], + }), + ('lil_aretomo', version, { + 'checksums': ['02ccb0efbf2c06304570117f142e78331bfffdde46864e22de11c6cd7f30f178'], + }), +] + +sanity_pip_check = True +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/'], +} + +moduleclass = 'bio' From f7c0f310e92e2e21d7c4dbd4c2e2014f04d46afb Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Wed, 5 Jun 2024 11:45:18 +0200 Subject: [PATCH 817/889] Delete easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.0_exec_pr43.patch --- .../lil-aretomo-0.1.0_exec_pr43.patch | 95 ------------------- 1 file changed, 95 deletions(-) delete mode 100644 easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.0_exec_pr43.patch diff --git a/easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.0_exec_pr43.patch b/easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.0_exec_pr43.patch deleted file mode 100644 index 617a66f928d..00000000000 --- a/easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.0_exec_pr43.patch +++ /dev/null @@ -1,95 +0,0 @@ -From 974db1f435ea0b314b5135aba9c9ae6674f3944d Mon Sep 17 00:00:00 2001 -From: thoffman -Date: Fri, 24 May 2024 16:00:22 +0200 -Subject: [PATCH 1/2] add executable parameter - ---- - lil_aretomo/aretomo.py | 6 ++++-- - lil_aretomo/utils.py | 9 +++++---- - 2 files changed, 9 insertions(+), 6 deletions(-) - -diff --git a/lil_aretomo/aretomo.py b/lil_aretomo/aretomo.py -index 6f275ee..1bdfcbe 100644 ---- a/lil_aretomo/aretomo.py -+++ b/lil_aretomo/aretomo.py -@@ -22,7 +22,8 @@ def align_tilt_series( - nominal_rotation_angle: Optional[float] = None, - correct_tilt_angle_offset: bool = False, - gpu_ids: Optional[Sequence[int]] = None, -- skip_if_completed: bool = False -+ skip_if_completed: bool = False, -+ executable: Optional[str]='AreTomo' - ) -> AreTomoOutput: - """Align a single-axis tilt-series using AreTomo. - -@@ -43,7 +44,7 @@ def align_tilt_series( - gpu_ids: integer ids for GPUs on the system (zero indexed). - skip_if_completed: skip alignment if previous results found. - """ -- if check_aretomo_on_path() is False: -+ if check_aretomo_on_path(executable) is False: - raise RuntimeError("AreTomo executable was not found. \ - Put 'AreTomo' on the PATH to proceed.") - if do_local_alignments is True and n_patches_xy is None: -@@ -68,6 +69,7 @@ def align_tilt_series( - do_local_alignments=do_local_alignments, - n_patches_xy=n_patches_xy, - gpu_ids=gpu_ids, -+ executable=executable - ) - aretomo_output = AreTomoOutput(tilt_series_file=tilt_series_file, reconstruction_file=reconstruction_file) - if aretomo_output.contains_alignment_results is False or skip_if_completed is False: -diff --git a/lil_aretomo/utils.py b/lil_aretomo/utils.py -index 5994258..a26db38 100644 ---- a/lil_aretomo/utils.py -+++ b/lil_aretomo/utils.py -@@ -47,11 +47,12 @@ def get_aretomo_command( - nominal_tilt_axis_angle: Optional[float] = None, - do_local_alignments: bool = True, - n_patches_xy: Optional[Tuple[int, int]] = None, -- gpu_ids: Optional[Sequence[int]] = None -+ gpu_ids: Optional[Sequence[int]] = None, -+ executable: Optional[str] = 'AreTomo', - ) -> List[str]: - """Generate a command which can be used to run AreTomo.""" - command = [ -- 'AreTomo', -+ executable, - '-InMrc', f'{tilt_series_file}', - '-OutMrc', f'{reconstruction_file}', - '-OutBin', f'{binning_factor:.3f}', -@@ -71,9 +72,9 @@ def get_aretomo_command( - return command - - --def check_aretomo_on_path(): -+def check_aretomo_on_path(executable: Optional[str] = 'AreTomo'): - """Check the PATH for AreTomo.""" -- return shutil.which('AreTomo') is not None -+ return shutil.which(executable) is not None - - - def read_aln(filename: os.PathLike) -> pd.DataFrame: - -From 09901ccd2e5ce2aa1e6f229a5fab0d1cbd1a501f Mon Sep 17 00:00:00 2001 -From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> -Date: Fri, 24 May 2024 16:28:57 +0200 -Subject: [PATCH 2/2] Update utils.py - ---- - lil_aretomo/utils.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lil_aretomo/utils.py b/lil_aretomo/utils.py -index a26db38..97f006b 100644 ---- a/lil_aretomo/utils.py -+++ b/lil_aretomo/utils.py -@@ -52,7 +52,7 @@ def get_aretomo_command( - ) -> List[str]: - """Generate a command which can be used to run AreTomo.""" - command = [ -- executable, -+ f'{executable}', - '-InMrc', f'{tilt_series_file}', - '-OutMrc', f'{reconstruction_file}', - '-OutBin', f'{binning_factor:.3f}', From 2e0877535c1f2557d167eab95ffd32282b17c81d Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Wed, 5 Jun 2024 11:45:31 +0200 Subject: [PATCH 818/889] Delete easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.0-foss-2023a.eb --- .../lil-aretomo-0.1.0-foss-2023a.eb | 44 ------------------- 1 file changed, 44 deletions(-) delete mode 100644 easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.0-foss-2023a.eb diff --git a/easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.0-foss-2023a.eb b/easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.0-foss-2023a.eb deleted file mode 100644 index 4086ec9b82c..00000000000 --- a/easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.0-foss-2023a.eb +++ /dev/null @@ -1,44 +0,0 @@ -# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/05 -easyblock = 'PythonBundle' - -name = 'lil-aretomo' -version = '0.1.0' - -homepage = 'https://github.com/teamtomo/lil-aretomo' -description = """ -A lightweight Python API for AreTomo. -""" - -toolchain = {'name': 'foss', 'version': '2023a'} - -patches = [] - -dependencies = [ - ('Python', '3.11.3'), - ('mrcfile', '1.5.0'), - ('SciPy-bundle', '2023.07'), -] - -use_pip = True - -exts_list = [ - ('typer', '0.9.0', { - 'checksums': ['50922fd79aea2f4751a8e0408ff10d2662bd0c8bbfa84755a699f3bada2978b2'], - }), - ('lil_aretomo', version, { - # add executable arg in order to allow using AreTomo2 executable - 'patches': ['lil-aretomo-0.1.0_exec_pr43.patch'], - 'checksums': [ - {'lil_aretomo-0.1.0.tar.gz': '0749604bbf75f2d9013c6a40b5c024be2ed54dd1ccb1fd7c7663a0fd2f175e8f'}, - {'lil-aretomo-0.1.0_exec_pr43.patch': '3ecd78b0bf8bf441b2d5224be2b85bd17f85b04d756af421993d74f7722b5f21'}, - ], - }), -] - -sanity_pip_check = True -sanity_check_paths = { - 'files': [], - 'dirs': ['lib/python%(pyshortver)s/'], -} - -moduleclass = 'bio' From 074355f2a491eb565598acd28e10bf2dd7005bfb Mon Sep 17 00:00:00 2001 From: Leonard Nielsen Date: Wed, 5 Jun 2024 09:53:53 +0000 Subject: [PATCH 819/889] runs tests on install --- .../easyconfigs/m/mumott/mumott-2.1-foss-2022b.eb | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/easybuild/easyconfigs/m/mumott/mumott-2.1-foss-2022b.eb b/easybuild/easyconfigs/m/mumott/mumott-2.1-foss-2022b.eb index 6fd208d6258..d09097f8fda 100644 --- a/easybuild/easyconfigs/m/mumott/mumott-2.1-foss-2022b.eb +++ b/easybuild/easyconfigs/m/mumott/mumott-2.1-foss-2022b.eb @@ -22,18 +22,20 @@ dependencies = [ use_pip = True exts_list = [ - ('mumott', '2.1', { - 'checksums': ['00c485f1f00052154c9ee82b6f597e2326715aa8cf2d6dd44ae5e2e9b9653273'] - }), ('colorcet', '3.1.0', { - 'checksums': ['2921b3cd81a2288aaf2d63dbc0ce3c26dcd882e8c389cc505d6886bf7aa9a4eb'] + 'checksums': ['2921b3cd81a2288aaf2d63dbc0ce3c26dcd882e8c389cc505d6886bf7aa9a4eb'], }), ('colorspacious', '1.1.2', { 'checksums': ['5e9072e8cdca889dac445c35c9362a22ccf758e97b00b79ff0d5a7ba3e11b618'], }), + (name, version, { + 'runtest': "pytest tests/cpu_tests/unit_tests", + 'source_urls': ['https://gitlab.com/liebi-group/software/mumott/-/archive/%(version)s/'], + 'testinstall': True, + 'checksums': ['018c3be97c3bdfb1409218a15e8f0deed9e78caf9b2cd62c7f5424c8772128b8'], + }), ] - sanity_pip_check = True sanity_check_commands = ["python -c 'import mumott'"] From 34cc178f2c444348ce5b99f6662a7ec14cfa525a Mon Sep 17 00:00:00 2001 From: Leonard Nielsen Date: Wed, 5 Jun 2024 09:55:36 +0000 Subject: [PATCH 820/889] fixed formatting --- easybuild/easyconfigs/m/mumott/mumott-2.1-foss-2022b.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/m/mumott/mumott-2.1-foss-2022b.eb b/easybuild/easyconfigs/m/mumott/mumott-2.1-foss-2022b.eb index d09097f8fda..4cb23e2deff 100644 --- a/easybuild/easyconfigs/m/mumott/mumott-2.1-foss-2022b.eb +++ b/easybuild/easyconfigs/m/mumott/mumott-2.1-foss-2022b.eb @@ -30,7 +30,7 @@ exts_list = [ }), (name, version, { 'runtest': "pytest tests/cpu_tests/unit_tests", - 'source_urls': ['https://gitlab.com/liebi-group/software/mumott/-/archive/%(version)s/'], + 'source_urls': ['https://gitlab.com/liebi-group/software/%(name)s/-/archive/%(version)s/'], 'testinstall': True, 'checksums': ['018c3be97c3bdfb1409218a15e8f0deed9e78caf9b2cd62c7f5424c8772128b8'], }), From 5c7275410af9b0abc3bb3d59d7d98378f84d2945 Mon Sep 17 00:00:00 2001 From: Cintia Willemyns <115622907+WilleBell@users.noreply.github.com> Date: Wed, 5 Jun 2024 12:05:34 +0200 Subject: [PATCH 821/889] Use toolchain's dep version of scikit-learn: v1.3.1 --- .../easyconfigs/e/EVcouplings/EVcouplings-0.1.1-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/e/EVcouplings/EVcouplings-0.1.1-foss-2023a.eb b/easybuild/easyconfigs/e/EVcouplings/EVcouplings-0.1.1-foss-2023a.eb index 9312109a5e7..cc4bc9b90bc 100644 --- a/easybuild/easyconfigs/e/EVcouplings/EVcouplings-0.1.1-foss-2023a.eb +++ b/easybuild/easyconfigs/e/EVcouplings/EVcouplings-0.1.1-foss-2023a.eb @@ -23,7 +23,7 @@ dependencies = [ ('bokeh', '3.2.2'), ('Biopython', '1.83'), ('Seaborn', '0.13.2'), - ('scikit-learn', '1.4.2'), + ('scikit-learn', '1.3.1'), ('HMMER', '3.4'), # Needs plmc installed with single precision ('plmc', '20230121', '-32bit'), From 423fc5c80ff905f40edac74b0088d30d6536a3ac Mon Sep 17 00:00:00 2001 From: Cintia Willemyns <115622907+WilleBell@users.noreply.github.com> Date: Wed, 5 Jun 2024 12:19:46 +0200 Subject: [PATCH 822/889] Add binutils as builddep --- .../easyconfigs/p/plmc/plmc-20230121-GCCcore-12.3.0-32bit.eb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/easybuild/easyconfigs/p/plmc/plmc-20230121-GCCcore-12.3.0-32bit.eb b/easybuild/easyconfigs/p/plmc/plmc-20230121-GCCcore-12.3.0-32bit.eb index 111554c2496..d32ed87425b 100644 --- a/easybuild/easyconfigs/p/plmc/plmc-20230121-GCCcore-12.3.0-32bit.eb +++ b/easybuild/easyconfigs/p/plmc/plmc-20230121-GCCcore-12.3.0-32bit.eb @@ -17,6 +17,10 @@ source_urls = [GITHUB_SOURCE] sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] checksums = ['780b657246749adeb8c5ec01746b7283d1b94598c547abd61b87f1efd996d619'] +builddependencies = [ + ('binutils', '2.40'), +] + buildopts = 'all-openmp32' files_to_copy = ['*'] From 997dffb725247506f987735ac96c1d8b5ae213c7 Mon Sep 17 00:00:00 2001 From: Bob Droge Date: Wed, 5 Jun 2024 11:40:31 +0000 Subject: [PATCH 823/889] add two patches for OpenBLAS 0.3.27 --- ...penBLAS-0.3.26_lapack_qr_noninittest.patch | 640 ++++++++++++++++++ .../o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0.eb | 8 +- ....3.27_riscv-drop-static-fortran-flag.patch | 31 + 3 files changed, 677 insertions(+), 2 deletions(-) create mode 100644 easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.26_lapack_qr_noninittest.patch create mode 100644 easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27_riscv-drop-static-fortran-flag.patch diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.26_lapack_qr_noninittest.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.26_lapack_qr_noninittest.patch new file mode 100644 index 00000000000..f6940980d1f --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.26_lapack_qr_noninittest.patch @@ -0,0 +1,640 @@ +See https://github.com/OpenMathLib/OpenBLAS/issues/4625 +Uninitialized test results in the GEQP3RK routines introduced with LAPACK 3.12 +and in OpenBLAS 0.3.26 are causing abnormal number of errors. +Fixed with https://github.com/OpenMathLib/OpenBLAS/pull/4647 +(should not be needed for OpenBLAS > 0.3.27) +index 79d6add72e..b794d4664c 100644 +--- lapack-netlib/TESTING/LIN/cchkqp3rk.f.orig ++++ lapack-netlib/TESTING/LIN/cchkqp3rk.f +@@ -608,6 +608,9 @@ SUBROUTINE CCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + CALL CLACPY( 'All', M, NRHS, COPYB, LDA, + $ B, LDA ) + CALL ICOPY( N, IWORK( 1 ), 1, IWORK( N+1 ), 1 ) ++ DO I = 1, NTESTS ++ RESULT( I ) = ZERO ++ END DO + * + ABSTOL = -1.0 + RELTOl = -1.0 +@@ -652,16 +655,6 @@ SUBROUTINE CCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + RESULT( 1 ) = CQRT12( M, N, A, LDA, S, WORK, + $ LWORK , RWORK ) + * +- DO T = 1, 1 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'CGEQP3RK', M, N, +- $ NRHS, KMAX, ABSTOL, RELTOL, NB, NX, +- $ IMAT, T, RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO + NRUN = NRUN + 1 + * + * End test 1 +@@ -675,7 +668,7 @@ SUBROUTINE CCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * 1-norm( A*P - Q*R ) / ( max(M,N) * 1-norm(A) * EPS ) + * + RESULT( 2 ) = CQPT01( M, N, KFACT, COPYA, A, LDA, TAU, +- $ IWORK( N+1 ), WORK, LWORK ) ++ $ IWORK( N+1 ), WORK, LWORK ) + * + * Compute test 3: + * +@@ -684,21 +677,8 @@ SUBROUTINE CCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * 1-norm( Q**T * Q - I ) / ( M * EPS ) + * + RESULT( 3 ) = CQRT11( M, KFACT, A, LDA, TAU, WORK, +- $ LWORK ) ++ $ LWORK ) + * +-* Print information about the tests that did not pass +-* the threshold. +-* +- DO T = 2, 3 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'CGEQP3RK', M, N, +- $ NRHS, KMAX, ABSTOL, RELTOL, +- $ NB, NX, IMAT, T, RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO + NRUN = NRUN + 2 + * + * Compute test 4: +@@ -717,8 +697,8 @@ SUBROUTINE CCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * + DO J = 1, KFACT-1, 1 + * +- DTEMP = (( ABS( A( (J-1)*M+J ) ) - +- $ ABS( A( (J)*M+J+1 ) ) ) / ++ DTEMP = (( ABS( A( (J-1)*LDA+J ) ) - ++ $ ABS( A( (J)*LDA+J+1 ) ) ) / + $ ABS( A(1) ) ) + * + IF( DTEMP.LT.ZERO ) THEN +@@ -727,20 +707,6 @@ SUBROUTINE CCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * + END DO + * +-* Print information about the tests that did not +-* pass the threshold. +-* +- DO T = 4, 4 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'CGEQP3RK', +- $ M, N, NRHS, KMAX, ABSTOL, RELTOL, +- $ NB, NX, IMAT, T, +- $ RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO + NRUN = NRUN + 1 + * + * End test 4. +@@ -762,42 +728,41 @@ SUBROUTINE CCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * + LWORK_MQR = MAX(1, NRHS) + CALL CUNMQR( 'Left', 'Conjugate transpose', +- $ M, NRHS, KFACT, A, LDA, TAU, B, LDA, +- $ WORK, LWORK_MQR, INFO ) ++ $ M, NRHS, KFACT, A, LDA, TAU, B, LDA, ++ $ WORK, LWORK_MQR, INFO ) + * + DO I = 1, NRHS + * + * Compare N+J-th column of A and J-column of B. + * + CALL CAXPY( M, -CONE, A( ( N+I-1 )*LDA+1 ), 1, +- $ B( ( I-1 )*LDA+1 ), 1 ) ++ $ B( ( I-1 )*LDA+1 ), 1 ) + END DO + * +- RESULT( 5 ) = +- $ ABS( +- $ CLANGE( 'One-norm', M, NRHS, B, LDA, RDUMMY ) / +- $ ( REAL( M )*SLAMCH( 'Epsilon' ) ) +- $ ) +-* +-* Print information about the tests that did not pass +-* the threshold. +-* +- DO T = 5, 5 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'CGEQP3RK', M, N, +- $ NRHS, KMAX, ABSTOL, RELTOL, +- $ NB, NX, IMAT, T, RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO ++ RESULT( 5 ) = ABS( ++ $ CLANGE( 'One-norm', M, NRHS, B, LDA, RDUMMY ) / ++ $ ( REAL( M )*SLAMCH( 'Epsilon' ) ) ) ++* + NRUN = NRUN + 1 + * + * End compute test 5. + * + END IF + * ++* Print information about the tests that did not pass ++* the threshold. ++* ++ DO T = 1, NTESTS ++ IF( RESULT( T ).GE.THRESH ) THEN ++ IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) ++ $ CALL ALAHD( NOUT, PATH ) ++ WRITE( NOUT, FMT = 9999 ) 'CGEQP3RK', M, N, ++ $ NRHS, KMAX, ABSTOL, RELTOL, ++ $ NB, NX, IMAT, T, RESULT( T ) ++ NFAIL = NFAIL + 1 ++ END IF ++ END DO ++* + * END DO KMAX = 1, MIN(M,N)+1 + * + END DO +diff --git a/TESTING/LIN/dchkqp3rk.f b/TESTING/LIN/dchkqp3rk.f +index 434d2067e2..1834e63282 100755 +--- lapack-netlib/TESTING/LIN/dchkqp3rk.f.orig ++++ lapack-netlib/TESTING/LIN/dchkqp3rk.f +@@ -605,6 +605,9 @@ SUBROUTINE DCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + CALL DLACPY( 'All', M, NRHS, COPYB, LDA, + $ B, LDA ) + CALL ICOPY( N, IWORK( 1 ), 1, IWORK( N+1 ), 1 ) ++ DO I = 1, NTESTS ++ RESULT( I ) = ZERO ++ END DO + * + ABSTOL = -1.0 + RELTOL = -1.0 +@@ -648,16 +651,6 @@ SUBROUTINE DCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + RESULT( 1 ) = DQRT12( M, N, A, LDA, S, WORK, + $ LWORK ) + * +- DO T = 1, 1 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'DGEQP3RK', M, N, +- $ NRHS, KMAX, ABSTOL, RELTOL, NB, NX, +- $ IMAT, T, RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO + NRUN = NRUN + 1 + * + * End test 1 +@@ -671,7 +664,7 @@ SUBROUTINE DCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * 1-norm( A*P - Q*R ) / ( max(M,N) * 1-norm(A) * EPS ) + * + RESULT( 2 ) = DQPT01( M, N, KFACT, COPYA, A, LDA, TAU, +- $ IWORK( N+1 ), WORK, LWORK ) ++ $ IWORK( N+1 ), WORK, LWORK ) + * + * Compute test 3: + * +@@ -680,21 +673,8 @@ SUBROUTINE DCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * 1-norm( Q**T * Q - I ) / ( M * EPS ) + * + RESULT( 3 ) = DQRT11( M, KFACT, A, LDA, TAU, WORK, +- $ LWORK ) +-* +-* Print information about the tests that did not pass +-* the threshold. ++ $ LWORK ) + * +- DO T = 2, 3 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'DGEQP3RK', M, N, +- $ NRHS, KMAX, ABSTOL, RELTOL, +- $ NB, NX, IMAT, T, RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO + NRUN = NRUN + 2 + * + * Compute test 4: +@@ -713,8 +693,8 @@ SUBROUTINE DCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * + DO J = 1, KFACT-1, 1 + +- DTEMP = (( ABS( A( (J-1)*M+J ) ) - +- $ ABS( A( (J)*M+J+1 ) ) ) / ++ DTEMP = (( ABS( A( (J-1)*LDA+J ) ) - ++ $ ABS( A( (J)*LDA+J+1 ) ) ) / + $ ABS( A(1) ) ) + * + IF( DTEMP.LT.ZERO ) THEN +@@ -723,20 +703,6 @@ SUBROUTINE DCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * + END DO + * +-* Print information about the tests that did not +-* pass the threshold. +-* +- DO T = 4, 4 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'DGEQP3RK', +- $ M, N, NRHS, KMAX, ABSTOL, RELTOL, +- $ NB, NX, IMAT, T, +- $ RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO + NRUN = NRUN + 1 + * + * End test 4. +@@ -758,42 +724,41 @@ SUBROUTINE DCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * + LWORK_MQR = MAX(1, NRHS) + CALL DORMQR( 'Left', 'Transpose', +- $ M, NRHS, KFACT, A, LDA, TAU, B, LDA, +- $ WORK, LWORK_MQR, INFO ) ++ $ M, NRHS, KFACT, A, LDA, TAU, B, LDA, ++ $ WORK, LWORK_MQR, INFO ) + * + DO I = 1, NRHS + * + * Compare N+J-th column of A and J-column of B. + * + CALL DAXPY( M, -ONE, A( ( N+I-1 )*LDA+1 ), 1, +- $ B( ( I-1 )*LDA+1 ), 1 ) ++ $ B( ( I-1 )*LDA+1 ), 1 ) + END DO + * +- RESULT( 5 ) = +- $ ABS( +- $ DLANGE( 'One-norm', M, NRHS, B, LDA, RDUMMY ) / +- $ ( DBLE( M )*DLAMCH( 'Epsilon' ) ) +- $ ) +-* +-* Print information about the tests that did not pass +-* the threshold. +-* +- DO T = 5, 5 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'DGEQP3RK', M, N, +- $ NRHS, KMAX, ABSTOL, RELTOL, +- $ NB, NX, IMAT, T, RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO ++ RESULT( 5 ) = ABS( ++ $ DLANGE( 'One-norm', M, NRHS, B, LDA, RDUMMY ) / ++ $ ( DBLE( M )*DLAMCH( 'Epsilon' ) ) ) ++* + NRUN = NRUN + 1 + * + * End compute test 5. + * + END IF + * ++* Print information about the tests that did not ++* pass the threshold. ++* ++ DO T = 1, NTESTS ++ IF( RESULT( T ).GE.THRESH ) THEN ++ IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) ++ $ CALL ALAHD( NOUT, PATH ) ++ WRITE( NOUT, FMT = 9999 ) 'DGEQP3RK', M, N, ++ $ NRHS, KMAX, ABSTOL, RELTOL, NB, NX, ++ $ IMAT, T, RESULT( T ) ++ NFAIL = NFAIL + 1 ++ END IF ++ END DO ++* + * END DO KMAX = 1, MIN(M,N)+1 + * + END DO +diff --git a/TESTING/LIN/schkqp3rk.f b/TESTING/LIN/schkqp3rk.f +index 36cf9370ea..c5ce7ff609 100755 +--- lapack-netlib/TESTING/LIN/schkqp3rk.f.orig ++++ lapack-netlib/TESTING/LIN/schkqp3rk.f +@@ -604,6 +604,9 @@ SUBROUTINE SCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + CALL SLACPY( 'All', M, NRHS, COPYB, LDA, + $ B, LDA ) + CALL ICOPY( N, IWORK( 1 ), 1, IWORK( N+1 ), 1 ) ++ DO I = 1, NTESTS ++ RESULT( I ) = ZERO ++ END DO + * + ABSTOL = -1.0 + RELTOL = -1.0 +@@ -647,16 +650,6 @@ SUBROUTINE SCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + RESULT( 1 ) = SQRT12( M, N, A, LDA, S, WORK, + $ LWORK ) + * +- DO T = 1, 1 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'SGEQP3RK', M, N, +- $ NRHS, KMAX, ABSTOL, RELTOL, NB, NX, +- $ IMAT, T, RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO + NRUN = NRUN + 1 + * + * End test 1 +@@ -670,7 +663,7 @@ SUBROUTINE SCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * 1-norm( A*P - Q*R ) / ( max(M,N) * 1-norm(A) * EPS ) + * + RESULT( 2 ) = SQPT01( M, N, KFACT, COPYA, A, LDA, TAU, +- $ IWORK( N+1 ), WORK, LWORK ) ++ $ IWORK( N+1 ), WORK, LWORK ) + * + * Compute test 3: + * +@@ -679,21 +672,8 @@ SUBROUTINE SCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * 1-norm( Q**T * Q - I ) / ( M * EPS ) + * + RESULT( 3 ) = SQRT11( M, KFACT, A, LDA, TAU, WORK, +- $ LWORK ) ++ $ LWORK ) + * +-* Print information about the tests that did not pass +-* the threshold. +-* +- DO T = 2, 3 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'SGEQP3RK', M, N, +- $ NRHS, KMAX, ABSTOL, RELTOL, +- $ NB, NX, IMAT, T, RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO + NRUN = NRUN + 2 + * + * Compute test 4: +@@ -712,8 +692,8 @@ SUBROUTINE SCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * + DO J = 1, KFACT-1, 1 + +- DTEMP = (( ABS( A( (J-1)*M+J ) ) - +- $ ABS( A( (J)*M+J+1 ) ) ) / ++ DTEMP = (( ABS( A( (J-1)*LDA+J ) ) - ++ $ ABS( A( (J)*LDA+J+1 ) ) ) / + $ ABS( A(1) ) ) + * + IF( DTEMP.LT.ZERO ) THEN +@@ -722,20 +702,6 @@ SUBROUTINE SCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * + END DO + * +-* Print information about the tests that did not +-* pass the threshold. +-* +- DO T = 4, 4 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'SGEQP3RK', +- $ M, N, NRHS, KMAX, ABSTOL, RELTOL, +- $ NB, NX, IMAT, T, +- $ RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO + NRUN = NRUN + 1 + * + * End test 4. +@@ -757,42 +723,41 @@ SUBROUTINE SCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * + LWORK_MQR = MAX(1, NRHS) + CALL SORMQR( 'Left', 'Transpose', +- $ M, NRHS, KFACT, A, LDA, TAU, B, LDA, +- $ WORK, LWORK_MQR, INFO ) ++ $ M, NRHS, KFACT, A, LDA, TAU, B, LDA, ++ $ WORK, LWORK_MQR, INFO ) + * + DO I = 1, NRHS + * + * Compare N+J-th column of A and J-column of B. + * + CALL SAXPY( M, -ONE, A( ( N+I-1 )*LDA+1 ), 1, +- $ B( ( I-1 )*LDA+1 ), 1 ) ++ $ B( ( I-1 )*LDA+1 ), 1 ) + END DO + * +- RESULT( 5 ) = +- $ ABS( +- $ SLANGE( 'One-norm', M, NRHS, B, LDA, RDUMMY ) / +- $ ( REAL( M )*SLAMCH( 'Epsilon' ) ) +- $ ) +-* +-* Print information about the tests that did not pass +-* the threshold. +-* +- DO T = 5, 5 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'SGEQP3RK', M, N, +- $ NRHS, KMAX, ABSTOL, RELTOL, +- $ NB, NX, IMAT, T, RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO ++ RESULT( 5 ) = ABS( ++ $ SLANGE( 'One-norm', M, NRHS, B, LDA, RDUMMY ) / ++ $ ( REAL( M )*SLAMCH( 'Epsilon' ) ) ) ++* + NRUN = NRUN + 1 + * + * End compute test 5. + * + END IF + * ++* Print information about the tests that did not pass ++* the threshold. ++* ++ DO T = 1, NTESTS ++ IF( RESULT( T ).GE.THRESH ) THEN ++ IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) ++ $ CALL ALAHD( NOUT, PATH ) ++ WRITE( NOUT, FMT = 9999 ) 'SGEQP3RK', M, N, ++ $ NRHS, KMAX, ABSTOL, RELTOL, ++ $ NB, NX, IMAT, T, RESULT( T ) ++ NFAIL = NFAIL + 1 ++ END IF ++ END DO ++* + * END DO KMAX = 1, MIN(M,N)+1 + * + END DO +diff --git a/TESTING/LIN/zchkqp3rk.f b/TESTING/LIN/zchkqp3rk.f +index 302c7b1a87..5092058837 100644 +--- lapack-netlib/TESTING/LIN/zchkqp3rk.f.orig ++++ lapack-netlib/TESTING/LIN/zchkqp3rk.f +@@ -608,6 +608,9 @@ SUBROUTINE ZCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + CALL ZLACPY( 'All', M, NRHS, COPYB, LDA, + $ B, LDA ) + CALL ICOPY( N, IWORK( 1 ), 1, IWORK( N+1 ), 1 ) ++ DO I = 1, NTESTS ++ RESULT( I ) = ZERO ++ END DO + * + ABSTOL = -1.0 + RELTOl = -1.0 +@@ -652,16 +655,6 @@ SUBROUTINE ZCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + RESULT( 1 ) = ZQRT12( M, N, A, LDA, S, WORK, + $ LWORK , RWORK ) + * +- DO T = 1, 1 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'ZGEQP3RK', M, N, +- $ NRHS, KMAX, ABSTOL, RELTOL, NB, NX, +- $ IMAT, T, RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO + NRUN = NRUN + 1 + * + * End test 1 +@@ -675,7 +668,7 @@ SUBROUTINE ZCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * 1-norm( A*P - Q*R ) / ( max(M,N) * 1-norm(A) * EPS ) + * + RESULT( 2 ) = ZQPT01( M, N, KFACT, COPYA, A, LDA, TAU, +- $ IWORK( N+1 ), WORK, LWORK ) ++ $ IWORK( N+1 ), WORK, LWORK ) + * + * Compute test 3: + * +@@ -684,21 +677,8 @@ SUBROUTINE ZCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * 1-norm( Q**T * Q - I ) / ( M * EPS ) + * + RESULT( 3 ) = ZQRT11( M, KFACT, A, LDA, TAU, WORK, +- $ LWORK ) ++ $ LWORK ) + * +-* Print information about the tests that did not pass +-* the threshold. +-* +- DO T = 2, 3 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'ZGEQP3RK', M, N, +- $ NRHS, KMAX, ABSTOL, RELTOL, +- $ NB, NX, IMAT, T, RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO + NRUN = NRUN + 2 + * + * Compute test 4: +@@ -717,8 +697,8 @@ SUBROUTINE ZCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * + DO J = 1, KFACT-1, 1 + * +- DTEMP = (( ABS( A( (J-1)*M+J ) ) - +- $ ABS( A( (J)*M+J+1 ) ) ) / ++ DTEMP = (( ABS( A( (J-1)*LDA+J ) ) - ++ $ ABS( A( (J)*LDA+J+1 ) ) ) / + $ ABS( A(1) ) ) + * + IF( DTEMP.LT.ZERO ) THEN +@@ -727,20 +707,6 @@ SUBROUTINE ZCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * + END DO + * +-* Print information about the tests that did not +-* pass the threshold. +-* +- DO T = 4, 4 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'ZGEQP3RK', +- $ M, N, NRHS, KMAX, ABSTOL, RELTOL, +- $ NB, NX, IMAT, T, +- $ RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO + NRUN = NRUN + 1 + * + * End test 4. +@@ -762,42 +728,41 @@ SUBROUTINE ZCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * + LWORK_MQR = MAX(1, NRHS) + CALL ZUNMQR( 'Left', 'Conjugate transpose', +- $ M, NRHS, KFACT, A, LDA, TAU, B, LDA, +- $ WORK, LWORK_MQR, INFO ) ++ $ M, NRHS, KFACT, A, LDA, TAU, B, LDA, ++ $ WORK, LWORK_MQR, INFO ) + * + DO I = 1, NRHS + * + * Compare N+J-th column of A and J-column of B. + * + CALL ZAXPY( M, -CONE, A( ( N+I-1 )*LDA+1 ), 1, +- $ B( ( I-1 )*LDA+1 ), 1 ) ++ $ B( ( I-1 )*LDA+1 ), 1 ) + END DO + * +- RESULT( 5 ) = +- $ ABS( +- $ ZLANGE( 'One-norm', M, NRHS, B, LDA, RDUMMY ) / +- $ ( DBLE( M )*DLAMCH( 'Epsilon' ) ) +- $ ) +-* +-* Print information about the tests that did not pass +-* the threshold. +-* +- DO T = 5, 5 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'ZGEQP3RK', M, N, +- $ NRHS, KMAX, ABSTOL, RELTOL, +- $ NB, NX, IMAT, T, RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO ++ RESULT( 5 ) = ABS( ++ $ ZLANGE( 'One-norm', M, NRHS, B, LDA, RDUMMY ) / ++ $ ( DBLE( M )*DLAMCH( 'Epsilon' ) ) ) ++* + NRUN = NRUN + 1 + * + * End compute test 5. + * + END IF + * ++* Print information about the tests that did not pass ++* the threshold. ++* ++ DO T = 1, NTESTS ++ IF( RESULT( T ).GE.THRESH ) THEN ++ IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) ++ $ CALL ALAHD( NOUT, PATH ) ++ WRITE( NOUT, FMT = 9999 ) 'ZGEQP3RK', M, N, ++ $ NRHS, KMAX, ABSTOL, RELTOL, ++ $ NB, NX, IMAT, T, RESULT( T ) ++ NFAIL = NFAIL + 1 ++ END IF ++ END DO ++* + * END DO KMAX = 1, MIN(M,N)+1 + * + END DO diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0.eb index 04fe130b0b8..c65deccb6e9 100644 --- a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0.eb +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0.eb @@ -17,7 +17,9 @@ patches = [ ('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'}, @@ -27,8 +29,10 @@ checksums = [ 'e6b326fb8c4a8a6fd07741d9983c37a72c55c9ff9a4f74a80e1352ce5f975971'}, {'OpenBLAS-0.3.21_fix-order-vectorization.patch': '08af834e5d60441fd35c128758ed9c092ba6887c829e0471ecd489079539047d'}, - {'OpenBLAS-0.3.27_fix_zscal.patch': - '9210d7b66538dabaddbe1bfceb16f8225708856f60876ca5561b19d3599f9fd1'}, + {'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 = [ diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27_riscv-drop-static-fortran-flag.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27_riscv-drop-static-fortran-flag.patch new file mode 100644 index 00000000000..262c6bc5bd0 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27_riscv-drop-static-fortran-flag.patch @@ -0,0 +1,31 @@ +From df87aeb5a2a3785e15a3d94dbf92e2e03448500f Mon Sep 17 00:00:00 2001 +From: Martin Kroeker +Date: Tue, 4 Jun 2024 09:49:18 +0200 +Subject: [PATCH] Drop the -static Fortran flag from generic builds as it + breaks OpenMP + +--- + Makefile.riscv64 | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/Makefile.riscv64 b/Makefile.riscv64 +index 113cc57c53..9f6e48b7ad 100644 +--- a/Makefile.riscv64 ++++ b/Makefile.riscv64 +@@ -8,13 +8,13 @@ FCOMMON_OPT += -march=rv64imafdcv_zba_zbb_zfh -mabi=lp64d -static + endif + ifeq ($(CORE), RISCV64_ZVL256B) + CCOMMON_OPT += -march=rv64imafdcv_zvl256b -mabi=lp64d +-FCOMMON_OPT += -march=rv64imafdcv -mabi=lp64d -static ++FCOMMON_OPT += -march=rv64imafdcv -mabi=lp64d + endif + ifeq ($(CORE), RISCV64_ZVL128B) + CCOMMON_OPT += -march=rv64imafdcv -mabi=lp64d +-FCOMMON_OPT += -march=rv64imafdcv -mabi=lp64d -static ++FCOMMON_OPT += -march=rv64imafdcv -mabi=lp64d + endif + ifeq ($(CORE), RISCV64_GENERIC) + CCOMMON_OPT += -march=rv64imafdc -mabi=lp64d +-FCOMMON_OPT += -march=rv64imafdc -mabi=lp64d -static ++FCOMMON_OPT += -march=rv64imafdc -mabi=lp64d + endif From b7bbc1a2ac98f530f477f94040eaf94d2383d557 Mon Sep 17 00:00:00 2001 From: WilleBell Date: Wed, 5 Jun 2024 16:00:52 +0200 Subject: [PATCH 824/889] adding easyconfigs: langchain-anthropic-0.1.15-foss-2023a.eb, jiter-0.4.1-GCCcore-12.3.0.eb --- .../j/jiter/jiter-0.4.1-GCCcore-12.3.0.eb | 189 ++++++++++++++++++ .../langchain-anthropic-0.1.15-foss-2023a.eb | 61 ++++++ 2 files changed, 250 insertions(+) create mode 100644 easybuild/easyconfigs/j/jiter/jiter-0.4.1-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/l/langchain-anthropic/langchain-anthropic-0.1.15-foss-2023a.eb diff --git a/easybuild/easyconfigs/j/jiter/jiter-0.4.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/jiter/jiter-0.4.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..485f0751a67 --- /dev/null +++ b/easybuild/easyconfigs/j/jiter/jiter-0.4.1-GCCcore-12.3.0.eb @@ -0,0 +1,189 @@ +easyblock = 'CargoPythonBundle' + +name = 'jiter' +version = '0.4.1' + +homepage = 'https://github.com/pydantic/jiter/tree/main' +description = "Fast iterable JSON parser" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +crates = [ + ('ahash', '0.8.11'), + ('autocfg', '1.3.0'), + ('bencher', '0.1.5'), + ('bitflags', '2.5.0'), + ('bitvec', '1.0.1'), + ('cfg-if', '1.0.0'), + ('codspeed', '2.6.0'), + ('codspeed-bencher-compat', '2.6.0'), + ('colored', '2.1.0'), + ('equivalent', '1.0.1'), + ('funty', '2.0.0'), + ('getrandom', '0.2.15'), + ('hashbrown', '0.14.5'), + ('heck', '0.4.1'), + ('indexmap', '2.2.6'), + ('indoc', '2.0.5'), + ('itoa', '1.0.11'), + ('lazy_static', '1.4.0'), + ('lexical-parse-float', '0.8.5'), + ('lexical-parse-integer', '0.8.6'), + ('lexical-util', '0.8.5'), + ('libc', '0.2.155'), + ('lock_api', '0.4.12'), + ('memoffset', '0.9.1'), + ('num-bigint', '0.4.5'), + ('num-integer', '0.1.46'), + ('num-traits', '0.2.19'), + ('once_cell', '1.19.0'), + ('parking_lot', '0.12.3'), + ('parking_lot_core', '0.9.10'), + ('paste', '1.0.15'), + ('portable-atomic', '1.6.0'), + ('proc-macro2', '1.0.84'), + ('pyo3', '0.21.2'), + ('pyo3-build-config', '0.21.2'), + ('pyo3-ffi', '0.21.2'), + ('pyo3-macros', '0.21.2'), + ('pyo3-macros-backend', '0.21.2'), + ('quote', '1.0.36'), + ('radium', '0.7.0'), + ('redox_syscall', '0.5.1'), + ('ryu', '1.0.18'), + ('scopeguard', '1.2.0'), + ('serde', '1.0.203'), + ('serde_derive', '1.0.203'), + ('serde_json', '1.0.117'), + ('smallvec', '1.13.2'), + ('static_assertions', '1.1.0'), + ('syn', '2.0.66'), + ('tap', '1.0.1'), + ('target-lexicon', '0.12.14'), + ('unicode-ident', '1.0.12'), + ('unindent', '0.2.3'), + ('version_check', '0.9.4'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('windows-sys', '0.48.0'), + ('windows-targets', '0.48.5'), + ('windows-targets', '0.52.5'), + ('windows_aarch64_gnullvm', '0.48.5'), + ('windows_aarch64_gnullvm', '0.52.5'), + ('windows_aarch64_msvc', '0.48.5'), + ('windows_aarch64_msvc', '0.52.5'), + ('windows_i686_gnu', '0.48.5'), + ('windows_i686_gnu', '0.52.5'), + ('windows_i686_gnullvm', '0.52.5'), + ('windows_i686_msvc', '0.48.5'), + ('windows_i686_msvc', '0.52.5'), + ('windows_x86_64_gnu', '0.48.5'), + ('windows_x86_64_gnu', '0.52.5'), + ('windows_x86_64_gnullvm', '0.48.5'), + ('windows_x86_64_gnullvm', '0.52.5'), + ('windows_x86_64_msvc', '0.48.5'), + ('windows_x86_64_msvc', '0.52.5'), + ('wyz', '0.5.1'), + ('zerocopy', '0.7.34'), + ('zerocopy-derive', '0.7.34'), +] + +sources = [SOURCE_TAR_GZ] +checksums = [ + {'jiter-0.4.1.tar.gz': '741851cf5f37cf3583f2a56829d734c9fd17334770c9a326e6d25291603d4278'}, + {'ahash-0.8.11.tar.gz': 'e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011'}, + {'autocfg-1.3.0.tar.gz': '0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0'}, + {'bencher-0.1.5.tar.gz': '7dfdb4953a096c551ce9ace855a604d702e6e62d77fac690575ae347571717f5'}, + {'bitflags-2.5.0.tar.gz': 'cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1'}, + {'bitvec-1.0.1.tar.gz': '1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'codspeed-2.6.0.tar.gz': '3a104ac948e0188b921eb3fcbdd55dcf62e542df4c7ab7e660623f6288302089'}, + {'codspeed-bencher-compat-2.6.0.tar.gz': 'ceaba84ea2634603a0f199c07fa39ff4dda61f89a3f9149fb89b035bc317b671'}, + {'colored-2.1.0.tar.gz': 'cbf2150cce219b664a8a70df7a1f933836724b503f8a413af9365b4dcc4d90b8'}, + {'equivalent-1.0.1.tar.gz': '5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5'}, + {'funty-2.0.0.tar.gz': 'e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c'}, + {'getrandom-0.2.15.tar.gz': 'c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7'}, + {'hashbrown-0.14.5.tar.gz': 'e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'indexmap-2.2.6.tar.gz': '168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26'}, + {'indoc-2.0.5.tar.gz': 'b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5'}, + {'itoa-1.0.11.tar.gz': '49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'lexical-parse-float-0.8.5.tar.gz': '683b3a5ebd0130b8fb52ba0bdc718cc56815b6a097e28ae5a6997d0ad17dc05f'}, + {'lexical-parse-integer-0.8.6.tar.gz': '6d0994485ed0c312f6d965766754ea177d07f9c00c9b82a5ee62ed5b47945ee9'}, + {'lexical-util-0.8.5.tar.gz': '5255b9ff16ff898710eb9eb63cb39248ea8a5bb036bea8085b1a767ff6c4e3fc'}, + {'libc-0.2.155.tar.gz': '97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c'}, + {'lock_api-0.4.12.tar.gz': '07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17'}, + {'memoffset-0.9.1.tar.gz': '488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a'}, + {'num-bigint-0.4.5.tar.gz': 'c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7'}, + {'num-integer-0.1.46.tar.gz': '7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f'}, + {'num-traits-0.2.19.tar.gz': '071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841'}, + {'once_cell-1.19.0.tar.gz': '3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92'}, + {'parking_lot-0.12.3.tar.gz': 'f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27'}, + {'parking_lot_core-0.9.10.tar.gz': '1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8'}, + {'paste-1.0.15.tar.gz': '57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a'}, + {'portable-atomic-1.6.0.tar.gz': '7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0'}, + {'proc-macro2-1.0.84.tar.gz': 'ec96c6a92621310b51366f1e28d05ef11489516e93be030060e5fc12024a49d6'}, + {'pyo3-0.21.2.tar.gz': 'a5e00b96a521718e08e03b1a622f01c8a8deb50719335de3f60b3b3950f069d8'}, + {'pyo3-build-config-0.21.2.tar.gz': '7883df5835fafdad87c0d888b266c8ec0f4c9ca48a5bed6bbb592e8dedee1b50'}, + {'pyo3-ffi-0.21.2.tar.gz': '01be5843dc60b916ab4dad1dca6d20b9b4e6ddc8e15f50c47fe6d85f1fb97403'}, + {'pyo3-macros-0.21.2.tar.gz': '77b34069fc0682e11b31dbd10321cbf94808394c56fd996796ce45217dfac53c'}, + {'pyo3-macros-backend-0.21.2.tar.gz': '08260721f32db5e1a5beae69a55553f56b99bd0e1c3e6e0a5e8851a9d0f5a85c'}, + {'quote-1.0.36.tar.gz': '0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7'}, + {'radium-0.7.0.tar.gz': 'dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09'}, + {'redox_syscall-0.5.1.tar.gz': '469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e'}, + {'ryu-1.0.18.tar.gz': 'f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f'}, + {'scopeguard-1.2.0.tar.gz': '94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49'}, + {'serde-1.0.203.tar.gz': '7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094'}, + {'serde_derive-1.0.203.tar.gz': '500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba'}, + {'serde_json-1.0.117.tar.gz': '455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3'}, + {'smallvec-1.13.2.tar.gz': '3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67'}, + {'static_assertions-1.1.0.tar.gz': 'a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f'}, + {'syn-2.0.66.tar.gz': 'c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5'}, + {'tap-1.0.1.tar.gz': '55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369'}, + {'target-lexicon-0.12.14.tar.gz': 'e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f'}, + {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'}, + {'unindent-0.2.3.tar.gz': 'c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce'}, + {'version_check-0.9.4.tar.gz': '49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f'}, + {'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}, + {'windows-sys-0.48.0.tar.gz': '677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9'}, + {'windows-targets-0.48.5.tar.gz': '9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c'}, + {'windows-targets-0.52.5.tar.gz': '6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb'}, + {'windows_aarch64_gnullvm-0.48.5.tar.gz': '2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8'}, + {'windows_aarch64_gnullvm-0.52.5.tar.gz': '7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263'}, + {'windows_aarch64_msvc-0.48.5.tar.gz': 'dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc'}, + {'windows_aarch64_msvc-0.52.5.tar.gz': '9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6'}, + {'windows_i686_gnu-0.48.5.tar.gz': 'a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e'}, + {'windows_i686_gnu-0.52.5.tar.gz': '88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670'}, + {'windows_i686_gnullvm-0.52.5.tar.gz': '87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9'}, + {'windows_i686_msvc-0.48.5.tar.gz': '8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406'}, + {'windows_i686_msvc-0.52.5.tar.gz': 'db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf'}, + {'windows_x86_64_gnu-0.48.5.tar.gz': '53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e'}, + {'windows_x86_64_gnu-0.52.5.tar.gz': '4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9'}, + {'windows_x86_64_gnullvm-0.48.5.tar.gz': '0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc'}, + {'windows_x86_64_gnullvm-0.52.5.tar.gz': '852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596'}, + {'windows_x86_64_msvc-0.48.5.tar.gz': 'ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538'}, + {'windows_x86_64_msvc-0.52.5.tar.gz': 'bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0'}, + {'wyz-0.5.1.tar.gz': '05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed'}, + {'zerocopy-0.7.34.tar.gz': 'ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087'}, + {'zerocopy-derive-0.7.34.tar.gz': '15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b'}, +] + +_rust_ver = '1.75.0' +builddependencies = [ + ('binutils', '2.40'), + ('Rust', _rust_ver), + ('maturin', '1.4.0', '-Rust-%s' % _rust_ver), +] + +dependencies = [ + ('Python', '3.11.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['741851cf5f37cf3583f2a56829d734c9fd17334770c9a326e6d25291603d4278'], + }), +] diff --git a/easybuild/easyconfigs/l/langchain-anthropic/langchain-anthropic-0.1.15-foss-2023a.eb b/easybuild/easyconfigs/l/langchain-anthropic/langchain-anthropic-0.1.15-foss-2023a.eb new file mode 100644 index 00000000000..1bb545a30d3 --- /dev/null +++ b/easybuild/easyconfigs/l/langchain-anthropic/langchain-anthropic-0.1.15-foss-2023a.eb @@ -0,0 +1,61 @@ +easyblock = 'PythonBundle' + +name = 'langchain-anthropic' +version = '0.1.15' + +homepage = 'https://python.langchain.com' +description = """ +This package contains the LangChain integration for Anthropic's generative models. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('maturin', '1.1.0'), + ('poetry', '1.5.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('LangChain', '0.2.1'), + ('tokenizers', '0.15.2'), + ('jiter', '0.4.1'), +] + +exts_list = [ + ('langchain-core', '0.2.3', { + 'sources': ['langchain_core-%(version)s.tar.gz'], + 'checksums': ['fbc75a64b9c0b7655d96ca57a707df1e6c09efc1539c36adbd73260612549810'], + }), + ('anyio', '4.4.0', { + 'checksums': ['5aadc6a1bbb7cdb0bede386cac5e2940f5e2ff3aa20277e991cf028e0585ce94'], + }), + ('h11', '0.14.0', { + 'checksums': ['8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d'], + }), + ('httpcore', '1.0.5', { + 'checksums': ['34a38e2f9291467ee3b44e89dd52615370e152954ba21721378a87b2960f7a61'], + }), + ('httpx', '0.27.0', { + 'checksums': ['a0cb88a46f32dc874e04ee956e4c2764aba2aa228f650b06788ba6bda2962ab5'], + }), + ('sniffio', '1.3.1', { + 'checksums': ['f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc'], + }), + ('anthropic', '0.28.0', { + 'source_tmpl': 'anthropic-0.28.0-py3-none-any.whl', + 'checksums': ['2b620b21aee3d20c5d8005483c34df239d53ae895687113b26b8a36892a7e20f'], + }), + ('defusedxml', '0.7.1', { + 'checksums': ['1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69'], + }), + (name, version, { + 'sources': ['langchain_anthropic-%(version)s.tar.gz'], + 'checksums': ['c5c3c6eaccb11ed99a63886e50873ac21eaf8e9441e0f75c7ae7cd8cdef65155'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'ai' From ec8b8c6fae61bffbf2b3b99e2a21ead2e9561489 Mon Sep 17 00:00:00 2001 From: Cintia Willemyns <115622907+WilleBell@users.noreply.github.com> Date: Wed, 5 Jun 2024 16:22:12 +0200 Subject: [PATCH 825/889] Add missing moduleclass --- easybuild/easyconfigs/j/jiter/jiter-0.4.1-GCCcore-12.3.0.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/j/jiter/jiter-0.4.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/jiter/jiter-0.4.1-GCCcore-12.3.0.eb index 485f0751a67..8ff0092960e 100644 --- a/easybuild/easyconfigs/j/jiter/jiter-0.4.1-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/j/jiter/jiter-0.4.1-GCCcore-12.3.0.eb @@ -187,3 +187,5 @@ exts_list = [ 'checksums': ['741851cf5f37cf3583f2a56829d734c9fd17334770c9a326e6d25291603d4278'], }), ] + +moduleclass = 'tools' From 0aacb027be544f8194474acc2a106cd0bffd0ba1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Wed, 5 Jun 2024 14:29:12 +0000 Subject: [PATCH 826/889] Move all libavifs to GCCcore only, fix deps --- ...1a.eb => libavif-0.11.1-GCCcore-10.3.0.eb} | 6 ++-- .../libavif/libavif-0.11.1-GCCcore-11.3.0.eb | 3 -- .../l/libavif/libavif-0.11.1-foss-2022a.eb | 36 ------------------- ...23a.eb => libavif-1.0.4-GCCcore-12.3.0.eb} | 6 ++-- 4 files changed, 4 insertions(+), 47 deletions(-) rename easybuild/easyconfigs/l/libavif/{libavif-0.11.1-foss-2021a.eb => libavif-0.11.1-GCCcore-10.3.0.eb} (91%) delete mode 100644 easybuild/easyconfigs/l/libavif/libavif-0.11.1-foss-2022a.eb rename easybuild/easyconfigs/l/libavif/{libavif-1.0.4-foss-2023a.eb => libavif-1.0.4-GCCcore-12.3.0.eb} (92%) diff --git a/easybuild/easyconfigs/l/libavif/libavif-0.11.1-foss-2021a.eb b/easybuild/easyconfigs/l/libavif/libavif-0.11.1-GCCcore-10.3.0.eb similarity index 91% rename from easybuild/easyconfigs/l/libavif/libavif-0.11.1-foss-2021a.eb rename to easybuild/easyconfigs/l/libavif/libavif-0.11.1-GCCcore-10.3.0.eb index 2f4ed93c1c9..7ff457a5456 100644 --- a/easybuild/easyconfigs/l/libavif/libavif-0.11.1-foss-2021a.eb +++ b/easybuild/easyconfigs/l/libavif/libavif-0.11.1-GCCcore-10.3.0.eb @@ -11,7 +11,7 @@ description = """This library aims to be a friendly, portable C implementation o as described here: https://aomediacodec.github.io/av1-avif/ """ -toolchain = {'name': 'foss', 'version': '2021a'} +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} source_urls = ['https://github.com/AOMediaCodec/libavif/archive/'] sources = ['v%(version)s.tar.gz'] @@ -19,9 +19,7 @@ checksums = ['0eb49965562a0e5e5de58389650d434cff32af84c34185b6c9b7b2fccae06d4e'] builddependencies = [ ('CMake', '3.20.1'), -] - -dependencies = [ + ('binutils', '2.36.1'), ('NASM', '2.15.05'), ('Meson', '0.58.0'), ('Ninja', '1.10.2'), diff --git a/easybuild/easyconfigs/l/libavif/libavif-0.11.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libavif/libavif-0.11.1-GCCcore-11.3.0.eb index 2d5b1cc7ab9..ac67210e4c9 100644 --- a/easybuild/easyconfigs/l/libavif/libavif-0.11.1-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/l/libavif/libavif-0.11.1-GCCcore-11.3.0.eb @@ -20,9 +20,6 @@ checksums = ['0eb49965562a0e5e5de58389650d434cff32af84c34185b6c9b7b2fccae06d4e'] builddependencies = [ ('CMake', '3.23.1'), ('binutils', '2.38'), -] - -dependencies = [ ('NASM', '2.15.05'), ('Meson', '0.62.1'), ('Ninja', '1.10.2'), diff --git a/easybuild/easyconfigs/l/libavif/libavif-0.11.1-foss-2022a.eb b/easybuild/easyconfigs/l/libavif/libavif-0.11.1-foss-2022a.eb deleted file mode 100644 index b34d2a8449b..00000000000 --- a/easybuild/easyconfigs/l/libavif/libavif-0.11.1-foss-2022a.eb +++ /dev/null @@ -1,36 +0,0 @@ -# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild -# Author: Denis Kristak (Inuits) -# Update: Thomas Hoffmann (EMBL), Denis Kristak (Inuits) -easyblock = 'CMakeMake' - -name = 'libavif' -version = '0.11.1' - -homepage = 'https://github.com/AOMediaCodec/libavif' -description = """This library aims to be a friendly, portable C implementation of the AV1 Image File Format, -as described here: https://aomediacodec.github.io/av1-avif/ -""" - -toolchain = {'name': 'foss', 'version': '2022a'} - -source_urls = ['https://github.com/AOMediaCodec/libavif/archive/'] -sources = ['v%(version)s.tar.gz'] -checksums = ['0eb49965562a0e5e5de58389650d434cff32af84c34185b6c9b7b2fccae06d4e'] - -builddependencies = [ - ('CMake', '3.23.1'), -] - -dependencies = [ - ('NASM', '2.15.05'), - ('Meson', '0.62.1'), - ('Ninja', '1.10.2'), - ('Rust', '1.60.0'), -] - -sanity_check_paths = { - 'files': ['lib/libavif.%s' % SHLIB_EXT, 'include/avif/avif.h'], - 'dirs': [], -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libavif/libavif-1.0.4-foss-2023a.eb b/easybuild/easyconfigs/l/libavif/libavif-1.0.4-GCCcore-12.3.0.eb similarity index 92% rename from easybuild/easyconfigs/l/libavif/libavif-1.0.4-foss-2023a.eb rename to easybuild/easyconfigs/l/libavif/libavif-1.0.4-GCCcore-12.3.0.eb index 1a4ed1031ef..149561be6b0 100644 --- a/easybuild/easyconfigs/l/libavif/libavif-1.0.4-foss-2023a.eb +++ b/easybuild/easyconfigs/l/libavif/libavif-1.0.4-GCCcore-12.3.0.eb @@ -11,7 +11,7 @@ description = """This library aims to be a friendly, portable C implementation o as described here: https://aomediacodec.github.io/av1-avif/ """ -toolchain = {'name': 'foss', 'version': '2023a'} +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} source_urls = ['https://github.com/AOMediaCodec/libavif/archive/'] sources = ['v%(version)s.tar.gz'] @@ -19,9 +19,7 @@ checksums = ['dc56708c83a4b934a8af2b78f67f866ba2fb568605c7cf94312acf51ee57d146'] builddependencies = [ ('CMake', '3.26.3'), -] - -dependencies = [ + ('binutils', '2.40'), ('NASM', '2.16.01'), ('Meson', '1.1.1'), ('Ninja', '1.11.1'), From 4e621595418423b3cd5665283a9ed9631b68dc8b Mon Sep 17 00:00:00 2001 From: Leonard Nielsen Date: Wed, 5 Jun 2024 15:06:31 +0000 Subject: [PATCH 827/889] adding easyconfigs: gsutil-5.29-GCCcore-13.2.0.eb --- .../g/gsutil/gsutil-5.29-GCCcore-13.2.0.eb | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 easybuild/easyconfigs/g/gsutil/gsutil-5.29-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/g/gsutil/gsutil-5.29-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/gsutil/gsutil-5.29-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..dfd7e46fc9d --- /dev/null +++ b/easybuild/easyconfigs/g/gsutil/gsutil-5.29-GCCcore-13.2.0.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonBundle' + +name = 'gsutil' +version = '5.29' + +homepage = 'https://cloud.google.com/storage/docs/gsutil' +description = """gsutil is a Python application that lets you access Cloud Storage from the command line.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('aiohttp', '3.9.5'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('httplib2', '0.20.4'), + ('argcomplete', '3.3.0'), + ('fasteners', '0.19'), + ('google-auth', '2.17.0', { + 'modulename': 'google.auth' + }), + ('rsa', '4.7.2'), + ('google-apitools', '0.5.32', { + 'modulename': 'apitools' + }), + + ('google-auth-httplib2', '0.2.0'), + ('google-reauth', '0.1.1'), + ('monotonic', '1.6'), + ('pyOpenSSL', '24.1.0', { + 'modulename': 'OpenSSL' + }), + ('boto', '2.49.0'), + ('cachetools', '5.3.3'), + ('oauth2client', '4.1.3'), + ('pyasn1_modules', '0.4.0'), + ('pyu2f', '0.1.5'), + ('crcmod', '1.7'), + ('gcs-oauth2-boto-plugin', '3.2'), + ('retry_decorator', '1.1.1'), + (name, version, { + 'modulename': 'gslib', + }), +] + +sanity_check_commands = ['gsutil help'] + +moduleclass = 'tools' From 190fea62bcea8581c0374d34798ea292b1d6d179 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen Date: Wed, 5 Jun 2024 15:08:07 +0000 Subject: [PATCH 828/889] added checksums --- .../g/gsutil/gsutil-5.29-GCCcore-13.2.0.eb | 73 ++++++++++++++----- 1 file changed, 53 insertions(+), 20 deletions(-) diff --git a/easybuild/easyconfigs/g/gsutil/gsutil-5.29-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/gsutil/gsutil-5.29-GCCcore-13.2.0.eb index dfd7e46fc9d..15f78f14899 100644 --- a/easybuild/easyconfigs/g/gsutil/gsutil-5.29-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/g/gsutil/gsutil-5.29-GCCcore-13.2.0.eb @@ -18,33 +18,66 @@ use_pip = True sanity_pip_check = True exts_list = [ - ('httplib2', '0.20.4'), - ('argcomplete', '3.3.0'), - ('fasteners', '0.19'), + ('httplib2', '0.20.4', { + 'checksums': ['58a98e45b4b1a48273073f905d2961666ecf0fbac4250ea5b47aef259eb5c585'], + }), + ('argcomplete', '3.3.0', { + 'checksums': ['fd03ff4a5b9e6580569d34b273f741e85cd9e072f3feeeee3eba4891c70eda62'], + }), + ('fasteners', '0.19', { + 'checksums': ['b4f37c3ac52d8a445af3a66bce57b33b5e90b97c696b7b984f530cf8f0ded09c'], + }), ('google-auth', '2.17.0', { - 'modulename': 'google.auth' + 'modulename': 'google.auth', + 'checksums': ['f51d26ebb3e5d723b9a7dbd310b6c88654ef1ad1fc35750d1fdba48ca4d82f52'], + }), + ('rsa', '4.7.2', { + 'checksums': ['9d689e6ca1b3038bc82bf8d23e944b6b6037bc02301a574935b2dd946e0353b9'], }), - ('rsa', '4.7.2'), ('google-apitools', '0.5.32', { - 'modulename': 'apitools' + 'modulename': 'apitools', + 'checksums': ['c3763e52289f61e21c41d5531e20fbda9cc8484a088b8686fd460770db8bad13'], + }), + ('google-auth-httplib2', '0.2.0', { + 'checksums': ['38aa7badf48f974f1eb9861794e9c0cb2a0511a4ec0679b1f886d108f5640e05'], + }), + ('google-reauth', '0.1.1', { + 'checksums': ['f9f6852a55c2c5453d581cd01f3d1278e86147c03d008409800390a834235892'], + }), + ('monotonic', '1.6', { + 'checksums': ['3a55207bcfed53ddd5c5bae174524062935efed17792e9de2ad0205ce9ad63f7'], }), - - ('google-auth-httplib2', '0.2.0'), - ('google-reauth', '0.1.1'), - ('monotonic', '1.6'), ('pyOpenSSL', '24.1.0', { - 'modulename': 'OpenSSL' - }), - ('boto', '2.49.0'), - ('cachetools', '5.3.3'), - ('oauth2client', '4.1.3'), - ('pyasn1_modules', '0.4.0'), - ('pyu2f', '0.1.5'), - ('crcmod', '1.7'), - ('gcs-oauth2-boto-plugin', '3.2'), - ('retry_decorator', '1.1.1'), + 'modulename': 'OpenSSL', + 'checksums': ['cabed4bfaa5df9f1a16c0ef64a0cb65318b5cd077a7eda7d6970131ca2f41a6f'], + }), + ('boto', '2.49.0', { + 'checksums': ['ea0d3b40a2d852767be77ca343b58a9e3a4b00d9db440efb8da74b4e58025e5a'], + }), + ('cachetools', '5.3.3', { + 'checksums': ['ba29e2dfa0b8b556606f097407ed1aa62080ee108ab0dc5ec9d6a723a007d105'], + }), + ('oauth2client', '4.1.3', { + 'checksums': ['d486741e451287f69568a4d26d70d9acd73a2bbfa275746c535b4209891cccc6'], + }), + ('pyasn1_modules', '0.4.0', { + 'checksums': ['831dbcea1b177b28c9baddf4c6d1013c24c3accd14a1873fffaa6a2e905f17b6'], + }), + ('pyu2f', '0.1.5', { + 'checksums': ['a3caa3a11842fc7d5746376f37195e6af5f17c0a15737538bb1cebf656fb306b'], + }), + ('crcmod', '1.7', { + 'checksums': ['dc7051a0db5f2bd48665a990d3ec1cc305a466a77358ca4492826f41f283601e'], + }), + ('gcs-oauth2-boto-plugin', '3.2', { + 'checksums': ['a46817f3abed2bc4f6b4b12b0de7c8bf5ff5f1822dc03c45fa1ae6ed7a455843'], + }), + ('retry_decorator', '1.1.1', { + 'checksums': ['e1e8ad02e518fe11073f2ea7d80b6b8be19daa27a60a1838aff7c731ddcf2ebe'], + }), (name, version, { 'modulename': 'gslib', + 'checksums': ['0ba61c0ca97a592a2ed9d6eeb74b20434831bc6ceba380138103b24d2d53b921'], }), ] From 6819d61f3de6a59444f9e19d4cd97b30a98dc384 Mon Sep 17 00:00:00 2001 From: Samuel Moors Date: Wed, 5 Jun 2024 17:34:59 +0200 Subject: [PATCH 829/889] make sure mummerplot can use gnuplot if available for recent MUMmer --- .../easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-11.2.0.eb | 4 +++- .../easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-11.3.0.eb | 2 ++ .../easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-12.2.0.eb | 2 ++ .../easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-12.3.0.eb | 2 ++ 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-11.2.0.eb index 609e244fec2..a71cc388efc 100644 --- a/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-11.2.0.eb @@ -8,7 +8,7 @@ easyblock = 'ConfigureMake' name = 'MUMmer' version = '4.0.0rc1' -homepage = 'http://mummer.sourceforge.net/' +homepage = 'https://mummer.sourceforge.net/' description = """ MUMmer is a system for rapidly aligning entire genomes, @@ -24,6 +24,8 @@ checksums = ['85006adb2d6539c2f738c3e3bb14b58bb6f62cd6c6ca5ede884a87ae76e07d1d'] builddependencies = [('binutils', '2.37')] +configopts = 'GNUPLOT=gnuplot' + sanity_check_paths = { 'files': ['bin/mummer', 'bin/annotate', 'bin/combineMUMs', 'bin/delta-filter', 'bin/repeat-match', 'bin/show-aligns', 'bin/show-coords', diff --git a/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-11.3.0.eb index d078c854c66..b0ddf4e759d 100644 --- a/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-11.3.0.eb @@ -24,6 +24,8 @@ checksums = ['85006adb2d6539c2f738c3e3bb14b58bb6f62cd6c6ca5ede884a87ae76e07d1d'] builddependencies = [('binutils', '2.38')] +configopts = 'GNUPLOT=gnuplot' + sanity_check_paths = { 'files': ['bin/mummer', 'bin/annotate', 'bin/combineMUMs', 'bin/delta-filter', 'bin/repeat-match', 'bin/show-aligns', 'bin/show-coords', diff --git a/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-12.2.0.eb index b2d716125cf..c1ca1f8eb80 100644 --- a/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-12.2.0.eb @@ -26,6 +26,8 @@ checksums = ['85006adb2d6539c2f738c3e3bb14b58bb6f62cd6c6ca5ede884a87ae76e07d1d'] builddependencies = [('binutils', '2.39')] +configopts = 'GNUPLOT=gnuplot' + sanity_check_paths = { 'files': ['bin/mummer', 'bin/annotate', 'bin/combineMUMs', 'bin/delta-filter', 'bin/repeat-match', 'bin/show-aligns', 'bin/show-coords', diff --git a/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-12.3.0.eb index 46bb7b4a03f..86699e28e0a 100644 --- a/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-12.3.0.eb @@ -27,6 +27,8 @@ checksums = ['85006adb2d6539c2f738c3e3bb14b58bb6f62cd6c6ca5ede884a87ae76e07d1d'] builddependencies = [('binutils', '2.40')] +configopts = 'GNUPLOT=gnuplot' + sanity_check_paths = { 'files': ['bin/mummer', 'bin/annotate', 'bin/combineMUMs', 'bin/delta-filter', 'bin/repeat-match', 'bin/show-aligns', 'bin/show-coords', From c8a9fb333a86a4f516889d438427c2f672191eba Mon Sep 17 00:00:00 2001 From: Leonard Nielsen Date: Wed, 5 Jun 2024 15:52:04 +0000 Subject: [PATCH 830/889] added binutils builddep --- easybuild/easyconfigs/g/gsutil/gsutil-5.29-GCCcore-13.2.0.eb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/easybuild/easyconfigs/g/gsutil/gsutil-5.29-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/gsutil/gsutil-5.29-GCCcore-13.2.0.eb index 15f78f14899..209e6e8c1fc 100644 --- a/easybuild/easyconfigs/g/gsutil/gsutil-5.29-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/g/gsutil/gsutil-5.29-GCCcore-13.2.0.eb @@ -8,6 +8,10 @@ description = """gsutil is a Python application that lets you access Cloud Stora toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +builddependencies = [ + ('binutils', '2.40') +] + dependencies = [ ('Python', '3.11.5'), ('Python-bundle-PyPI', '2023.10'), From b9b0bf36a20f705bd01ab3b804b9fad9a5689d53 Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Wed, 5 Jun 2024 19:05:05 +0200 Subject: [PATCH 831/889] Update easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.1-foss-2023a.eb Co-authored-by: Adam Huffman --- .../easyconfigs/l/lil-aretomo/lil-aretomo-0.1.1-foss-2023a.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.1-foss-2023a.eb b/easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.1-foss-2023a.eb index d5bae40260a..2556d603b65 100644 --- a/easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.1-foss-2023a.eb +++ b/easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.1-foss-2023a.eb @@ -11,7 +11,6 @@ A lightweight Python API for AreTomo. toolchain = {'name': 'foss', 'version': '2023a'} -patches = [] dependencies = [ ('Python', '3.11.3'), From 58af711d718db819001502c31d67af7243cd3a4d Mon Sep 17 00:00:00 2001 From: Lara Ramona Peeters <49882639+laraPPr@users.noreply.github.com> Date: Thu, 6 Jun 2024 00:31:00 +0200 Subject: [PATCH 832/889] Update ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb Co-authored-by: Adam Huffman --- .../ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb index b026eb17dbd..828d3d488fb 100644 --- a/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb +++ b/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb @@ -22,7 +22,7 @@ checksums = ['2e11f385074facb06e12496acde80756b34504f0f70bf78714fb07fe9244f398'] dependencies = [ ('CUDA', '11.7.0', '', SYSTEM), - ('PyTorch', '1.12.0', '%(versionsuffix)s'), + ('PyTorch', '1.12.0', versionsuffix), ('torchvision', '0.13.1', '%(versionsuffix)s'), ('torchaudio', '0.12.0', '-PyTorch-1.12.0%(versionsuffix)s'), ] From 2083adaa1c0cbe77ef991d0b76f7ec55ddb9e643 Mon Sep 17 00:00:00 2001 From: Lara Ramona Peeters <49882639+laraPPr@users.noreply.github.com> Date: Thu, 6 Jun 2024 00:31:11 +0200 Subject: [PATCH 833/889] Update ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb Co-authored-by: Adam Huffman --- .../ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb index 828d3d488fb..d47ee8cd563 100644 --- a/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb +++ b/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb @@ -23,7 +23,7 @@ checksums = ['2e11f385074facb06e12496acde80756b34504f0f70bf78714fb07fe9244f398'] dependencies = [ ('CUDA', '11.7.0', '', SYSTEM), ('PyTorch', '1.12.0', versionsuffix), - ('torchvision', '0.13.1', '%(versionsuffix)s'), + ('torchvision', '0.13.1', versionsuffix), ('torchaudio', '0.12.0', '-PyTorch-1.12.0%(versionsuffix)s'), ] From 888da7ebe6ba4420a7693c8fde264da285fe71be Mon Sep 17 00:00:00 2001 From: Lara Ramona Peeters <49882639+laraPPr@users.noreply.github.com> Date: Thu, 6 Jun 2024 00:31:28 +0200 Subject: [PATCH 834/889] Update ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb Co-authored-by: Adam Huffman --- .../ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb index d47ee8cd563..af2d5455e0d 100644 --- a/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb +++ b/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb @@ -24,7 +24,7 @@ dependencies = [ ('CUDA', '11.7.0', '', SYSTEM), ('PyTorch', '1.12.0', versionsuffix), ('torchvision', '0.13.1', versionsuffix), - ('torchaudio', '0.12.0', '-PyTorch-1.12.0%(versionsuffix)s'), + ('torchaudio', '0.12.0', '-PyTorch-1.12.0-' + versionsuffix), ] postinstallcmds = ['chmod a+x %(installdir)s/protein_mpnn_run.py'] From 088f1d14d6544ba4be4ed7ca128028f5fe9b4f23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Thu, 6 Jun 2024 13:42:23 +0200 Subject: [PATCH 835/889] comment line that modifies $PATH in configure script --- easybuild/easyconfigs/b/BLAST+/BLAST+-2.13.0-gompi-2022a.eb | 3 +++ easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.0-gompi-2022b.eb | 3 +++ easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.1-gompi-2023a.eb | 3 +++ 3 files changed, 9 insertions(+) diff --git a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.13.0-gompi-2022a.eb b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.13.0-gompi-2022a.eb index 28a66d168ce..d47478daa91 100644 --- a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.13.0-gompi-2022a.eb +++ b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.13.0-gompi-2022a.eb @@ -40,6 +40,9 @@ dependencies = [ ('LMDB', '0.9.29'), ] +# remove line that prepends system paths to $PATH from configure script +preconfigopts = 'sed -i "s|^PATH=\(.*\)$|#PATH=\1 |" %(start_dir)s/src/build-system/configure && ' + configopts = "--with-64 --with-z=$EBROOTZLIB --with-bz2=$EBROOTBZIP2 " configopts += "--with-pcre=$EBROOTPCRE --with-boost=$EBROOTBOOST " configopts += "--with-gmp=$EBROOTGMP --with-png=$EBROOTLIBPNG " diff --git a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.0-gompi-2022b.eb b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.0-gompi-2022b.eb index 50076e9cf68..101e618f606 100644 --- a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.0-gompi-2022b.eb +++ b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.0-gompi-2022b.eb @@ -40,6 +40,9 @@ dependencies = [ ('LMDB', '0.9.29'), ] +# remove line that prepends system paths to $PATH from configure script +preconfigopts = 'sed -i "s|^PATH=\(.*\)$|#PATH=\1 |" %(start_dir)s/src/build-system/configure && ' + configopts = "--with-64 --with-z=$EBROOTZLIB --with-bz2=$EBROOTBZIP2 " configopts += "--with-pcre=$EBROOTPCRE --with-boost=$EBROOTBOOST " configopts += "--with-gmp=$EBROOTGMP --with-png=$EBROOTLIBPNG " diff --git a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.1-gompi-2023a.eb b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.1-gompi-2023a.eb index bf395c800b1..f736a3f4f0f 100644 --- a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.1-gompi-2023a.eb +++ b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.1-gompi-2023a.eb @@ -40,6 +40,9 @@ dependencies = [ ('LMDB', '0.9.31'), ] +# remove line that prepends system paths to $PATH from configure script +preconfigopts = 'sed -i "s|^PATH=\(.*\)$|#PATH=\1 |" %(start_dir)s/src/build-system/configure && ' + configopts = "--with-64 --with-z=$EBROOTZLIB --with-bz2=$EBROOTBZIP2 " configopts += "--with-pcre=$EBROOTPCRE --with-boost=$EBROOTBOOST " configopts += "--with-gmp=$EBROOTGMP --with-png=$EBROOTLIBPNG " From 595dd523cf93b516764fbe200acc7a11299c4742 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Thu, 6 Jun 2024 14:46:50 +0200 Subject: [PATCH 836/889] use raw string for the sed command --- easybuild/easyconfigs/b/BLAST+/BLAST+-2.13.0-gompi-2022a.eb | 2 +- easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.0-gompi-2022b.eb | 2 +- easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.1-gompi-2023a.eb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.13.0-gompi-2022a.eb b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.13.0-gompi-2022a.eb index d47478daa91..6e288488900 100644 --- a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.13.0-gompi-2022a.eb +++ b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.13.0-gompi-2022a.eb @@ -41,7 +41,7 @@ dependencies = [ ] # remove line that prepends system paths to $PATH from configure script -preconfigopts = 'sed -i "s|^PATH=\(.*\)$|#PATH=\1 |" %(start_dir)s/src/build-system/configure && ' +preconfigopts = r'sed -i "s|^PATH=\(.*\)$|#PATH=\1 |" %(start_dir)s/src/build-system/configure && ' configopts = "--with-64 --with-z=$EBROOTZLIB --with-bz2=$EBROOTBZIP2 " configopts += "--with-pcre=$EBROOTPCRE --with-boost=$EBROOTBOOST " diff --git a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.0-gompi-2022b.eb b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.0-gompi-2022b.eb index 101e618f606..0733a8e3e70 100644 --- a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.0-gompi-2022b.eb +++ b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.0-gompi-2022b.eb @@ -41,7 +41,7 @@ dependencies = [ ] # remove line that prepends system paths to $PATH from configure script -preconfigopts = 'sed -i "s|^PATH=\(.*\)$|#PATH=\1 |" %(start_dir)s/src/build-system/configure && ' +preconfigopts = r'sed -i "s|^PATH=\(.*\)$|#PATH=\1 |" %(start_dir)s/src/build-system/configure && ' configopts = "--with-64 --with-z=$EBROOTZLIB --with-bz2=$EBROOTBZIP2 " configopts += "--with-pcre=$EBROOTPCRE --with-boost=$EBROOTBOOST " diff --git a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.1-gompi-2023a.eb b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.1-gompi-2023a.eb index f736a3f4f0f..02971854e19 100644 --- a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.1-gompi-2023a.eb +++ b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.1-gompi-2023a.eb @@ -41,7 +41,7 @@ dependencies = [ ] # remove line that prepends system paths to $PATH from configure script -preconfigopts = 'sed -i "s|^PATH=\(.*\)$|#PATH=\1 |" %(start_dir)s/src/build-system/configure && ' +preconfigopts = r'sed -i "s|^PATH=\(.*\)$|#PATH=\1 |" %(start_dir)s/src/build-system/configure && ' configopts = "--with-64 --with-z=$EBROOTZLIB --with-bz2=$EBROOTBZIP2 " configopts += "--with-pcre=$EBROOTPCRE --with-boost=$EBROOTBOOST " From 1b44e673c5d66ea474fab31220f44e5faa47ca35 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 6 Jun 2024 18:44:14 +0200 Subject: [PATCH 837/889] adding easyconfigs: LIBSVM-MATLAB-3.30-GCCcore-11.3.0-MATLAB-2022b-r5.eb --- ...LAB-3.30-GCCcore-11.3.0-MATLAB-2022b-r5.eb | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 easybuild/easyconfigs/l/LIBSVM-MATLAB/LIBSVM-MATLAB-3.30-GCCcore-11.3.0-MATLAB-2022b-r5.eb diff --git a/easybuild/easyconfigs/l/LIBSVM-MATLAB/LIBSVM-MATLAB-3.30-GCCcore-11.3.0-MATLAB-2022b-r5.eb b/easybuild/easyconfigs/l/LIBSVM-MATLAB/LIBSVM-MATLAB-3.30-GCCcore-11.3.0-MATLAB-2022b-r5.eb new file mode 100644 index 00000000000..47f96aaa207 --- /dev/null +++ b/easybuild/easyconfigs/l/LIBSVM-MATLAB/LIBSVM-MATLAB-3.30-GCCcore-11.3.0-MATLAB-2022b-r5.eb @@ -0,0 +1,41 @@ +easyblock = 'MakeCp' + +name = 'LIBSVM-MATLAB' +version = '3.30' +local_matlab_ver = '2022b-r5' +versionsuffix = '-MATLAB-%s' % local_matlab_ver + +homepage = 'https://www.csie.ntu.edu.tw/~cjlin/libsvm/' +description = """MATLAB interface of LIBSVM, an integrated software for support vector classification, (C-SVC, nu-SVC), +regression (epsilon-SVR, nu-SVR) and distribution estimation (one-class SVM). It supports multi-class classification.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'openmp': True, 'pic': True} + +source_urls = ['https://github.com/cjlin1/libsvm/archive'] +sources = ['v%s.tar.gz' % version.replace('.', '')] +checksums = ['e4fe41308c87cc210aec73e4f5f0fb4da14234d90e7a131763fbad3788ca2d80'] + +builddependencies = [ + ('binutils', '2.38'), +] +dependencies = [ + ('MATLAB', local_matlab_ver, '', SYSTEM), +] + +start_dir = 'matlab' + +buildopts = "MATLABDIR=$EBROOTMATLAB" + +files_to_copy = [ + (['matlab/*.mexa64'], ''), +] + +sanity_check_paths = { + 'files': ['libsvmwrite.mexa64', 'libsvmread.mexa64', 'svmpredict.mexa64', 'svmtrain.mexa64'], + 'dirs': [], +} + +modextrapaths = {'MATLABPATH': ''} + +moduleclass = 'lib' From 9b7d135d453dc1bec1833af7b701ac8afd1e58e5 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 6 Jun 2024 19:09:11 +0200 Subject: [PATCH 838/889] fix long line in description of LIBSVM-MATLAB easyconfig --- .../LIBSVM-MATLAB-3.30-GCCcore-11.3.0-MATLAB-2022b-r5.eb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/l/LIBSVM-MATLAB/LIBSVM-MATLAB-3.30-GCCcore-11.3.0-MATLAB-2022b-r5.eb b/easybuild/easyconfigs/l/LIBSVM-MATLAB/LIBSVM-MATLAB-3.30-GCCcore-11.3.0-MATLAB-2022b-r5.eb index 47f96aaa207..3da0742b89c 100644 --- a/easybuild/easyconfigs/l/LIBSVM-MATLAB/LIBSVM-MATLAB-3.30-GCCcore-11.3.0-MATLAB-2022b-r5.eb +++ b/easybuild/easyconfigs/l/LIBSVM-MATLAB/LIBSVM-MATLAB-3.30-GCCcore-11.3.0-MATLAB-2022b-r5.eb @@ -6,8 +6,9 @@ local_matlab_ver = '2022b-r5' versionsuffix = '-MATLAB-%s' % local_matlab_ver homepage = 'https://www.csie.ntu.edu.tw/~cjlin/libsvm/' -description = """MATLAB interface of LIBSVM, an integrated software for support vector classification, (C-SVC, nu-SVC), -regression (epsilon-SVR, nu-SVR) and distribution estimation (one-class SVM). It supports multi-class classification.""" +description = """MATLAB interface of LIBSVM, an integrated software for support vector classification, + (C-SVC, nu-SVC), regression (epsilon-SVR, nu-SVR) and distribution estimation (one-class SVM). + It supports multi-class classification.""" toolchain = {'name': 'GCCcore', 'version': '11.3.0'} toolchainopts = {'openmp': True, 'pic': True} From 9ee0236446b028077f352b8f73a0d41c8c8c2aac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Thu, 6 Jun 2024 20:15:25 +0200 Subject: [PATCH 839/889] adding easyconfigs: planarity-3.0.2.0-GCC-13.2.0.eb --- .../planarity/planarity-3.0.2.0-GCC-13.2.0.eb | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 easybuild/easyconfigs/p/planarity/planarity-3.0.2.0-GCC-13.2.0.eb diff --git a/easybuild/easyconfigs/p/planarity/planarity-3.0.2.0-GCC-13.2.0.eb b/easybuild/easyconfigs/p/planarity/planarity-3.0.2.0-GCC-13.2.0.eb new file mode 100644 index 00000000000..804cecceda2 --- /dev/null +++ b/easybuild/easyconfigs/p/planarity/planarity-3.0.2.0-GCC-13.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'planarity' +version = '3.0.2.0' + +homepage = "https://github.com/graph-algorithms/edge-addition-planarity-suite" +description = """A library for implementing graph algorithms""" + +source_urls = ['https://github.com/graph-algorithms/edge-addition-planarity-suite/archive'] +checksums = ['40f4ee7bbd5d8535460c60fc0fc1f806b10909a1419618fd9235746a420a04c6'] +sources = ['Version_%(version)s.tar.gz'] + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +builddependencies = [ + ('Autotools', '20220317'), +] + +start_dir = 'edge-addition-planarity-suite-Version_%(version)s' +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': [ + 'bin/planarity', + 'lib/libplanarity.a', + 'lib/libplanarity.%s' % SHLIB_EXT, + ], + 'dirs': [ + 'include/planarity', + 'share/doc', + 'share/man', + ] +} + +moduleclass = "lib" From 3de7b5de58f12c9a3144e1aab87d056c7f2e206d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Thu, 6 Jun 2024 20:19:38 +0200 Subject: [PATCH 840/889] adding easyconfigs: autopep8-2.2.0-foss-2023a.eb, pycodestyle-2.11.1-foss-2023a.eb --- .../a/autopep8/autopep8-2.2.0-foss-2023a.eb | 23 +++++++++++++++++++ .../pycodestyle-2.11.1-foss-2023a.eb | 22 ++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 easybuild/easyconfigs/a/autopep8/autopep8-2.2.0-foss-2023a.eb create mode 100644 easybuild/easyconfigs/p/pycodestyle/pycodestyle-2.11.1-foss-2023a.eb diff --git a/easybuild/easyconfigs/a/autopep8/autopep8-2.2.0-foss-2023a.eb b/easybuild/easyconfigs/a/autopep8/autopep8-2.2.0-foss-2023a.eb new file mode 100644 index 00000000000..63f57b621be --- /dev/null +++ b/easybuild/easyconfigs/a/autopep8/autopep8-2.2.0-foss-2023a.eb @@ -0,0 +1,23 @@ +easyblock = 'PythonPackage' + +name = 'autopep8' +version = '2.2.0' + +homepage = "https://github.com/hhatto/autopep8" +description = """A tool that automatically formats Python code to conform to the PEP 8 style guide.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCE_WHL] +checksums = ['05418a981f038969d8bdcd5636bf15948db7555ae944b9f79b5a34b35f1370d4'] + +dependencies = [ + ('Python', '3.11.3'), + ('pycodestyle', '2.11.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pycodestyle/pycodestyle-2.11.1-foss-2023a.eb b/easybuild/easyconfigs/p/pycodestyle/pycodestyle-2.11.1-foss-2023a.eb new file mode 100644 index 00000000000..66965820b1d --- /dev/null +++ b/easybuild/easyconfigs/p/pycodestyle/pycodestyle-2.11.1-foss-2023a.eb @@ -0,0 +1,22 @@ +easyblock = 'PythonPackage' + +name = 'pycodestyle' +version = '2.11.1' + +homepage = "https://pycodestyle.readthedocs.io" +description = """pycodestyle is a tool to check your Python code against some of the style conventions in PEP 8.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['41ba0e7afc9752dfb53ced5489e89f8186be00e599e712660695b7a75ff2663f'] + +dependencies = [ + ('Python', '3.11.3'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' From c3deb4fbc05627cc9ae50ac746cc37cf12a965ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Thu, 6 Jun 2024 20:37:52 +0200 Subject: [PATCH 841/889] add sanity check command --- .../easyconfigs/p/planarity/planarity-3.0.2.0-GCC-13.2.0.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/p/planarity/planarity-3.0.2.0-GCC-13.2.0.eb b/easybuild/easyconfigs/p/planarity/planarity-3.0.2.0-GCC-13.2.0.eb index 804cecceda2..5578e11ec0e 100644 --- a/easybuild/easyconfigs/p/planarity/planarity-3.0.2.0-GCC-13.2.0.eb +++ b/easybuild/easyconfigs/p/planarity/planarity-3.0.2.0-GCC-13.2.0.eb @@ -32,4 +32,6 @@ sanity_check_paths = { ] } +sanity_check_commands = ['%(name)s -h'] + moduleclass = "lib" From 51e032bf0cbb0cbaaaab60e1375ce36bb38aa348 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 7 Jun 2024 10:37:28 +0200 Subject: [PATCH 842/889] add texlive as proper dependency in hevea easyconfig + remove binutils build dep since GCC toolchain is used --- easybuild/easyconfigs/h/hevea/hevea-2.36-GCC-13.2.0.eb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/h/hevea/hevea-2.36-GCC-13.2.0.eb b/easybuild/easyconfigs/h/hevea/hevea-2.36-GCC-13.2.0.eb index c6a12696271..8b2f9b128eb 100644 --- a/easybuild/easyconfigs/h/hevea/hevea-2.36-GCC-13.2.0.eb +++ b/easybuild/easyconfigs/h/hevea/hevea-2.36-GCC-13.2.0.eb @@ -13,11 +13,12 @@ sources = [SOURCE_TAR_GZ] checksums = ['5d6759d7702a295c76a12c1b2a1a16754ab0ec1ffed73fc9d0b138b41e720648'] builddependencies = [ - ('binutils', '2.40'), ('ocamlbuild', '0.14.3'), ] -osdependencies = ['texlive'] +dependencies = [ + ('texlive', '20230313'), +] skipsteps = ['configure'] From dd5aefa3c48e1fb554c0049e6c07131bcdeb35af Mon Sep 17 00:00:00 2001 From: Simon Branford Date: Fri, 7 Jun 2024 09:44:23 +0100 Subject: [PATCH 843/889] build both static and shared libs for Brotli 1.1.0 --- .../easyconfigs/b/Brotli/Brotli-1.1.0-GCCcore-13.2.0.eb | 5 ++++- .../easyconfigs/b/Brotli/Brotli-1.1.0-GCCcore-13.3.0.eb | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/b/Brotli/Brotli-1.1.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/b/Brotli/Brotli-1.1.0-GCCcore-13.2.0.eb index eeacd739652..2e194e0d508 100644 --- a/easybuild/easyconfigs/b/Brotli/Brotli-1.1.0-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/b/Brotli/Brotli-1.1.0-GCCcore-13.2.0.eb @@ -21,8 +21,11 @@ builddependencies = [ ('CMake', '3.27.6'), ] +configopts = ['-DBUILD_SHARED_LIBS=ON', '-DBUILD_SHARED_LIBS=OFF'] + sanity_check_paths = { - 'files': ['bin/brotli', 'lib/libbrotlidec.%s' % SHLIB_EXT, 'lib/libbrotlienc.%s' % SHLIB_EXT], + 'files': ['bin/brotli', 'lib/libbrotlidec.%s' % SHLIB_EXT, 'lib/libbrotlienc.%s' % SHLIB_EXT, + 'lib/libbrotlidec.a', 'lib/libbrotlienc.a'], 'dirs': [], } diff --git a/easybuild/easyconfigs/b/Brotli/Brotli-1.1.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/b/Brotli/Brotli-1.1.0-GCCcore-13.3.0.eb index 88c115d26f2..fe7258a493f 100644 --- a/easybuild/easyconfigs/b/Brotli/Brotli-1.1.0-GCCcore-13.3.0.eb +++ b/easybuild/easyconfigs/b/Brotli/Brotli-1.1.0-GCCcore-13.3.0.eb @@ -21,8 +21,11 @@ builddependencies = [ ('CMake', '3.29.3'), ] +configopts = ['-DBUILD_SHARED_LIBS=ON', '-DBUILD_SHARED_LIBS=OFF'] + sanity_check_paths = { - 'files': ['bin/brotli', 'lib/libbrotlidec.%s' % SHLIB_EXT, 'lib/libbrotlienc.%s' % SHLIB_EXT], + 'files': ['bin/brotli', 'lib/libbrotlidec.%s' % SHLIB_EXT, 'lib/libbrotlienc.%s' % SHLIB_EXT, + 'lib/libbrotlidec.a', 'lib/libbrotlienc.a'], 'dirs': [], } From 644d5705c87501b3635022c9f8ac318b0fa4f2af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Fri, 7 Jun 2024 08:48:20 +0000 Subject: [PATCH 844/889] adding easyconfigs: alevin-fry-0.9.0-GCCcore-13.2.0.eb --- .../alevin-fry-0.9.0-GCCcore-13.2.0.eb | 470 ++++++++++++++++++ 1 file changed, 470 insertions(+) create mode 100644 easybuild/easyconfigs/a/alevin-fry/alevin-fry-0.9.0-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/a/alevin-fry/alevin-fry-0.9.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/a/alevin-fry/alevin-fry-0.9.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..50f776e14a3 --- /dev/null +++ b/easybuild/easyconfigs/a/alevin-fry/alevin-fry-0.9.0-GCCcore-13.2.0.eb @@ -0,0 +1,470 @@ +easyblock = 'Cargo' + +name = 'alevin-fry' +version = '0.9.0' + +homepage = 'https://github.com/COMBINE-lab/alevin-fry' +description = """alevin-fry is an efficient and flexible tool for processing single-cell sequencing data, + currently focused on single-cell transcriptomics and feature barcoding.""" +# software_license = 'LicenseBSD3' + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +crates = [ + (name, version), + ('adler', '1.0.2'), + ('ahash', '0.8.11'), + ('aho-corasick', '1.1.2'), + ('alga', '0.9.3'), + ('android-tzdata', '0.1.1'), + ('android_system_properties', '0.1.5'), + ('anstream', '0.6.13'), + ('anstyle', '1.0.6'), + ('anstyle-parse', '0.2.3'), + ('anstyle-query', '1.0.2'), + ('anstyle-wincon', '3.0.2'), + ('anyhow', '1.0.80'), + ('approx', '0.3.2'), + ('approx', '0.5.1'), + ('arrayvec', '0.7.4'), + ('autocfg', '1.1.0'), + ('bincode', '1.3.3'), + ('bio-types', '1.0.1'), + ('bit-vec', '0.6.3'), + ('bitflags', '1.3.2'), + ('bitflags', '2.4.2'), + ('block-buffer', '0.10.4'), + ('bstr', '1.9.1'), + ('buffer-redux', '1.0.1'), + ('bumpalo', '3.15.4'), + ('bytecount', '0.6.7'), + ('bytemuck', '1.14.3'), + ('byteorder', '1.5.0'), + ('bytes', '1.5.0'), + ('bzip2', '0.4.4'), + ('bzip2-sys', '0.1.11+1.0.8'), + ('cc', '1.0.90'), + ('cfg-if', '1.0.0'), + ('chrono', '0.4.35'), + ('clap', '4.5.2'), + ('clap_builder', '4.5.2'), + ('clap_derive', '4.5.0'), + ('clap_lex', '0.7.0'), + ('colorchoice', '1.0.0'), + ('console', '0.15.8'), + ('core-foundation-sys', '0.8.6'), + ('crc32fast', '1.4.0'), + ('crossbeam-channel', '0.5.12'), + ('crossbeam-deque', '0.8.5'), + ('crossbeam-epoch', '0.9.18'), + ('crossbeam-queue', '0.3.11'), + ('crossbeam-utils', '0.8.19'), + ('crypto-common', '0.1.6'), + ('csv', '1.3.0'), + ('csv-core', '0.1.11'), + ('dashmap', '5.5.3'), + ('deranged', '0.3.11'), + ('derive-new', '0.5.9'), + ('digest', '0.10.7'), + ('dirs-next', '2.0.0'), + ('dirs-sys-next', '0.1.2'), + ('either', '1.10.0'), + ('encode_unicode', '0.3.6'), + ('equivalent', '1.0.1'), + ('errno', '0.3.8'), + ('fixedbitset', '0.4.2'), + ('flate2', '1.0.28'), + ('generic-array', '0.14.7'), + ('getrandom', '0.2.12'), + ('hashbrown', '0.14.3'), + ('heck', '0.4.1'), + ('hermit-abi', '0.3.9'), + ('iana-time-zone', '0.1.60'), + ('iana-time-zone-haiku', '0.1.2'), + ('indexmap', '2.2.5'), + ('indicatif', '0.17.8'), + ('instant', '0.1.12'), + ('is-terminal', '0.4.12'), + ('itertools', '0.12.1'), + ('itoa', '1.0.10'), + ('js-sys', '0.3.69'), + ('lazy_static', '1.4.0'), + ('lexical-core', '0.8.5'), + ('lexical-parse-float', '0.8.5'), + ('lexical-parse-integer', '0.8.6'), + ('lexical-util', '0.8.5'), + ('lexical-write-float', '0.8.5'), + ('lexical-write-integer', '0.8.5'), + ('libc', '0.2.153'), + ('libm', '0.2.8'), + ('libmimalloc-sys', '0.1.35'), + ('libradicl', '0.8.2'), + ('libredox', '0.0.1'), + ('linux-raw-sys', '0.4.13'), + ('lock_api', '0.4.11'), + ('log', '0.4.21'), + ('lzma-sys', '0.1.20'), + ('matrixmultiply', '0.3.8'), + ('md-5', '0.10.6'), + ('memchr', '2.7.1'), + ('mimalloc', '0.1.39'), + ('miniz_oxide', '0.7.2'), + ('nalgebra', '0.29.0'), + ('nalgebra-macros', '0.1.0'), + ('ndarray', '0.15.6'), + ('needletail', '0.5.1'), + ('noodles', '0.65.0'), + ('noodles-bam', '0.56.0'), + ('noodles-bgzf', '0.26.0'), + ('noodles-core', '0.14.0'), + ('noodles-cram', '0.56.0'), + ('noodles-csi', '0.30.0'), + ('noodles-fasta', '0.33.0'), + ('noodles-sam', '0.53.0'), + ('noodles-util', '0.37.0'), + ('num', '0.4.1'), + ('num-bigint', '0.4.4'), + ('num-complex', '0.2.4'), + ('num-complex', '0.4.5'), + ('num-conv', '0.1.0'), + ('num-format', '0.4.4'), + ('num-integer', '0.1.46'), + ('num-iter', '0.1.44'), + ('num-rational', '0.4.1'), + ('num-traits', '0.2.18'), + ('num_cpus', '1.16.0'), + ('number_prefix', '0.4.0'), + ('once_cell', '1.19.0'), + ('parking_lot_core', '0.9.9'), + ('paste', '1.0.14'), + ('petgraph', '0.6.4'), + ('pkg-config', '0.3.30'), + ('portable-atomic', '1.6.0'), + ('powerfmt', '0.2.0'), + ('ppv-lite86', '0.2.17'), + ('proc-macro2', '1.0.78'), + ('quote', '1.0.35'), + ('rand', '0.8.5'), + ('rand_chacha', '0.3.1'), + ('rand_core', '0.6.4'), + ('rand_distr', '0.4.3'), + ('rawpointer', '0.2.1'), + ('rayon', '1.9.0'), + ('rayon-core', '1.12.1'), + ('redox_syscall', '0.4.1'), + ('redox_users', '0.4.4'), + ('regex', '1.10.3'), + ('regex-automata', '0.4.6'), + ('regex-syntax', '0.8.2'), + ('rustix', '0.38.31'), + ('rustversion', '1.0.14'), + ('ryu', '1.0.17'), + ('safe_arch', '0.7.1'), + ('sce', '0.2.0'), + ('scopeguard', '1.2.0'), + ('scroll', '0.12.0'), + ('serde', '1.0.197'), + ('serde_derive', '1.0.197'), + ('serde_json', '1.0.114'), + ('simba', '0.6.0'), + ('slog', '2.7.0'), + ('slog-async', '2.8.0'), + ('slog-term', '2.9.1'), + ('smallvec', '1.13.1'), + ('snap', '1.1.1'), + ('sprs', '0.11.1'), + ('static_assertions', '1.1.0'), + ('statrs', '0.16.0'), + ('strsim', '0.11.0'), + ('strum_macros', '0.25.3'), + ('syn', '1.0.109'), + ('syn', '2.0.52'), + ('take_mut', '0.2.2'), + ('term', '0.7.0'), + ('terminal_size', '0.3.0'), + ('thiserror', '1.0.57'), + ('thiserror-impl', '1.0.57'), + ('thread_local', '1.1.8'), + ('time', '0.3.34'), + ('time-core', '0.1.2'), + ('time-macros', '0.2.17'), + ('trait-set', '0.3.0'), + ('typed-builder', '0.18.1'), + ('typed-builder-macro', '0.18.1'), + ('typenum', '1.17.0'), + ('unicode-ident', '1.0.12'), + ('unicode-width', '0.1.11'), + ('utf8parse', '0.2.1'), + ('version_check', '0.9.4'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('wasm-bindgen', '0.2.92'), + ('wasm-bindgen-backend', '0.2.92'), + ('wasm-bindgen-macro', '0.2.92'), + ('wasm-bindgen-macro-support', '0.2.92'), + ('wasm-bindgen-shared', '0.2.92'), + ('wide', '0.7.15'), + ('winapi', '0.3.9'), + ('winapi-i686-pc-windows-gnu', '0.4.0'), + ('winapi-x86_64-pc-windows-gnu', '0.4.0'), + ('windows-core', '0.52.0'), + ('windows-sys', '0.48.0'), + ('windows-sys', '0.52.0'), + ('windows-targets', '0.48.5'), + ('windows-targets', '0.52.4'), + ('windows_aarch64_gnullvm', '0.48.5'), + ('windows_aarch64_gnullvm', '0.52.4'), + ('windows_aarch64_msvc', '0.48.5'), + ('windows_aarch64_msvc', '0.52.4'), + ('windows_i686_gnu', '0.48.5'), + ('windows_i686_gnu', '0.52.4'), + ('windows_i686_msvc', '0.48.5'), + ('windows_i686_msvc', '0.52.4'), + ('windows_x86_64_gnu', '0.48.5'), + ('windows_x86_64_gnu', '0.52.4'), + ('windows_x86_64_gnullvm', '0.48.5'), + ('windows_x86_64_gnullvm', '0.52.4'), + ('windows_x86_64_msvc', '0.48.5'), + ('windows_x86_64_msvc', '0.52.4'), + ('xz2', '0.1.7'), + ('zerocopy', '0.7.32'), + ('zerocopy-derive', '0.7.32'), +] + +checksums = [ + {'alevin-fry-0.9.0.tar.gz': 'ea6d245d83a00d59b977e130f142b2a0c3075b26cd214d6c54251f225b46748a'}, + {'adler-1.0.2.tar.gz': 'f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe'}, + {'ahash-0.8.11.tar.gz': 'e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011'}, + {'aho-corasick-1.1.2.tar.gz': 'b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0'}, + {'alga-0.9.3.tar.gz': '4f823d037a7ec6ea2197046bafd4ae150e6bc36f9ca347404f46a46823fa84f2'}, + {'android-tzdata-0.1.1.tar.gz': 'e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0'}, + {'android_system_properties-0.1.5.tar.gz': '819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311'}, + {'anstream-0.6.13.tar.gz': 'd96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb'}, + {'anstyle-1.0.6.tar.gz': '8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc'}, + {'anstyle-parse-0.2.3.tar.gz': 'c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c'}, + {'anstyle-query-1.0.2.tar.gz': 'e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648'}, + {'anstyle-wincon-3.0.2.tar.gz': '1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7'}, + {'anyhow-1.0.80.tar.gz': '5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1'}, + {'approx-0.3.2.tar.gz': 'f0e60b75072ecd4168020818c0107f2857bb6c4e64252d8d3983f6263b40a5c3'}, + {'approx-0.5.1.tar.gz': 'cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6'}, + {'arrayvec-0.7.4.tar.gz': '96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'bincode-1.3.3.tar.gz': 'b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad'}, + {'bio-types-1.0.1.tar.gz': '9d45749b87f21808051025e9bf714d14ff4627f9d8ca967eade6946ea769aa4a'}, + {'bit-vec-0.6.3.tar.gz': '349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'bitflags-2.4.2.tar.gz': 'ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf'}, + {'block-buffer-0.10.4.tar.gz': '3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71'}, + {'bstr-1.9.1.tar.gz': '05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706'}, + {'buffer-redux-1.0.1.tar.gz': '4c9f8ddd22e0a12391d1e7ada69ec3b0da1914f1cec39c5cf977143c5b2854f5'}, + {'bumpalo-3.15.4.tar.gz': '7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa'}, + {'bytecount-0.6.7.tar.gz': 'e1e5f035d16fc623ae5f74981db80a439803888314e3a555fd6f04acd51a3205'}, + {'bytemuck-1.14.3.tar.gz': 'a2ef034f05691a48569bd920a96c81b9d91bbad1ab5ac7c4616c1f6ef36cb79f'}, + {'byteorder-1.5.0.tar.gz': '1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b'}, + {'bytes-1.5.0.tar.gz': 'a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223'}, + {'bzip2-0.4.4.tar.gz': 'bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8'}, + {'bzip2-sys-0.1.11+1.0.8.tar.gz': '736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc'}, + {'cc-1.0.90.tar.gz': '8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'chrono-0.4.35.tar.gz': '8eaf5903dcbc0a39312feb77df2ff4c76387d591b9fc7b04a238dcf8bb62639a'}, + {'clap-4.5.2.tar.gz': 'b230ab84b0ffdf890d5a10abdbc8b83ae1c4918275daea1ab8801f71536b2651'}, + {'clap_builder-4.5.2.tar.gz': 'ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4'}, + {'clap_derive-4.5.0.tar.gz': '307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47'}, + {'clap_lex-0.7.0.tar.gz': '98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce'}, + {'colorchoice-1.0.0.tar.gz': 'acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7'}, + {'console-0.15.8.tar.gz': '0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb'}, + {'core-foundation-sys-0.8.6.tar.gz': '06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f'}, + {'crc32fast-1.4.0.tar.gz': 'b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa'}, + {'crossbeam-channel-0.5.12.tar.gz': 'ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95'}, + {'crossbeam-deque-0.8.5.tar.gz': '613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d'}, + {'crossbeam-epoch-0.9.18.tar.gz': '5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e'}, + {'crossbeam-queue-0.3.11.tar.gz': 'df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35'}, + {'crossbeam-utils-0.8.19.tar.gz': '248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345'}, + {'crypto-common-0.1.6.tar.gz': '1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3'}, + {'csv-1.3.0.tar.gz': 'ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe'}, + {'csv-core-0.1.11.tar.gz': '5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70'}, + {'dashmap-5.5.3.tar.gz': '978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856'}, + {'deranged-0.3.11.tar.gz': 'b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4'}, + {'derive-new-0.5.9.tar.gz': '3418329ca0ad70234b9735dc4ceed10af4df60eff9c8e7b06cb5e520d92c3535'}, + {'digest-0.10.7.tar.gz': '9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292'}, + {'dirs-next-2.0.0.tar.gz': 'b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1'}, + {'dirs-sys-next-0.1.2.tar.gz': '4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d'}, + {'either-1.10.0.tar.gz': '11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a'}, + {'encode_unicode-0.3.6.tar.gz': 'a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f'}, + {'equivalent-1.0.1.tar.gz': '5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5'}, + {'errno-0.3.8.tar.gz': 'a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245'}, + {'fixedbitset-0.4.2.tar.gz': '0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80'}, + {'flate2-1.0.28.tar.gz': '46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e'}, + {'generic-array-0.14.7.tar.gz': '85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a'}, + {'getrandom-0.2.12.tar.gz': '190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5'}, + {'hashbrown-0.14.3.tar.gz': '290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'hermit-abi-0.3.9.tar.gz': 'd231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024'}, + {'iana-time-zone-0.1.60.tar.gz': 'e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141'}, + {'iana-time-zone-haiku-0.1.2.tar.gz': 'f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f'}, + {'indexmap-2.2.5.tar.gz': '7b0b929d511467233429c45a44ac1dcaa21ba0f5ba11e4879e6ed28ddb4f9df4'}, + {'indicatif-0.17.8.tar.gz': '763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3'}, + {'instant-0.1.12.tar.gz': '7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c'}, + {'is-terminal-0.4.12.tar.gz': 'f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b'}, + {'itertools-0.12.1.tar.gz': 'ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569'}, + {'itoa-1.0.10.tar.gz': 'b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c'}, + {'js-sys-0.3.69.tar.gz': '29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'lexical-core-0.8.5.tar.gz': '2cde5de06e8d4c2faabc400238f9ae1c74d5412d03a7bd067645ccbc47070e46'}, + {'lexical-parse-float-0.8.5.tar.gz': '683b3a5ebd0130b8fb52ba0bdc718cc56815b6a097e28ae5a6997d0ad17dc05f'}, + {'lexical-parse-integer-0.8.6.tar.gz': '6d0994485ed0c312f6d965766754ea177d07f9c00c9b82a5ee62ed5b47945ee9'}, + {'lexical-util-0.8.5.tar.gz': '5255b9ff16ff898710eb9eb63cb39248ea8a5bb036bea8085b1a767ff6c4e3fc'}, + {'lexical-write-float-0.8.5.tar.gz': 'accabaa1c4581f05a3923d1b4cfd124c329352288b7b9da09e766b0668116862'}, + {'lexical-write-integer-0.8.5.tar.gz': 'e1b6f3d1f4422866b68192d62f77bc5c700bee84f3069f2469d7bc8c77852446'}, + {'libc-0.2.153.tar.gz': '9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd'}, + {'libm-0.2.8.tar.gz': '4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058'}, + {'libmimalloc-sys-0.1.35.tar.gz': '3979b5c37ece694f1f5e51e7ecc871fdb0f517ed04ee45f88d15d6d553cb9664'}, + {'libradicl-0.8.2.tar.gz': '79c875897ad68c771ac1cbe1794642f1f49bdb3852e0475be2abb754ba59fe92'}, + {'libredox-0.0.1.tar.gz': '85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8'}, + {'linux-raw-sys-0.4.13.tar.gz': '01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c'}, + {'lock_api-0.4.11.tar.gz': '3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45'}, + {'log-0.4.21.tar.gz': '90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c'}, + {'lzma-sys-0.1.20.tar.gz': '5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27'}, + {'matrixmultiply-0.3.8.tar.gz': '7574c1cf36da4798ab73da5b215bbf444f50718207754cb522201d78d1cd0ff2'}, + {'md-5-0.10.6.tar.gz': 'd89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf'}, + {'memchr-2.7.1.tar.gz': '523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149'}, + {'mimalloc-0.1.39.tar.gz': 'fa01922b5ea280a911e323e4d2fd24b7fe5cc4042e0d2cda3c40775cdc4bdc9c'}, + {'miniz_oxide-0.7.2.tar.gz': '9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7'}, + {'nalgebra-0.29.0.tar.gz': 'd506eb7e08d6329505faa8a3a00a5dcc6de9f76e0c77e4b75763ae3c770831ff'}, + {'nalgebra-macros-0.1.0.tar.gz': '01fcc0b8149b4632adc89ac3b7b31a12fb6099a0317a4eb2ebff574ef7de7218'}, + {'ndarray-0.15.6.tar.gz': 'adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32'}, + {'needletail-0.5.1.tar.gz': 'db05a5ab397f64070d8c998fa0fbb84e484b81f95752af317dac183a82d9295d'}, + {'noodles-0.65.0.tar.gz': '38db1833ba39368f7a855c5b9a8412729a61dd86b2563e1a3bdb02aecbe92a3c'}, + {'noodles-bam-0.56.0.tar.gz': 'd3189e8ecee801ab5c3f4ea9908c4196b429137d8d35d733f00f6681f9188be7'}, + {'noodles-bgzf-0.26.0.tar.gz': '8970db2e84adb1007377dd3988258d7a64e3fc4c05602ebf94e1f8cba207c030'}, + {'noodles-core-0.14.0.tar.gz': '7336c3be652de4e05444c9b12a32331beb5ba3316e8872d92bfdd8ef3b06c282'}, + {'noodles-cram-0.56.0.tar.gz': '34a70ebb5bc7ff2d07ce96c0568691e57be421c121103ebef10cf02a63d7d400'}, + {'noodles-csi-0.30.0.tar.gz': 'a60dfe0919f7ecbd081a82eb1d32e8f89f9041932d035fe8309073c8c01277bf'}, + {'noodles-fasta-0.33.0.tar.gz': '5e9e953e4e90e6c96e6a384598ebf2ab6d2f5add259ff05a194cf635e892c980'}, + {'noodles-sam-0.53.0.tar.gz': '1f0d8e441368374f6e144989f823fd7c05e58cdaa3f97d22bb4d75b534327b87'}, + {'noodles-util-0.37.0.tar.gz': 'e800d2619f75de004aef8beb29f604e667f5bf5f714ff05cce3730f5c8cc4958'}, + {'num-0.4.1.tar.gz': 'b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af'}, + {'num-bigint-0.4.4.tar.gz': '608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0'}, + {'num-complex-0.2.4.tar.gz': 'b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95'}, + {'num-complex-0.4.5.tar.gz': '23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6'}, + {'num-conv-0.1.0.tar.gz': '51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9'}, + {'num-format-0.4.4.tar.gz': 'a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3'}, + {'num-integer-0.1.46.tar.gz': '7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f'}, + {'num-iter-0.1.44.tar.gz': 'd869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9'}, + {'num-rational-0.4.1.tar.gz': '0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0'}, + {'num-traits-0.2.18.tar.gz': 'da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a'}, + {'num_cpus-1.16.0.tar.gz': '4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43'}, + {'number_prefix-0.4.0.tar.gz': '830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3'}, + {'once_cell-1.19.0.tar.gz': '3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92'}, + {'parking_lot_core-0.9.9.tar.gz': '4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e'}, + {'paste-1.0.14.tar.gz': 'de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c'}, + {'petgraph-0.6.4.tar.gz': 'e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9'}, + {'pkg-config-0.3.30.tar.gz': 'd231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec'}, + {'portable-atomic-1.6.0.tar.gz': '7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0'}, + {'powerfmt-0.2.0.tar.gz': '439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391'}, + {'ppv-lite86-0.2.17.tar.gz': '5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de'}, + {'proc-macro2-1.0.78.tar.gz': 'e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae'}, + {'quote-1.0.35.tar.gz': '291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef'}, + {'rand-0.8.5.tar.gz': '34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404'}, + {'rand_chacha-0.3.1.tar.gz': 'e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88'}, + {'rand_core-0.6.4.tar.gz': 'ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c'}, + {'rand_distr-0.4.3.tar.gz': '32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31'}, + {'rawpointer-0.2.1.tar.gz': '60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3'}, + {'rayon-1.9.0.tar.gz': 'e4963ed1bc86e4f3ee217022bd855b297cef07fb9eac5dfa1f788b220b49b3bd'}, + {'rayon-core-1.12.1.tar.gz': '1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2'}, + {'redox_syscall-0.4.1.tar.gz': '4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa'}, + {'redox_users-0.4.4.tar.gz': 'a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4'}, + {'regex-1.10.3.tar.gz': 'b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15'}, + {'regex-automata-0.4.6.tar.gz': '86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea'}, + {'regex-syntax-0.8.2.tar.gz': 'c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f'}, + {'rustix-0.38.31.tar.gz': '6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949'}, + {'rustversion-1.0.14.tar.gz': '7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4'}, + {'ryu-1.0.17.tar.gz': 'e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1'}, + {'safe_arch-0.7.1.tar.gz': 'f398075ce1e6a179b46f51bd88d0598b92b00d3551f1a2d4ac49e771b56ac354'}, + {'sce-0.2.0.tar.gz': '3e86ac42a268d4f4644e38887b5dad29002dcbcdeddb40057195beeb61105df6'}, + {'scopeguard-1.2.0.tar.gz': '94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49'}, + {'scroll-0.12.0.tar.gz': '6ab8598aa408498679922eff7fa985c25d58a90771bd6be794434c5277eab1a6'}, + {'serde-1.0.197.tar.gz': '3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2'}, + {'serde_derive-1.0.197.tar.gz': '7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b'}, + {'serde_json-1.0.114.tar.gz': 'c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0'}, + {'simba-0.6.0.tar.gz': 'f0b7840f121a46d63066ee7a99fc81dcabbc6105e437cae43528cea199b5a05f'}, + {'slog-2.7.0.tar.gz': '8347046d4ebd943127157b94d63abb990fcf729dc4e9978927fdf4ac3c998d06'}, + {'slog-async-2.8.0.tar.gz': '72c8038f898a2c79507940990f05386455b3a317d8f18d4caea7cbc3d5096b84'}, + {'slog-term-2.9.1.tar.gz': 'b6e022d0b998abfe5c3782c1f03551a596269450ccd677ea51c56f8b214610e8'}, + {'smallvec-1.13.1.tar.gz': 'e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7'}, + {'snap-1.1.1.tar.gz': '1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b'}, + {'sprs-0.11.1.tar.gz': '88bab60b0a18fb9b3e0c26e92796b3c3a278bf5fa4880f5ad5cc3bdfb843d0b1'}, + {'static_assertions-1.1.0.tar.gz': 'a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f'}, + {'statrs-0.16.0.tar.gz': '2d08e5e1748192713cc281da8b16924fb46be7b0c2431854eadc785823e5696e'}, + {'strsim-0.11.0.tar.gz': '5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01'}, + {'strum_macros-0.25.3.tar.gz': '23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0'}, + {'syn-1.0.109.tar.gz': '72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237'}, + {'syn-2.0.52.tar.gz': 'b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07'}, + {'take_mut-0.2.2.tar.gz': 'f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60'}, + {'term-0.7.0.tar.gz': 'c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f'}, + {'terminal_size-0.3.0.tar.gz': '21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7'}, + {'thiserror-1.0.57.tar.gz': '1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b'}, + {'thiserror-impl-1.0.57.tar.gz': 'a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81'}, + {'thread_local-1.1.8.tar.gz': '8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c'}, + {'time-0.3.34.tar.gz': 'c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749'}, + {'time-core-0.1.2.tar.gz': 'ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3'}, + {'time-macros-0.2.17.tar.gz': '7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774'}, + {'trait-set-0.3.0.tar.gz': 'b79e2e9c9ab44c6d7c20d5976961b47e8f49ac199154daa514b77cd1ab536625'}, + {'typed-builder-0.18.1.tar.gz': '444d8748011b93cb168770e8092458cb0f8854f931ff82fdf6ddfbd72a9c933e'}, + {'typed-builder-macro-0.18.1.tar.gz': '563b3b88238ec95680aef36bdece66896eaa7ce3c0f1b4f39d38fb2435261352'}, + {'typenum-1.17.0.tar.gz': '42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825'}, + {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'}, + {'unicode-width-0.1.11.tar.gz': 'e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85'}, + {'utf8parse-0.2.1.tar.gz': '711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a'}, + {'version_check-0.9.4.tar.gz': '49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f'}, + {'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}, + {'wasm-bindgen-0.2.92.tar.gz': '4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8'}, + {'wasm-bindgen-backend-0.2.92.tar.gz': '614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da'}, + {'wasm-bindgen-macro-0.2.92.tar.gz': 'a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726'}, + {'wasm-bindgen-macro-support-0.2.92.tar.gz': 'e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7'}, + {'wasm-bindgen-shared-0.2.92.tar.gz': 'af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96'}, + {'wide-0.7.15.tar.gz': '89beec544f246e679fc25490e3f8e08003bc4bf612068f325120dad4cea02c1c'}, + {'winapi-0.3.9.tar.gz': '5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419'}, + {'winapi-i686-pc-windows-gnu-0.4.0.tar.gz': 'ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6'}, + {'winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz': '712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f'}, + {'windows-core-0.52.0.tar.gz': '33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9'}, + {'windows-sys-0.48.0.tar.gz': '677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9'}, + {'windows-sys-0.52.0.tar.gz': '282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d'}, + {'windows-targets-0.48.5.tar.gz': '9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c'}, + {'windows-targets-0.52.4.tar.gz': '7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b'}, + {'windows_aarch64_gnullvm-0.48.5.tar.gz': '2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8'}, + {'windows_aarch64_gnullvm-0.52.4.tar.gz': 'bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9'}, + {'windows_aarch64_msvc-0.48.5.tar.gz': 'dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc'}, + {'windows_aarch64_msvc-0.52.4.tar.gz': 'da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675'}, + {'windows_i686_gnu-0.48.5.tar.gz': 'a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e'}, + {'windows_i686_gnu-0.52.4.tar.gz': 'b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3'}, + {'windows_i686_msvc-0.48.5.tar.gz': '8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406'}, + {'windows_i686_msvc-0.52.4.tar.gz': '1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02'}, + {'windows_x86_64_gnu-0.48.5.tar.gz': '53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e'}, + {'windows_x86_64_gnu-0.52.4.tar.gz': '5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03'}, + {'windows_x86_64_gnullvm-0.48.5.tar.gz': '0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc'}, + {'windows_x86_64_gnullvm-0.52.4.tar.gz': '77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177'}, + {'windows_x86_64_msvc-0.48.5.tar.gz': 'ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538'}, + {'windows_x86_64_msvc-0.52.4.tar.gz': '32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8'}, + {'xz2-0.1.7.tar.gz': '388c44dc09d76f1536602ead6d325eb532f5c122f17782bd57fb47baeeb767e2'}, + {'zerocopy-0.7.32.tar.gz': '74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be'}, + {'zerocopy-derive-0.7.32.tar.gz': '9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('Rust', '1.76.0'), + ('CMake', '3.27.6'), +] + +dependencies = [ + ('bzip2', '1.0.8'), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ["%(namelower)s --help"] + +moduleclass = 'bio' From 9de470660512661ccaa3f76cc9877ff50735539a Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 7 Jun 2024 11:09:18 +0200 Subject: [PATCH 845/889] add comment to clarify use of 'echo' in sanity check commands for ctffind --- .../easyconfigs/c/ctffind5/ctffind5-5.0.2-foss-2023a.eb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/c/ctffind5/ctffind5-5.0.2-foss-2023a.eb b/easybuild/easyconfigs/c/ctffind5/ctffind5-5.0.2-foss-2023a.eb index 350f6920230..29cb349d816 100644 --- a/easybuild/easyconfigs/c/ctffind5/ctffind5-5.0.2-foss-2023a.eb +++ b/easybuild/easyconfigs/c/ctffind5/ctffind5-5.0.2-foss-2023a.eb @@ -73,9 +73,11 @@ sanity_check_paths = { } sanity_check_commands = [ - 'echo|ctffind|grep Version|grep %(version)s', - 'echo|ctffind|grep "Library Version"|grep %s' % local_commit[:7], - 'echo|ctffind|grep "Branch"|grep %s' % local_branch, + # ctffind command expects filename of input image via stdin, + # so we pipe in a newline via 'echo' to make it exit + 'echo | ctffind | grep Version | grep %(version)s', + 'echo | ctffind | grep "Library Version" | grep %s' % local_commit[:7], + 'echo | ctffind | grep "Branch" | grep %s' % local_branch, ] moduleclass = 'bio' From ec54b7c90e016d667f0036764457df363035a9ea Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 7 Jun 2024 11:46:23 +0200 Subject: [PATCH 846/889] fix version for GMAP-GSNAP dependency in easyconfig for funannotate 1.8.13 --- .../easyconfigs/f/funannotate/funannotate-1.8.13-foss-2021b.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/f/funannotate/funannotate-1.8.13-foss-2021b.eb b/easybuild/easyconfigs/f/funannotate/funannotate-1.8.13-foss-2021b.eb index 0a411ab0d7d..eb0c7cac624 100644 --- a/easybuild/easyconfigs/f/funannotate/funannotate-1.8.13-foss-2021b.eb +++ b/easybuild/easyconfigs/f/funannotate/funannotate-1.8.13-foss-2021b.eb @@ -33,7 +33,7 @@ dependencies = [ ('Exonerate', '2.4.0'), ('FASTA', '36.3.8i'), ('GlimmerHMM', '3.0.4c'), - ('GMAP-GSNAP', '2021-21-17'), # provides gmap + ('GMAP-GSNAP', '2021-12-17'), # provides gmap ('GeneMark-ET', '4.71'), # provides gmes_petap.pl ('HISAT2', '2.2.1'), ('HMMER', '3.3.2'), # provides hmmscan, hmmsearch From b43a3d1fdc6b59f02504a7d4e037ae77c5f2ae5e Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 7 Jun 2024 11:48:21 +0200 Subject: [PATCH 847/889] add BioPerl dependency for funannotate 1.8.13 --- .../easyconfigs/f/funannotate/funannotate-1.8.13-foss-2021b.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/f/funannotate/funannotate-1.8.13-foss-2021b.eb b/easybuild/easyconfigs/f/funannotate/funannotate-1.8.13-foss-2021b.eb index eb0c7cac624..7624b1ec585 100644 --- a/easybuild/easyconfigs/f/funannotate/funannotate-1.8.13-foss-2021b.eb +++ b/easybuild/easyconfigs/f/funannotate/funannotate-1.8.13-foss-2021b.eb @@ -52,6 +52,7 @@ dependencies = [ ('tantan', '40'), ('trimAl', '1.4.1'), ('Trimmomatic', '0.39', '-Java-11', SYSTEM), + ('BioPerl', '1.7.8'), ] use_pip = True From 34dac5b84983e91799daad94728946e6fa53eed8 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Fri, 7 Jun 2024 12:11:00 +0200 Subject: [PATCH 848/889] adding easyconfigs: SciTools-Iris-3.9.0-foss-2023a.eb --- .../SciTools-Iris-3.9.0-foss-2023a.eb | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 easybuild/easyconfigs/s/SciTools-Iris/SciTools-Iris-3.9.0-foss-2023a.eb diff --git a/easybuild/easyconfigs/s/SciTools-Iris/SciTools-Iris-3.9.0-foss-2023a.eb b/easybuild/easyconfigs/s/SciTools-Iris/SciTools-Iris-3.9.0-foss-2023a.eb new file mode 100644 index 00000000000..e372ed94d82 --- /dev/null +++ b/easybuild/easyconfigs/s/SciTools-Iris/SciTools-Iris-3.9.0-foss-2023a.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonBundle' + +name = 'SciTools-Iris' +version = '3.9.0' + +homepage = 'https://scitools-iris.readthedocs.io' +description = """A powerful, format-agnostic, community-driven Python package for analysing and +visualising Earth science data.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Cartopy', '0.22.0'), + ('dask', '2023.9.2'), + ('matplotlib', '3.7.2'), + ('netcdf4-python', '1.6.4'), + ('python-xxhash', '3.4.1'), + ('UDUNITS', '2.2.28'), +] + +use_pip = True + +exts_list = [ + ('antlr4-python3-runtime', '4.7.2', { + 'modulename': 'antlr4', + 'checksums': ['168cdcec8fb9152e84a87ca6fd261b3d54c8f6358f42ab3b813b14a7193bb50b'], + }), + ('cf-units', '3.2.0', { + 'preinstallopts': 'UDUNITS2_XML_PATH="$EBROOTUDUNITS/share/udunits/udunits2.xml"', + 'checksums': ['88a9f140e4157fe4c2d322b5e079046c4c0a7d76cb4950c700a8363bc235074f'], + }), + ('scitools_iris', version, { + 'modulename': 'iris', + 'checksums': ['53c701899aa08014beeb9dd0040bd5584511229fff98e74ff30b6eab5d4d02aa'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' From b6a10191d13cba5bef1af01dcfd1778907ea7c3a Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 7 Jun 2024 12:16:12 +0200 Subject: [PATCH 849/889] stick to minimap2 2.22 as dependency for funannotate 1.8.13 --- .../easyconfigs/f/funannotate/funannotate-1.8.13-foss-2021b.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/f/funannotate/funannotate-1.8.13-foss-2021b.eb b/easybuild/easyconfigs/f/funannotate/funannotate-1.8.13-foss-2021b.eb index 7624b1ec585..18991c61de3 100644 --- a/easybuild/easyconfigs/f/funannotate/funannotate-1.8.13-foss-2021b.eb +++ b/easybuild/easyconfigs/f/funannotate/funannotate-1.8.13-foss-2021b.eb @@ -39,7 +39,7 @@ dependencies = [ ('HMMER', '3.3.2'), # provides hmmscan, hmmsearch ('kallisto', '0.48.0'), ('MAFFT', '7.490', '-with-extensions'), - ('minimap2', '2.24'), + ('minimap2', '2.22'), ('pigz', '2.6'), ('Proteinortho', '6.2.3'), ('Kent_tools', '422'), # provides pslCDnaFilter From b80fd534a400bfb7f5eeee4a31770bbe71859f39 Mon Sep 17 00:00:00 2001 From: Simon Branford Date: Fri, 7 Jun 2024 12:33:34 +0100 Subject: [PATCH 850/889] use `libidn2/2.3.7` as dependency for `GnuTLS/3.7.8` and delete `libidn2/2.3.2` (`GCCcore/12.3.0`) --- .../g/GnuTLS/GnuTLS-3.7.8-GCCcore-12.3.0.eb | 2 +- .../l/libidn2/libidn2-2.3.2-GCCcore-12.3.0.eb | 27 ------------------- 2 files changed, 1 insertion(+), 28 deletions(-) delete mode 100644 easybuild/easyconfigs/l/libidn2/libidn2-2.3.2-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.8-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.8-GCCcore-12.3.0.eb index 476e65a11c0..320c4782a22 100644 --- a/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.8-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.8-GCCcore-12.3.0.eb @@ -27,7 +27,7 @@ dependencies = [ ('nettle', '3.9.1'), ('Guile', '3.0.9'), ('libtasn1', '4.19.0'), - ('libidn2', '2.3.2'), + ('libidn2', '2.3.7'), ('p11-kit', '0.25.3'), ('zlib', '1.2.13'), ('zstd', '1.5.5'), diff --git a/easybuild/easyconfigs/l/libidn2/libidn2-2.3.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libidn2/libidn2-2.3.2-GCCcore-12.3.0.eb deleted file mode 100644 index e407c6749ea..00000000000 --- a/easybuild/easyconfigs/l/libidn2/libidn2-2.3.2-GCCcore-12.3.0.eb +++ /dev/null @@ -1,27 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libidn2' -version = '2.3.2' - -homepage = 'http://www.gnu.org/software/%(name)s' -description = "Libidn2 implements the revised algorithm for internationalized domain names called IDNA2008/TR46." - -toolchain = {'name': 'GCCcore', 'version': '12.3.0'} - -source_urls = ['https://ftp.gnu.org/gnu/libidn/'] -sources = [SOURCELOWER_TAR_GZ] -checksums = ['76940cd4e778e8093579a9d195b25fff5e936e9dc6242068528b437a76764f91'] - -builddependencies = [ - ('binutils', '2.40'), -] - - -sanity_check_paths = { - 'files': ['bin/idn2', 'lib/%s.%s' % (name, SHLIB_EXT)], - 'dirs': ['include'], -} - -sanity_check_commands = ['idn2 --help'] - -moduleclass = 'lib' From 6f5babb97632b26de680d0690d33240567338c81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Fri, 7 Jun 2024 16:55:41 +0000 Subject: [PATCH 851/889] Fix fastparquet using cargo easyblock --- .../fastparquet-2023.4.0-gfbf-2022b.eb | 69 ++++++++++++++++++- 1 file changed, 67 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/f/fastparquet/fastparquet-2023.4.0-gfbf-2022b.eb b/easybuild/easyconfigs/f/fastparquet/fastparquet-2023.4.0-gfbf-2022b.eb index 2320c4b7539..95fbef237e5 100644 --- a/easybuild/easyconfigs/f/fastparquet/fastparquet-2023.4.0-gfbf-2022b.eb +++ b/easybuild/easyconfigs/f/fastparquet/fastparquet-2023.4.0-gfbf-2022b.eb @@ -1,4 +1,4 @@ -easyblock = 'PythonBundle' +easyblock = 'CargoPythonBundle' name = 'fastparquet' version = '2023.4.0' @@ -12,12 +12,77 @@ toolchain = {'name': 'gfbf', 'version': '2022b'} builddependencies = [ ('patchelf', '0.17.2'), + ('maturin', '1.1.0'), # for cramjam ] dependencies = [ ('Python', '3.10.8'), ('SciPy-bundle', '2023.02'), - ('maturin', '1.1.0'), +] + +crates = [ + ('adler', '1.0.2'), + ('ahash', '0.7.6'), + ('alloc-no-stdlib', '2.0.4'), + ('alloc-stdlib', '0.2.2'), + ('autocfg', '1.1.0'), + ('bitflags', '1.3.2'), + ('brotli', '3.3.4'), + ('brotli-decompressor', '2.3.2'), + ('bzip2', '0.4.3'), + ('bzip2-sys', '0.1.11+1.0.8'), + ('cc', '1.0.73'), + ('cfg-if', '1.0.0'), + ('crc32fast', '1.3.2'), + ('flate2', '1.0.23'), + ('getrandom', '0.2.8'), + ('indoc', '1.0.6'), + ('jobserver', '0.1.24'), + ('libc', '0.2.126'), + ('libmimalloc-sys', '0.1.25'), + ('lock_api', '0.4.7'), + ('lz4', '1.23.3'), + ('lz4-sys', '1.9.4'), + ('matrixmultiply', '0.3.2'), + ('memoffset', '0.6.5'), + ('mimalloc', '0.1.29'), + ('miniz_oxide', '0.5.1'), + ('ndarray', '0.15.4'), + ('num-complex', '0.4.1'), + ('num-integer', '0.1.45'), + ('num-traits', '0.2.15'), + ('numpy', '0.17.2'), + ('once_cell', '1.10.0'), + ('parking_lot', '0.12.0'), + ('parking_lot_core', '0.9.3'), + ('pkg-config', '0.3.25'), + ('proc-macro2', '1.0.39'), + ('pyo3', '0.17.3'), + ('pyo3-build-config', '0.17.3'), + ('pyo3-ffi', '0.17.3'), + ('pyo3-macros', '0.17.3'), + ('pyo3-macros-backend', '0.17.3'), + ('quote', '1.0.18'), + ('rawpointer', '0.2.1'), + ('redox_syscall', '0.2.13'), + ('scopeguard', '1.1.0'), + ('smallvec', '1.8.0'), + ('snap', '1.0.5'), + ('syn', '1.0.95'), + ('target-lexicon', '0.12.3'), + ('unicode-ident', '1.0.0'), + ('unindent', '0.1.9'), + ('version_check', '0.9.4'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('windows-sys', '0.36.1'), + ('windows_aarch64_msvc', '0.36.1'), + ('windows_i686_gnu', '0.36.1'), + ('windows_i686_msvc', '0.36.1'), + ('windows_x86_64_gnu', '0.36.1'), + ('windows_x86_64_msvc', '0.36.1'), + ('zstd', '0.11.2+zstd.1.5.2'), + ('zstd-safe', '5.0.2+zstd.1.5.2'), + ('zstd-sys', '2.0.1+zstd.1.5.2'), ] use_pip = True From 1c460e05030c181d677e124c64468cd3b06fb9ef Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 7 Jun 2024 22:45:07 +0200 Subject: [PATCH 852/889] fix preinstallopts in Compass easyconfig --- .../easyconfigs/c/Compass/Compass-2024.04-foss-2021b.eb | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/c/Compass/Compass-2024.04-foss-2021b.eb b/easybuild/easyconfigs/c/Compass/Compass-2024.04-foss-2021b.eb index d4693babd9e..0ff4a4f9bdb 100644 --- a/easybuild/easyconfigs/c/Compass/Compass-2024.04-foss-2021b.eb +++ b/easybuild/easyconfigs/c/Compass/Compass-2024.04-foss-2021b.eb @@ -26,14 +26,17 @@ sanity_pip_check = True exts_list = [ ('compass', version, { - # delete dependecy python-igraph - pip check failing - 'preinstallopts': "sed -i '27d' setup.py && ", 'source_urls': ['https://github.com/YosefLab/Compass/archive/'], 'sources': [{'download_filename': '7664cb0.tar.gz', 'filename': '%(name)s-%(version)s-7664cb0.tar.gz'}], 'checksums': ['87529c5fae108fa2a8e3e35438d3b25874faa78af670a2349228c76fa0843376'], + 'preinstallopts': "sed -i '/python-igraph/d' setup.py && ", }), ] -sanity_check_commands = ["python -c 'import igraph'", "compass -h", "python -c 'import cplex'"] +sanity_check_commands = [ + "compass -h", + "python -c 'import cplex'", + "python -c 'import igraph'", +] moduleclass = 'bio' From e74972cb4e68bdee40774f39c10742f5aedd876a Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 8 Jun 2024 09:15:25 +0200 Subject: [PATCH 853/889] add gnuplot dependency to easyconfigs for MUMmer 4.0.0rc1 --- .../m/MUMmer/MUMmer-4.0.0rc1-GCCcore-11.2.0.eb | 8 +++++++- .../m/MUMmer/MUMmer-4.0.0rc1-GCCcore-11.3.0.eb | 8 +++++++- .../m/MUMmer/MUMmer-4.0.0rc1-GCCcore-12.2.0.eb | 8 +++++++- .../m/MUMmer/MUMmer-4.0.0rc1-GCCcore-12.3.0.eb | 8 +++++++- 4 files changed, 28 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-11.2.0.eb index a71cc388efc..c261d2484b3 100644 --- a/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-11.2.0.eb @@ -22,7 +22,13 @@ source_urls = ['https://github.com/gmarcais/mummer/releases/download/v%(version) sources = ['%(namelower)s-%(version)s.tar.gz'] checksums = ['85006adb2d6539c2f738c3e3bb14b58bb6f62cd6c6ca5ede884a87ae76e07d1d'] -builddependencies = [('binutils', '2.37')] +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('gnuplot', '5.4.2'), +] configopts = 'GNUPLOT=gnuplot' diff --git a/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-11.3.0.eb index b0ddf4e759d..f403869b209 100644 --- a/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-11.3.0.eb @@ -22,7 +22,13 @@ source_urls = ['https://github.com/gmarcais/mummer/releases/download/v%(version) sources = ['%(namelower)s-%(version)s.tar.gz'] checksums = ['85006adb2d6539c2f738c3e3bb14b58bb6f62cd6c6ca5ede884a87ae76e07d1d'] -builddependencies = [('binutils', '2.38')] +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('gnuplot', '5.4.4'), +] configopts = 'GNUPLOT=gnuplot' diff --git a/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-12.2.0.eb index c1ca1f8eb80..ce38884c04c 100644 --- a/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-12.2.0.eb @@ -24,7 +24,13 @@ source_urls = ['https://github.com/gmarcais/mummer/releases/download/v%(version) sources = ['%(namelower)s-%(version)s.tar.gz'] checksums = ['85006adb2d6539c2f738c3e3bb14b58bb6f62cd6c6ca5ede884a87ae76e07d1d'] -builddependencies = [('binutils', '2.39')] +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('gnuplot', '5.4.6'), +] configopts = 'GNUPLOT=gnuplot' diff --git a/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-12.3.0.eb index 86699e28e0a..809143d9839 100644 --- a/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-12.3.0.eb @@ -25,7 +25,13 @@ source_urls = ['https://github.com/gmarcais/mummer/releases/download/v%(version) sources = ['%(namelower)s-%(version)s.tar.gz'] checksums = ['85006adb2d6539c2f738c3e3bb14b58bb6f62cd6c6ca5ede884a87ae76e07d1d'] -builddependencies = [('binutils', '2.40')] +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('gnuplot', '5.4.8'), +] configopts = 'GNUPLOT=gnuplot' From ff40e6c941283ea9f1f3c58872c0cd3950cc3361 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 8 Jun 2024 09:21:08 +0200 Subject: [PATCH 854/889] remove sanity_check_paths for lil-aretomo since it's identical to the default used by PythonBundle --- .../l/lil-aretomo/lil-aretomo-0.1.1-foss-2023a.eb | 5 ----- 1 file changed, 5 deletions(-) diff --git a/easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.1-foss-2023a.eb b/easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.1-foss-2023a.eb index 2556d603b65..121e49d9047 100644 --- a/easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.1-foss-2023a.eb +++ b/easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.1-foss-2023a.eb @@ -11,7 +11,6 @@ A lightweight Python API for AreTomo. toolchain = {'name': 'foss', 'version': '2023a'} - dependencies = [ ('Python', '3.11.3'), ('mrcfile', '1.5.0'), @@ -30,9 +29,5 @@ exts_list = [ ] sanity_pip_check = True -sanity_check_paths = { - 'files': [], - 'dirs': ['lib/python%(pyshortver)s/'], -} moduleclass = 'bio' From 2ac22d7ee0de66930309a69059796fdef2d15d4e Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 8 Jun 2024 09:22:05 +0200 Subject: [PATCH 855/889] remove sanity_check_paths for makefun since it's identical to the default used by PythonBundle --- .../easyconfigs/m/makefun/makefun-1.15.2-GCCcore-12.3.0.eb | 4 ---- 1 file changed, 4 deletions(-) diff --git a/easybuild/easyconfigs/m/makefun/makefun-1.15.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/makefun/makefun-1.15.2-GCCcore-12.3.0.eb index c6eaf88fdad..b4b0097cc53 100644 --- a/easybuild/easyconfigs/m/makefun/makefun-1.15.2-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/m/makefun/makefun-1.15.2-GCCcore-12.3.0.eb @@ -28,9 +28,5 @@ exts_list = [ ] sanity_pip_check = True -sanity_check_paths = { - 'files': [], - 'dirs': ['lib/python%(pyshortver)s/'], -} moduleclass = 'lib' From 7bdf751685f325a16aa141a1579c5064c19e2ea1 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 8 Jun 2024 09:24:50 +0200 Subject: [PATCH 856/889] fix torchaudion dependency spec in ProteinMPNN easyconfig --- .../ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb index af2d5455e0d..ac2f6d1d47e 100644 --- a/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb +++ b/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb @@ -24,7 +24,7 @@ dependencies = [ ('CUDA', '11.7.0', '', SYSTEM), ('PyTorch', '1.12.0', versionsuffix), ('torchvision', '0.13.1', versionsuffix), - ('torchaudio', '0.12.0', '-PyTorch-1.12.0-' + versionsuffix), + ('torchaudio', '0.12.0', '-PyTorch-1.12.0' + versionsuffix), ] postinstallcmds = ['chmod a+x %(installdir)s/protein_mpnn_run.py'] From 353210bcc4965c24df1c5ca3d53a33d1d9e19e0a Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 8 Jun 2024 09:26:19 +0200 Subject: [PATCH 857/889] prefer - over _ in version for ProteinMPNN --- ....eb => ProteinMPNN-1.0.1-20230627-foss-2022a-CUDA-11.7.0.eb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename easybuild/easyconfigs/p/ProteinMPNN/{ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb => ProteinMPNN-1.0.1-20230627-foss-2022a-CUDA-11.7.0.eb} (97%) diff --git a/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1-20230627-foss-2022a-CUDA-11.7.0.eb similarity index 97% rename from easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb rename to easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1-20230627-foss-2022a-CUDA-11.7.0.eb index ac2f6d1d47e..258c21fef24 100644 --- a/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1_20230627-foss-2022a-CUDA-11.7.0.eb +++ b/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1-20230627-foss-2022a-CUDA-11.7.0.eb @@ -3,7 +3,7 @@ easyblock = 'Tarball' name = 'ProteinMPNN' -version = '1.0.1_20230627' +version = '1.0.1-20230627' local_commit = '8907e6671bfbfc92303b5f79c4b5e6ce47cdef57' versionsuffix = '-CUDA-%(cudaver)s' From 1c9177d8edfa006b4502d0bbd1311dcf8f60c361 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 8 Jun 2024 10:11:36 +0200 Subject: [PATCH 858/889] bump to Z3 4.13.0 as dependency for Clang v17.0.6 --- .../c/Clang/Clang-17.0.6-GCCcore-13.2.0.eb | 2 +- .../z/Z3/Z3-4.12.5-GCCcore-13.2.0.eb | 33 ------------------- 2 files changed, 1 insertion(+), 34 deletions(-) delete mode 100644 easybuild/easyconfigs/z/Z3/Z3-4.12.5-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/c/Clang/Clang-17.0.6-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/Clang/Clang-17.0.6-GCCcore-13.2.0.eb index 57ee152e63c..1cb99d62d99 100644 --- a/easybuild/easyconfigs/c/Clang/Clang-17.0.6-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/c/Clang/Clang-17.0.6-GCCcore-13.2.0.eb @@ -39,7 +39,7 @@ dependencies = [ ('libxml2', '2.11.5'), ('ncurses', '6.4'), ('GMP', '6.3.0'), - ('Z3', '4.12.5'), + ('Z3', '4.13.0'), ] # If True, Flang does not currently support building with LLVM exceptions enabled. diff --git a/easybuild/easyconfigs/z/Z3/Z3-4.12.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/z/Z3/Z3-4.12.5-GCCcore-13.2.0.eb deleted file mode 100644 index a5fd483d2fc..00000000000 --- a/easybuild/easyconfigs/z/Z3/Z3-4.12.5-GCCcore-13.2.0.eb +++ /dev/null @@ -1,33 +0,0 @@ -easyblock = 'CMakeMake' - -name = 'Z3' -version = '4.12.5' - -homepage = 'https://github.com/Z3Prover/z3' -description = """ - Z3 is a theorem prover from Microsoft Research. -""" - -toolchain = {'name': 'GCCcore', 'version': '13.2.0'} - -source_urls = ['https://github.com/Z3Prover/z3/archive/'] -sources = [SOURCELOWER_TAR_GZ] -checksums = ['70e211e0a8e77febccc51865e45111066f623356a4ef0b527c3597362bc6db72'] - -builddependencies = [ - ('CMake', '3.27.6'), - ('binutils', '2.40'), -] - -dependencies = [ - ('GMP', '6.3.0'), -] - -configopts = '-DZ3_USE_LIB_GMP=ON -DZ3_LINK_TIME_OPTIMIZATION=ON ' - -sanity_check_paths = { - 'files': ['bin/z3', 'include/z3_api.h', 'lib/libz3.%s' % SHLIB_EXT], - 'dirs': [], -} - -moduleclass = 'tools' From 80104d93f695db569c9d44b3275027df1071afb0 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 8 Jun 2024 15:17:18 +0200 Subject: [PATCH 859/889] also use 'bash' in postinstallcmds for PLINK 2.00a3.7 w/ foss/2022a --- easybuild/easyconfigs/p/PLINK/PLINK-2.00a3.7-foss-2022a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/PLINK/PLINK-2.00a3.7-foss-2022a.eb b/easybuild/easyconfigs/p/PLINK/PLINK-2.00a3.7-foss-2022a.eb index 60ba9b0260b..6141b6cb6fe 100644 --- a/easybuild/easyconfigs/p/PLINK/PLINK-2.00a3.7-foss-2022a.eb +++ b/easybuild/easyconfigs/p/PLINK/PLINK-2.00a3.7-foss-2022a.eb @@ -48,7 +48,7 @@ components = [ ] # run tests (<1h) -postinstallcmds = ["cd Tests && sh run_tests.sh %(installdir)s/bin"] +postinstallcmds = ["cd Tests && bash run_tests.sh %(installdir)s/bin"] sanity_check_paths = { 'files': ['bin/plink', 'bin/plink2', 'bin/pgen_compress'], From 43112ec9f71f1a7f6763adbb86db851dd26c8035 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 8 Jun 2024 17:55:06 +0200 Subject: [PATCH 860/889] promote HDF5 to runtime dep for Armadillo 11.4.3 --- .../easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022b.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022b.eb b/easybuild/easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022b.eb index 58b8445639b..1be96397544 100644 --- a/easybuild/easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022b.eb +++ b/easybuild/easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022b.eb @@ -14,11 +14,11 @@ checksums = ['87603263664988af41da2ca4f36205e36ea47a9281fa6cfd463115f3797a1da2'] builddependencies = [ ('CMake', '3.24.3'), - ('HDF5', '1.14.0', '', ('gompi', '2022b')), ] dependencies = [ ('Boost', '1.81.0'), + ('HDF5', '1.14.0'), ('arpack-ng', '3.8.0'), ] From b8ec16f251be0e0206345d7b7243d320b62baedd Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 8 Jun 2024 17:58:36 +0200 Subject: [PATCH 861/889] consistently add HDF5 dependency to recent Armadillo easyconfigs --- .../easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022a.eb | 5 ++++- .../easyconfigs/a/Armadillo/Armadillo-12.6.2-foss-2023a.eb | 1 + .../easyconfigs/a/Armadillo/Armadillo-12.8.0-foss-2023b.eb | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022a.eb b/easybuild/easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022a.eb index 261ecca60bb..c8c874dba00 100644 --- a/easybuild/easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022a.eb +++ b/easybuild/easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022a.eb @@ -12,10 +12,13 @@ source_urls = ['https://sourceforge.net/projects/arma/files'] sources = [SOURCELOWER_TAR_XZ] checksums = ['87603263664988af41da2ca4f36205e36ea47a9281fa6cfd463115f3797a1da2'] -builddependencies = [('CMake', '3.24.3')] +builddependencies = [ + ('CMake', '3.24.3'), +] dependencies = [ ('Boost', '1.79.0'), + ('HDF5', '1.12.2'), ('arpack-ng', '3.8.0'), ] diff --git a/easybuild/easyconfigs/a/Armadillo/Armadillo-12.6.2-foss-2023a.eb b/easybuild/easyconfigs/a/Armadillo/Armadillo-12.6.2-foss-2023a.eb index 2ca4adac034..9b6d74fe58b 100644 --- a/easybuild/easyconfigs/a/Armadillo/Armadillo-12.6.2-foss-2023a.eb +++ b/easybuild/easyconfigs/a/Armadillo/Armadillo-12.6.2-foss-2023a.eb @@ -18,6 +18,7 @@ builddependencies = [ dependencies = [ ('Boost', '1.82.0'), + ('HDF5', '1.14.0'), ('arpack-ng', '3.9.0'), ] diff --git a/easybuild/easyconfigs/a/Armadillo/Armadillo-12.8.0-foss-2023b.eb b/easybuild/easyconfigs/a/Armadillo/Armadillo-12.8.0-foss-2023b.eb index cde4b18960c..2ca0b7de51d 100644 --- a/easybuild/easyconfigs/a/Armadillo/Armadillo-12.8.0-foss-2023b.eb +++ b/easybuild/easyconfigs/a/Armadillo/Armadillo-12.8.0-foss-2023b.eb @@ -17,6 +17,7 @@ builddependencies = [ ] dependencies = [ ('Boost', '1.83.0'), + ('HDF5', '1.14.3'), ('arpack-ng', '3.9.0'), ] From 940616f65dfb1e9fd909677005a9c548e06c3083 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 8 Jun 2024 18:46:07 +0200 Subject: [PATCH 862/889] adding easyconfigs: Nextflow-24.04.2.eb --- .../n/Nextflow/Nextflow-24.04.2.eb | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 easybuild/easyconfigs/n/Nextflow/Nextflow-24.04.2.eb diff --git a/easybuild/easyconfigs/n/Nextflow/Nextflow-24.04.2.eb b/easybuild/easyconfigs/n/Nextflow/Nextflow-24.04.2.eb new file mode 100644 index 00000000000..21a90e473cc --- /dev/null +++ b/easybuild/easyconfigs/n/Nextflow/Nextflow-24.04.2.eb @@ -0,0 +1,35 @@ +easyblock = 'Binary' + +name = 'Nextflow' +version = '24.04.2' + +homepage = 'https://www.nextflow.io/' +description = """Nextflow is a reactive workflow framework and a programming DSL + that eases writing computational pipelines with complex data""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/nextflow-io/nextflow/releases/download/v%(version)s/'] +sources = ['nextflow-%(version)s-all'] +checksums = ['1491a4efc06f0df9eed1fa6aa5a8c657435397fa99c34bf954281460e9b1c5ee'] + +dependencies = [('Java', '11')] + +install_cmds = [ + "mkdir -p %(installdir)s/bin", + "cp %(builddir)s/nextflow-%(version)s-all %(installdir)s/bin", + "cd %(installdir)s/bin && ln -s nextflow-%(version)s-all nextflow", + "cd %(installdir)s/bin && chmod +x %(installdir)s/bin/nextflow-%(version)s-all", +] + +sanity_check_paths = { + 'files': ['bin/nextflow-%(version)s-all', 'bin/nextflow'], + 'dirs': [] +} + +sanity_check_commands = [ + "nextflow -v", + "nextflow help", +] + +moduleclass = 'tools' From db1f2895631b913ef6e162e9a46bb395fe63caf0 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 10 Jun 2024 10:54:54 +0200 Subject: [PATCH 863/889] Update MDAnalysis-2.6.1-foss-2023a.eb --- .../easyconfigs/m/MDAnalysis/MDAnalysis-2.6.1-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.6.1-foss-2023a.eb b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.6.1-foss-2023a.eb index b2d9700e6ec..70d65c39a78 100644 --- a/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.6.1-foss-2023a.eb +++ b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.6.1-foss-2023a.eb @@ -16,7 +16,7 @@ dependencies = [ ('Python', '3.11.3'), ('SciPy-bundle', '2023.07'), ('matplotlib', '3.7.2'), - ('Biopython', '1.81'), + ('Biopython', '1.83'), ('networkx', '3.1'), ('tqdm', '4.66.1'), ] From 3b5dee519a20eefca335579a73854cca5c02c79d Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 10 Jun 2024 11:04:34 +0200 Subject: [PATCH 864/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index 132fa8d3080..f8d165074ea 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -29,7 +29,7 @@ dependencies = [ ('QuickFF', '2.2.7'), ('plotly.py', '5.16.0'), ('GitPython', '3.1.40'), - ('Greenlet', '2.0.2'), + ('Greenlet', '3.0.2'), ('dill', '0.3.7'), ('sympy', '1.12'), ('pymatgen', '2023.12.18'), From d6eb1ae225a60cffc9995e0e94171dd65a7c7137 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 10 Jun 2024 11:06:07 +0200 Subject: [PATCH 865/889] Delete easybuild/easyconfigs/b/Biopython/Biopython-1.81-foss-2023a.eb --- .../b/Biopython/Biopython-1.81-foss-2023a.eb | 45 ------------------- 1 file changed, 45 deletions(-) delete mode 100644 easybuild/easyconfigs/b/Biopython/Biopython-1.81-foss-2023a.eb diff --git a/easybuild/easyconfigs/b/Biopython/Biopython-1.81-foss-2023a.eb b/easybuild/easyconfigs/b/Biopython/Biopython-1.81-foss-2023a.eb deleted file mode 100644 index 081bc0e46a7..00000000000 --- a/easybuild/easyconfigs/b/Biopython/Biopython-1.81-foss-2023a.eb +++ /dev/null @@ -1,45 +0,0 @@ -## -# Author: Robert Mijakovic -## -easyblock = 'PythonPackage' - -name = 'Biopython' -version = '1.81' - -homepage = 'https://www.biopython.org' -description = """Biopython is a set of freely available tools for biological - computation written in Python by an international team of developers. It is - a distributed collaborative effort to develop Python libraries and - applications which address the needs of current and future work in - bioinformatics. """ - -toolchain = {'name': 'foss', 'version': '2023a'} - -source_urls = ['https://biopython.org/DIST'] -sources = [SOURCELOWER_TAR_GZ] -checksums = ['2cf38112b6d8415ad39d6a611988cd11fb5f33eb09346666a87263beba9614e0'] - -dependencies = [ - ('Python', '3.11.3'), - ('SciPy-bundle', '2023.07'), -] - -download_dep_fail = True -use_pip = True -sanity_pip_check = True - -# Run only tests that don't require internet connection -runtest = 'python setup.py test --offline' - -sanity_check_paths = { - 'files': [], - 'dirs': ['lib/python%(pyshortver)s/site-packages/Bio', - 'lib/python%(pyshortver)s/site-packages/BioSQL'] -} - -# extra check to ensure numpy dependency is available -sanity_check_commands = ["python -c 'import Bio.MarkovModel'"] - -options = {'modulename': 'Bio'} - -moduleclass = 'bio' From 8458dcfc586a5c1f123fbb1f51ee2d9bab60c28d Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 10 Jun 2024 11:34:52 +0200 Subject: [PATCH 866/889] Update PyTables-3.8.0-foss-2023a.eb --- easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2023a.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2023a.eb b/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2023a.eb index aa0f5688a79..71c5a28ec59 100644 --- a/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2023a.eb +++ b/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2023a.eb @@ -47,11 +47,11 @@ exts_list = [ }), ('tables', version, { 'patches': [ - 'PyTables-3.8.0_fix-libs.patch', + 'PyTables-%(version)s_fix-libs.patch', 'PyTables-3.8.0_fix-find-blosc2-library-path.patch', ], 'checksums': [ - {'tables-%(version)s.tar.gz': '34f3fa2366ce20b18f1df573a77c1d27306ce1f2a41d9f9eff621b5192ea8788'}, + {'tables-3.8.0.tar.gz': '34f3fa2366ce20b18f1df573a77c1d27306ce1f2a41d9f9eff621b5192ea8788'}, {'PyTables-3.8.0_fix-libs.patch': '7a1e6fa1f9169e52293e2b433a4302fa13c5d31e7709cd4fe0e087199b9e3f8a'}, {'PyTables-3.8.0_fix-find-blosc2-library-path.patch': 'dcf6c3a16a138454296161e99cf6470620755d4c26303186a744f09a11e6013b'}, From e1adbd5fe70ec7c41daab2dd936a620763a3da44 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 10 Jun 2024 11:35:52 +0200 Subject: [PATCH 867/889] Update pyiron-0.5.1-foss-2023a.eb moved Pint to deps --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index f8d165074ea..a72a5a05f2d 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -33,16 +33,13 @@ dependencies = [ ('dill', '0.3.7'), ('sympy', '1.12'), ('pymatgen', '2023.12.18'), + ('Pint', '0.23') ] check_ldshared = True use_pip = True exts_list = [ - ('pint', '0.23', { - 'source_tmpl': 'Pint-%(version)s.tar.gz', - 'checksums': ['e1509b91606dbc52527c600a4ef74ffac12fff70688aff20e9072409346ec9b4'], - }), ('h5io', '0.1.2', { 'checksums': ['6400543224c489f1cf487be551f892310fa7060fcd4935b84e515efdc1e1fa43'], }), From 45e7f441030c1fe4b029d555920b02ec26f5d9ce Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 10 Jun 2024 11:39:16 +0200 Subject: [PATCH 868/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index a72a5a05f2d..cd40acaf347 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -29,11 +29,11 @@ dependencies = [ ('QuickFF', '2.2.7'), ('plotly.py', '5.16.0'), ('GitPython', '3.1.40'), - ('Greenlet', '3.0.2'), ('dill', '0.3.7'), ('sympy', '1.12'), ('pymatgen', '2023.12.18'), - ('Pint', '0.23') + ('Pint', '0.23'), + ('SQLAlchemy', '2.0.25') ] check_ldshared = True @@ -49,9 +49,6 @@ exts_list = [ ('pysqa', '0.1.7', { 'checksums': ['fdc37e0178649750e7386b4e9b8287693ee2d47559723c11b9ad42afcfc55900'], }), - ('SQLAlchemy', '2.0.23', { - 'checksums': ['c1bda93cbbe4aa2aa0aa8655c5aeda505cd219ff3e8da91d1d329e143e4aff69'], - }), ('pyfiglet', '0.8.post1', { 'checksums': ['c6c2321755d09267b438ec7b936825a4910fec696292139e664ca8670e103639'], }), From 5a8c4f66a50ef019b32c143af289a52ecbbf78b8 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 10 Jun 2024 11:44:38 +0200 Subject: [PATCH 869/889] Update pyiron-0.5.1-foss-2023a.eb checksum fix --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index cd40acaf347..a64e050dad3 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -96,7 +96,7 @@ exts_list = [ 'patches': ['pyiron-0.5.1_fix-pylammpsmpi.patch'], 'source_urls': ['https://github.com/pyiron/pylammpsmpi/archive/refs/tags/'], 'checksums': [ - {'pylammpsmpi-0.2.10.tar.gz': 'bd5af29a935dacbee743c3cc0bcc799e24e7c2483801f56cb9092a79f016f2ed'}, + {'pylammpsmpi-0.2.10.tar.gz': '0e74b7ccfdb5550308ac3462cd02d1fd30d99472552271d17da0b00ba754281c'}, {'pyiron-0.5.1_fix-pylammpsmpi.patch': 'd7cacf8eb73cb43e47526bfa3f98157073c01cd88918f191f87d7e75ab4c7c30'}, ], From 644a18a35b0e0049eec4f16204dfe3cc6e7a6b4d Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 10 Jun 2024 12:29:46 +0200 Subject: [PATCH 870/889] Delete easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.6.1-foss-2023a.eb --- .../MDAnalysis/MDAnalysis-2.6.1-foss-2023a.eb | 57 ------------------- 1 file changed, 57 deletions(-) delete mode 100644 easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.6.1-foss-2023a.eb diff --git a/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.6.1-foss-2023a.eb b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.6.1-foss-2023a.eb deleted file mode 100644 index 70d65c39a78..00000000000 --- a/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.6.1-foss-2023a.eb +++ /dev/null @@ -1,57 +0,0 @@ -## -# Author: Robert Mijakovic -## -easyblock = 'PythonBundle' - -name = 'MDAnalysis' -version = '2.6.1' - -homepage = 'https://www.mdanalysis.org/' -description = """MDAnalysis is an object-oriented Python library to analyze trajectories from molecular dynamics (MD) -simulations in many popular formats.""" - -toolchain = {'name': 'foss', 'version': '2023a'} - -dependencies = [ - ('Python', '3.11.3'), - ('SciPy-bundle', '2023.07'), - ('matplotlib', '3.7.2'), - ('Biopython', '1.83'), - ('networkx', '3.1'), - ('tqdm', '4.66.1'), -] - -use_pip = True -sanity_pip_check = True - -exts_list = [ - ('mrcfile', '1.4.3', { - 'checksums': ['43c358c59ff8f583fc4dc2079a0099028719109ebf92066e388772bab389c5f5'], - }), - ('GridDataFormats', '1.0.1', { - 'modulename': 'gridData', - 'checksums': ['ad2c9ab7d672a6d8c426de7d083eee4f3e2b0bd59391675d30683c768ab83cc4'], - }), - ('gsd', '2.8.0', { - 'checksums': ['f2b031a26a7a5bee5f3940dc2f36c5a5b6670307b297c526adf2e26c1f5b46ae'], - }), - ('msgpack', '1.0.5', { - 'checksums': ['c075544284eadc5cddc70f4757331d99dcbc16b2bbd4849d15f8aae4cf36d31c'], - }), - ('mmtf-python', '1.1.3', { - 'modulename': 'mmtf', - 'checksums': ['12a02fe1b7131f0a2b8ce45b46f1e0cdd28b9818fe4499554c26884987ea0c32'], - }), - ('funcsigs', '1.0.2', { - 'checksums': ['a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50'], - }), - ('fasteners', '0.18', { - 'checksums': ['cb7c13ef91e0c7e4fe4af38ecaf6b904ec3f5ce0dda06d34924b6b74b869d953'], - }), - (name, version, { - 'modulename': 'MDAnalysis', - 'checksums': ['9cc69b94bddd026f26ffcaf5bdbed6d568c1c10e19a341d84f8d37a2a70222f2'], - }), -] - -moduleclass = 'bio' From de072e25725b83b169c72c98f9b9c9c252fae10c Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 10 Jun 2024 12:30:17 +0200 Subject: [PATCH 871/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index a64e050dad3..db51bc7847e 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -20,7 +20,7 @@ dependencies = [ ('phonopy', '2.20.0'), ('ASE', '3.22.1'), ('PyTables', '3.8.0'), - ('nglview', '3.0.8'), + ('nglview', '3.1.2'), ('tqdm', '4.66.1'), ('molmod', '1.4.8'), ('scikit-learn', '1.3.1'), From 00183327a05591a913cc92c374b19255abf3e0d2 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 10 Jun 2024 12:30:29 +0200 Subject: [PATCH 872/889] Delete easybuild/easyconfigs/n/nglview/nglview-3.0.8-foss-2023a.eb --- .../n/nglview/nglview-3.0.8-foss-2023a.eb | 38 ------------------- 1 file changed, 38 deletions(-) delete mode 100644 easybuild/easyconfigs/n/nglview/nglview-3.0.8-foss-2023a.eb diff --git a/easybuild/easyconfigs/n/nglview/nglview-3.0.8-foss-2023a.eb b/easybuild/easyconfigs/n/nglview/nglview-3.0.8-foss-2023a.eb deleted file mode 100644 index b96adf11bdc..00000000000 --- a/easybuild/easyconfigs/n/nglview/nglview-3.0.8-foss-2023a.eb +++ /dev/null @@ -1,38 +0,0 @@ -easyblock = 'PythonPackage' - -name = 'nglview' -version = '3.0.8' - -homepage = 'https://github.com/arose/nglview' -description = "IPython widget to interactively view molecular structures and trajectories." - -toolchain = {'name': 'foss', 'version': '2023a'} - -dependencies = [ - ('Python', '3.11.3'), - ('SciPy-bundle', '2023.07'), - ('JupyterLab', '4.0.5'), - ('nodejs', '18.17.1'), - ('MDAnalysis', '2.6.1'), # optional -] - -sources = [SOURCE_TAR_GZ] -checksums = ['f9e468cd813dac319cbeca6ae20ae099008ff3a06399f5d23d75582dde28623a'] - -use_pip = True -download_dep_fail = True -sanity_pip_check = True - -use_pip_extras = 'MDAnalysis' - -sanity_check_paths = { - 'files': ['bin/nglview'], - 'dirs': ['lib/python%(pyshortver)s/site-packages'], -} - -modextrapaths = { - 'JUPYTER_PATH': 'share/jupyter', - 'JUPYTER_CONFIG_PATH': 'etc/jupyter', -} - -moduleclass = 'chem' From 5c88b27faa0a9730c1fe432dd3dee9433c262f36 Mon Sep 17 00:00:00 2001 From: Leonard Nielsen <55690238+lcniel@users.noreply.github.com> Date: Mon, 10 Jun 2024 12:55:10 +0200 Subject: [PATCH 873/889] Update TAMkin-1.2.6-foss-2023a.eb --- easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2023a.eb b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2023a.eb index 08b8a8ddb8f..b3b40928643 100644 --- a/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2023a.eb +++ b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2023a.eb @@ -26,7 +26,7 @@ dependencies = [ ('Python', '3.11.3'), ('matplotlib', '3.7.2'), ('molmod', '1.4.8'), - ('nose3', '1.3.8') + ('nose3', '1.3.8'), ] download_dep_fail = True From 611453f9e71e81895c05b7baf0fa625403556bc8 Mon Sep 17 00:00:00 2001 From: ocaisa Date: Mon, 10 Jun 2024 13:03:07 +0200 Subject: [PATCH 874/889] Update easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb Co-authored-by: Alexander Grund --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index db51bc7847e..48cbc1fc346 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -33,7 +33,7 @@ dependencies = [ ('sympy', '1.12'), ('pymatgen', '2023.12.18'), ('Pint', '0.23'), - ('SQLAlchemy', '2.0.25') + ('SQLAlchemy', '2.0.25'), ] check_ldshared = True From 1775912a1d36101d560e1355967732b07e82cd24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Mon, 10 Jun 2024 13:05:52 +0200 Subject: [PATCH 875/889] remove --with-m64 from BLAST+ configopts --- easybuild/easyconfigs/b/BLAST+/BLAST+-2.13.0-gompi-2022a.eb | 2 +- easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.0-gompi-2022b.eb | 2 +- easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.1-gompi-2023a.eb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.13.0-gompi-2022a.eb b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.13.0-gompi-2022a.eb index 6e288488900..4e9e9d4d83e 100644 --- a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.13.0-gompi-2022a.eb +++ b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.13.0-gompi-2022a.eb @@ -43,7 +43,7 @@ dependencies = [ # remove line that prepends system paths to $PATH from configure script preconfigopts = r'sed -i "s|^PATH=\(.*\)$|#PATH=\1 |" %(start_dir)s/src/build-system/configure && ' -configopts = "--with-64 --with-z=$EBROOTZLIB --with-bz2=$EBROOTBZIP2 " +configopts = "--with-z=$EBROOTZLIB --with-bz2=$EBROOTBZIP2 " configopts += "--with-pcre=$EBROOTPCRE --with-boost=$EBROOTBOOST " configopts += "--with-gmp=$EBROOTGMP --with-png=$EBROOTLIBPNG " configopts += "--with-jpeg=$EBROOTLIBJPEGMINTURBO --with-lmdb=$EBROOTLMDB" diff --git a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.0-gompi-2022b.eb b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.0-gompi-2022b.eb index 0733a8e3e70..a4033efcdde 100644 --- a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.0-gompi-2022b.eb +++ b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.0-gompi-2022b.eb @@ -43,7 +43,7 @@ dependencies = [ # remove line that prepends system paths to $PATH from configure script preconfigopts = r'sed -i "s|^PATH=\(.*\)$|#PATH=\1 |" %(start_dir)s/src/build-system/configure && ' -configopts = "--with-64 --with-z=$EBROOTZLIB --with-bz2=$EBROOTBZIP2 " +configopts = "--with-z=$EBROOTZLIB --with-bz2=$EBROOTBZIP2 " configopts += "--with-pcre=$EBROOTPCRE --with-boost=$EBROOTBOOST " configopts += "--with-gmp=$EBROOTGMP --with-png=$EBROOTLIBPNG " configopts += "--with-jpeg=$EBROOTLIBJPEGMINTURBO --with-lmdb=$EBROOTLMDB" diff --git a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.1-gompi-2023a.eb b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.1-gompi-2023a.eb index 02971854e19..844a9854825 100644 --- a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.1-gompi-2023a.eb +++ b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.1-gompi-2023a.eb @@ -43,7 +43,7 @@ dependencies = [ # remove line that prepends system paths to $PATH from configure script preconfigopts = r'sed -i "s|^PATH=\(.*\)$|#PATH=\1 |" %(start_dir)s/src/build-system/configure && ' -configopts = "--with-64 --with-z=$EBROOTZLIB --with-bz2=$EBROOTBZIP2 " +configopts = "--with-z=$EBROOTZLIB --with-bz2=$EBROOTBZIP2 " configopts += "--with-pcre=$EBROOTPCRE --with-boost=$EBROOTBOOST " configopts += "--with-gmp=$EBROOTGMP --with-png=$EBROOTLIBPNG " configopts += "--with-jpeg=$EBROOTLIBJPEGMINTURBO --with-lmdb=$EBROOTLMDB" From 27bd9835fcf6c4e677d17180d985e4a9aaf1033c Mon Sep 17 00:00:00 2001 From: ocaisa Date: Mon, 10 Jun 2024 13:14:05 +0200 Subject: [PATCH 876/889] Update easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index 48cbc1fc346..092094034b2 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -96,7 +96,7 @@ exts_list = [ 'patches': ['pyiron-0.5.1_fix-pylammpsmpi.patch'], 'source_urls': ['https://github.com/pyiron/pylammpsmpi/archive/refs/tags/'], 'checksums': [ - {'pylammpsmpi-0.2.10.tar.gz': '0e74b7ccfdb5550308ac3462cd02d1fd30d99472552271d17da0b00ba754281c'}, + {%(name)s-%(version)s.tar.gz': 'bd5af29a935dacbee743c3cc0bcc799e24e7c2483801f56cb9092a79f016f2ed'}, {'pyiron-0.5.1_fix-pylammpsmpi.patch': 'd7cacf8eb73cb43e47526bfa3f98157073c01cd88918f191f87d7e75ab4c7c30'}, ], From e00ee944498a1bdb43104fe8678589f1b04f3fa6 Mon Sep 17 00:00:00 2001 From: ocaisa Date: Mon, 10 Jun 2024 13:16:54 +0200 Subject: [PATCH 877/889] Update pyiron-0.5.1-foss-2023a.eb --- easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb index 092094034b2..79469b4b140 100644 --- a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -96,7 +96,7 @@ exts_list = [ 'patches': ['pyiron-0.5.1_fix-pylammpsmpi.patch'], 'source_urls': ['https://github.com/pyiron/pylammpsmpi/archive/refs/tags/'], 'checksums': [ - {%(name)s-%(version)s.tar.gz': 'bd5af29a935dacbee743c3cc0bcc799e24e7c2483801f56cb9092a79f016f2ed'}, + {'%(name)s-%(version)s.tar.gz': 'bd5af29a935dacbee743c3cc0bcc799e24e7c2483801f56cb9092a79f016f2ed'}, {'pyiron-0.5.1_fix-pylammpsmpi.patch': 'd7cacf8eb73cb43e47526bfa3f98157073c01cd88918f191f87d7e75ab4c7c30'}, ], From 22e5b10447946240a5c2f4cd75b7e9ac509e4395 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Mon, 10 Jun 2024 13:35:31 +0200 Subject: [PATCH 878/889] adding easyconfigs: adjustText-1.1.1-foss-2023a.eb --- .../adjustText/adjustText-1.1.1-foss-2023a.eb | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 easybuild/easyconfigs/a/adjustText/adjustText-1.1.1-foss-2023a.eb diff --git a/easybuild/easyconfigs/a/adjustText/adjustText-1.1.1-foss-2023a.eb b/easybuild/easyconfigs/a/adjustText/adjustText-1.1.1-foss-2023a.eb new file mode 100644 index 00000000000..f109d19d3aa --- /dev/null +++ b/easybuild/easyconfigs/a/adjustText/adjustText-1.1.1-foss-2023a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonBundle' + +name = 'adjustText' +version = '1.1.1' + +homepage = 'https://github.com/Phlya/adjustText' +description = "A small library for automatically adjustment of text position in matplotlib plots to minimize overlaps." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('matplotlib', '3.7.2'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'modulename': 'adjustText', + 'checksums': ['e2c0975ef2c642478e60f4c03c5e9afbdeda7764336907ef69a9205bfa2d9896'], + }), +] + +moduleclass = 'tools' From 1a3113e7d9555d4724565944f87cd71751018f80 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Mon, 10 Jun 2024 16:14:44 +0200 Subject: [PATCH 879/889] adding easyconfigs: currentNe-1.0.0-GCCcore-12.3.0.eb --- .../currentNe-1.0.0-GCCcore-12.3.0.eb | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 easybuild/easyconfigs/c/currentNe/currentNe-1.0.0-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/c/currentNe/currentNe-1.0.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/currentNe/currentNe-1.0.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b922e470438 --- /dev/null +++ b/easybuild/easyconfigs/c/currentNe/currentNe-1.0.0-GCCcore-12.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'currentNe' +version = '1.0.0' +local_commit = '37daed5' + +homepage = 'https://github.com/esrud/currentNe' +description = """Estimation of current effective population using artificial neural networks.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'esrud' +source_urls = [GITHUB_SOURCE] +sources = [{ + "download_filename": "%s.tar.gz" % local_commit, + "filename": "%(name)s-%(version)s.tar.gz" +}] +checksums = ['77aab8e7403b726b30f34474d3177a3b118afb4b0dc57636dc0b2b93274c6bca'] + +builddependencies = [('make', '4.4.1')] + +files_to_copy = [ + 'lib', + (['currentNe.cpp'], 'lib'), + (['currentNe'], 'bin'), +] + +sanity_check_commands = ['currentNe -h 2>&1 | grep "USAGE"'] + +moduleclass = 'bio' From d7edb943b1ae0511f3f42b3445bf0646b2aceeb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Mon, 10 Jun 2024 16:29:00 +0200 Subject: [PATCH 880/889] adding easyconfigs: Valgrind-3.23.0-gompi-2023b.eb --- .../v/Valgrind/Valgrind-3.23.0-gompi-2023b.eb | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 easybuild/easyconfigs/v/Valgrind/Valgrind-3.23.0-gompi-2023b.eb diff --git a/easybuild/easyconfigs/v/Valgrind/Valgrind-3.23.0-gompi-2023b.eb b/easybuild/easyconfigs/v/Valgrind/Valgrind-3.23.0-gompi-2023b.eb new file mode 100644 index 00000000000..9418b3b98aa --- /dev/null +++ b/easybuild/easyconfigs/v/Valgrind/Valgrind-3.23.0-gompi-2023b.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'Valgrind' +version = '3.23.0' + +homepage = 'https://valgrind.org' +description = "Valgrind: Debugging and profiling tools" + +toolchain = {'name': 'gompi', 'version': '2023b'} +toolchainopts = {'optarch': True} + +source_urls = [ + 'https://sourceware.org/pub/valgrind/', + 'https://www.mirrorservice.org/sites/sourceware.org/pub/valgrind/', +] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['c5c34a3380457b9b75606df890102e7df2c702b9420c2ebef9540f8b5d56264d'] + +configopts = ' --with-mpicc="$MPICC"' + +local_binaries = [ + 'callgrind_annotate', 'callgrind_control', 'cg_annotate', 'cg_diff', + 'cg_merge', 'ms_print', 'valgrind', 'valgrind-listener', 'vgdb' +] +local_archs = ('amd64', 'arm64', 'ppc64le') + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries] + + [['lib/valgrind/libmpiwrap-%s-linux.%s' % (a, SHLIB_EXT) for a in local_archs]], + 'dirs': [] +} + +moduleclass = 'debugger' From 84d38866cc1ec64081d3f22df93d75947ec578f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Mon, 10 Jun 2024 16:34:29 +0200 Subject: [PATCH 881/889] add a sanity check command --- .../easyconfigs/v/Valgrind/Valgrind-3.23.0-gompi-2023b.eb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/easybuild/easyconfigs/v/Valgrind/Valgrind-3.23.0-gompi-2023b.eb b/easybuild/easyconfigs/v/Valgrind/Valgrind-3.23.0-gompi-2023b.eb index 9418b3b98aa..e46eb0a14ac 100644 --- a/easybuild/easyconfigs/v/Valgrind/Valgrind-3.23.0-gompi-2023b.eb +++ b/easybuild/easyconfigs/v/Valgrind/Valgrind-3.23.0-gompi-2023b.eb @@ -30,4 +30,8 @@ sanity_check_paths = { 'dirs': [] } +sanity_check_commands = [ + 'valgrind --help', +] + moduleclass = 'debugger' From 9719e8421a9e6902c9a4fab25bd4982cde6e4147 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Mon, 10 Jun 2024 16:59:21 +0200 Subject: [PATCH 882/889] add some more sanity check commands (for the Python and Perl scripts) --- .../v/Valgrind/Valgrind-3.23.0-gompi-2023b.eb | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/easybuild/easyconfigs/v/Valgrind/Valgrind-3.23.0-gompi-2023b.eb b/easybuild/easyconfigs/v/Valgrind/Valgrind-3.23.0-gompi-2023b.eb index e46eb0a14ac..c0874657c57 100644 --- a/easybuild/easyconfigs/v/Valgrind/Valgrind-3.23.0-gompi-2023b.eb +++ b/easybuild/easyconfigs/v/Valgrind/Valgrind-3.23.0-gompi-2023b.eb @@ -16,6 +16,11 @@ source_urls = [ sources = [SOURCELOWER_TAR_BZ2] checksums = ['c5c34a3380457b9b75606df890102e7df2c702b9420c2ebef9540f8b5d56264d'] +dependencies = [ + ('Perl', '5.38.0'), + ('Python', '3.11.5'), +] + configopts = ' --with-mpicc="$MPICC"' local_binaries = [ @@ -31,7 +36,11 @@ sanity_check_paths = { } sanity_check_commands = [ + 'callgrind_annotate --version 2>&1 | grep "%(version)s"', + 'cg_annotate --help', + 'ms_print --version 2>&1 | grep "%(version)s"', 'valgrind --help', + 'vgdb --help', ] moduleclass = 'debugger' From a8a5f32c79c2e3895608293d19ce219112b95a29 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Mon, 10 Jun 2024 17:04:16 +0200 Subject: [PATCH 883/889] add sanity_check_paths --- .../c/currentNe/currentNe-1.0.0-GCCcore-12.3.0.eb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/c/currentNe/currentNe-1.0.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/currentNe/currentNe-1.0.0-GCCcore-12.3.0.eb index b922e470438..3bf99fddbf4 100644 --- a/easybuild/easyconfigs/c/currentNe/currentNe-1.0.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/c/currentNe/currentNe-1.0.0-GCCcore-12.3.0.eb @@ -13,7 +13,7 @@ github_account = 'esrud' source_urls = [GITHUB_SOURCE] sources = [{ "download_filename": "%s.tar.gz" % local_commit, - "filename": "%(name)s-%(version)s.tar.gz" + "filename": "%(name)s-%(version)s.tar.gz", }] checksums = ['77aab8e7403b726b30f34474d3177a3b118afb4b0dc57636dc0b2b93274c6bca'] @@ -25,6 +25,11 @@ files_to_copy = [ (['currentNe'], 'bin'), ] +sanity_check_paths = { + 'files': ['lib/currentNe.cpp'], + 'dirs': ['bin', 'lib'] +} + sanity_check_commands = ['currentNe -h 2>&1 | grep "USAGE"'] moduleclass = 'bio' From d3247d3041e1903c3ad6aaa877d52251f7852d99 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Mon, 10 Jun 2024 17:34:15 +0200 Subject: [PATCH 884/889] add binutils to builddeps --- .../c/currentNe/currentNe-1.0.0-GCCcore-12.3.0.eb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/c/currentNe/currentNe-1.0.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/currentNe/currentNe-1.0.0-GCCcore-12.3.0.eb index 3bf99fddbf4..d90b8442fa5 100644 --- a/easybuild/easyconfigs/c/currentNe/currentNe-1.0.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/c/currentNe/currentNe-1.0.0-GCCcore-12.3.0.eb @@ -17,7 +17,10 @@ sources = [{ }] checksums = ['77aab8e7403b726b30f34474d3177a3b118afb4b0dc57636dc0b2b93274c6bca'] -builddependencies = [('make', '4.4.1')] +builddependencies = [ + ('binutils', '2.40'), + ('make', '4.4.1'), +] files_to_copy = [ 'lib', From 1c85e9c4df5f4a5df4751d5baabcadb3722ba053 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 10 Jun 2024 18:02:15 +0200 Subject: [PATCH 885/889] comment out PSM2 dependency in recent libfabric easyconfigs --- .../l/libfabric/libfabric-1.12.1-GCCcore-10.3.0.eb | 4 +++- .../l/libfabric/libfabric-1.13.0-GCCcore-11.2.0.eb | 4 +++- .../l/libfabric/libfabric-1.13.1-GCCcore-11.2.0.eb | 4 +++- .../l/libfabric/libfabric-1.13.2-GCCcore-11.2.0.eb | 4 +++- .../l/libfabric/libfabric-1.15.1-GCCcore-11.3.0.eb | 4 +++- .../l/libfabric/libfabric-1.16.1-GCCcore-12.2.0.eb | 4 +++- .../l/libfabric/libfabric-1.18.0-GCCcore-12.3.0.eb | 4 +++- .../l/libfabric/libfabric-1.19.0-GCCcore-13.2.0.eb | 4 +++- .../l/libfabric/libfabric-1.21.0-GCCcore-13.3.0.eb | 4 +++- 9 files changed, 27 insertions(+), 9 deletions(-) diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.12.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.12.1-GCCcore-10.3.0.eb index d6b9ee2d4d0..5a302fa1b83 100644 --- a/easybuild/easyconfigs/l/libfabric/libfabric-1.12.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.12.1-GCCcore-10.3.0.eb @@ -43,8 +43,10 @@ builddependencies = [ dependencies = [ ('numactl', '2.0.14'), + # PSM2 dependency for libfabric should be used on Omnipath systems, + # but that PSM2 has CUDA as dependency so it's commented out by default; # PSM2 only compiles on x86_64 - ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), + # ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), ] osdependencies = [OS_PKG_IBVERBS_DEV] diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.13.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.13.0-GCCcore-11.2.0.eb index 14f9ebd2d66..35245b93a33 100644 --- a/easybuild/easyconfigs/l/libfabric/libfabric-1.13.0-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.13.0-GCCcore-11.2.0.eb @@ -37,8 +37,10 @@ builddependencies = [ dependencies = [ ('numactl', '2.0.14'), + # PSM2 dependency for libfabric should be used on Omnipath systems, + # but that PSM2 has CUDA as dependency so it's commented out by default; # PSM2 only compiles on x86_64 - ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), + # ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), ] osdependencies = [OS_PKG_IBVERBS_DEV] diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.13.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.13.1-GCCcore-11.2.0.eb index 201bf1174aa..c6011eea6ec 100644 --- a/easybuild/easyconfigs/l/libfabric/libfabric-1.13.1-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.13.1-GCCcore-11.2.0.eb @@ -37,8 +37,10 @@ builddependencies = [ dependencies = [ ('numactl', '2.0.14'), + # PSM2 dependency for libfabric should be used on Omnipath systems, + # but that PSM2 has CUDA as dependency so it's commented out by default; # PSM2 only compiles on x86_64 - ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), + # ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), ] osdependencies = [OS_PKG_IBVERBS_DEV] diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.13.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.13.2-GCCcore-11.2.0.eb index 019d41c069e..14531d3108d 100644 --- a/easybuild/easyconfigs/l/libfabric/libfabric-1.13.2-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.13.2-GCCcore-11.2.0.eb @@ -37,8 +37,10 @@ builddependencies = [ dependencies = [ ('numactl', '2.0.14'), + # PSM2 dependency for libfabric should be used on Omnipath systems, + # but that PSM2 has CUDA as dependency so it's commented out by default; # PSM2 only compiles on x86_64 - ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), + # ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), ] osdependencies = [OS_PKG_IBVERBS_DEV] diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.15.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.15.1-GCCcore-11.3.0.eb index f25fb5b5f99..6c50cdb4a4b 100644 --- a/easybuild/easyconfigs/l/libfabric/libfabric-1.15.1-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.15.1-GCCcore-11.3.0.eb @@ -37,8 +37,10 @@ builddependencies = [ dependencies = [ ('numactl', '2.0.14'), + # PSM2 dependency for libfabric should be used on Omnipath systems, + # but that PSM2 has CUDA as dependency so it's commented out by default; # PSM2 only compiles on x86_64 - ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), + # ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), ] osdependencies = [OS_PKG_IBVERBS_DEV] diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.16.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.16.1-GCCcore-12.2.0.eb index fc8aec7b0ca..31c4ac02fac 100644 --- a/easybuild/easyconfigs/l/libfabric/libfabric-1.16.1-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.16.1-GCCcore-12.2.0.eb @@ -34,8 +34,10 @@ builddependencies = [ dependencies = [ ('numactl', '2.0.16'), + # PSM2 dependency for libfabric should be used on Omnipath systems, + # but that PSM2 has CUDA as dependency so it's commented out by default; # PSM2 only compiles on x86_64 - ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), + # ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), ] osdependencies = [OS_PKG_IBVERBS_DEV] diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.18.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.18.0-GCCcore-12.3.0.eb index 5ed720b072e..c1fa6c1cebb 100644 --- a/easybuild/easyconfigs/l/libfabric/libfabric-1.18.0-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.18.0-GCCcore-12.3.0.eb @@ -34,8 +34,10 @@ builddependencies = [ dependencies = [ ('numactl', '2.0.16'), + # PSM2 dependency for libfabric should be used on Omnipath systems, + # but that PSM2 has CUDA as dependency so it's commented out by default; # PSM2 only compiles on x86_64 - ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), + # ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), ] osdependencies = [OS_PKG_IBVERBS_DEV] diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.19.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.19.0-GCCcore-13.2.0.eb index 24f37e05aaa..5d80c15a258 100644 --- a/easybuild/easyconfigs/l/libfabric/libfabric-1.19.0-GCCcore-13.2.0.eb +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.19.0-GCCcore-13.2.0.eb @@ -34,8 +34,10 @@ builddependencies = [ dependencies = [ ('numactl', '2.0.16'), + # PSM2 dependency for libfabric should be used on Omnipath systems, + # but that PSM2 has CUDA as dependency so it's commented out by default; # PSM2 only compiles on x86_64 - ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), + # ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), ] osdependencies = [OS_PKG_IBVERBS_DEV] diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.21.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.21.0-GCCcore-13.3.0.eb index 812a66d1fc6..04757a82748 100644 --- a/easybuild/easyconfigs/l/libfabric/libfabric-1.21.0-GCCcore-13.3.0.eb +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.21.0-GCCcore-13.3.0.eb @@ -29,8 +29,10 @@ builddependencies = [ dependencies = [ ('numactl', '2.0.18'), + # PSM2 dependency for libfabric should be used on Omnipath systems, + # but that PSM2 has CUDA as dependency so it's commented out by default; # PSM2 only compiles on x86_64 - ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), + # ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), ] osdependencies = [OS_PKG_IBVERBS_DEV] From 2c3eceb5fe32535b699c3b9061d7dfbbb6d13964 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 10 Jun 2024 19:40:39 +0200 Subject: [PATCH 886/889] add patch to fix build of pdsh 2.34 with Slurm 23.x --- .../p/pdsh/pdsh-2.34-GCCcore-11.3.0.eb | 6 ++++- .../p/pdsh/pdsh-2.34-GCCcore-12.2.0.eb | 6 ++++- .../p/pdsh/pdsh-2.34-GCCcore-12.3.0.eb | 6 ++++- .../p/pdsh/pdsh-2.34_fix-slurm-23.x.patch | 22 +++++++++++++++++++ 4 files changed, 37 insertions(+), 3 deletions(-) create mode 100644 easybuild/easyconfigs/p/pdsh/pdsh-2.34_fix-slurm-23.x.patch diff --git a/easybuild/easyconfigs/p/pdsh/pdsh-2.34-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pdsh/pdsh-2.34-GCCcore-11.3.0.eb index 2ad121fa5b7..514caad6711 100644 --- a/easybuild/easyconfigs/p/pdsh/pdsh-2.34-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/p/pdsh/pdsh-2.34-GCCcore-11.3.0.eb @@ -10,7 +10,11 @@ toolchain = {'name': 'GCCcore', 'version': '11.3.0'} source_urls = ['https://github.com/chaos/pdsh/releases/download/pdsh-%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['b47b3e4662736ef44b6fe86e3d380f95e591863e69163aa0592e9f9f618521e9'] +patches = ['pdsh-2.34_fix-slurm-23.x.patch'] +checksums = [ + {'pdsh-2.34.tar.gz': 'b47b3e4662736ef44b6fe86e3d380f95e591863e69163aa0592e9f9f618521e9'}, + {'pdsh-2.34_fix-slurm-23.x.patch': 'cba3a60f5cbc2ca6dc32cda16998c43818f740c0998aba201dfbe334349e60b9'}, +] builddependencies = [ ('binutils', '2.38'), diff --git a/easybuild/easyconfigs/p/pdsh/pdsh-2.34-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/pdsh/pdsh-2.34-GCCcore-12.2.0.eb index 1b8e1f8ed55..eb35068da2a 100644 --- a/easybuild/easyconfigs/p/pdsh/pdsh-2.34-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/p/pdsh/pdsh-2.34-GCCcore-12.2.0.eb @@ -10,7 +10,11 @@ toolchain = {'name': 'GCCcore', 'version': '12.2.0'} source_urls = ['https://github.com/chaos/pdsh/releases/download/pdsh-%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['b47b3e4662736ef44b6fe86e3d380f95e591863e69163aa0592e9f9f618521e9'] +patches = ['pdsh-2.34_fix-slurm-23.x.patch'] +checksums = [ + {'pdsh-2.34.tar.gz': 'b47b3e4662736ef44b6fe86e3d380f95e591863e69163aa0592e9f9f618521e9'}, + {'pdsh-2.34_fix-slurm-23.x.patch': 'cba3a60f5cbc2ca6dc32cda16998c43818f740c0998aba201dfbe334349e60b9'}, +] builddependencies = [ ('binutils', '2.39'), diff --git a/easybuild/easyconfigs/p/pdsh/pdsh-2.34-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pdsh/pdsh-2.34-GCCcore-12.3.0.eb index 75dde8cd89c..90ebe848ded 100644 --- a/easybuild/easyconfigs/p/pdsh/pdsh-2.34-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/pdsh/pdsh-2.34-GCCcore-12.3.0.eb @@ -10,7 +10,11 @@ toolchain = {'name': 'GCCcore', 'version': '12.3.0'} source_urls = ['https://github.com/chaos/pdsh/releases/download/pdsh-%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['b47b3e4662736ef44b6fe86e3d380f95e591863e69163aa0592e9f9f618521e9'] +patches = ['pdsh-2.34_fix-slurm-23.x.patch'] +checksums = [ + {'pdsh-2.34.tar.gz': 'b47b3e4662736ef44b6fe86e3d380f95e591863e69163aa0592e9f9f618521e9'}, + {'pdsh-2.34_fix-slurm-23.x.patch': 'cba3a60f5cbc2ca6dc32cda16998c43818f740c0998aba201dfbe334349e60b9'}, +] builddependencies = [ ('binutils', '2.40'), diff --git a/easybuild/easyconfigs/p/pdsh/pdsh-2.34_fix-slurm-23.x.patch b/easybuild/easyconfigs/p/pdsh/pdsh-2.34_fix-slurm-23.x.patch new file mode 100644 index 00000000000..1889f83a15b --- /dev/null +++ b/easybuild/easyconfigs/p/pdsh/pdsh-2.34_fix-slurm-23.x.patch @@ -0,0 +1,22 @@ +see https://github.com/chaos/pdsh/issues/152 + https://github.com/chaos/pdsh/pull/153 +diff --git a/src/modules/slurm.c b/src/modules/slurm.c +index 5594c4f..c227337 100644 +--- a/src/modules/slurm.c ++++ b/src/modules/slurm.c +@@ -50,6 +50,16 @@ + * with our internal List datatype. + */ + #define __list_datatypes_defined 1 ++/* ++ * Also, Slurm>=23.x requires that `struct xlist` be typedef'd to list_t: ++ */ ++typedef struct xlist list_t; ++typedef struct listIterator list_itr_t; ++/* ++ * Also, Slurm exports the hostlist_t interface as well: ++ */ ++#define __hostlist_t_defined 1 ++ + #include + #include + From 5bc0701baeb01185987b26a43485f768771bc369 Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Tue, 11 Jun 2024 12:03:30 +0800 Subject: [PATCH 887/889] prepare release notes for EasyBuild v4.9.2 + bump version to 4.9.2 --- RELEASE_NOTES | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++- setup.py | 2 +- 2 files changed, 96 insertions(+), 2 deletions(-) diff --git a/RELEASE_NOTES b/RELEASE_NOTES index 45d27a2e696..73c7c135562 100644 --- a/RELEASE_NOTES +++ b/RELEASE_NOTES @@ -3,10 +3,104 @@ For more detailed information, please see the git log. These release notes can also be consulted at https://docs.easybuild.io/en/latest/Release_notes.html. -The latest version of easybuild-easyconfig provides 19,487 easyconfig files, for 3,470 different software packages, +The latest version of easybuild-easyconfig provides 19,985 easyconfig files, for 3,552 different software packages, incl. 40 different (compiler) toolchains. +v4.9.2 (11 June 2024) +--------------------- + +update/bugfix release + +- added easyconfigs for foss/2024.05 toolchain (#20646) +- added example easyconfig files for 82 new software packages: + - AEDT (#20357), amdahl (#20346), AMGX (#20255), assembly-stats (#20281), Bio-FeatureIO (#20461), bitshuffle (#20661), + Cassiopeia (#20289), CCCL (#20255), charm-gems (#20327), CheckM2 (#20399), chromVARmotifs (#20402), cmph (#20278), + COMEBin (#20717), Compass (#20500), ctffind5 (#20669), currentNe (#20791), CVX (#20231), deepfold (#20247), + dotNET-Core (#20256), EasyMocap (#20446), ensmallen (#20485), EVcouplings (#20744), Faiss (#19669), FDMNES (#20321), + gnupg-bundle (#20406), grpcio (#20191), hatch-jupyter-builder (#20606), hevea (#20597), HiGHS (#20186), + hmmcopy_utils (#20472), HOMER (#20590), ICON (#20573), jiter (#20746), LangChain (#20746), langchain-anthropic (#20746), + libabigail (#20539), libbraiding (#20655), libhomfly (#20482), libsupermesh (#20470), LIBSVM-MATLAB (#20752), + Lightning (#19964), lil-aretomo (#20696), makefun (#20619), MetalWalls (#20403), MICOM (#20186), ml-collections (#20247), + ml_dtypes (#20707), mlpack (#20485), MOFA2 (#20538), mumott (#20719), nvitop (#20512), ocamlbuild (#20552), + optiSLang (#20320), orthAgogue (#20278), pdf2docx (#20416), planarity (#20753), plantri (#20467), plmc (#20744), + PortAudio (#20307), premailer (#20348), ProteinMPNN (#20705), PRRTE (#20698), PSM2 (#20794), PyAEDT (#20357), + pybind11-stubgen (#20518), PyEXR (#19983), pyGAM (#20385), PyHMMER (#20544), pyseer (#20502), PyVista (#20649), + qmflows (#20384), SciTools-Iris (#20767), SCReadCounts (#20455), SDL2_gfx (#20466), subunit (#20412), TF-COMB (#20666), + tiktoken (#20336), TorchIO (#20648), t-SNE-CUDA (#19669), VAMPIRE-ASM (#20368), wfdb (#20521), WGDgc (#20367) +- added additional easyconfigs for various supported software packages, including: + - 4ti2 1.6.10, AEDT 2024R1, AFNI 24.0.02, AMGX 2.4.0, ArchR 1.0.2, Autoconf 2.72, Automake 1.16.5, Autotools 20231222, adjustText 0.7.3, adjustText 1.1.1, aiohttp 3.9.5, alevin-fry 0.9.0, alsa-lib 1.2.9, amdahl 0.3.1, anndata 0.9.2, assembly-stats 1.0.1, astropy 5.1.1, atropos 1.1.32, attrdict3 2.0.2, autopep8 2.2.0, BCFtools 1.19, BLIS 1.0, BLIS 1.0, BWA 0.7.18, Bazel 6.1.0, Bio-FeatureIO 1.6.905, Bison 3.8.2, Bison 3.8.2, Boost 1.74.0, Boost 1.85.0, Braindecode 0.8.1, Brotli-python 1.0.9, Brotli 1.1.0, bcrypt 4.1.3, binutils 2.42, binutils 2.42, binutils 2.42, biom-format 2.1.15, bitshuffle 0.5.1, bokeh 3.4.1, bzip2 1.0.8, CAMPARI 4.0, CCCL 2.3.0, CGAL 5.4, CGAL 5.6.1, CMake 3.29.3, COMEBin 1.0.3-20240310, CREST 20240319, CREST 3.0.1, CUnit 2.1-3, CVX 2.2, Cassiopeia 2.0.0, CellBender 0.3.0, CellBender 0.3.0, CellRanger-ARC 2.0.2, CellRanger 8.0.0, CellRanger 8.0.1, CellRank 2.0.2, CharLS 2.4.2, Check 0.15.2, Check 0.15.2, CheckM2 1.0.2, Clang 17.0.6, CoCoALib 0.99850, Compass 2024.04, CppUnit 1.15.1, Cython 3.0.10, Cython 3.0.8, cURL 8.7.1, cddlib 0.94m, cffi 1.16.0, charm-gems 1.3.3, chromVARmotifs 0.2.0, cliquer 1.21, cmph 2.0, code-server 4.89.1, configurable-http-proxy 4.6.1, coverage 7.4.4, cpio 2.15, cpio 2.15, cpio 2.15, cpio 2.15, cppyy 3.1.2, ctffind5 5.0.2, cuDNN 8.5.0.96, currentNe 1.0.0, cysignals 1.11.4, Doxygen 1.11.0, dask-labextension 7.0.0, dask-labextension 7.0.0, dask 2024.5.1, deal.II 9.5.2, deepfold 20240308, dm-haiku 0.0.9, dorado 0.5.3, dotNET-Core 6.0.420, dotNET-Core 6.0, dotNET-Core 8.0.203, dotNET-Core 8.0, E-ANTIC 2.0.2, ECL 24.5.10, ESM-2 2.0.0, ESPResSo 4.2.2, EVcouplings 0.1.1, EasyBuild 4.9.1, EasyMocap 0.2, EasyMocap 0.2, Eigen 3.4.0, e3nn 0.3.3, e3nn 0.3.3, eclib 20240408, ensmallen 2.21.1, expat 2.6.2, FDMNES 2024-02-29, FFLAS-FFPACK 2.5.0, FFTW.MPI 3.3.10, FFTW 3.3.10, FLTK 1.3.9, FMM3D 1.0.4, Faiss 1.7.4, FlexiBLAS 3.4.4, f90wrap 0.2.13, fgbio 2.2.1, file 5.43, flex 2.6.4, flex 2.6.4, fontconfig 2.15.0, foss 2024.05, freetype-py 2.4.0, freetype 2.13.2, GAMESS-US 20220930-R2, GAMESS-US 20230930-R2, GAMESS-US 20230930-R2, GCC 13.3.0, GCC 14.1.0, GCCcore 13.3.0, GCCcore 14.1.0, GDB 14.2, GDRCopy 2.4.1, GL2PS 1.4.2, GLFW 3.4, GMP-ECM 7.0.5, GMP 6.3.0, GOATOOLS 1.4.5, GTDB-Tk 2.4.0, Givaro 4.2.0, Giza 1.4.1, GnuTLS 3.7.8, gc 8.2.6, gcloud 472.0.0, gemmi 0.6.5, gengetopt 2.23, gettext 0.22.5, gettext 0.22.5, gfbf 2024.05, giac 1.9.0-99, git 2.45.1, glew 2.2.0, glew 2.2.0, gmsh 4.12.2, gnupg-bundle 20240306, gompi 2024.05, gperf 3.1, grpcio 1.57.0, gsutil 5.29, gzip 1.13, HDDM 0.9.9, HDDM 0.9.9, HH-suite 3.3.0, HISAT2 2.2.1, HOMER 4.11, HPL 2.3, HTSlib 1.19.1, HiGHS 1.7.0, HyPhy 2.5.60, h5py 3.11.0, hatch-jupyter-builder 0.9.1, help2man 1.49.3, help2man 1.49.3, hevea 2.36, hmmcopy_utils 20210728, hwloc 2.10.0, ICON 2024.01, ICU 75.1, IML 1.0.5, IOR 4.0.0, IRkernel 1.3.2, ISL 0.26, imagecodecs 2024.1.1, imgaug 0.4.1, ipympl 0.9.4, JAGS 4.3.2, Jansson 2.14, Jellyfish 2.3.0, Jupyter-bundle 20240522, JupyterHub 4.1.5, JupyterLab 4.2.0, JupyterNotebook 7.2.0, jbigkit 2.1, jemalloc 5.3.0, jiter 0.4.1, jupyter-contrib-nbextensions 0.7.0, jupyter-matlab-proxy 0.12.2, jupyter-resource-usage 1.0.2, jupyter-rsession-proxy 2.2.0, jupyter-server-proxy 4.1.2, jupyter-server 2.14.0, jxrlib 1.1, Kalign 3.4.0, KrakenUniq 1.0.4, kallisto 0.50.1, LAPACK 3.12.0, LAPACK 3.12.0, LIBSVM-MATLAB 3.30, LangChain 0.2.1, LibLZF 3.6, LibTIFF 4.6.0, Lightning 2.2.1, LinBox 1.7.0, langchain-anthropic 0.1.15, lcalc 2.0.5, libabigail 2.5, libaio 0.3.113, libarchive 3.7.4, libbraiding 1.2, libde265 1.0.15, libdeflate 1.20, libdwarf 0.9.2, libedit 20191231, libev 4.33, libevent 2.1.12, libfabric 1.21.0, libffi 3.4.5, libfyaml 0.9, libgcrypt 1.10.3, libgd 2.3.3, libgpg-error 1.48, libheif 1.17.6, libhomfly 1.02r6, libiconv 1.17, libidn2 2.3.7, libjpeg-turbo 3.0.1, libjxl 0.8.2, libmad 0.15.1b, libnsl 2.0.1, libpciaccess 0.18.1, libpng 1.6.43, libreadline 8.2, libspatialindex 1.9.3, libsupermesh 2025-01-25, libtasn1 4.19.0, libtool 2.4.7, libuv 1.48.0, libxml2 2.12.7, libyaml 0.2.5, likwid 5.2.2, likwid 5.3.0, lil-aretomo 0.1.1, line_profiler 4.1.2, lrslib 7.2, lz4 1.9.4, M4 1.4.19, M4 1.4.19, MACS2 2.2.9.1, MACS3 3.0.1, MATSim 15.0, MATSim 15.0, MDTraj 1.9.9, METIS 5.1.0, MICOM 0.33.2, MOFA2 1.14.0, MONAI 1.3.0, MPC 1.3.1, MPFI 1.5.4, MPFR 4.2.1, MUMPS 5.6.1, Mako 1.3.5, Markdown 3.6, Meson 1.4.0, Mesquite 2.3.0, MetaMorpheus 1.0.5, MetalWalls 21.06.1, Molpro 2024.1.0, Molpro 2024.1.0, MuJoCo 3.1.4, m4ri 20200125, m4rie 20200125, magma 2.7.1, make 4.4.1, makefun 1.15.2, makeinfo 7.1, matlab-proxy 0.18.1, ml-collections 0.1.1, ml_dtypes 0.3.2, mlpack 4.3.0, mold 2.31.0, mpmath 1.3.0, mumott 2.1, NASM 2.16.03, NCCL 2.16.2, NanoPlot 1.42.0, Nextflow 24.04.2, Ninja 1.12.1, nanoget 1.18.1, nanoget 1.19.1, nanomath 1.3.0, napari 0.4.19.post1, nauty 2.8.8, nbclassic 1.0.0, ncurses 6.5, ncurses 6.5, nghttp2 1.58.0, nghttp3 1.3.0, nglview 3.1.2, ngtcp2 1.2.0, nodejs 20.13.1, numactl 2.0.18, nvitop 1.3.2, nvtop 3.1.0, OCaml 5.1.1, ONNX 1.15.0, OSU-Micro-Benchmarks 7.4, OpenBLAS 0.3.20, OpenBLAS 0.3.27, OpenCV 4.8.1, OpenMPI 5.0.3, Optax 0.1.7, ocamlbuild 0.14.3, optiSLang 2024R1, orthAgogue 20141105, PARI-GP 2.15.5, PCRE2 10.43, PMIx 5.0.2, POV-Ray 3.7.0.10, PRRTE 3.0.5, PSIPRED 4.02, PSM2 12.0.1, PSM2 12.0.1, PSM2 12.0.1, PSM2 12.0.1, PSM2 12.0.1, PSM2 12.0.1, PSM2 12.0.1, Perl 5.38.2, PhyML 3.3.20220408, PnetCDF 1.13.0, PortAudio 19.7.0, PortMidi 2.0.4, ProteinMPNN 1.0.1-20230627, PyAEDT 0.8.7, PyAMG 5.1.0, PyEXR 0.3.10, PyGEOS 0.14, PyHMMER 0.10.6, PyMC 2.3.8, PyMC 2.3.8, PyQtGraph 0.13.7, PyTables 3.8.0, PyTorch-Geometric 2.5.0, PyTorch-bundle 2.1.2, PyTorch-bundle 2.1.2, PyTorch 1.13.1, PyVista 0.43.8, PycURL 7.45.3, Pysam 0.22.0, Python 3.12.3, p11-kit 0.25.3, p4est 2.8.6, parallel 20240322, patchelf 0.18.0, pauvre 0.2.3, pauvre 0.2.3, pauvre 0.2.3, pdf2docx 0.5.8, petsc4py 3.20.3, pigz 2.8, pkgconf 2.2.0, pkgconf 2.2.0, planarity 3.0.2.0, plantri 5.4, plc 3.10, plmc 20230121, polars 0.20.2, poppler 24.04.0, premailer 3.10.0, preseq 3.2.0, presto 1.0.0-20230501, psutil 5.9.8, py3Dmol 2.1.0, pyBigWig 0.3.22, pyGAM 0.9.1, pybedtools 0.9.1, pybind11-stubgen 2.5.1, pycodestyle 2.11.1, pygame 2.5.2, pyiron 0.5.1, pyro-ppl 1.9.0, pyro-ppl 1.9.0, pyseer 1.3.11, python-libsbml 5.20.2, python-louvain 0.16, python-mujoco 3.1.4, python-xxhash 3.4.1, QuickFF 2.2.7, qmflows 1.0.0, qnorm 0.8.1, RAxML-NG 1.2.0, RAxML 8.2.12, ROOT 6.30.06, RPostgreSQL 0.7-6, RStudio-Server 2023.12.1+402, Rtree 1.2.0, Rust 1.78.0, SAMtools 1.19.2, SCOTCH 7.0.4, SCReadCounts 1.4.0, SDL2_gfx 1.0.4, SDL2_image 2.8.2, SDL2_mixer 2.8.0, SDL2_ttf 2.22.0, SOCI 4.0.3, SQLite 3.45.3, SRA-Toolkit 3.0.5, STAR 2.7.11b, SWIG 4.2.1, SYMMETRICA 2.0, ScaLAPACK 2.2.0, SciTools-Iris 3.2.1, SciTools-Iris 3.9.0, Seaborn 0.11.2, Seaborn 0.13.2, SentencePiece 0.2.0, Seurat 5.1.0, SeuratDisk 20231104, SimNIBS 4.0.1, Singular 4.4.0, SoX 14.4.2, Spack 0.21.2, Squidpy 1.4.1, SymEngine-python 0.11.0, SymEngine 0.11.2, sbt 1.3.13, sbt 1.6.2, scikit-build-core 0.9.3, scikit-learn 1.4.2, skorch 0.15.0, subunit 1.4.3, svist4get 1.3.1, TAMkin 1.2.6, TF-COMB 1.1, TOBIAS 0.16.1, Tcl 8.6.14, TensorFlow 2.15.1, TorchIO 0.19.6, Transformers 4.39.3, t-SNE-CUDA 3.0.1, tbb 2020.1, tbb 2020.3, texlive 20230313, tiktoken 0.6.0, tmux 3.4, tmux 3.4, tmux 3.4, tokenizers 0.15.2, topaz %s.%s, torchvision 0.16.0, tornado 6.4, UCC 1.3.0, UCX-CUDA 1.13.1, UCX 1.16.0, UCX 1.16.0, UnZip 6.0, util-linux 2.40, VAMPIRE-ASM 6.0, VSCode 1.88.1, VTK 9.3.0, Valgrind 3.23.0, VisPy 0.14.1, WGDgc 1.3, Wannier90 3.1.0, wfdb 4.1.2, wget 1.24.5, XZ 5.4.5, xorg-macros 1.20.1, xprop 1.2.7, xtb 6.6.1, xtb 6.7.0, xxHash 0.8.2, xxd 9.1.0307, YACS 0.1.8, yaml-cpp 0.8.0, Zip 3.0, Zopfli 1.0.3, zarr 2.17.1, zfp 1.0.1, zlib-ng 2.1.6, zlib 1.3.1, zlib 1.3.1, zlib 1.3.1, zstd 1.5.6 +- minor enhancements, including: + - add missing (optional) dependency pyproject-metadata to scikit-build-core (#20391) + - add hatch-requirements-txt extension to hatchling easyconfigs (#20389) + - install pkg-config files for GCCcore builds of `ncurses` 6.4 (#20405) + - use regular `configure` instead of wrapper script for recent UCX easyconfigs (#20428) + - add RISC-V support to UCX 1.15.0 (#20429), UCC 1.2.0 (#20432), BLIS 0.9.0 (#20468) and PAPI 7.1.0 (20659) + - add cmna extension to R-bundle-CRAN v2023.12 (#20445) + - add checksum for RISC-V version to Java 21.0.2 easyconfig (#20495) + - remove `TORCHVISION_INCLUDE` from PyTorch-bundle easyconfigs (#20504) + - add package XBRL to R-bundle-CRAN (#20506) + - add rhandsontable extension to R-bundle-CRAN v2023.12 (#20614) + - add dependencies required for GUI in Cellpose 2.2.2 easyconfigs (#20620) + - add `build_info_msg` about kernel modules to GDRCopy (#20641) + - use external PRRTE 3.1.5 in OpenMPI 5.0.3 (#20698) + - build both static and shared libs for Brotli 1.1.0 (#20757) +- various bug fixes, including: + - add missing dependencies for funannotate (#17690) + - fix path to SuiteSparse include/lib in easyconfig for CVXopt v1.3.1 (#20232) + - fix Highway 1.0.3 on some systems by disabling `AVX3_DL` (#20298) + - replace incorrect scikit-bio 0.5.9 with scikit-bio 0.6.0 as dependency for scCODA (#20300) + - add alternate checksum to OpenMolcas v23.06 (#20301) + - change arrow-R dependency of Bioconductor v3.18 to v14.0.1 (which depends on required matching Arrow v14.0.1) (#20324) + - fix hardcoded `/bin/mv` path in Rhdf5lib extension included in R-bundle-Bioconductor v3.16 + v3.18 (#20378) + - remove dependency on HDF5 in recent Bioconductor easyconfigs (#20379) + - make sure that libjpeg-turbo libraries are installed in 'lib' subdirectory (#20386) + - add patch for Libint 2.7.2 to fix compiler error with glibc >= 2.34 (#20396) + - use `bash` rather than `sh` to run PLINK-2.00a3.7 tests (#20404) + - add patch to fix `UNPACK-OPAL-VALUE: UNSUPPORTED TYPE 33 FOR KEY` error in OpenMPI 4.1.5 (#20422) + - add patch to increase compatibility with AVX512 platforms for bwa-mem2 v2.2.1 (#20434) + - add patch for GROMACS 2024.1 to fix filesystem race in tests (#20439) + - demote poetry to build dependency for nanocompore (#20453) + - add patch to fix CVE-2024-27322 in R v3.6.x (#20464), v4.0.x (#20463) and v4.1.x, v4.2.x, v4.3.x (#20462) + - disable test that fetches from the web for torchtext extension in PyTorch-bundle v2.1.2 (#20484) + - fix sanity checks of JupyterLab-4.0.5-GCCcore-12.3.0.eb (#20514) + - fix detection of CC/CXX compilers for `wmake` in OpenFOAM v2306 + v2312 (#20517) + - use the included gmxapi for GROMACS 2024.1 (#20522) + - add new checksum for signal_1.8-0 to R-bundle-CRAN-2023.12 (#20527) + - fix test in Cwd extension of Perl-bundle-CPAN-5.36.1 (#20536) + - fix patch name in Perl-bundle-CPAN-5.36.1-GCCcore-12.3.0 and add to GCCcore-13.2.0 version (#20540) + - fix cwd_enoent test in Perl (#20541) + - move dependency on BeasutifulSoup in IPython v8.14.0 to jupyter-server (#20547) + - remove dependency on BeasutifulSoup from IPython v8.17.2 (#20548) + - bump async-timeout to 4.0.3 in aiohttp 3.8.5 (#20553) + - use PSM2 dependency in libfabric only on x86_64 (#20585) + - add alternative checksum for source tarball of MONAI 1.3.0 (#20618) + - explicitly disable building of _tkinter stdlib module for Python 3.12 (#20630) + - add cpio as build dependency to recent BLAST+ versions (#20674) + - add `--disable-htmlpages` to recent FFmpeg easyconfigs (#20686) + - remove timm-0.9.7-foss-2022a-CUDA-11.7.0.eb crate duplicates (#20687) + - add missing HDF5 dependency in recent Armadillo easyconfigs (>= 11.4.3) (#20710) + - remove easyconfigs for CellBender v0.3.1, since this version has been redacted due to a serious bug (#20722) + - add patches for failing LAPACK tests and RISC-V test segfaults to OpenBLAS 0.3.27 (#20745) + - move all libavifs to GCCcore only, fix deps (#20747) + - make sure mummerplot can use gnuplot if available for recent MUMmer (#20749) + - prevent configure script of recent BLAST+ versions from prepending system paths to $PATH (#20751) + - use `libidn2/2.3.7` as dependency for `GnuTLS/3.7.8` and delete `libidn2/2.3.2` (`GCCcore/12.3.0`) (#20771) + - fix fastparquet v2023.4.0 using `CargoPythonBundle` easyblock (#20775) + - remove `--with-64` from `configopts` for recent BLAST+ versions (#20784) + - add patch to fix build of pdsh 2.34 with Slurm 23.x (#20795) +- other changes: + - move build from extensions to dependencies in easyconfig for napari 0.4.18 (#20433) + - update version of fsspec extension in easyconfig for Squidpy 1.4.1 to be compatible with s3fs provided via PyTorch-bundle (#20477) + - add commented out PSM2 dependency, relevant for x86_64 systems with OmniPath, to recent libfabric easyconfigs (#20501, #20585, #20794) + - replace SQLAlchemy extension with regular dependency in easyconfig for Optuna v3.5.0 (#20510) + - replace SQLAlchemy extension in JupyterHub v4.0.2 easyconfig with regular dependency (#20511) + - bump Cython to v3.0.8 in Cartopy v0.22.0 easyconfig for foss/2023a toolchain, to avoid dep version conflict with sckit-learn v1.4.2, which requires >= v3.0.8 (#20525) + - change dependency on hatchling of BeautifulSoup v4.12.2 to a build dependency (#20546) + - remove ipympl v0.9.3 from foss/2023a in favour of gfbf/2023a (#20586) + - rename tornado-timeouts.patch and add missing authorship (#20587) + + v4.9.1 (5 April 2024) --------------------- diff --git a/setup.py b/setup.py index 58cbb040c4c..3aa9a822208 100644 --- a/setup.py +++ b/setup.py @@ -44,7 +44,7 @@ # recent setuptools versions will *TRANSFORM* something like 'X.Y.Zdev' into 'X.Y.Z.dev0', with a warning like # UserWarning: Normalizing '2.4.0dev' to '2.4.0.dev0' # This causes problems further up the dependency chain... -VERSION = '4.9.2.dev0' +VERSION = '4.9.2' MAJ_VER = VERSION.split('.')[0] MAJMIN_VER = '.'.join(VERSION.split('.')[0:2]) From 7d2a27384c4a146f768b40b8fb3360fc94d2ea4d Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 11 Jun 2024 20:22:41 +0200 Subject: [PATCH 888/889] minor tweaks to 4.9.2 release notes --- RELEASE_NOTES | 124 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 75 insertions(+), 49 deletions(-) diff --git a/RELEASE_NOTES b/RELEASE_NOTES index 73c7c135562..f33048f6927 100644 --- a/RELEASE_NOTES +++ b/RELEASE_NOTES @@ -12,93 +12,119 @@ v4.9.2 (11 June 2024) update/bugfix release -- added easyconfigs for foss/2024.05 toolchain (#20646) +- added easyconfigs for foss/2024.05 toolchain (candidate for foss/2024a) (#20646) - added example easyconfig files for 82 new software packages: - - AEDT (#20357), amdahl (#20346), AMGX (#20255), assembly-stats (#20281), Bio-FeatureIO (#20461), bitshuffle (#20661), - Cassiopeia (#20289), CCCL (#20255), charm-gems (#20327), CheckM2 (#20399), chromVARmotifs (#20402), cmph (#20278), - COMEBin (#20717), Compass (#20500), ctffind5 (#20669), currentNe (#20791), CVX (#20231), deepfold (#20247), - dotNET-Core (#20256), EasyMocap (#20446), ensmallen (#20485), EVcouplings (#20744), Faiss (#19669), FDMNES (#20321), - gnupg-bundle (#20406), grpcio (#20191), hatch-jupyter-builder (#20606), hevea (#20597), HiGHS (#20186), - hmmcopy_utils (#20472), HOMER (#20590), ICON (#20573), jiter (#20746), LangChain (#20746), langchain-anthropic (#20746), - libabigail (#20539), libbraiding (#20655), libhomfly (#20482), libsupermesh (#20470), LIBSVM-MATLAB (#20752), - Lightning (#19964), lil-aretomo (#20696), makefun (#20619), MetalWalls (#20403), MICOM (#20186), ml-collections (#20247), - ml_dtypes (#20707), mlpack (#20485), MOFA2 (#20538), mumott (#20719), nvitop (#20512), ocamlbuild (#20552), - optiSLang (#20320), orthAgogue (#20278), pdf2docx (#20416), planarity (#20753), plantri (#20467), plmc (#20744), - PortAudio (#20307), premailer (#20348), ProteinMPNN (#20705), PRRTE (#20698), PSM2 (#20794), PyAEDT (#20357), - pybind11-stubgen (#20518), PyEXR (#19983), pyGAM (#20385), PyHMMER (#20544), pyseer (#20502), PyVista (#20649), - qmflows (#20384), SciTools-Iris (#20767), SCReadCounts (#20455), SDL2_gfx (#20466), subunit (#20412), TF-COMB (#20666), - tiktoken (#20336), TorchIO (#20648), t-SNE-CUDA (#19669), VAMPIRE-ASM (#20368), wfdb (#20521), WGDgc (#20367) + - AEDT (#20357), amdahl (#20346), AMGX (#20255), assembly-stats (#20281), Bio-FeatureIO (#20461), + bitshuffle (#20661), Cassiopeia (#20289), CCCL (#20255), charm-gems (#20327), CheckM2 (#20399), + chromVARmotifs (#20402), cmph (#20278), COMEBin (#20717), Compass (#20500), ctffind5 (#20669), currentNe (#20791), + CVX (#20231), deepfold (#20247), dotNET-Core (#20256), EasyMocap (#20446), ensmallen (#20485), EVcouplings (#20744), + Faiss (#19669), FDMNES (#20321), gnupg-bundle (#20406), grpcio (#20191), hatch-jupyter-builder (#20606), + hevea (#20597), HiGHS (#20186), hmmcopy_utils (#20472), HOMER (#20590), ICON (#20573), jiter (#20746), + LangChain (#20746), langchain-anthropic (#20746), libabigail (#20539), libbraiding (#20655), libhomfly (#20482), + libsupermesh (#20470), LIBSVM-MATLAB (#20752), Lightning (#19964), lil-aretomo (#20696), makefun (#20619), + MetalWalls (#20403), MICOM (#20186), ml-collections (#20247), ml_dtypes (#20707), mlpack (#20485), MOFA2 (#20538), + mumott (#20719), nvitop (#20512), ocamlbuild (#20552), optiSLang (#20320), orthAgogue (#20278), pdf2docx (#20416), + planarity (#20753), plantri (#20467), plmc (#20744), PortAudio (#20307), premailer (#20348), ProteinMPNN (#20705), + PRRTE (#20698), PSM2 (#20496), PyAEDT (#20357), pybind11-stubgen (#20518), PyEXR (#19983), pyGAM (#20385), + PyHMMER (#20544), pyseer (#20502), PyVista (#20649), qmflows (#20384), SciTools-Iris (#20767), SCReadCounts (#20455), + SDL2_gfx (#20466), subunit (#20412), TF-COMB (#20666), tiktoken (#20336), TorchIO (#20648), t-SNE-CUDA (#19669), + VAMPIRE-ASM (#20368), wfdb (#20521), WGDgc (#20367) - added additional easyconfigs for various supported software packages, including: - - 4ti2 1.6.10, AEDT 2024R1, AFNI 24.0.02, AMGX 2.4.0, ArchR 1.0.2, Autoconf 2.72, Automake 1.16.5, Autotools 20231222, adjustText 0.7.3, adjustText 1.1.1, aiohttp 3.9.5, alevin-fry 0.9.0, alsa-lib 1.2.9, amdahl 0.3.1, anndata 0.9.2, assembly-stats 1.0.1, astropy 5.1.1, atropos 1.1.32, attrdict3 2.0.2, autopep8 2.2.0, BCFtools 1.19, BLIS 1.0, BLIS 1.0, BWA 0.7.18, Bazel 6.1.0, Bio-FeatureIO 1.6.905, Bison 3.8.2, Bison 3.8.2, Boost 1.74.0, Boost 1.85.0, Braindecode 0.8.1, Brotli-python 1.0.9, Brotli 1.1.0, bcrypt 4.1.3, binutils 2.42, binutils 2.42, binutils 2.42, biom-format 2.1.15, bitshuffle 0.5.1, bokeh 3.4.1, bzip2 1.0.8, CAMPARI 4.0, CCCL 2.3.0, CGAL 5.4, CGAL 5.6.1, CMake 3.29.3, COMEBin 1.0.3-20240310, CREST 20240319, CREST 3.0.1, CUnit 2.1-3, CVX 2.2, Cassiopeia 2.0.0, CellBender 0.3.0, CellBender 0.3.0, CellRanger-ARC 2.0.2, CellRanger 8.0.0, CellRanger 8.0.1, CellRank 2.0.2, CharLS 2.4.2, Check 0.15.2, Check 0.15.2, CheckM2 1.0.2, Clang 17.0.6, CoCoALib 0.99850, Compass 2024.04, CppUnit 1.15.1, Cython 3.0.10, Cython 3.0.8, cURL 8.7.1, cddlib 0.94m, cffi 1.16.0, charm-gems 1.3.3, chromVARmotifs 0.2.0, cliquer 1.21, cmph 2.0, code-server 4.89.1, configurable-http-proxy 4.6.1, coverage 7.4.4, cpio 2.15, cpio 2.15, cpio 2.15, cpio 2.15, cppyy 3.1.2, ctffind5 5.0.2, cuDNN 8.5.0.96, currentNe 1.0.0, cysignals 1.11.4, Doxygen 1.11.0, dask-labextension 7.0.0, dask-labextension 7.0.0, dask 2024.5.1, deal.II 9.5.2, deepfold 20240308, dm-haiku 0.0.9, dorado 0.5.3, dotNET-Core 6.0.420, dotNET-Core 6.0, dotNET-Core 8.0.203, dotNET-Core 8.0, E-ANTIC 2.0.2, ECL 24.5.10, ESM-2 2.0.0, ESPResSo 4.2.2, EVcouplings 0.1.1, EasyBuild 4.9.1, EasyMocap 0.2, EasyMocap 0.2, Eigen 3.4.0, e3nn 0.3.3, e3nn 0.3.3, eclib 20240408, ensmallen 2.21.1, expat 2.6.2, FDMNES 2024-02-29, FFLAS-FFPACK 2.5.0, FFTW.MPI 3.3.10, FFTW 3.3.10, FLTK 1.3.9, FMM3D 1.0.4, Faiss 1.7.4, FlexiBLAS 3.4.4, f90wrap 0.2.13, fgbio 2.2.1, file 5.43, flex 2.6.4, flex 2.6.4, fontconfig 2.15.0, foss 2024.05, freetype-py 2.4.0, freetype 2.13.2, GAMESS-US 20220930-R2, GAMESS-US 20230930-R2, GAMESS-US 20230930-R2, GCC 13.3.0, GCC 14.1.0, GCCcore 13.3.0, GCCcore 14.1.0, GDB 14.2, GDRCopy 2.4.1, GL2PS 1.4.2, GLFW 3.4, GMP-ECM 7.0.5, GMP 6.3.0, GOATOOLS 1.4.5, GTDB-Tk 2.4.0, Givaro 4.2.0, Giza 1.4.1, GnuTLS 3.7.8, gc 8.2.6, gcloud 472.0.0, gemmi 0.6.5, gengetopt 2.23, gettext 0.22.5, gettext 0.22.5, gfbf 2024.05, giac 1.9.0-99, git 2.45.1, glew 2.2.0, glew 2.2.0, gmsh 4.12.2, gnupg-bundle 20240306, gompi 2024.05, gperf 3.1, grpcio 1.57.0, gsutil 5.29, gzip 1.13, HDDM 0.9.9, HDDM 0.9.9, HH-suite 3.3.0, HISAT2 2.2.1, HOMER 4.11, HPL 2.3, HTSlib 1.19.1, HiGHS 1.7.0, HyPhy 2.5.60, h5py 3.11.0, hatch-jupyter-builder 0.9.1, help2man 1.49.3, help2man 1.49.3, hevea 2.36, hmmcopy_utils 20210728, hwloc 2.10.0, ICON 2024.01, ICU 75.1, IML 1.0.5, IOR 4.0.0, IRkernel 1.3.2, ISL 0.26, imagecodecs 2024.1.1, imgaug 0.4.1, ipympl 0.9.4, JAGS 4.3.2, Jansson 2.14, Jellyfish 2.3.0, Jupyter-bundle 20240522, JupyterHub 4.1.5, JupyterLab 4.2.0, JupyterNotebook 7.2.0, jbigkit 2.1, jemalloc 5.3.0, jiter 0.4.1, jupyter-contrib-nbextensions 0.7.0, jupyter-matlab-proxy 0.12.2, jupyter-resource-usage 1.0.2, jupyter-rsession-proxy 2.2.0, jupyter-server-proxy 4.1.2, jupyter-server 2.14.0, jxrlib 1.1, Kalign 3.4.0, KrakenUniq 1.0.4, kallisto 0.50.1, LAPACK 3.12.0, LAPACK 3.12.0, LIBSVM-MATLAB 3.30, LangChain 0.2.1, LibLZF 3.6, LibTIFF 4.6.0, Lightning 2.2.1, LinBox 1.7.0, langchain-anthropic 0.1.15, lcalc 2.0.5, libabigail 2.5, libaio 0.3.113, libarchive 3.7.4, libbraiding 1.2, libde265 1.0.15, libdeflate 1.20, libdwarf 0.9.2, libedit 20191231, libev 4.33, libevent 2.1.12, libfabric 1.21.0, libffi 3.4.5, libfyaml 0.9, libgcrypt 1.10.3, libgd 2.3.3, libgpg-error 1.48, libheif 1.17.6, libhomfly 1.02r6, libiconv 1.17, libidn2 2.3.7, libjpeg-turbo 3.0.1, libjxl 0.8.2, libmad 0.15.1b, libnsl 2.0.1, libpciaccess 0.18.1, libpng 1.6.43, libreadline 8.2, libspatialindex 1.9.3, libsupermesh 2025-01-25, libtasn1 4.19.0, libtool 2.4.7, libuv 1.48.0, libxml2 2.12.7, libyaml 0.2.5, likwid 5.2.2, likwid 5.3.0, lil-aretomo 0.1.1, line_profiler 4.1.2, lrslib 7.2, lz4 1.9.4, M4 1.4.19, M4 1.4.19, MACS2 2.2.9.1, MACS3 3.0.1, MATSim 15.0, MATSim 15.0, MDTraj 1.9.9, METIS 5.1.0, MICOM 0.33.2, MOFA2 1.14.0, MONAI 1.3.0, MPC 1.3.1, MPFI 1.5.4, MPFR 4.2.1, MUMPS 5.6.1, Mako 1.3.5, Markdown 3.6, Meson 1.4.0, Mesquite 2.3.0, MetaMorpheus 1.0.5, MetalWalls 21.06.1, Molpro 2024.1.0, Molpro 2024.1.0, MuJoCo 3.1.4, m4ri 20200125, m4rie 20200125, magma 2.7.1, make 4.4.1, makefun 1.15.2, makeinfo 7.1, matlab-proxy 0.18.1, ml-collections 0.1.1, ml_dtypes 0.3.2, mlpack 4.3.0, mold 2.31.0, mpmath 1.3.0, mumott 2.1, NASM 2.16.03, NCCL 2.16.2, NanoPlot 1.42.0, Nextflow 24.04.2, Ninja 1.12.1, nanoget 1.18.1, nanoget 1.19.1, nanomath 1.3.0, napari 0.4.19.post1, nauty 2.8.8, nbclassic 1.0.0, ncurses 6.5, ncurses 6.5, nghttp2 1.58.0, nghttp3 1.3.0, nglview 3.1.2, ngtcp2 1.2.0, nodejs 20.13.1, numactl 2.0.18, nvitop 1.3.2, nvtop 3.1.0, OCaml 5.1.1, ONNX 1.15.0, OSU-Micro-Benchmarks 7.4, OpenBLAS 0.3.20, OpenBLAS 0.3.27, OpenCV 4.8.1, OpenMPI 5.0.3, Optax 0.1.7, ocamlbuild 0.14.3, optiSLang 2024R1, orthAgogue 20141105, PARI-GP 2.15.5, PCRE2 10.43, PMIx 5.0.2, POV-Ray 3.7.0.10, PRRTE 3.0.5, PSIPRED 4.02, PSM2 12.0.1, PSM2 12.0.1, PSM2 12.0.1, PSM2 12.0.1, PSM2 12.0.1, PSM2 12.0.1, PSM2 12.0.1, Perl 5.38.2, PhyML 3.3.20220408, PnetCDF 1.13.0, PortAudio 19.7.0, PortMidi 2.0.4, ProteinMPNN 1.0.1-20230627, PyAEDT 0.8.7, PyAMG 5.1.0, PyEXR 0.3.10, PyGEOS 0.14, PyHMMER 0.10.6, PyMC 2.3.8, PyMC 2.3.8, PyQtGraph 0.13.7, PyTables 3.8.0, PyTorch-Geometric 2.5.0, PyTorch-bundle 2.1.2, PyTorch-bundle 2.1.2, PyTorch 1.13.1, PyVista 0.43.8, PycURL 7.45.3, Pysam 0.22.0, Python 3.12.3, p11-kit 0.25.3, p4est 2.8.6, parallel 20240322, patchelf 0.18.0, pauvre 0.2.3, pauvre 0.2.3, pauvre 0.2.3, pdf2docx 0.5.8, petsc4py 3.20.3, pigz 2.8, pkgconf 2.2.0, pkgconf 2.2.0, planarity 3.0.2.0, plantri 5.4, plc 3.10, plmc 20230121, polars 0.20.2, poppler 24.04.0, premailer 3.10.0, preseq 3.2.0, presto 1.0.0-20230501, psutil 5.9.8, py3Dmol 2.1.0, pyBigWig 0.3.22, pyGAM 0.9.1, pybedtools 0.9.1, pybind11-stubgen 2.5.1, pycodestyle 2.11.1, pygame 2.5.2, pyiron 0.5.1, pyro-ppl 1.9.0, pyro-ppl 1.9.0, pyseer 1.3.11, python-libsbml 5.20.2, python-louvain 0.16, python-mujoco 3.1.4, python-xxhash 3.4.1, QuickFF 2.2.7, qmflows 1.0.0, qnorm 0.8.1, RAxML-NG 1.2.0, RAxML 8.2.12, ROOT 6.30.06, RPostgreSQL 0.7-6, RStudio-Server 2023.12.1+402, Rtree 1.2.0, Rust 1.78.0, SAMtools 1.19.2, SCOTCH 7.0.4, SCReadCounts 1.4.0, SDL2_gfx 1.0.4, SDL2_image 2.8.2, SDL2_mixer 2.8.0, SDL2_ttf 2.22.0, SOCI 4.0.3, SQLite 3.45.3, SRA-Toolkit 3.0.5, STAR 2.7.11b, SWIG 4.2.1, SYMMETRICA 2.0, ScaLAPACK 2.2.0, SciTools-Iris 3.2.1, SciTools-Iris 3.9.0, Seaborn 0.11.2, Seaborn 0.13.2, SentencePiece 0.2.0, Seurat 5.1.0, SeuratDisk 20231104, SimNIBS 4.0.1, Singular 4.4.0, SoX 14.4.2, Spack 0.21.2, Squidpy 1.4.1, SymEngine-python 0.11.0, SymEngine 0.11.2, sbt 1.3.13, sbt 1.6.2, scikit-build-core 0.9.3, scikit-learn 1.4.2, skorch 0.15.0, subunit 1.4.3, svist4get 1.3.1, TAMkin 1.2.6, TF-COMB 1.1, TOBIAS 0.16.1, Tcl 8.6.14, TensorFlow 2.15.1, TorchIO 0.19.6, Transformers 4.39.3, t-SNE-CUDA 3.0.1, tbb 2020.1, tbb 2020.3, texlive 20230313, tiktoken 0.6.0, tmux 3.4, tmux 3.4, tmux 3.4, tokenizers 0.15.2, topaz %s.%s, torchvision 0.16.0, tornado 6.4, UCC 1.3.0, UCX-CUDA 1.13.1, UCX 1.16.0, UCX 1.16.0, UnZip 6.0, util-linux 2.40, VAMPIRE-ASM 6.0, VSCode 1.88.1, VTK 9.3.0, Valgrind 3.23.0, VisPy 0.14.1, WGDgc 1.3, Wannier90 3.1.0, wfdb 4.1.2, wget 1.24.5, XZ 5.4.5, xorg-macros 1.20.1, xprop 1.2.7, xtb 6.6.1, xtb 6.7.0, xxHash 0.8.2, xxd 9.1.0307, YACS 0.1.8, yaml-cpp 0.8.0, Zip 3.0, Zopfli 1.0.3, zarr 2.17.1, zfp 1.0.1, zlib-ng 2.1.6, zlib 1.3.1, zlib 1.3.1, zlib 1.3.1, zstd 1.5.6 + - 4ti2 1.6.10, AFNI 24.0.02, Autoconf 2.72, Autotools 20231222, adjustText 1.1.1, aiohttp 3.9.5, alevin-fry 0.9.0, + alsa-lib 1.2.9, atropos 1.1.32, autopep8 2.2.0, BCFtools 1.19, BLIS 1.0, BWA 0.7.18, Boost 1.85.0, bcrypt 4.1.3, + binutils 2.42, bokeh 3.4.1, CGAL 5.6.1, CREST 3.0.1, CellRanger-ARC 2.0.2, CellRanger 8.0.1, CellRank 2.0.2, + Clang 17.0.6, CoCoALib 0.99850, Cython 3.0.10, cURL 8.7.1, cffi 1.16.0, code-server 4.89.1, + configurable-http-proxy 4.6.1, coverage 7.4.4, cpio 2.15, cppyy 3.1.2, cysignals 1.11.4, Doxygen 1.11.0, + dask-labextension 7.0.0, dask 2024.5.1, deal.II 9.5.2, dorado 0.5.3, dotNET-Core 8.0.203, E-ANTIC 2.0.2, + ECL 24.5.10, ESPResSo 4.2.2, eclib 20240408, expat 2.6.2, FLTK 1.3.9, FMM3D 1.0.4, FlexiBLAS 3.4.4, f90wrap 0.2.13, + fgbio 2.2.1, fontconfig 2.15.0, freetype-py 2.4.0, GAMESS-US 20220930-R2 + 20230930-R2, GCC 13.3.0 + 14.1.0, + GDB 14.2, GDRCopy 2.4.1, GOATOOLS 1.4.5, GTDB-Tk 2.4.0, Giza 1.4.1, gc 8.2.6, gcloud 472.0.0, gemmi 0.6.5, + gettext 0.22.5, giac 1.9.0-99, git 2.45.1, gmsh 4.12.2, gsutil 5.29, HDDM 0.9.9, HTSlib 1.19.1, HyPhy 2.5.60, + h5py 3.11.0, hwloc 2.10.0, ICU 75.1, IOR 4.0.0, imagecodecs 2024.1.1, imgaug 0.4.1, ipympl 0.9.4, + Jupyter-bundle 20240522, JupyterHub 4.1.5, JupyterLab 4.2.0, JupyterNotebook 7.2.0, jupyter-matlab-proxy 0.12.2, + jupyter-resource-usage 1.0.2, jupyter-rsession-proxy 2.2.0, jupyter-server-proxy 4.1.2, jupyter-server 2.14.0, + Kalign 3.4.0, KrakenUniq 1.0.4, kallisto 0.50.1, LAPACK 3.12.0, libarchive 3.7.4, libde265 1.0.15, libdeflate 1.20, + libdwarf 0.9.2, libfabric 1.21.0, libffi 3.4.5, libgcrypt 1.10.3, libgpg-error 1.48, libheif 1.17.6, libidn2 2.3.7, + libnsl 2.0.1, libpciaccess 0.18.1, libpng 1.6.43, libuv 1.48.0, libxml2 2.12.7, line_profiler 4.1.2, MATSim 15.0, + MDTraj 1.9.9, Mako 1.3.5, Meson 1.4.0, MetaMorpheus 1.0.5, Molpro 2024.1.0, MuJoCo 3.1.4, matlab-proxy 0.18.1, + mold 2.31.0, mpmath 1.3.0, NASM 2.16.03, NanoPlot 1.42.0, Nextflow 24.04.2, Ninja 1.12.1, nanoget 1.19.1, + napari 0.4.19.post1, nauty 2.8.8, ncurses 6.5, nghttp2 1.58.0, nghttp3 1.3.0, nglview 3.1.2, ngtcp2 1.2.0, + nodejs 20.13.1, numactl 2.0.18, nvtop 3.1.0, OCaml 5.1.1, OSU-Micro-Benchmarks 7.4, OpenBLAS 0.3.27, OpenMPI 5.0.3, + PARI-GP 2.15.5, PCRE2 10.43, PMIx 5.0.2, Perl 5.38.2, PhyML 3.3.20220408, PnetCDF 1.13.0, PyAMG 5.1.0, + PyQtGraph 0.13.7, PyTorch-Geometric 2.5.0, PyTorch-bundle 2.1.2, PycURL 7.45.3, Pysam 0.22.0, Python 3.12.3, + p11-kit 0.25.3, p4est 2.8.6, parallel 20240322, pauvre 0.2.3, petsc4py 3.20.3, pkgconf 2.2.0, plc 3.10, polars 0.20.2, + poppler 24.04.0, psutil 5.9.8, py3Dmol 2.1.0, pybedtools 0.9.1, pygame 2.5.2, pyiron 0.5.1, pyro-ppl 1.9.0, + python-mujoco 3.1.4, ROOT 6.30.06, RPostgreSQL 0.7-6, RStudio-Server 2023.12.1+402, Rtree 1.2.0, Rust 1.78.0, + SAMtools 1.19.2, SCOTCH 7.0.4, SDL2_image 2.8.2, SDL2_mixer 2.8.0, SDL2_ttf 2.22.0, SQLite 3.45.3, SWIG 4.2.1, + SentencePiece 0.2.0, Seurat 5.1.0, SeuratDisk 20231104, SimNIBS 4.0.1, Singular 4.4.0, Spack 0.21.2, Squidpy 1.4.1, + SymEngine-python 0.11.0, SymEngine 0.11.2, sbt 1.6.2, scikit-build-core 0.9.3, scikit-learn 1.4.2, TOBIAS 0.16.1, + Tcl 8.6.14, TensorFlow 2.15.1, Transformers 4.39.3, texlive 20230313, tmux 3.4, tokenizers 0.15.2, 0.2.5.20231120, + tornado 6.4, UCC 1.3.0, UCX 1.16.0, util-linux 2.40, VSCode 1.88.1, Valgrind 3.23.0, VisPy 0.14.1, wget 1.24.5, + XZ 5.4.5, xorg-macros 1.20.1, xprop 1.2.7, xtb 6.7.0, xxd 9.1.0307, yaml-cpp 0.8.0, zarr 2.17.1, zfp 1.0.1, + zlib-ng 2.1.6, zlib 1.3.1, zstd 1.5.6 - minor enhancements, including: - add missing (optional) dependency pyproject-metadata to scikit-build-core (#20391) - add hatch-requirements-txt extension to hatchling easyconfigs (#20389) - - install pkg-config files for GCCcore builds of `ncurses` 6.4 (#20405) - - use regular `configure` instead of wrapper script for recent UCX easyconfigs (#20428) - - add RISC-V support to UCX 1.15.0 (#20429), UCC 1.2.0 (#20432), BLIS 0.9.0 (#20468) and PAPI 7.1.0 (20659) - - add cmna extension to R-bundle-CRAN v2023.12 (#20445) - - add checksum for RISC-V version to Java 21.0.2 easyconfig (#20495) - - remove `TORCHVISION_INCLUDE` from PyTorch-bundle easyconfigs (#20504) - - add package XBRL to R-bundle-CRAN (#20506) - - add rhandsontable extension to R-bundle-CRAN v2023.12 (#20614) + - install pkg-config files for ncurses 6.4 when using GCCcore toolchain (#20405) + - use regular 'configure' instead of wrapper script for recent UCX easyconfigs (#20428) + - add RISC-V support to UCX 1.15.0 (#20429), UCC 1.2.0 (#20432), BLIS 0.9.0 (#20468), PAPI 7.1.0 (20659) + - add extensions to R-bundle-CRAN v2023.12: cmna (#20445), rhandsontable (#20614), XBRL (#20506) + - add checksum for RISC-V version to easyconfig for Java 21.0.2 (#20495) + - remove 'TORCHVISION_INCLUDE' from PyTorch-bundle easyconfigs, now handled by custom easyblock for torchvision (#20504) - add dependencies required for GUI in Cellpose 2.2.2 easyconfigs (#20620) - - add `build_info_msg` about kernel modules to GDRCopy (#20641) - - use external PRRTE 3.1.5 in OpenMPI 5.0.3 (#20698) + - add 'build_info_msg' about kernel modules to GDRCopy (#20641) - build both static and shared libs for Brotli 1.1.0 (#20757) - various bug fixes, including: - add missing dependencies for funannotate (#17690) - fix path to SuiteSparse include/lib in easyconfig for CVXopt v1.3.1 (#20232) - - fix Highway 1.0.3 on some systems by disabling `AVX3_DL` (#20298) + - fix Highway 1.0.3 on some systems by disabling 'AVX3_DL' (#20298) - replace incorrect scikit-bio 0.5.9 with scikit-bio 0.6.0 as dependency for scCODA (#20300) - add alternate checksum to OpenMolcas v23.06 (#20301) - change arrow-R dependency of Bioconductor v3.18 to v14.0.1 (which depends on required matching Arrow v14.0.1) (#20324) - - fix hardcoded `/bin/mv` path in Rhdf5lib extension included in R-bundle-Bioconductor v3.16 + v3.18 (#20378) + - fix hardcoded '/bin/mv' path in Rhdf5lib extension included in R-bundle-Bioconductor v3.16 + v3.18 (#20378) - remove dependency on HDF5 in recent Bioconductor easyconfigs (#20379) - make sure that libjpeg-turbo libraries are installed in 'lib' subdirectory (#20386) - add patch for Libint 2.7.2 to fix compiler error with glibc >= 2.34 (#20396) - - use `bash` rather than `sh` to run PLINK-2.00a3.7 tests (#20404) - - add patch to fix `UNPACK-OPAL-VALUE: UNSUPPORTED TYPE 33 FOR KEY` error in OpenMPI 4.1.5 (#20422) + - use 'bash' rather than 'sh' to run PLINK-2.00a3.7 tests (#20404) + - add patch to fix 'UNPACK-OPAL-VALUE: UNSUPPORTED TYPE 33 FOR KEY' error in OpenMPI 4.1.5 (#20422) - add patch to increase compatibility with AVX512 platforms for bwa-mem2 v2.2.1 (#20434) - add patch for GROMACS 2024.1 to fix filesystem race in tests (#20439) - demote poetry to build dependency for nanocompore (#20453) - - add patch to fix CVE-2024-27322 in R v3.6.x (#20464), v4.0.x (#20463) and v4.1.x, v4.2.x, v4.3.x (#20462) + - add patch to fix CVE-2024-27322 in R v3.6.x (#20464), v4.0.x (#20463), and v4.1.x + v4.2.x + v4.3.x (#20462) - disable test that fetches from the web for torchtext extension in PyTorch-bundle v2.1.2 (#20484) - - fix sanity checks of JupyterLab-4.0.5-GCCcore-12.3.0.eb (#20514) - - fix detection of CC/CXX compilers for `wmake` in OpenFOAM v2306 + v2312 (#20517) + - fix sanity check paths for JupyterLab 4.0.5 (#20514) + - fix detection of CC/CXX compilers for 'wmake' in OpenFOAM v2306 + v2312 (#20517) - use the included gmxapi for GROMACS 2024.1 (#20522) - add new checksum for signal_1.8-0 to R-bundle-CRAN-2023.12 (#20527) - - fix test in Cwd extension of Perl-bundle-CPAN-5.36.1 (#20536) - - fix patch name in Perl-bundle-CPAN-5.36.1-GCCcore-12.3.0 and add to GCCcore-13.2.0 version (#20540) + - fix test in Cwd extension of Perl-bundle-CPAN 5.36.1 (#20536) + - fix patch name in easyconfig for Perl-bundle-CPAN 5.36.1 + add also use it for Perl-bundle-CPAN 5.38.0 (#20540) - fix cwd_enoent test in Perl (#20541) - move dependency on BeasutifulSoup in IPython v8.14.0 to jupyter-server (#20547) - remove dependency on BeasutifulSoup from IPython v8.17.2 (#20548) - - bump async-timeout to 4.0.3 in aiohttp 3.8.5 (#20553) - - use PSM2 dependency in libfabric only on x86_64 (#20585) - add alternative checksum for source tarball of MONAI 1.3.0 (#20618) - - explicitly disable building of _tkinter stdlib module for Python 3.12 (#20630) - add cpio as build dependency to recent BLAST+ versions (#20674) - - add `--disable-htmlpages` to recent FFmpeg easyconfigs (#20686) - - remove timm-0.9.7-foss-2022a-CUDA-11.7.0.eb crate duplicates (#20687) + - add --disable-htmlpages to recent FFmpeg easyconfigs (#20686) + - remove duplicate crates from easyconfig for timm-0.9.7 (#20687) - add missing HDF5 dependency in recent Armadillo easyconfigs (>= 11.4.3) (#20710) - - remove easyconfigs for CellBender v0.3.1, since this version has been redacted due to a serious bug (#20722) - add patches for failing LAPACK tests and RISC-V test segfaults to OpenBLAS 0.3.27 (#20745) - - move all libavifs to GCCcore only, fix deps (#20747) + - move all easyconfigs for libavif to GCCcore toolchain + fix dependencies (#20747) - make sure mummerplot can use gnuplot if available for recent MUMmer (#20749) - prevent configure script of recent BLAST+ versions from prepending system paths to $PATH (#20751) - - use `libidn2/2.3.7` as dependency for `GnuTLS/3.7.8` and delete `libidn2/2.3.2` (`GCCcore/12.3.0`) (#20771) - - fix fastparquet v2023.4.0 using `CargoPythonBundle` easyblock (#20775) - - remove `--with-64` from `configopts` for recent BLAST+ versions (#20784) + - fix fastparquet v2023.4.0 using CargoPythonBundle easyblock (#20775) + - remove --with-64 from configopts for recent BLAST+ versions (#20784) - add patch to fix build of pdsh 2.34 with Slurm 23.x (#20795) - other changes: - - move build from extensions to dependencies in easyconfig for napari 0.4.18 (#20433) + - move 'build' from extensions to dependencies in easyconfig for napari 0.4.18 (#20433) - update version of fsspec extension in easyconfig for Squidpy 1.4.1 to be compatible with s3fs provided via PyTorch-bundle (#20477) - add commented out PSM2 dependency, relevant for x86_64 systems with OmniPath, to recent libfabric easyconfigs (#20501, #20585, #20794) - replace SQLAlchemy extension with regular dependency in easyconfig for Optuna v3.5.0 (#20510) - replace SQLAlchemy extension in JupyterHub v4.0.2 easyconfig with regular dependency (#20511) - - bump Cython to v3.0.8 in Cartopy v0.22.0 easyconfig for foss/2023a toolchain, to avoid dep version conflict with sckit-learn v1.4.2, which requires >= v3.0.8 (#20525) + - bump Cython to v3.0.8 in Cartopy v0.22.0 easyconfig for foss/2023a toolchain, to avoid dependency version conflict with sckit-learn v1.4.2, which requires Cython >= v3.0.8 (#20525) - change dependency on hatchling of BeautifulSoup v4.12.2 to a build dependency (#20546) - - remove ipympl v0.9.3 from foss/2023a in favour of gfbf/2023a (#20586) - - rename tornado-timeouts.patch and add missing authorship (#20587) + - bump async-timeout to 4.0.3 in aiohttp 3.8.5 (#20553) + - stick to gfbf/2023a as toolchain for ipympl v0.9.3 (#20586) + - rename tornado-timeouts.patch to tornado-6.1_increase-default-timeouts.patch + add missing authorship (#20587) + - remove easyconfigs for CellBender v0.3.1, since this version has been redacted due to a serious bug (#20722) v4.9.1 (5 April 2024) From 3e8067adc660cad12673640722561c890e6f8b8f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 11 Jun 2024 20:23:04 +0200 Subject: [PATCH 889/889] bump release date for EasyBuild v4.9.2 to 12 June 2024 --- RELEASE_NOTES | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASE_NOTES b/RELEASE_NOTES index f33048f6927..e687bf442f8 100644 --- a/RELEASE_NOTES +++ b/RELEASE_NOTES @@ -7,7 +7,7 @@ The latest version of easybuild-easyconfig provides 19,985 easyconfig files, for incl. 40 different (compiler) toolchains. -v4.9.2 (11 June 2024) +v4.9.2 (12 June 2024) --------------------- update/bugfix release