diff --git a/RELEASE_NOTES b/RELEASE_NOTES index 31b393b1762..be851b779c6 100644 --- a/RELEASE_NOTES +++ b/RELEASE_NOTES @@ -3,10 +3,69 @@ 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 14,282 easyconfig files, for 2,647 different software packages, +The latest version of easybuild-easyconfig provides 14,449 easyconfig files, for 2,667 different software packages, incl. 36 different (compiler) toolchains. +v4.5.4 (March 31st 2022) +------------------------ + +update/bugfix release +- added example easyconfig files for 29 new software packages: + - Abseil (#15102), AMS (#13155), ArchR (#15119), CMAverse (#14963), CmdStanR (#15198), CONN (#15052), + Devito (#14984, #15009), GraphMap (#10299), gRPC (#14728), Hydra (#15025), jupyter-server-proxy (#14844), + M1QN3 (#15002), MAGeCK (#15082), matplotlib-inline (#15084), MEGAN (#15064), MNE-Python (#15174), + ONNX (#15158), ONNX-Runtime (#15158), ont-remora (#15162), Optuna (#15021), patch (#15035), + porefoam (#15067), presto (#15119), PyFrag (#15184), skorch (#15175), SlamDunk (#15197), SPM (#15050), + STRique (#14980), XML-Compile (#15177) +- added additional easyconfigs for various supported software packages, including: + - ABAQUS 2021, AlphaFold 2.1.2, AmberTools 21, archspec 0.1.3, Bandage 0.9.0, BLIS 3.1, c-ares 1.18.1, + CCL 1.12.1, CharLS 2.3.4, Clang-Python-bindings 13.0.1, dcm2niix 1.0.20211006, DFTB+ 21.1, DIRAC 22.0, + ELPA 2021.11.001, FlexiBLAS 3.1.3, FLUENT 2021R2, GATK 4.2.5.0, GetOrganelle 1.7.5.3, IgBLAST 1.18.0, + IntelClusterChecker 2021.5.0, intervaltree-python 3.1.0, ITSx 1.1.3, Julia 1.7.2, kallisto 0.48.0, + KMC 3.2.1, libobjcryst 2021.1.2, libtree 3.0.3, loompy 3.0.7, matplotlib 3.5.1, MCR R2022a, + MDAnalysis 1.1.1+ 2.0.0, MDTraj 1.9.7, medaka 1.5.0, meshalyzer 20200308, MRtrix 3.0.3, NiBabel 3.2.2, + NLTK 3.7, numexpr 2.8.1, ont-fast5-api 4.0.2, OpenAI-Gym 0.21.0, OpenBLAS 0.3.20, ORCA 5.0.3, + parallel-fastq-dump 0.6.6, PIPITS 2.8, pocl 1.8, pycocotools 2.0.4, pyEGA3 4.0.0, pyobjcryst 2.2.1, + RE2 2022-02-01, SAMtools 1.15, SBCL 2.2.1, shovill 1.1.0, SKESA 2.4.0, SOCI 4.0.3, sympy 1.9, TensorFlow 2.5.3, + VirtualGL 3.0, vsc-mympirun 5.2.10, VSEARCH 2.21.1, VTK 9.1.0, VTune 2022.2.0, XGBoost 1.5.0 +- minor enhancements, including: + - add Flask-Session to Flask v1.1.4 and Flask v2.0.2 (#15027) + - add check to verify that patch files touched in PRs have a description in place (#15061) + - add extensions to R v4.1.2 easyconfig: hash (#15098), nabor + harmony (#15117), apluster, DataCombine, docstring, gdalUtils, openair, mstate, SNFtool, and deps (#15141) + - also install rMATS_P commands in rMATS-turbo easyconfig (#15113) + - add extensions to Bioconductor v3.14 easyconfig: chromVAR (#15118), EnsDb.Hsapiens.v79 (#15154), WGCNA (#15178) + - add extensions to Perl v5.34.0 easyconfigs: Sys::Info, HTML::Template, Log::Report (#15176), Sys::Info::Driver::Unknown, Sys::Info::Driver::Linux, Unix::Processors (#15190) + - enable running of tests for MEME with gompi/2021b (#15191, #15199) +- various bug fixes, including: + - add missing xxd build dependency for recent PLUMED versions (2.6.2, 2.7.x) (#14847) + - downgrade dependency on nodejs + use jupyter-server-proxy in jupyter-matlab-proxy and configurable-http-proxy easyconfigs using GCCcore/10.3.0 toolchain (#14942) + - add additional valid checksum for extensions in R 4.1.0 and 4.1.2 easyconfigs: norm (#14987), optmatch (#14993) + - avoid pollution in the tmp directory when running the AlphaFold tests (#14989) + - consistently enable usempi toolchain option in OSU-Micro-Benchmarks easyconfigs (#15039) + - fix GBprocesS easyconfig by switching to source tarball created using git_config (#15048) + - add patches for mauveAligner to fix build on RHEL8 (#15049) + - fix installation of RDKit by using -DBoost_NO_BOOST_CMAKE=ON (#15051) + - add patch to fix linking error for imread extension in scikit-image easyconfigs using intel toolchain (#15054) + - avoid excessively long shebang in Autoconf/Automake Perl scripts + promote Perl to runtime dependency + fix Perl shebang for intltool (#15055) + - fix python shebang in cutadapt script for cutadapt 1.18 w/ GCCcore/8.3.0 (#15059) + - don't use v2.1.0rc1 release candidate of gmpy2, stick to proper release v2.1.2 (#15060) + - add M4 as build dependency for CCL-1.12 (#15075) + - configure libffi 3.4.2 with --disable-exec-static-tramp to prevent segfaults (#15086) + - set XLA_PYTHON_CLIENT_ALLOCATOR=platform for running tests in jax CUDA easyconfigs (#15097) + - remove disable flag for RTTI in snappy v1.1.9 (#15099) + - fix grconvert build for Grace/5.1.25 with foss/2021a by adding libtirpc dependency + related patch (#15121) + - clean up PSolver and futile easyconfigs and add dynamic libs (#15148) + - enhance vcflib easyconfigs to also install scripts (#15181) + - add patch to fix shared linking in vcflib (#15203) + - fix failing sanity check for PRINSEQ (#15205) +- other changes: + - use typing-extensions from Python v3.9.6 easyconfig in ArviZ and PyMC3 (#15003) + - disable building of documentation for DBus 1.13.18 (#15010) + - consistently use system toolchain in EasyBuild easyconfigs (#15126) + - use EasyBuild hwloc in likwid and move to GCC/intel-compiler level due to Fortran modules (#15149) + + v4.5.3 (February 11th 2022) --------------------------- diff --git a/easybuild/easyconfigs/a/ABAQUS/ABAQUS-2021-hotfix-2132.eb b/easybuild/easyconfigs/a/ABAQUS/ABAQUS-2021-hotfix-2132.eb new file mode 100644 index 00000000000..a300029c221 --- /dev/null +++ b/easybuild/easyconfigs/a/ABAQUS/ABAQUS-2021-hotfix-2132.eb @@ -0,0 +1,37 @@ +name = 'ABAQUS' +version = '2021' +local_hotfix = '2132' +versionsuffix = '-hotfix-%s' % local_hotfix + +homepage = 'https://www.simulia.com/products/abaqus_fea.html' +description = """Finite Element Analysis software for modeling, visualization and best-in-class implicit and explicit + dynamics FEA.""" + +toolchain = SYSTEM + +sources = [ + '%(version)s.AM_SIM_Abaqus_Extend.AllOS.1-5.tar', + '%(version)s.AM_SIM_Abaqus_Extend.AllOS.2-5.tar', + '%(version)s.AM_SIM_Abaqus_Extend.AllOS.3-5.tar', + '%(version)s.AM_SIM_Abaqus_Extend.AllOS.4-5.tar', + '%(version)s.AM_SIM_Abaqus_Extend.AllOS.5-5.tar', + # hotfixes + '%%(version)s.FP.CFA.%s.Part_SIMULIA_Documentation.AllOS.tar' % local_hotfix, + '%%(version)s.FP.CFA.%s.Part_SIMULIA_EstPrd.Linux64.tar' % local_hotfix, + '%%(version)s.FP.CFA.%s.Part_SIMULIA_Isight.Linux64.tar' % local_hotfix, +] +checksums = [ + 'fbc93662c2c0ea9294df79ed9c9678246582d1f63598ad999bbb17fee0dbf54a', # 2021.AM_SIM_Abaqus_Extend.AllOS.1-5.tar + '4433dee911274f559a9372291c007f359108e8e1ab2db6abe570727e1b13741a', # 2021.AM_SIM_Abaqus_Extend.AllOS.2-5.tar + 'ddd79bfa40c238b12cc36c2d37ee3a351c21684fd5d6aba402a87051ee27096d', # 2021.AM_SIM_Abaqus_Extend.AllOS.3-5.tar + 'c7b5b04388c1a29f4c5ad46da35e2f5e6d2d493832611fc90860644ff837ded0', # 2021.AM_SIM_Abaqus_Extend.AllOS.4-5.tar + 'fafb50a0ee12128cd604563eb9b5b845cbeb4383c24df837220cbce847bd5c58', # 2021.AM_SIM_Abaqus_Extend.AllOS.5-5.tar + # 2021.FP.CFA.2132.Part_SIMULIA_Documentation.AllOS.tar + 'ac62bdeda3939c83dfc7683eced82816e1dbfdf6e93b7ac5b87967a239438bd4', + # 2021.FP.CFA.2132.Part_SIMULIA_EstPrd.Linux64.tar + 'b3e98f05db92c0a15520feef3494fb80d260d3ecdb67610059c3fd229426d78b', + # 2021.FP.CFA.2132.Part_SIMULIA_Isight.Linux64.tar + 'b27a90484f89989c3f27133239a85483ee24092af5d8a2159681b2cc1fada46c', +] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/a/AMS/AMS-2020.102-iimpi-2020b-intelmpi.eb b/easybuild/easyconfigs/a/AMS/AMS-2020.102-iimpi-2020b-intelmpi.eb new file mode 100644 index 00000000000..0e032547e34 --- /dev/null +++ b/easybuild/easyconfigs/a/AMS/AMS-2020.102-iimpi-2020b-intelmpi.eb @@ -0,0 +1,38 @@ +easyblock = 'Tarball' + +name = 'AMS' +version = '2020.102' +versionsuffix = '-intelmpi' + +homepage = 'https://www.scm.com/amsterdam-modeling-suite/' +description = """ +The Amsterdam Modeling Suite (AMS) provides a comprehensive set of modules for computational chemistry and materials +science, from quantum mechanics to fluid thermodynamics. +""" + +toolchain = {'name': 'iimpi', 'version': '2020b'} + +sources = ['ams%(version)s.pc64_linux.intelmpi.bin.tgz'] +checksums = ['8a68eef268d7eb53ea1e10f66a48a8280f4dadae585999096ba1c246e88989db'] + +dependencies = [('libGLU', '9.0.1')] + +keepsymlinks = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['atomicdata', 'bin', 'examples'], +} + +modextrapaths = { + 'AMSHOME': '', + 'AMSBIN': 'bin', + 'AMSRESOURCES': 'atomicdata', +} + +modloadmsg = """These environment variables need to be defined before using AMS: + * $SCMLICENSE: path to AMS license file + * $SCM_TMPDIR: path to user scratch directory +""" + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/AUGUSTUS/AUGUSTUS-3.4.0-foss-2021b.eb b/easybuild/easyconfigs/a/AUGUSTUS/AUGUSTUS-3.4.0-foss-2021b.eb new file mode 100644 index 00000000000..2c6961e4449 --- /dev/null +++ b/easybuild/easyconfigs/a/AUGUSTUS/AUGUSTUS-3.4.0-foss-2021b.eb @@ -0,0 +1,64 @@ +# Updated by: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'ConfigureMake' + +name = 'AUGUSTUS' +version = '3.4.0' + +homepage = 'https://bioinf.uni-greifswald.de/augustus/' +description = "AUGUSTUS is a program that predicts genes in eukaryotic genomic sequences" + +toolchain = {'name': 'foss', 'version': '2021b'} + +# https://github.com/Gaius-Augustus/Augustus/archive +github_account = 'Gaius-Augustus' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['AUGUSTUS-%(version)s_fix-hardcoding.patch'] +checksums = [ + '2c06cf5953da5afdce1478fa10fcd3c280a3b050f1b2367bf3e731d7374d9bb8', # v3.4.0.tar.gz + 'e74023f28ee3e76590f4534d195c313b88b66a92ec779da184d30d056fc8e052', # AUGUSTUS-3.4.0_fix-hardcoding.patch +] + +builddependencies = [ + ('Python', '3.9.6'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('Boost', '1.77.0'), + ('GSL', '2.7'), + ('SAMtools', '1.14'), + ('HTSlib', '1.14'), # also provides tabix + ('BCFtools', '1.14'), + ('lpsolve', '5.5.2.11'), + ('SuiteSparse', '5.10.1', '-METIS-5.1.0'), + ('BamTools', '2.5.2'), + ('SQLite', '3.36'), +] + +skipsteps = ['configure'] + +# run "make clean" to avoid using binaries included with the source tarball +prebuildopts = "make clean && " + +buildopts = 'COMPGENEPRED=true SQLITE=true ZIPINPUT=true MYSQL=false CXX="$CXX" LINK.cc="$CXX" ' +installopts = 'INSTALLDIR=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/augustus', 'bin/bam2hints', 'bin/etraining', 'bin/fastBlockSearch', + 'bin/filterBam', 'bin/getSeq', 'bin/homGeneMapping', 'bin/joingenes', + 'bin/load2sqlitedb', 'bin/prepareAlign'], + 'dirs': ['config', 'scripts'], +} +sanity_check_commands = ['augustus --help'] + +modextrapaths = {'PATH': 'scripts'} +modextravars = { + 'AUGUSTUS_BIN_PATH': '%(installdir)s/bin', + 'AUGUSTUS_CONFIG_PATH': '%(installdir)s/config', + 'AUGUSTUS_SCRIPTS_PATH': '%(installdir)s/scripts', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/Abseil/Abseil-20210324.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/a/Abseil/Abseil-20210324.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..02f2ee7dc25 --- /dev/null +++ b/easybuild/easyconfigs/a/Abseil/Abseil-20210324.2-GCCcore-11.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CMakeMake' + +name = 'Abseil' +version = '20210324.2' + +homepage = 'https://abseil.io/' +description = """Abseil is an open-source collection of C++ library code designed to augment the +C++ standard library. The Abseil library code is collected from Google's own +C++ code base, has been extensively tested and used in production, and is the +same code we depend on in our daily coding lives.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['https://github.com/abseil/abseil-cpp/archive/refs/tags'] +sources = ['%(version)s.tar.gz'] +checksums = ['59b862f50e710277f8ede96f083a5bb8d7c9595376146838b9580be90374ee1f'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +configopts = '-DBUILD_SHARED_LIBS=ON ' + +sanity_check_paths = { + 'files': ['lib/libabsl_base.%s' % SHLIB_EXT], + 'dirs': ['include/absl'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.1-fosscuda-2020b.eb b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.1-fosscuda-2020b.eb index d7f3a327937..1cff76362a0 100644 --- a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.1-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.1-fosscuda-2020b.eb @@ -78,7 +78,8 @@ components = [ 'AlphaFold-2.0.0_n-cpu.patch', 'AlphaFold-2.1.0_fix-scp-path.patch', 'AlphaFold-2.0.1_setup_rm_tfcpu.patch', - 'AlphaFold-2.0.1_relax_gpu.patch' + 'AlphaFold-2.0.1_relax_gpu.patch', + 'AlphaFold-2.1_fix-alphafold-tests.patch', ], 'checksums': [ '1adb6e213ba9ac321fc1acb1c563ba9b4fc054c1cebe1191bc0e2aaa671dadf7', # v2.1.1.tar.gz @@ -89,6 +90,8 @@ components = [ '5363d403baf5ab73f4d3ddd72e19af9ff832de4b1d7ba25a5fbcc5846c1c890f', # AlphaFold-2.1.0_fix-scp-path.patch '1a2e4e843bd9a4d15ee39e6c37cc63ba281311cc7a0a5610f0e43b52ef93faac', # AlphaFold-2.0.1_setup_rm_tfcpu.patch '3b9ee75aba872d912e2bca401a794054d652d47fb9e87e53e99781cef3c3091f', # AlphaFold-2.0.0_relax_gpu.patch + # AlphaFold-2.1_fix-alphafold-tests.patch + '1e3f5a7359c46ec27c37043ddc33267e363112c455a5d85f49adb55bb9714588', ], 'start_dir': 'alphafold-%(version)s', 'use_pip': True, diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2-foss-2020b-TensorFlow-2.5.0.eb b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2-foss-2020b-TensorFlow-2.5.0.eb new file mode 100644 index 00000000000..c9603b16d64 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2-foss-2020b-TensorFlow-2.5.0.eb @@ -0,0 +1,187 @@ +easyblock = 'PythonBundle' + +name = 'AlphaFold' +version = '2.1.2' +local_tf_version = '2.5.0' +versionsuffix = '-TensorFlow-%s' % local_tf_version + +homepage = 'https://deepmind.com/research/case-studies/alphafold' +description = "AlphaFold can predict protein structures with atomic accuracy even where no similar structure is known" + +toolchain = {'name': 'foss', 'version': '2020b'} + +builddependencies = [ + # CMake/Doxygen/SWIG are required for building OpenMM + ('CMake', '3.18.4'), + ('Doxygen', '1.8.20'), + # required for installing dm-tree + ('Bazel', '3.7.2'), + ('SWIG', '4.0.2'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('PyYAML', '5.3.1'), + ('TensorFlow', local_tf_version), + ('Biopython', '1.78'), + ('HH-suite', '3.3.0',), + ('HMMER', '3.3.2',), + ('Kalign', '3.3.1'), + ('jax', '0.2.19'), # also provides absl-py +] + +local_openmm_preinstallopts = "export OPENMM_INCLUDE_PATH=%(installdir)s/include && " +local_openmm_preinstallopts += " export OPENMM_LIB_PATH=%(installdir)s/lib && " + +# required to install OpenMM Python API; +# avoid that setup.py partially uninstalls existing OpenMM Python bindings... +local_openmm_installopts = " && cd python && sed -i 's/uninstall()/pass/g' setup.py && " +local_openmm_installopts += "python setup.py build && python setup.py install --prefix=%(installdir)s" + +# commit to use for downloading stereo_chemical_props.txt and copy to alphafold/common, +# see docker/Dockerfile in AlphaFold repository +local_scp_commit = '7102c6' + +components = [ + # for simtk + ('OpenMM', '7.5.1', { + 'easyblock': 'CMakeMake', + 'source_urls': ['https://github.com/openmm/openmm/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'patches': [('OpenMM-%(version)s_AlphaFold.patch', 'wrappers/python')], + 'checksums': [ + 'c88d6946468a2bde2619acb834f57b859b5e114a93093cf562165612e10f4ff7', # OpenMM-7.5.1.tar.gz + '1b109dfff3af5c6aa70690bca14618612953c68840a7e64f679db7ca33c1aff6', # OpenMM-7.5.1_AlphaFold.patch + ], + 'start_dir': 'openmm-%(version)s', + 'preinstallopts': local_openmm_preinstallopts, + 'installopts': local_openmm_installopts, + }), + (name, version, { + 'easyblock': 'PythonPackage', + 'source_urls': [ + 'https://github.com/deepmind/alphafold/archive/refs/tags/', + 'https://git.scicore.unibas.ch/schwede/openstructure/-/raw/%s/modules/mol/alg/src/' % local_scp_commit, + ], + 'sources': [ + { + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }, + { + 'download_filename': 'stereo_chemical_props.txt', + 'filename': 'stereo_chemical_props-%s.txt' % local_scp_commit, + 'extract_cmd': "cp %s .", + }, + ], + 'patches': [ + 'AlphaFold-2.0.0_fix-packages.patch', + 'AlphaFold-2.1.2_data-dep-paths.patch', + 'AlphaFold-2.0.0_n-cpu.patch', + 'AlphaFold-2.1.0_fix-scp-path.patch', + 'AlphaFold-2.0.1_setup_rm_tfcpu.patch', + 'AlphaFold-2.1_fix-alphafold-tests.patch', + ], + 'checksums': [ + 'a687d5de2dfb3516113e1e438871adec1292fc64fddd76253d65db9c80308073', # v2.1.2.tar.gz + '24510899eeb49167cffedec8fa45363a4d08279c0c637a403b452f7d0ac09451', # stereo_chemical_props-7102c6.txt + '826d2d1a5d6ac52c51a60ba210e1947d5631a1e2d76f8815305b5d23f74458db', # AlphaFold-2.0.0_fix-packages.patch + '6af91706b2a001494ddc0947f89f8b3d3adfcc26177c373824fe8ea1a58c0b48', # AlphaFold-2.1.2_data-dep-paths.patch + 'dfda4dd5f9aba19fe2b6eb9a0ec583d12dcefdfee8ab8803fc57ad48d582db04', # AlphaFold-2.0.0_n-cpu.patch + '5363d403baf5ab73f4d3ddd72e19af9ff832de4b1d7ba25a5fbcc5846c1c890f', # AlphaFold-2.1.0_fix-scp-path.patch + '1a2e4e843bd9a4d15ee39e6c37cc63ba281311cc7a0a5610f0e43b52ef93faac', # AlphaFold-2.0.1_setup_rm_tfcpu.patch + # AlphaFold-2.1_fix-alphafold-tests.patch + '1e3f5a7359c46ec27c37043ddc33267e363112c455a5d85f49adb55bb9714588', + ], + 'start_dir': 'alphafold-%(version)s', + 'use_pip': True, + }), +] + +use_pip = True + +exts_list = [ + ('PDBFixer', '1.7', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['a0bef3c52a7bbe69a6aea5333f51f3e7d158339be5829aed19b0344bd66d4eea'], + }), + ('toolz', '0.11.1', { + 'checksums': ['c7a47921f07822fe534fb1c01c9931ab335a4390c782bd28c6bcc7c2f71f3fbf'], + }), + ('chex', '0.0.8', { + 'checksums': ['d6ce1329470116b6f172a72b1131bfd4d11fb7eb465e6077c3b36224b5b09fe4'], + }), + ('tabulate', '0.8.9', { + 'checksums': ['eb1d13f25760052e8931f2ef80aaf6045a6cceb47514db8beab24cded16f13a7'], + }), + ('dm-haiku', '0.0.4', { + 'modulename': 'haiku', + 'source_urls': ['https://github.com/deepmind/dm-haiku/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['e9896d161938b53f869fde207f3f6fca496d09b2a47d21dd9b6b65e897ad6aab'], + }), + ('dm-tree', '0.1.6', { + 'modulename': 'tree', + 'checksums': ['6776404b23b4522c01012ffb314632aba092c9541577004ab153321e87da439a'], + }), + ('websocket-client', '1.2.1', { + 'modulename': 'websocket', + 'checksums': ['8dfb715d8a992f5712fff8c843adae94e22b22a99b2c5e6b0ec4a1a981cc4e0d'], + }), + ('docker', '5.0.0', { + 'checksums': ['3e8bc47534e0ca9331d72c32f2881bb13b93ded0bcdeab3c833fb7cf61c0a9a5'], + }), + ('immutabledict', '2.1.0', { + 'checksums': ['673fb8f30f46d23dd394050b979f5b7f4c5398982b99ebc854fb873e646b967a'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.0', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['59a17fcd1c140153009788517f304caaddd7a94f06690f9f0ed09987beebcf3c'], + }), +] + +postinstallcmds = [ + "mkdir -p %(installdir)s/bin", + # run_alphafold.py script is missing a shebang... + "echo '#!/usr/bin/env python' > %(installdir)s/bin/run_alphafold.py", + "cat %(builddir)s/alphafold-%(version)s/run_alphafold.py >> %(installdir)s/bin/run_alphafold.py", + "chmod a+x %(installdir)s/bin/run_alphafold.py", + "cd %(installdir)s/bin && ln -s run_alphafold.py alphafold", + "cp -a %(builddir)s/alphafold-%(version)s/scripts %(installdir)s/", + "cp %%(builddir)s/stereo_chemical_props-%s.txt %%(installdir)s/stereo_chemical_props.txt" % local_scp_commit, + # run tests for run_alphafold.py script; + # shouldn't do this in sanity check to avoid breaking use of --module-only + "PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH " + "python %(builddir)s/alphafold-%(version)s/run_alphafold_test.py", +] + +sanity_check_paths = { + 'files': ['bin/alphafold', 'bin/pdbfixer', 'bin/run_alphafold.py', 'lib/libOpenMM.%s' % SHLIB_EXT, + 'lib/python%(pyshortver)s/site-packages/simtk/openmm/openmm.py', 'stereo_chemical_props.txt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'scripts'], +} + +sanity_check_commands = [ + "pdbfixer --help", + "python -m simtk.testInstallation", + "python -c 'import alphafold'", + "alphafold --help 2>&1 | grep 'Full AlphaFold protein structure prediction script'", +] + +sanity_pip_check = True + +modextrapaths = { + 'OPENMM_INCLUDE_PATH': 'include', + 'OPENMM_LIB_PATH': 'lib', +} + +modextravars = { + # 'ALPHAFOLD_DATA_DIR': '/path/to/AlphaFold_DBs', # please adapt +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..d6332594c4b --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,194 @@ +easyblock = 'PythonBundle' + +name = 'AlphaFold' +version = '2.1.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://deepmind.com/research/case-studies/alphafold' +description = "AlphaFold can predict protein structures with atomic accuracy even where no similar structure is known" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + # CMake/Doxygen/SWIG are required for building OpenMM + ('CMake', '3.20.1'), + ('Doxygen', '1.9.1'), + # required for installing dm-tree + ('Bazel', '3.7.2'), + ('SWIG', '4.0.2'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('CUDA', '11.3.1', '', True), + ('SciPy-bundle', '2021.05'), + ('PyYAML', '5.4.1'), + ('TensorFlow', '2.6.0', versionsuffix), + ('Biopython', '1.79'), + ('HH-suite', '3.3.0'), + ('HMMER', '3.3.2'), + ('Kalign', '3.3.1'), + ('jax', '0.2.24', versionsuffix), # also provides absl-py + ('UCX-CUDA', '1.10.0', versionsuffix), + ('cuDNN', '8.2.1.32', versionsuffix, True), + ('NCCL', '2.10.3', versionsuffix), +] +local_openmm_preinstallopts = "export OPENMM_INCLUDE_PATH=%(installdir)s/include && " +local_openmm_preinstallopts += " export OPENMM_LIB_PATH=%(installdir)s/lib && " + +# required to install OpenMM Python API; +# avoid that setup.py partially uninstalls existing OpenMM Python bindings... +local_openmm_installopts = " && cd python && sed -i 's/uninstall()/pass/g' setup.py && " +local_openmm_installopts += "python setup.py build && python setup.py install --prefix=%(installdir)s" + +# commit to use for downloading stereo_chemical_props.txt and copy to alphafold/common, +# see docker/Dockerfile in AlphaFold repository +local_scp_commit = '7102c6' + +components = [ + # for simtk + ('OpenMM', '7.5.1', { + 'easyblock': 'CMakeMake', + 'source_urls': ['https://github.com/openmm/openmm/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'patches': [('OpenMM-%(version)s_AlphaFold.patch', 'wrappers/python')], + 'checksums': [ + 'c88d6946468a2bde2619acb834f57b859b5e114a93093cf562165612e10f4ff7', # OpenMM-7.5.1.tar.gz + '1b109dfff3af5c6aa70690bca14618612953c68840a7e64f679db7ca33c1aff6', # OpenMM-7.5.1_AlphaFold.patch + ], + 'start_dir': 'openmm-%(version)s', + 'preinstallopts': local_openmm_preinstallopts, + 'installopts': local_openmm_installopts, + }), + (name, version, { + 'easyblock': 'PythonPackage', + 'source_urls': [ + 'https://github.com/deepmind/alphafold/archive/refs/tags/', + 'https://git.scicore.unibas.ch/schwede/openstructure/-/raw/%s/modules/mol/alg/src/' % local_scp_commit, + ], + 'sources': [ + { + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }, + { + 'download_filename': 'stereo_chemical_props.txt', + 'filename': 'stereo_chemical_props-%s.txt' % local_scp_commit, + 'extract_cmd': "cp %s .", + }, + ], + 'patches': [ + 'AlphaFold-2.0.0_fix-packages.patch', + 'AlphaFold-2.1.2_data-dep-paths.patch', + 'AlphaFold-2.0.0_n-cpu.patch', + 'AlphaFold-2.1.0_fix-scp-path.patch', + 'AlphaFold-2.0.1_setup_rm_tfcpu.patch', + 'AlphaFold-2.1_fix-alphafold-tests.patch', + ], + 'checksums': [ + 'a687d5de2dfb3516113e1e438871adec1292fc64fddd76253d65db9c80308073', # v2.1.2.tar.gz + '24510899eeb49167cffedec8fa45363a4d08279c0c637a403b452f7d0ac09451', # stereo_chemical_props-7102c6.txt + '826d2d1a5d6ac52c51a60ba210e1947d5631a1e2d76f8815305b5d23f74458db', # AlphaFold-2.0.0_fix-packages.patch + '6af91706b2a001494ddc0947f89f8b3d3adfcc26177c373824fe8ea1a58c0b48', # AlphaFold-2.1.2_data-dep-paths.patch + 'dfda4dd5f9aba19fe2b6eb9a0ec583d12dcefdfee8ab8803fc57ad48d582db04', # AlphaFold-2.0.0_n-cpu.patch + '5363d403baf5ab73f4d3ddd72e19af9ff832de4b1d7ba25a5fbcc5846c1c890f', # AlphaFold-2.1.0_fix-scp-path.patch + '1a2e4e843bd9a4d15ee39e6c37cc63ba281311cc7a0a5610f0e43b52ef93faac', # AlphaFold-2.0.1_setup_rm_tfcpu.patch + # AlphaFold-2.1_fix-alphafold-tests.patch + '1e3f5a7359c46ec27c37043ddc33267e363112c455a5d85f49adb55bb9714588', + ], + 'start_dir': 'alphafold-%(version)s', + 'use_pip': True, + }), +] + +use_pip = True + +exts_list = [ + ('PDBFixer', '1.7', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['a0bef3c52a7bbe69a6aea5333f51f3e7d158339be5829aed19b0344bd66d4eea'], + }), + ('toolz', '0.11.1', { + 'checksums': ['c7a47921f07822fe534fb1c01c9931ab335a4390c782bd28c6bcc7c2f71f3fbf'], + }), + ('chex', '0.0.8', { + 'checksums': ['d6ce1329470116b6f172a72b1131bfd4d11fb7eb465e6077c3b36224b5b09fe4'], + }), + ('tabulate', '0.8.9', { + 'checksums': ['eb1d13f25760052e8931f2ef80aaf6045a6cceb47514db8beab24cded16f13a7'], + }), + ('dm-haiku', '0.0.4', { + 'modulename': 'haiku', + 'source_urls': ['https://github.com/deepmind/dm-haiku/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['e9896d161938b53f869fde207f3f6fca496d09b2a47d21dd9b6b65e897ad6aab'], + }), + ('dm-tree', '0.1.6', { + 'modulename': 'tree', + 'checksums': ['6776404b23b4522c01012ffb314632aba092c9541577004ab153321e87da439a'], + }), + ('websocket-client', '1.2.1', { + 'modulename': 'websocket', + 'checksums': ['8dfb715d8a992f5712fff8c843adae94e22b22a99b2c5e6b0ec4a1a981cc4e0d'], + }), + ('docker', '5.0.0', { + 'checksums': ['3e8bc47534e0ca9331d72c32f2881bb13b93ded0bcdeab3c833fb7cf61c0a9a5'], + }), + ('immutabledict', '2.1.0', { + 'checksums': ['673fb8f30f46d23dd394050b979f5b7f4c5398982b99ebc854fb873e646b967a'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.0', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['59a17fcd1c140153009788517f304caaddd7a94f06690f9f0ed09987beebcf3c'], + }), +] + +postinstallcmds = [ + "mkdir -p %(installdir)s/bin", + # run_alphafold.py script is missing a shebang... + "echo '#!/usr/bin/env python' > %(installdir)s/bin/run_alphafold.py", + "cat %(builddir)s/alphafold-%(version)s/run_alphafold.py >> %(installdir)s/bin/run_alphafold.py", + "chmod a+x %(installdir)s/bin/run_alphafold.py", + "cd %(installdir)s/bin && ln -s run_alphafold.py alphafold", + "cp -a %(builddir)s/alphafold-%(version)s/scripts %(installdir)s/", + "cp %%(builddir)s/stereo_chemical_props-%s.txt %%(installdir)s/stereo_chemical_props.txt" % local_scp_commit, + # run tests for run_alphafold.py script; + # shouldn't do this in sanity check to avoid breaking use of --module-only + "PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH " + "python %(builddir)s/alphafold-%(version)s/run_alphafold_test.py", +] + +sanity_check_paths = { + 'files': ['bin/alphafold', 'bin/pdbfixer', 'bin/run_alphafold.py', 'lib/libOpenMM.%s' % SHLIB_EXT, + 'lib/python%(pyshortver)s/site-packages/simtk/openmm/openmm.py', 'stereo_chemical_props.txt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'scripts'], +} + +sanity_check_commands = [ + "pdbfixer --help", + "python -m simtk.testInstallation", + "python -c 'import alphafold'", + "alphafold --help 2>&1 | grep 'Full AlphaFold protein structure prediction script'", +] + +sanity_pip_check = True + +modextrapaths = { + 'OPENMM_INCLUDE_PATH': 'include', + 'OPENMM_LIB_PATH': 'lib', +} + +# these allow to make predictions on proteins that would typically be too long to fit into GPU memory; +# see https://github.com/deepmind/alphafold/blob/main/docker/run_docker.py +modextravars = { + 'TF_FORCE_UNIFIED_MEMORY': '1', + 'XLA_PYTHON_CLIENT_MEM_FRACTION': '4.0', + # 'ALPHAFOLD_DATA_DIR': '/path/to/AlphaFold_DBs', # please adapt + 'OPENMM_RELAX': 'CUDA' # unset or set to 'CPU' in order not to run the energy minimization on GPU; PR#189 +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2-foss-2021a.eb b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2-foss-2021a.eb new file mode 100644 index 00000000000..bb34b753f32 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2-foss-2021a.eb @@ -0,0 +1,184 @@ +easyblock = 'PythonBundle' + +name = 'AlphaFold' +version = '2.1.2' + +homepage = 'https://deepmind.com/research/case-studies/alphafold' +description = "AlphaFold can predict protein structures with atomic accuracy even where no similar structure is known" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + # CMake/Doxygen/SWIG are required for building OpenMM + ('CMake', '3.20.1'), + ('Doxygen', '1.9.1'), + # required for installing dm-tree + ('Bazel', '3.7.2'), + ('SWIG', '4.0.2'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('PyYAML', '5.4.1'), + ('TensorFlow', '2.6.0'), + ('Biopython', '1.79'), + ('HH-suite', '3.3.0'), + ('HMMER', '3.3.2'), + ('Kalign', '3.3.1'), + ('jax', '0.2.24'), # also provides absl-py +] +local_openmm_preinstallopts = "export OPENMM_INCLUDE_PATH=%(installdir)s/include && " +local_openmm_preinstallopts += " export OPENMM_LIB_PATH=%(installdir)s/lib && " + +# required to install OpenMM Python API; +# avoid that setup.py partially uninstalls existing OpenMM Python bindings... +local_openmm_installopts = " && cd python && sed -i 's/uninstall()/pass/g' setup.py && " +local_openmm_installopts += "python setup.py build && python setup.py install --prefix=%(installdir)s" + +# commit to use for downloading stereo_chemical_props.txt and copy to alphafold/common, +# see docker/Dockerfile in AlphaFold repository +local_scp_commit = '7102c6' + +components = [ + # for simtk + ('OpenMM', '7.5.1', { + 'easyblock': 'CMakeMake', + 'source_urls': ['https://github.com/openmm/openmm/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'patches': [('OpenMM-%(version)s_AlphaFold.patch', 'wrappers/python')], + 'checksums': [ + 'c88d6946468a2bde2619acb834f57b859b5e114a93093cf562165612e10f4ff7', # OpenMM-7.5.1.tar.gz + '1b109dfff3af5c6aa70690bca14618612953c68840a7e64f679db7ca33c1aff6', # OpenMM-7.5.1_AlphaFold.patch + ], + 'start_dir': 'openmm-%(version)s', + 'preinstallopts': local_openmm_preinstallopts, + 'installopts': local_openmm_installopts, + }), + (name, version, { + 'easyblock': 'PythonPackage', + 'source_urls': [ + 'https://github.com/deepmind/alphafold/archive/refs/tags/', + 'https://git.scicore.unibas.ch/schwede/openstructure/-/raw/%s/modules/mol/alg/src/' % local_scp_commit, + ], + 'sources': [ + { + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }, + { + 'download_filename': 'stereo_chemical_props.txt', + 'filename': 'stereo_chemical_props-%s.txt' % local_scp_commit, + 'extract_cmd': "cp %s .", + }, + ], + 'patches': [ + 'AlphaFold-2.0.0_fix-packages.patch', + 'AlphaFold-2.1.2_data-dep-paths.patch', + 'AlphaFold-2.0.0_n-cpu.patch', + 'AlphaFold-2.1.0_fix-scp-path.patch', + 'AlphaFold-2.0.1_setup_rm_tfcpu.patch', + 'AlphaFold-2.1_fix-alphafold-tests.patch', + ], + 'checksums': [ + 'a687d5de2dfb3516113e1e438871adec1292fc64fddd76253d65db9c80308073', # v2.1.2.tar.gz + '24510899eeb49167cffedec8fa45363a4d08279c0c637a403b452f7d0ac09451', # stereo_chemical_props-7102c6.txt + '826d2d1a5d6ac52c51a60ba210e1947d5631a1e2d76f8815305b5d23f74458db', # AlphaFold-2.0.0_fix-packages.patch + '6af91706b2a001494ddc0947f89f8b3d3adfcc26177c373824fe8ea1a58c0b48', # AlphaFold-2.1.2_data-dep-paths.patch + 'dfda4dd5f9aba19fe2b6eb9a0ec583d12dcefdfee8ab8803fc57ad48d582db04', # AlphaFold-2.0.0_n-cpu.patch + '5363d403baf5ab73f4d3ddd72e19af9ff832de4b1d7ba25a5fbcc5846c1c890f', # AlphaFold-2.1.0_fix-scp-path.patch + '1a2e4e843bd9a4d15ee39e6c37cc63ba281311cc7a0a5610f0e43b52ef93faac', # AlphaFold-2.0.1_setup_rm_tfcpu.patch + # AlphaFold-2.1_fix-alphafold-tests.patch + '1e3f5a7359c46ec27c37043ddc33267e363112c455a5d85f49adb55bb9714588', + ], + 'start_dir': 'alphafold-%(version)s', + 'use_pip': True, + }), +] + +use_pip = True + +exts_list = [ + ('PDBFixer', '1.7', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['a0bef3c52a7bbe69a6aea5333f51f3e7d158339be5829aed19b0344bd66d4eea'], + }), + ('toolz', '0.11.1', { + 'checksums': ['c7a47921f07822fe534fb1c01c9931ab335a4390c782bd28c6bcc7c2f71f3fbf'], + }), + ('chex', '0.0.8', { + 'checksums': ['d6ce1329470116b6f172a72b1131bfd4d11fb7eb465e6077c3b36224b5b09fe4'], + }), + ('tabulate', '0.8.9', { + 'checksums': ['eb1d13f25760052e8931f2ef80aaf6045a6cceb47514db8beab24cded16f13a7'], + }), + ('dm-haiku', '0.0.4', { + 'modulename': 'haiku', + 'source_urls': ['https://github.com/deepmind/dm-haiku/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['e9896d161938b53f869fde207f3f6fca496d09b2a47d21dd9b6b65e897ad6aab'], + }), + ('dm-tree', '0.1.6', { + 'modulename': 'tree', + 'checksums': ['6776404b23b4522c01012ffb314632aba092c9541577004ab153321e87da439a'], + }), + ('websocket-client', '1.2.1', { + 'modulename': 'websocket', + 'checksums': ['8dfb715d8a992f5712fff8c843adae94e22b22a99b2c5e6b0ec4a1a981cc4e0d'], + }), + ('docker', '5.0.0', { + 'checksums': ['3e8bc47534e0ca9331d72c32f2881bb13b93ded0bcdeab3c833fb7cf61c0a9a5'], + }), + ('immutabledict', '2.1.0', { + 'checksums': ['673fb8f30f46d23dd394050b979f5b7f4c5398982b99ebc854fb873e646b967a'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.0', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['59a17fcd1c140153009788517f304caaddd7a94f06690f9f0ed09987beebcf3c'], + }), +] + +postinstallcmds = [ + "mkdir -p %(installdir)s/bin", + # run_alphafold.py script is missing a shebang... + "echo '#!/usr/bin/env python' > %(installdir)s/bin/run_alphafold.py", + "cat %(builddir)s/alphafold-%(version)s/run_alphafold.py >> %(installdir)s/bin/run_alphafold.py", + "chmod a+x %(installdir)s/bin/run_alphafold.py", + "cd %(installdir)s/bin && ln -s run_alphafold.py alphafold", + "cp -a %(builddir)s/alphafold-%(version)s/scripts %(installdir)s/", + "cp %%(builddir)s/stereo_chemical_props-%s.txt %%(installdir)s/stereo_chemical_props.txt" % local_scp_commit, + # run tests for run_alphafold.py script; + # shouldn't do this in sanity check to avoid breaking use of --module-only + "PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH " + "python %(builddir)s/alphafold-%(version)s/run_alphafold_test.py", +] + +sanity_check_paths = { + 'files': ['bin/alphafold', 'bin/pdbfixer', 'bin/run_alphafold.py', 'lib/libOpenMM.%s' % SHLIB_EXT, + 'lib/python%(pyshortver)s/site-packages/simtk/openmm/openmm.py', 'stereo_chemical_props.txt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'scripts'], +} + +sanity_check_commands = [ + "pdbfixer --help", + "python -m simtk.testInstallation", + "python -c 'import alphafold'", + "alphafold --help 2>&1 | grep 'Full AlphaFold protein structure prediction script'", +] + +sanity_pip_check = True + +modextrapaths = { + 'OPENMM_INCLUDE_PATH': 'include', + 'OPENMM_LIB_PATH': 'lib', +} + +modextravars = { + # 'ALPHAFOLD_DATA_DIR': '/path/to/AlphaFold_DBs', # please adapt +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2-fosscuda-2020b-TensorFlow-2.5.0.eb b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2-fosscuda-2020b-TensorFlow-2.5.0.eb new file mode 100644 index 00000000000..2dcc49bc3ad --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2-fosscuda-2020b-TensorFlow-2.5.0.eb @@ -0,0 +1,193 @@ +easyblock = 'PythonBundle' + +name = 'AlphaFold' +version = '2.1.2' +local_tf_version = '2.5.0' +versionsuffix = '-TensorFlow-%s' % local_tf_version + +homepage = 'https://deepmind.com/research/case-studies/alphafold' +description = "AlphaFold can predict protein structures with atomic accuracy even where no similar structure is known" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +builddependencies = [ + # CMake/Doxygen/SWIG are required for building OpenMM + ('CMake', '3.18.4'), + ('Doxygen', '1.8.20'), + # required for installing dm-tree + ('Bazel', '3.7.2'), + ('SWIG', '4.0.2'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('PyYAML', '5.3.1'), + ('TensorFlow', local_tf_version), + ('Biopython', '1.78'), + ('HH-suite', '3.3.0',), + ('HMMER', '3.3.2',), + ('Kalign', '3.3.1'), + ('jax', '0.2.19'), # also provides absl-py +] + +local_openmm_preinstallopts = "export OPENMM_INCLUDE_PATH=%(installdir)s/include && " +local_openmm_preinstallopts += " export OPENMM_LIB_PATH=%(installdir)s/lib && " + +# required to install OpenMM Python API; +# avoid that setup.py partially uninstalls existing OpenMM Python bindings... +local_openmm_installopts = " && cd python && sed -i 's/uninstall()/pass/g' setup.py && " +local_openmm_installopts += "python setup.py build && python setup.py install --prefix=%(installdir)s" + +# commit to use for downloading stereo_chemical_props.txt and copy to alphafold/common, +# see docker/Dockerfile in AlphaFold repository +local_scp_commit = '7102c6' + +components = [ + # for simtk + ('OpenMM', '7.5.1', { + 'easyblock': 'CMakeMake', + 'source_urls': ['https://github.com/openmm/openmm/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'patches': [('OpenMM-%(version)s_AlphaFold.patch', 'wrappers/python')], + 'checksums': [ + 'c88d6946468a2bde2619acb834f57b859b5e114a93093cf562165612e10f4ff7', # OpenMM-7.5.1.tar.gz + '1b109dfff3af5c6aa70690bca14618612953c68840a7e64f679db7ca33c1aff6', # OpenMM-7.5.1_AlphaFold.patch + ], + 'start_dir': 'openmm-%(version)s', + 'preinstallopts': local_openmm_preinstallopts, + 'installopts': local_openmm_installopts, + }), + (name, version, { + 'easyblock': 'PythonPackage', + 'source_urls': [ + 'https://github.com/deepmind/alphafold/archive/refs/tags/', + 'https://git.scicore.unibas.ch/schwede/openstructure/-/raw/%s/modules/mol/alg/src/' % local_scp_commit, + ], + 'sources': [ + { + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }, + { + 'download_filename': 'stereo_chemical_props.txt', + 'filename': 'stereo_chemical_props-%s.txt' % local_scp_commit, + 'extract_cmd': "cp %s .", + }, + ], + 'patches': [ + 'AlphaFold-2.0.0_fix-packages.patch', + 'AlphaFold-2.1.2_data-dep-paths.patch', + 'AlphaFold-2.0.0_n-cpu.patch', + 'AlphaFold-2.1.0_fix-scp-path.patch', + 'AlphaFold-2.0.1_setup_rm_tfcpu.patch', + 'AlphaFold-2.1_fix-alphafold-tests.patch', + ], + 'checksums': [ + 'a687d5de2dfb3516113e1e438871adec1292fc64fddd76253d65db9c80308073', # v2.1.2.tar.gz + '24510899eeb49167cffedec8fa45363a4d08279c0c637a403b452f7d0ac09451', # stereo_chemical_props-7102c6.txt + '826d2d1a5d6ac52c51a60ba210e1947d5631a1e2d76f8815305b5d23f74458db', # AlphaFold-2.0.0_fix-packages.patch + '6af91706b2a001494ddc0947f89f8b3d3adfcc26177c373824fe8ea1a58c0b48', # AlphaFold-2.1.2_data-dep-paths.patch + 'dfda4dd5f9aba19fe2b6eb9a0ec583d12dcefdfee8ab8803fc57ad48d582db04', # AlphaFold-2.0.0_n-cpu.patch + '5363d403baf5ab73f4d3ddd72e19af9ff832de4b1d7ba25a5fbcc5846c1c890f', # AlphaFold-2.1.0_fix-scp-path.patch + '1a2e4e843bd9a4d15ee39e6c37cc63ba281311cc7a0a5610f0e43b52ef93faac', # AlphaFold-2.0.1_setup_rm_tfcpu.patch + # AlphaFold-2.1_fix-alphafold-tests.patch + '1e3f5a7359c46ec27c37043ddc33267e363112c455a5d85f49adb55bb9714588', + ], + 'start_dir': 'alphafold-%(version)s', + 'use_pip': True, + }), +] + +use_pip = True + +exts_list = [ + ('PDBFixer', '1.7', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['a0bef3c52a7bbe69a6aea5333f51f3e7d158339be5829aed19b0344bd66d4eea'], + }), + ('toolz', '0.11.1', { + 'checksums': ['c7a47921f07822fe534fb1c01c9931ab335a4390c782bd28c6bcc7c2f71f3fbf'], + }), + ('chex', '0.0.8', { + 'checksums': ['d6ce1329470116b6f172a72b1131bfd4d11fb7eb465e6077c3b36224b5b09fe4'], + }), + ('tabulate', '0.8.9', { + 'checksums': ['eb1d13f25760052e8931f2ef80aaf6045a6cceb47514db8beab24cded16f13a7'], + }), + ('dm-haiku', '0.0.4', { + 'modulename': 'haiku', + 'source_urls': ['https://github.com/deepmind/dm-haiku/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['e9896d161938b53f869fde207f3f6fca496d09b2a47d21dd9b6b65e897ad6aab'], + }), + ('dm-tree', '0.1.6', { + 'modulename': 'tree', + 'checksums': ['6776404b23b4522c01012ffb314632aba092c9541577004ab153321e87da439a'], + }), + ('websocket-client', '1.2.1', { + 'modulename': 'websocket', + 'checksums': ['8dfb715d8a992f5712fff8c843adae94e22b22a99b2c5e6b0ec4a1a981cc4e0d'], + }), + ('docker', '5.0.0', { + 'checksums': ['3e8bc47534e0ca9331d72c32f2881bb13b93ded0bcdeab3c833fb7cf61c0a9a5'], + }), + ('immutabledict', '2.1.0', { + 'checksums': ['673fb8f30f46d23dd394050b979f5b7f4c5398982b99ebc854fb873e646b967a'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.0', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['59a17fcd1c140153009788517f304caaddd7a94f06690f9f0ed09987beebcf3c'], + }), +] + +postinstallcmds = [ + "mkdir -p %(installdir)s/bin", + # run_alphafold.py script is missing a shebang... + "echo '#!/usr/bin/env python' > %(installdir)s/bin/run_alphafold.py", + "cat %(builddir)s/alphafold-%(version)s/run_alphafold.py >> %(installdir)s/bin/run_alphafold.py", + "chmod a+x %(installdir)s/bin/run_alphafold.py", + "cd %(installdir)s/bin && ln -s run_alphafold.py alphafold", + "cp -a %(builddir)s/alphafold-%(version)s/scripts %(installdir)s/", + "cp %%(builddir)s/stereo_chemical_props-%s.txt %%(installdir)s/stereo_chemical_props.txt" % local_scp_commit, + # run tests for run_alphafold.py script; + # shouldn't do this in sanity check to avoid breaking use of --module-only + "PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH " + "python %(builddir)s/alphafold-%(version)s/run_alphafold_test.py", +] + +sanity_check_paths = { + 'files': ['bin/alphafold', 'bin/pdbfixer', 'bin/run_alphafold.py', 'lib/libOpenMM.%s' % SHLIB_EXT, + 'lib/python%(pyshortver)s/site-packages/simtk/openmm/openmm.py', 'stereo_chemical_props.txt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'scripts'], +} + +sanity_check_commands = [ + "pdbfixer --help", + "python -m simtk.testInstallation", + "python -c 'import alphafold'", + "alphafold --help 2>&1 | grep 'Full AlphaFold protein structure prediction script'", +] + +sanity_pip_check = True + +modextrapaths = { + 'OPENMM_INCLUDE_PATH': 'include', + 'OPENMM_LIB_PATH': 'lib', +} + +modextravars = { + # 'ALPHAFOLD_DATA_DIR': '/path/to/AlphaFold_DBs', # please adapt + # these allow to make predictions on proteins that would typically be too long to fit into GPU memory; + # see https://github.com/deepmind/alphafold/blob/main/docker/run_docker.py + 'TF_FORCE_UNIFIED_MEMORY': '1', + 'XLA_PYTHON_CLIENT_MEM_FRACTION': '4.0', + # unset or set to 'CPU' in order not to run the energy minimization on GPU; PR#189 + 'OPENMM_RELAX': 'CUDA', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2_data-dep-paths.patch b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2_data-dep-paths.patch new file mode 100644 index 00000000000..d89b1356f6c --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2_data-dep-paths.patch @@ -0,0 +1,134 @@ +pick up on $ALPHAFOLD_DATA_DIR to specify location to downloaded data +(see https://github.com/deepmind/alphafold/blob/main/docker/run_docker.py); +pick up on HH-suite, HHMER, Kalign dependencies provided via EasyBuild +author: Kenneth Hoste (HPC-UGent) +update 2.0.1 -> 2.1.0/2.1.2: Thomas Hoffmann (EMBL); +diff -ru alphafold-2.1.2/run_alphafold.py AlphaFold-2.1.2_data-dep-paths.patch/run_alphafold.py +--- alphafold-2.1.2/run_alphafold.py 2022-01-27 15:41:09.000000000 +0100 ++++ AlphaFold-2.1.2_data-dep-paths.patch/run_alphafold.py 2022-02-01 13:14:14.417024919 +0100 +@@ -40,6 +40,45 @@ + import numpy as np + + # Internal import (7716). ++use_reduced_dbs = any("--db_preset=reduced_dbs" in s for s in sys.argv[1:]) ++use_monomer_preset = not any("--model_preset=multimer" in s for s in sys.argv[1:]) ++ ++data_dir = os.getenv('ALPHAFOLD_DATA_DIR') ++use_gpu_relax = os.getenv('OPENMM_RELAX')=='CUDA' ++ ++if data_dir: ++ mgnify_database_path = os.path.join(data_dir, 'mgnify', 'mgy_clusters_2018_12.fa') ++ uniref90_database_path = os.path.join(data_dir, 'uniref90', 'uniref90.fasta') ++ template_mmcif_dir = os.path.join(data_dir, 'pdb_mmcif', 'mmcif_files') ++ obsolete_pdbs_path = os.path.join(data_dir, 'pdb_mmcif', 'obsolete.dat') ++ if use_monomer_preset: ++ pdb_seqres_database_path = None ++ uniprot_database_path = None ++ pdb70_database_path = os.path.join(data_dir, 'pdb70', 'pdb70') ++ else: ++ pdb_seqres_database_path = os.path.join(data_dir, 'pdb_seqres', 'pdb_seqres.txt') ++ uniprot_database_path = os.path.join(data_dir, 'uniprot', 'uniprot.fasta') ++ pdb70_database_path = None ++ if use_reduced_dbs: ++ small_bfd_database_path = os.path.join(data_dir, 'small_bfd','bfd-first_non_consensus_sequences.fasta') ++ uniclust30_database_path = None ++ bfd_database_path = None ++ else: ++ small_bfd_database_path = None ++ bfd_database_path = os.path.join(data_dir, 'bfd', 'bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt') ++ uniclust30_database_path = os.path.join(data_dir, 'uniclust30', 'uniclust30_2018_08', 'uniclust30_2018_08') ++else: ++ sys.stderr.write("$ALPHAFOLD_DATA_DIR is not defined!") ++ uniref90_database_path = None ++ mgnify_database_path = None ++ bfd_database_path = None ++ uniclust30_database_path = None ++ pdb70_database_path = None ++ template_mmcif_dir = None ++ obsolete_pdbs_path = None ++ small_bfd_database_path = None ++ uniprot_database_path = None ++ pdb_seqres_database_path = None + + logging.set_verbosity(logging.INFO) + +@@ -56,7 +95,7 @@ + 'where it is not, or where the origin is unknown. These values determine ' + 'the pairing method for the MSA.') + +-flags.DEFINE_string('data_dir', None, 'Path to directory of supporting data.') ++flags.DEFINE_string('data_dir', data_dir, 'Path to directory of supporting data.') + flags.DEFINE_string('output_dir', None, 'Path to a directory that will ' + 'store the results.') + flags.DEFINE_string('jackhmmer_binary_path', shutil.which('jackhmmer'), +@@ -71,27 +110,27 @@ + 'Path to the hmmbuild executable.') + flags.DEFINE_string('kalign_binary_path', shutil.which('kalign'), + 'Path to the Kalign executable.') +-flags.DEFINE_string('uniref90_database_path', None, 'Path to the Uniref90 ' ++flags.DEFINE_string('uniref90_database_path', uniref90_database_path, 'Path to the Uniref90 ' + 'database for use by JackHMMER.') +-flags.DEFINE_string('mgnify_database_path', None, 'Path to the MGnify ' ++flags.DEFINE_string('mgnify_database_path', mgnify_database_path, 'Path to the MGnify ' + 'database for use by JackHMMER.') +-flags.DEFINE_string('bfd_database_path', None, 'Path to the BFD ' ++flags.DEFINE_string('bfd_database_path', bfd_database_path, 'Path to the BFD ' + 'database for use by HHblits.') +-flags.DEFINE_string('small_bfd_database_path', None, 'Path to the small ' ++flags.DEFINE_string('small_bfd_database_path', small_bfd_database_path, 'Path to the small ' + 'version of BFD used with the "reduced_dbs" preset.') +-flags.DEFINE_string('uniclust30_database_path', None, 'Path to the Uniclust30 ' ++flags.DEFINE_string('uniclust30_database_path', uniclust30_database_path, 'Path to the Uniclust30 ' + 'database for use by HHblits.') +-flags.DEFINE_string('uniprot_database_path', None, 'Path to the Uniprot ' ++flags.DEFINE_string('uniprot_database_path', uniprot_database_path, 'Path to the Uniprot ' + 'database for use by JackHMMer.') +-flags.DEFINE_string('pdb70_database_path', None, 'Path to the PDB70 ' ++flags.DEFINE_string('pdb70_database_path', pdb70_database_path, 'Path to the PDB70 ' + 'database for use by HHsearch.') +-flags.DEFINE_string('pdb_seqres_database_path', None, 'Path to the PDB ' ++flags.DEFINE_string('pdb_seqres_database_path', pdb_seqres_database_path, 'Path to the PDB ' + 'seqres database for use by hmmsearch.') +-flags.DEFINE_string('template_mmcif_dir', None, 'Path to a directory with ' ++flags.DEFINE_string('template_mmcif_dir', template_mmcif_dir, 'Path to a directory with ' + 'template mmCIF structures, each named .cif') + flags.DEFINE_string('max_template_date', None, 'Maximum template release date ' + 'to consider. Important if folding historical test sets.') +-flags.DEFINE_string('obsolete_pdbs_path', None, 'Path to file containing a ' ++flags.DEFINE_string('obsolete_pdbs_path', obsolete_pdbs_path, 'Path to file containing a ' + 'mapping from obsolete PDB IDs to the PDB IDs of their ' + 'replacements.') + flags.DEFINE_enum('db_preset', 'full_dbs', +@@ -125,7 +164,7 @@ + 'result in predictions with distracting stereochemical ' + 'violations but might help in case you are having issues ' + 'with the relaxation stage.') +-flags.DEFINE_boolean('use_gpu_relax', None, 'Whether to relax on GPU. ' ++flags.DEFINE_boolean('use_gpu_relax', use_gpu_relax, 'Whether to relax on GPU. ' + 'Relax on GPU can be much faster than CPU, so it is ' + 'recommended to enable if possible. GPUs must be available' + ' if this setting is enabled.') +@@ -294,6 +333,9 @@ + 'sure it is installed on your system.') + + use_small_bfd = FLAGS.db_preset == 'reduced_dbs' ++ if use_small_bfd and data_dir: ++ bfd_database_path = None ++ uniclust30_database_path = None + _check_flag('small_bfd_database_path', 'db_preset', + should_be_set=use_small_bfd) + _check_flag('bfd_database_path', 'db_preset', +@@ -433,13 +475,7 @@ + flags.mark_flags_as_required([ + 'fasta_paths', + 'output_dir', +- 'data_dir', +- 'uniref90_database_path', +- 'mgnify_database_path', +- 'template_mmcif_dir', + 'max_template_date', +- 'obsolete_pdbs_path', +- 'use_gpu_relax', + ]) + + app.run(main) diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1_fix-alphafold-tests.patch b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1_fix-alphafold-tests.patch new file mode 100644 index 00000000000..13083a331d4 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1_fix-alphafold-tests.patch @@ -0,0 +1,23 @@ +Fix `run_alphafold_test.py` to use an unique directory per test to avoid pollution when the tests are run multiple times +See https://github.com/deepmind/alphafold/issues/365 +Patch by Simon Branford (University of Birmingham) +--- run_alphafold_test.py.orig 2022-02-13 11:09:48.465041000 +0000 ++++ run_alphafold_test.py 2022-02-13 12:02:17.963970000 +0000 +@@ -59,14 +59,13 @@ + model_runner_mock.multimer_mode = False + amber_relaxer_mock.process.return_value = ('RELAXED', None, None) + +- fasta_path = os.path.join(absltest.get_default_test_tmpdir(), +- 'target.fasta') ++ out_dir = self.create_tempdir().full_path ++ ++ fasta_path = os.path.join(out_dir, 'target.fasta') + with open(fasta_path, 'wt') as f: + f.write('>A\nAAAAAAAAAAAAA') + fasta_name = 'test' + +- out_dir = absltest.get_default_test_tmpdir() +- + run_alphafold.predict_structure( + fasta_path=fasta_path, + fasta_name=fasta_name, diff --git a/easybuild/easyconfigs/a/AmberTools/AmberTools-21-intel-2021b.eb b/easybuild/easyconfigs/a/AmberTools/AmberTools-21-intel-2021b.eb new file mode 100644 index 00000000000..2ccde888920 --- /dev/null +++ b/easybuild/easyconfigs/a/AmberTools/AmberTools-21-intel-2021b.eb @@ -0,0 +1,58 @@ +easyblock = 'EB_Amber' + +name = 'AmberTools' +version = '21' + +homepage = 'https://ambermd.org/' +description = """AmberTools consists of several independently developed packages that work well by themselves, + and with Amber itself. The suite can also be used to carry out complete molecular dynamics simulations, + with either explicit water or generalized Born solvent models.""" + +toolchain = {'name': 'intel', 'version': '2021b'} +toolchainopts = {'usempi': True} + +# download requires registration, see http://ambermd.org/AmberTools17-get.html +local_download_credentials = '?Name=Easybuild&Institution=Easybuild&City=Internet&State=Other&Country=Belgium' +source_urls = ['https://ambermd.org/cgi-bin/AmberTools21-get.pl'] +sources = [{ + 'download_filename': local_download_credentials, + 'filename': SOURCE_TAR_BZ2, +}] +patches = [ + 'AmberTools-20_fix_missing_MPI_LIBRARY_error.patch', + 'AmberTools-20_cmake-locate-netcdf.patch', + 'AmberTools-20_fix_xblas_missing_make_dependency.patch', +] +checksums = [ + 'f55fa930598d5a8e9749e8a22d1f25cab7fcf911d98570e35365dd7f262aaafd', # AmberTools-21.tar.bz2 + # AmberTools-20_fix_missing_MPI_LIBRARY_error.patch + '0b89a0624167bc23876bcdefcb1055f591e38e3bd559a71d5749e342bd311acc', + '473e07c53b6f641d96d333974a6af2e03413fecef79f879d3fdecf7fecaab4d0', # AmberTools-20_cmake-locate-netcdf.patch + # AmberTools-20_fix_xblas_missing_make_dependency.patch + 'ff25e91fdc72347a778c3837b581e174d6a8c71efa5b46e11391b18bca84fd65', +] + +builddependencies = [ + ('Bison', '3.7.6'), + ('pkg-config', '0.29.2'), + ('CMake', '3.22.1'), + ('flex', '2.6.4'), + ('make', '4.3'), +] +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('matplotlib', '3.4.3'), + ('netCDF', '4.8.1'), + ('netCDF-Fortran', '4.5.3'), + ('FFTW', '3.3.10'), +] + +# pysander should link with icc and not gcc +prebuildopts = """sed -i 's/import sys/import sys; os.environ["LDSHARED"] = "icc -shared "/g' """ +prebuildopts += "%(builddir)s/AmberTools/src/pysander/setup.py && " + +# Tests use pmemd which is not part of AmberTools +runtest = False + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/ArchR/ArchR-1.0.1-foss-2021b-R-4.1.2.eb b/easybuild/easyconfigs/a/ArchR/ArchR-1.0.1-foss-2021b-R-4.1.2.eb new file mode 100644 index 00000000000..a0cf6a907f4 --- /dev/null +++ b/easybuild/easyconfigs/a/ArchR/ArchR-1.0.1-foss-2021b-R-4.1.2.eb @@ -0,0 +1,27 @@ +easyblock = 'RPackage' + +name = 'ArchR' +version = '1.0.1' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://www.archrproject.com' +description = "ArchR is a full-featured R package for processing and analyzing single-cell ATAC-seq data." + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/GreenleafLab/ArchR/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e919fd25754fe87390aeee155c1d89c5319647b8b828b2827b99bc4617d9ff07'] + +dependencies = [ + ('R', '4.1.2'), + ('R-bundle-Bioconductor', '3.14', versionsuffix), + ('presto', '1.0.0-20200718', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(name)s'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/ArviZ/ArviZ-0.11.4-foss-2021b.eb b/easybuild/easyconfigs/a/ArviZ/ArviZ-0.11.4-foss-2021b.eb new file mode 100644 index 00000000000..b3efd6d0772 --- /dev/null +++ b/easybuild/easyconfigs/a/ArviZ/ArviZ-0.11.4-foss-2021b.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'ArviZ' +version = '0.11.4' + +homepage = 'https://github.com/arviz-devs/arviz' +description = "Exploratory analysis of Bayesian models with Python" + +toolchain = {'name': 'foss', 'version': '2021b'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['01872758eeabb9941479ec5dd378117337bf95d14cc2c298b437cfda1780b436'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # numpy, scipy, pandas + ('netcdf4-python', '1.5.7'), + ('xarray', '0.20.1'), + ('matplotlib', '3.4.3'), + ('typing-extensions', '3.10.0.2'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/a/ArviZ/ArviZ-0.11.4-intel-2021b.eb b/easybuild/easyconfigs/a/ArviZ/ArviZ-0.11.4-intel-2021b.eb index 64ccfac5b2d..f03c0011d6e 100644 --- a/easybuild/easyconfigs/a/ArviZ/ArviZ-0.11.4-intel-2021b.eb +++ b/easybuild/easyconfigs/a/ArviZ/ArviZ-0.11.4-intel-2021b.eb @@ -17,7 +17,6 @@ dependencies = [ ('netcdf4-python', '1.5.7'), ('xarray', '0.20.1'), ('matplotlib', '3.4.3'), - ('typing-extensions', '3.10.0.2'), ] download_dep_fail = True diff --git a/easybuild/easyconfigs/a/Autoconf/Autoconf-2.71-GCCcore-11.2.0.eb b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.71-GCCcore-11.2.0.eb index 3af406badc2..4a0acd7948a 100644 --- a/easybuild/easyconfigs/a/Autoconf/Autoconf-2.71-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.71-GCCcore-11.2.0.eb @@ -22,15 +22,17 @@ checksums = ['431075ad0bf529ef13cb41e9042c542381103e80015686222b8a9d4abef42a1c'] builddependencies = [ ('binutils', '2.37'), - # non-standard Perl modules are required, - # see https://github.com/easybuilders/easybuild-easyconfigs/issues/1822 - ('Perl', '5.34.0'), ] dependencies = [ ('M4', '1.4.19'), + # non-standard Perl modules are required, + # see https://github.com/easybuilders/easybuild-easyconfigs/issues/1822 + ('Perl', '5.34.0'), ] +preconfigopts = "export PERL='/usr/bin/env perl' && " + sanity_check_paths = { 'files': ["bin/%s" % x for x in ["autoconf", "autoheader", "autom4te", "autoreconf", @@ -38,4 +40,9 @@ sanity_check_paths = { 'dirs': [], } +sanity_check_commands = [ + "autoconf --help", + "autom4te --help", +] + moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Automake/Automake-1.16.4-GCCcore-11.2.0.eb b/easybuild/easyconfigs/a/Automake/Automake-1.16.4-GCCcore-11.2.0.eb index a47580d9afd..f3faae6a20a 100644 --- a/easybuild/easyconfigs/a/Automake/Automake-1.16.4-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/a/Automake/Automake-1.16.4-GCCcore-11.2.0.eb @@ -15,18 +15,25 @@ checksums = ['8a0f0be7aaae2efa3a68482af28e5872d8830b9813a6a932a2571eac63ca1794'] builddependencies = [ ('binutils', '2.37'), - # non-standard Perl modules are required, - # see https://github.com/easybuilders/easybuild-easyconfigs/issues/1822 - ('Perl', '5.34.0'), ] dependencies = [ ('Autoconf', '2.71'), + # non-standard Perl modules are required, + # see https://github.com/easybuilders/easybuild-easyconfigs/issues/1822 + ('Perl', '5.34.0'), ] +preconfigopts = "export PERL='/usr/bin/env perl' && " + sanity_check_paths = { - 'files': ['bin/automake', 'bin/aclocal'], + 'files': ['bin/aclocal', 'bin/automake'], 'dirs': [] } +sanity_check_commands = [ + "aclocal --help", + "automake --help", +] + moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/archspec/archspec-0.1.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/a/archspec/archspec-0.1.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..5087b91bae6 --- /dev/null +++ b/easybuild/easyconfigs/a/archspec/archspec-0.1.3-GCCcore-11.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'archspec' +version = '0.1.3' + +homepage = 'https://github.com/archspec/archspec' +description = "A library for detecting, labeling, and reasoning about microarchitectures" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +# See https://github.com/archspec/archspec/pull/69 +patches = ['archspec-0.1.3_click_8.patch'] +checksums = [ + 'a1aa7abde4d4ce38d115dfd572584906fa8e192e3272b8897e7b4fa1213ec27c', # archspec-0.1.3.tar.gz + 'd9fbdc599bb58b0121ec5e19e81e82238fc78da35e4f207b4f15186657896c59', # archspec-0.1.3_click_8.patch +] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('Python', '3.9.6')] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_commands = ["python -c 'from archspec.cpu import host; print(host())'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/archspec/archspec-0.1.3_click_8.patch b/easybuild/easyconfigs/a/archspec/archspec-0.1.3_click_8.patch new file mode 100644 index 00000000000..54a88063771 --- /dev/null +++ b/easybuild/easyconfigs/a/archspec/archspec-0.1.3_click_8.patch @@ -0,0 +1,131 @@ +diff -ruN archspec-0.1.3.orig/archspec/cpu/detect.py archspec-0.1.3/archspec/cpu/detect.py +--- archspec-0.1.3.orig/archspec/cpu/detect.py 2021-10-22 13:57:34.215254800 +0200 ++++ archspec-0.1.3/archspec/cpu/detect.py 2022-01-24 17:49:18.591176274 +0100 +@@ -61,7 +61,7 @@ + ``/proc/cpuinfo`` + """ + info = {} +- with open("/proc/cpuinfo") as file: ++ with open("/proc/cpuinfo") as file: # pylint: disable=unspecified-encoding + for line in file: + key, separator, value = line.partition(":") + +@@ -80,7 +80,9 @@ + + + def _check_output(args, env): +- output = subprocess.Popen(args, stdout=subprocess.PIPE, env=env).communicate()[0] ++ output = subprocess.Popen( # pylint: disable=consider-using-with ++ args, stdout=subprocess.PIPE, env=env ++ ).communicate()[0] + return six.text_type(output.decode("utf-8")) + + +@@ -288,7 +290,7 @@ + arch_root = TARGETS[basename] + return ( + (target == arch_root or arch_root in target.ancestors) +- and (target.vendor == vendor or target.vendor == "generic") ++ and target.vendor in (vendor, "generic") + and target.features.issubset(features) + ) + +@@ -303,7 +305,7 @@ + arch_root = TARGETS[basename] + return ( + (target == arch_root or arch_root in target.ancestors) +- and (target.vendor == vendor or target.vendor == "generic") ++ and target.vendor in (vendor, "generic") + and target.features.issubset(features) + ) + +diff -ruN archspec-0.1.3.orig/archspec/cpu/schema.py archspec-0.1.3/archspec/cpu/schema.py +--- archspec-0.1.3.orig/archspec/cpu/schema.py 2021-09-03 17:23:36.193003000 +0200 ++++ archspec-0.1.3/archspec/cpu/schema.py 2022-01-24 17:49:18.594040000 +0100 +@@ -11,7 +11,7 @@ + try: + from collections.abc import MutableMapping # novm + except ImportError: +- from collections import MutableMapping ++ from collections import MutableMapping # pylint: disable=deprecated-class + + + class LazyDictionary(MutableMapping): +@@ -56,7 +56,7 @@ + + def _factory(): + filename = os.path.join(json_dir, json_file) +- with open(filename, "r") as file: ++ with open(filename, "r") as file: # pylint: disable=unspecified-encoding + return json.load(file) + + return _factory +diff -ruN archspec-0.1.3.orig/pyproject.toml archspec-0.1.3/pyproject.toml +--- archspec-0.1.3.orig/pyproject.toml 2021-10-22 13:57:34.215254800 +0200 ++++ archspec-0.1.3/pyproject.toml 2022-01-24 17:49:18.594944000 +0100 +@@ -25,46 +25,51 @@ + ] + + [tool.poetry.dependencies] +-python = ">=2.7 !=3.4.* !=3.3.* !=3.2.* !=3.1.* !=3.0.* <4" ++python = "==2.7 || ^3.5" + six = "^1.13.0" +-click = ">=7.1.2,<8.0" ++click = [ ++ {version = "^8", python = '^3.6'}, ++ {version = "^7", python = '==3.5'}, ++ {version = "^7", python = '==2.7'} ++] + + [tool.poetry.dev-dependencies] + pytest = [ +- {version = ">=5.3.2", python = '^3.5'}, +- {version = ">=3.5.2", python = '^2.7'} ++ {version = "^6", python = '^3.6'}, ++ {version = "~5", python = '==3.5'}, ++ {version = "~3", python = '==2.7'} + ] + more_itertools = [ +- {version = ">=5.0.0", python = '^2.7'} ++ {version = "~5", python = '==2.7'} + ] + scandir = [ +- {version = ">=1.10.0", python = '^2.7'} ++ {version = "~1", python = '==2.7'} + ] + pytest-cov = "^2.8.1" + coverage = "^5.3" + pylint = [ +- {version = "^2.4.4", python = "^3.5"} ++ {version = "^2", python = "^3.6"} + ] + flake8 = [ +- {version = "^3.7.9", python = "^3.5"} ++ {version = "^4", python = "^3.6"} + ] + black = [ +- {version = ">19.10b0", python = "^3.6"} ++ {version = "==21.12b0", python = "^3.8"} + ] + sphinx = [ +- {version = "^2.3.1", python = "^3.5"} ++ {version = "^4", python = "^3.6"} + ] + sphinx_rtd_theme = [ +- {version = "^0.4.3", python = "^3.5"} ++ {version = "^1", python = "^3.6"} + ] + jsonschema = "^3.2.0" + pyrsistent = [ +- {version="<0.17.0", python="^2.7"} ++ {version="~0.16", python="==2.7"} + ] + + [tool.poetry.scripts] + archspec = 'archspec.cli:main' + + [build-system] +-requires = ["poetry>=0.12"] +-build-backend = "poetry.masonry.api" ++requires = ["poetry>=1.0.0"] ++build-backend = "poetry.core.masonry.api" diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-3.1-GCCcore-11.2.0-amd.eb b/easybuild/easyconfigs/b/BLIS/BLIS-3.1-GCCcore-11.2.0-amd.eb new file mode 100644 index 00000000000..70fc18ddbcf --- /dev/null +++ b/easybuild/easyconfigs/b/BLIS/BLIS-3.1-GCCcore-11.2.0-amd.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'BLIS' +version = '3.1' +versionsuffix = '-amd' + +homepage = 'https://developer.amd.com/amd-cpu-libraries/blas-library/' +description = """AMD's fork of BLIS. BLIS is a portable software framework for instantiating high-performance +BLAS-like dense linear algebra libraries.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/amd/blis/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + '%(name)s-0.8.1_fix_dgemm-fpe-signalling-on-broadwell.patch', +] +checksums = [ + '2891948925b9db99eec02a1917d9887a7bee9ad2afc5421c9ba58602a620f2bf', # 3.1.tar.gz + # BLIS-0.8.1_fix_dgemm-fpe-signalling-on-broadwell.patch + '345fa39933e9d1442d2eb1e4ed9129df3fe4aefecf4d104e5d4f25b3bca24d0d', +] + +builddependencies = [ + ('binutils', '2.37'), + ('Python', '3.9.6'), + ('Perl', '5.34.0'), +] + +# Build Serial and multithreaded library +configopts = ['--enable-cblas --enable-shared CC="$CC" auto', + '--enable-cblas --enable-threading=openmp --enable-shared CC="$CC" auto'] + +runtest = 'check' + +sanity_check_paths = { + 'files': ['include/blis/cblas.h', 'include/blis/blis.h', + 'lib/libblis.a', 'lib/libblis.%s' % SHLIB_EXT, + 'lib/libblis-mt.a', 'lib/libblis-mt.%s' % SHLIB_EXT], + 'dirs': [], +} + +modextrapaths = {'CPATH': 'include/blis'} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/b/BUSCO/BUSCO-4.0.6-foss-2020b.eb b/easybuild/easyconfigs/b/BUSCO/BUSCO-4.0.6-foss-2020b.eb new file mode 100644 index 00000000000..48d0a53aeb8 --- /dev/null +++ b/easybuild/easyconfigs/b/BUSCO/BUSCO-4.0.6-foss-2020b.eb @@ -0,0 +1,54 @@ +# Updated by: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'BUSCO' +version = '4.0.6' + +homepage = 'https://busco.ezlab.org/' +description = "BUSCO: assessing genome assembly and annotation completeness with single-copy orthologs" + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = ['https://gitlab.com/ezlab/%(namelower)s/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['bad1c1cb52950d991eb771eb9f3a78cf0bebb861e3b806320ee8cbe4cfbd75ea'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), # for pandas + ('R', '4.0.3'), + ('Biopython', '1.78'), + ('BLAST+', '2.11.0'), + ('HMMER', '3.3.2'), + ('prodigal', '2.6.3'), + ('AUGUSTUS', '3.4.0'), + ('SEPP', '4.4.0'), + ('MetaEuk', '4'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +postinstallcmds = [ + 'mkdir -p %(installdir)s/bin %(installdir)s/doc', + 'cp %(builddir)s/%(namelower)s-%(version)s/scripts/* %(installdir)s/bin', + 'cp %(builddir)s/%(namelower)s-%(version)s/LICENSE %(installdir)s/doc', + 'cp -r %(builddir)s/%(namelower)s-%(version)s/test_data %(installdir)s', + 'cp -r %(builddir)s/%(namelower)s-%(version)s/config %(installdir)s', +] + +sanity_check_paths = { + 'files': ['bin/busco', 'bin/generate_plot.py'], + 'dirs': ['test_data', 'lib/python%(pyshortver)s/site-packages/busco'] +} + +sanity_check_commands = [ + "busco --help", + "busco -i %(installdir)s/test_data/bacteria/genome.fna --mode geno --out test_bacteria.out", + "busco -i %(installdir)s/test_data/eukaryota/genome.fna --mode geno --out test_eukaryota.out", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bambi/Bambi-0.7.1-foss-2021b.eb b/easybuild/easyconfigs/b/Bambi/Bambi-0.7.1-foss-2021b.eb new file mode 100644 index 00000000000..681768eda78 --- /dev/null +++ b/easybuild/easyconfigs/b/Bambi/Bambi-0.7.1-foss-2021b.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'Bambi' +version = '0.7.1' + +homepage = 'https://bambinos.github.io/bambi' +description = """Bambi is a high-level Bayesian model-building interface written in Python. +It works with the probabilistic programming frameworks PyMC3 and is designed +to make it extremely easy to fit Bayesian mixed-effects models common in biology, +social sciences and other disciplines.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('PyMC3', '3.11.1'), + ('SciPy-bundle', '2021.10'), + ('statsmodels', '0.13.1'), + ('ArviZ', '0.11.4'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('formulae', '0.2.0', { + 'checksums': ['228335df9907750793016dfb23a8a0cb8d6d9ce9a026bfe2b459aa19f72541d2'], + }), + ('bambi', version, { + 'checksums': ['d57401326528f40ed78d6759723ee554581f6940c566263d6c176283f5428cf7'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bandage/Bandage-0.9.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/b/Bandage/Bandage-0.9.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..55f42ab0e92 --- /dev/null +++ b/easybuild/easyconfigs/b/Bandage/Bandage-0.9.0-GCCcore-11.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'Bandage' +version = '0.9.0' + +homepage = 'http://rrwick.github.io/Bandage' +description = "Bandage is a program for visualising de novo assembly graphs" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/rrwick/Bandage/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['04de8152d8bf5e5aa32b41a63cf1c23e1fee7b67ccd9f1407db8dc2824ca4e30'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('Qt5', '5.15.2')] + +prebuildopts = "qmake Bandage.pro && " + +files_to_copy = [(['Bandage'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/Bandage'], + 'dirs': [], +} + +sanity_check_commands = ["Bandage --help && ldd $(which Bandage)"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bio-DB-HTS/Bio-DB-HTS-3.01-GCC-10.2.0.eb b/easybuild/easyconfigs/b/Bio-DB-HTS/Bio-DB-HTS-3.01-GCC-10.2.0.eb index 147bdf54a23..124fad4ecbe 100644 --- a/easybuild/easyconfigs/b/Bio-DB-HTS/Bio-DB-HTS-3.01-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/b/Bio-DB-HTS/Bio-DB-HTS-3.01-GCC-10.2.0.eb @@ -20,6 +20,8 @@ dependencies = [ ('HTSlib', '1.11'), ] +preconfigopts = "env HTSLIB_DIR=$EBROOTHTSLIB" + options = {'modulename': 'Bio::DB::HTS'} sanity_check_paths = { diff --git a/easybuild/easyconfigs/b/Bio-DB-HTS/Bio-DB-HTS-3.01-GCC-11.2.0.eb b/easybuild/easyconfigs/b/Bio-DB-HTS/Bio-DB-HTS-3.01-GCC-11.2.0.eb new file mode 100644 index 00000000000..87359ee843c --- /dev/null +++ b/easybuild/easyconfigs/b/Bio-DB-HTS/Bio-DB-HTS-3.01-GCC-11.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'PerlModule' + +name = 'Bio-DB-HTS' +version = '3.01' + +homepage = 'https://metacpan.org/release/Bio-DB-HTS' +description = "Read files using HTSlib including BAM/CRAM, Tabix and BCF database files" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://cpan.metacpan.org/authors/id/A/AV/AVULLO/'] +sources = ['Bio-DB-HTS-%(version)s.tar.gz'] +checksums = ['12a6bc1f579513cac8b9167cce4e363655cc8eba26b7d9fe1170dfe95e044f42'] + +builddependencies = [('pkgconf', '1.8.0')] + +dependencies = [ + ('Perl', '5.34.0'), + ('BioPerl', '1.7.8'), + ('HTSlib', '1.14'), +] + +preconfigopts = "env HTSLIB_DIR=$EBROOTHTSLIB" + +options = {'modulename': 'Bio::DB::HTS'} + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/perl5/site_perl/%(perlver)s', 'man/man3'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BioPerl/BioPerl-1.7.8-GCCcore-11.2.0.eb b/easybuild/easyconfigs/b/BioPerl/BioPerl-1.7.8-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..d1ad252dc52 --- /dev/null +++ b/easybuild/easyconfigs/b/BioPerl/BioPerl-1.7.8-GCCcore-11.2.0.eb @@ -0,0 +1,54 @@ +easyblock = 'Bundle' + +name = 'BioPerl' +version = '1.7.8' + +homepage = 'https://bioperl.org/' +description = """Bioperl is the product of a community effort to produce Perl code which is useful in biology. + Examples include Sequence objects, Alignment objects and database searching objects.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Perl', '5.34.0'), + ('XML-LibXML', '2.0207'), + ('DB_File', '1.857'), +] + +exts_defaultclass = 'PerlModule' +exts_filter = ("perldoc -lm %(ext_name)s ", "") + +exts_list = [ + ('XML::Writer', '0.900', { + 'source_tmpl': 'XML-Writer-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JO/JOSEPHW'], + 'checksums': ['73c8f5bd3ecf2b350f4adae6d6676d52e08ecc2d7df4a9f089fa68360d400d1f'], + }), + ('XML::DOM::XPath', '0.14', { + 'source_tmpl': 'XML-DOM-XPath-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIROD'], + 'checksums': ['0173a74a515211997a3117a47e7b9ea43594a04b865b69da5a71c0886fa829ea'], + }), + ('Bio::Procedural', '1.7.4', { + 'source_tmpl': 'Bio-Procedural-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS/'], + 'checksums': ['d2bd9cfbb091eee2d80ed6cf812ac3813b1c8a1aaca20671037f5f225d31d1da'], + }), + ('BioPerl', version, { + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS/'], + 'checksums': ['c490a3be7715ea6e4305efd9710e5edab82dabc55fd786b6505b550a30d71738'], + }), +] + +modextrapaths = { + 'PERL5LIB': 'lib/perl5/site_perl/%(perlver)s/', +} + +sanity_check_paths = { + 'files': [], + 'dirs': ['bin', 'lib/perl5/site_perl/%(perlver)s/Bio'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/bokeh/bokeh-2.2.3-intelcuda-2020b.eb b/easybuild/easyconfigs/b/bokeh/bokeh-2.2.3-intelcuda-2020b.eb new file mode 100644 index 00000000000..513e9f6b2fc --- /dev/null +++ b/easybuild/easyconfigs/b/bokeh/bokeh-2.2.3-intelcuda-2020b.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'bokeh' +version = '2.2.3' + +homepage = 'https://github.com/bokeh/bokeh' +description = "Statistical and novel interactive HTML plots for Python" + +toolchain = {'name': 'intelcuda', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('PyYAML', '5.3.1'), + ('Pillow', '8.0.1'), + ('SciPy-bundle', '2020.11'), + ('typing-extensions', '3.7.4.3'), +] + +use_pip = True + +exts_list = [ + ('tornado', '6.1', { + 'checksums': ['33c6e81d7bd55b468d2e793517c909b139960b6c790a60b7991b9b6b76fb9791'], + }), + (name, version, { + 'checksums': ['c4a3f97afe5f525019dd58ee8c4e3d43f53fe1b1ac264ccaae9b02c07b2abc17'], + }), +] + +sanity_check_paths = { + 'files': ['bin/bokeh'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["bokeh --help"] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/boto3/boto3-1.20.13-GCCcore-10.3.0.eb b/easybuild/easyconfigs/b/boto3/boto3-1.20.13-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..3a35bb6fb31 --- /dev/null +++ b/easybuild/easyconfigs/b/boto3/boto3-1.20.13-GCCcore-10.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'boto3' +version = '1.20.13' + +homepage = 'https://github.com/boto/boto3' +description = """Boto3 is the Amazon Web Services (AWS) Software Development Kit +(SDK) for Python, which allows Python developers to write software that makes +use of services like Amazon S3 and Amazon EC2.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('Python', '3.9.5'), +] + +exts_list = [ + ('botocore', '1.23.13', { + 'checksums': ['35792b2196049ef900f538cae51fb8359c940156eef187962aa9e3bd2c0b8e8c'], + }), + ('jmespath', '0.10.0', { + 'checksums': ['b85d0567b8666149a93172712e68920734333c0ce7e89b78b3e987f71e5ed4f9'], + }), + ('s3transfer', '0.5.0', { + 'checksums': ['50ed823e1dc5868ad40c8dc92072f757aa0e653a192845c94a3b676f4a62da4c'], + }), + (name, version, { + 'checksums': ['bbf53a077d6a0575ddec8026f0475ca6ee6f41b227914bf315bf3e049a3d653a'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/CCL/CCL-1.12-GCCcore-9.3.0.eb b/easybuild/easyconfigs/c/CCL/CCL-1.12-GCCcore-9.3.0.eb index 44008ec86c3..70487fea5b4 100644 --- a/easybuild/easyconfigs/c/CCL/CCL-1.12-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/c/CCL/CCL-1.12-GCCcore-9.3.0.eb @@ -16,6 +16,7 @@ checksums = ['84a95aaf1d1abafba586e9ff079343b04fe374b98b38ed24d830f1fb7ed4ab34'] builddependencies = [ ('binutils', '2.34'), + ('M4', '1.4.18'), ] local_ccl_bin = 'lx86cl64' diff --git a/easybuild/easyconfigs/c/CCL/CCL-1.12.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/c/CCL/CCL-1.12.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..f09d38a45fd --- /dev/null +++ b/easybuild/easyconfigs/c/CCL/CCL-1.12.1-GCCcore-10.3.0.eb @@ -0,0 +1,52 @@ +easyblock = 'MakeCp' +name = 'CCL' +version = '1.12.1' + +homepage = 'https://ccl.clozure.com/' +description = """Clozure CL (often called CCL for short) is a free Common Lisp + implementation with a long history. Some distinguishing features of the implementation + include fast compilation speed, native threads, a precise, generational, compacting + garbage collector, and a convenient foreign-function interface.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/Clozure/ccl/releases/download/v%(version)s'] +sources = ['%(namelower)s-%(version)s-linuxx86.tar.gz'] +checksums = ['923f2979144e96306cf5124800444e1c5cc0295fa9babb3ffc47a5631344b0aa'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('M4', '1.4.18'), +] + +local_ccl_bin = 'lx86cl64' +local_ccl_dirs = [ + 'compiler', 'level-0', 'level-1', 'lib', 'library', 'lisp-kernel', 'scripts', 'tools', 'xdump', 'x86-headers64' +] + +# Build the kernel +buildopts = "-C lisp-kernel/linuxx8664 all CC=${CC} && " +# Rebuild CCL +buildopts += "./%s -n -b -Q -e '(ccl:rebuild-ccl :full t)' -e '(ccl:quit)'" % local_ccl_bin + +files_to_copy = [local_ccl_bin, '%s.image' % local_ccl_bin] + local_ccl_dirs + +postinstallcmds = [ + # Cleanup of build files + "find %(installdir)s -type f -name '*fsl' -delete", + "find %(installdir)s/lisp-kernel -type f -name '*.o' -delete", + # Link executable with generic name + "mkdir %(installdir)s/bin", + "cd %%(installdir)s/bin && ln -s ../%s ccl" % local_ccl_bin, +] + +sanity_check_paths = { + 'files': [local_ccl_bin, '%s.image' % local_ccl_bin, 'bin/ccl'], + 'dirs': local_ccl_dirs, +} + +sanity_check_commands = ["ccl --help"] + +modextrapaths = {'CCL_DEFAULT_DIRECTORY': ''} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/c/CMAverse/CMAverse-20220112-foss-2021b.eb b/easybuild/easyconfigs/c/CMAverse/CMAverse-20220112-foss-2021b.eb new file mode 100644 index 00000000000..80c2e262426 --- /dev/null +++ b/easybuild/easyconfigs/c/CMAverse/CMAverse-20220112-foss-2021b.eb @@ -0,0 +1,26 @@ +easyblock = 'RPackage' + +name = 'CMAverse' +version = '20220112' +local_commit = 'd382447' + +homepage = 'https://bs1125.github.io/CMAverse/' +description = """The R package CMAverse provides a suite of functions for reproducible causal mediation analysis +including cmdag for DAG visualization, cmest for statistical modeling and cmsens for sensitivity analysis.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/BS1125/CMAverse/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['d475ade49b3c67f64e6df29d9af84a0bade89ccf1736b4e6c346ac9a88191bfb'] + +dependencies = [ + ('R', '4.1.2'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(name)s'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/CONN/CONN-21a-MATLAB-2021a.eb b/easybuild/easyconfigs/c/CONN/CONN-21a-MATLAB-2021a.eb new file mode 100644 index 00000000000..042869896b3 --- /dev/null +++ b/easybuild/easyconfigs/c/CONN/CONN-21a-MATLAB-2021a.eb @@ -0,0 +1,37 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'Tarball' + +name = 'CONN' +version = '21a' +_matlab_ver = '2021a' +versionsuffix = '-MATLAB-%s' % _matlab_ver + +homepage = 'https://web.conn-toolbox.org/home' +description = """CONN is an open-source Matlab/SPM-based cross-platform software + for the computation, display, and analysis of functional connectivity Magnetic + Resonance Imaging (fcMRI). CONN is used to analyze resting state data (rsfMRI) + as well as task-related designs. +""" + +toolchain = SYSTEM + +source_urls = ['https://www.nitrc.org/frs/download.php/12426/'] +sources = ['%(namelower)s%(version)s.zip'] +checksums = ['de5b9537f8dfb7187756f39ed9e5c953bad64b6e5e4b3e3a4d34aa6ccb6329dd'] + +dependencies = [ + ('MATLAB', _matlab_ver), + ('SPM', '12.5_r7771', versionsuffix), +] + +sanity_check_paths = { + 'files': ['conn.m'], + 'dirs': ['modules', 'rois', 'standalone', 'utils'], +} + +sanity_check_commands = ['matlab -batch "conn version"'] + +modextrapaths = {'MATLABPATH': ''} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/CapnProto/CapnProto-0.9.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/CapnProto/CapnProto-0.9.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..19069313fa4 --- /dev/null +++ b/easybuild/easyconfigs/c/CapnProto/CapnProto-0.9.1-GCCcore-11.2.0.eb @@ -0,0 +1,35 @@ +# Contribution by +# DeepThought, Flinders University +# Updated to 0.9.1 +# R.QIAO + +easyblock = 'ConfigureMake' + +name = 'CapnProto' +version = '0.9.1' + +homepage = 'https://capnproto.org' +description = "Cap’n Proto is an insanely fast data interchange format and capability-based RPC system." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +# -std=c++17 to avoid problems like "error: 'aligned_alloc' was not declared in this scope" +# lowopt (-O1) to avoid problems like "capnp/schema-loader.c++:1971: failed: no schema node loaded for ..." +# (only on Intel Skylake?) +toolchainopts = {'cstd': 'c++17', 'lowopt': True} + +source_urls = ['https://capnproto.org/'] +sources = ['capnproto-c++-%(version)s.tar.gz'] +checksums = ['83680aaef8c192b884e38eab418b8482d321af6ae7ab7befa3a9370b8e716aad'] + +builddependencies = [('binutils', '2.37')] + +local_bins = ['capnp', 'capnpc', 'capnpc-c++', 'capnpc-capnp'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bins], + 'dirs': ['include/capnp', 'include/kj', 'lib'], +} + +sanity_check_commands = ["%s --help" % x for x in local_bins] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CharLS/CharLS-2.3.4-GCCcore-10.3.0.eb b/easybuild/easyconfigs/c/CharLS/CharLS-2.3.4-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..82b9cf13ffd --- /dev/null +++ b/easybuild/easyconfigs/c/CharLS/CharLS-2.3.4-GCCcore-10.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'CharLS' +version = '2.3.4' + +homepage = 'https://github.com/team-charls/charls' +description = """CharLS is a C++ implementation of the JPEG-LS standard for lossless and near-lossless image +compression and decompression. JPEG-LS is a low-complexity image compression standard that matches JPEG 2000 +compression ratios.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/team-charls/charls/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['28e895a6e22daee76c24cf4d36c62bb20fd60fad0c9cfefc2eb8fa9b6045ae84'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1') +] + +configopts = '-DBUILD_SHARED_LIBS=ON ' + +sanity_check_paths = { + 'files': ['lib/libcharls.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/Clang-Python-bindings/Clang-Python-bindings-13.0.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/Clang-Python-bindings/Clang-Python-bindings-13.0.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..aac6bc89d38 --- /dev/null +++ b/easybuild/easyconfigs/c/Clang-Python-bindings/Clang-Python-bindings-13.0.1-GCCcore-11.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'Tarball' + +name = 'Clang-Python-bindings' +version = '13.0.1' + +homepage = 'https://clang.llvm.org' +description = """Python bindings for libclang""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s/"] +sources = ['clang-%(version)s.src.tar.xz'] +checksums = ['787a9e2d99f5c8720aa1773e4be009461cd30d3bd40fdd24591e473467c917c9'] + +dependencies = [ + ('Clang', version), + ('Python', '3.9.6') +] + +start_dir = 'bindings/python' + +sanity_check_paths = { + 'files': ['clang/cindex.py'], + 'dirs': ['clang'] +} + +sanity_check_commands = ["python -c 'import clang'"] + +modextrapaths = {'PYTHONPATH': ''} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/CmdStanR/CmdStanR-0.5.0-foss-2021b-R-4.1.2.eb b/easybuild/easyconfigs/c/CmdStanR/CmdStanR-0.5.0-foss-2021b-R-4.1.2.eb new file mode 100644 index 00000000000..521b4389c86 --- /dev/null +++ b/easybuild/easyconfigs/c/CmdStanR/CmdStanR-0.5.0-foss-2021b-R-4.1.2.eb @@ -0,0 +1,27 @@ +easyblock = 'RPackage' + +name = 'CmdStanR' +version = '0.5.0' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://mc-stan.org/cmdstanr' +description = "CmdStanR is a lightweight interface to Stan for R users" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/stan-dev/cmdstanr/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['073847e839d00ba63b3fa24398e7e684d8c3f0797c7ccba7022a2caef6f04305'] + +dependencies = [ + ('R', '4.1.2'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(namelower)s'], +} + +options = {'modulename': '%(namelower)s'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/c-ares/c-ares-1.18.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/c-ares/c-ares-1.18.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..895a03c1363 --- /dev/null +++ b/easybuild/easyconfigs/c/c-ares/c-ares-1.18.1-GCCcore-11.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'c-ares' +version = '1.18.1' + +homepage = 'https://c-ares.org/' +description = "c-ares is a C library for asynchronous DNS requests (including name resolves)" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +github_account = 'c-ares' +source_urls = [GITHUB_SOURCE] +sources = ['%s-%s.tar.gz' % (name.replace('-', ''), version.replace('.', '_'))] +checksums = ['414872549eec4e221b576693fdc9c9bce44ff794d0f1f06f2515b56a7f6ec9c9'] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), +] + +preconfigopts = 'autoreconf -i -f &&' + +sanity_check_paths = { + 'files': ['lib/libcares.a', 'lib/libcares.%s' % SHLIB_EXT, 'lib/pkgconfig/libcares.pc'], + 'dirs': ['include', 'share/man'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/canu/canu-2.2-GCCcore-10.3.0-Java-11.eb b/easybuild/easyconfigs/c/canu/canu-2.2-GCCcore-10.3.0-Java-11.eb new file mode 100644 index 00000000000..42b5f5b32b9 --- /dev/null +++ b/easybuild/easyconfigs/c/canu/canu-2.2-GCCcore-10.3.0-Java-11.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'canu' +version = '2.2' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://canu.readthedocs.io' +description = "Canu is a fork of the Celera Assembler designed for high-noise single-molecule sequencing" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +github_account = 'marbl' +source_urls = ['https://github.com/marbl/canu/releases/download/v%(version)s'] +sources = [SOURCE_TAR_XZ] +checksums = ['e4d0c7b82149114f442ccd39e18f7fe2061c63b28d53700ad896e022b73b7404'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('git', '2.32.0', '-nodocs'), +] + +dependencies = [ + ('Java', '11', '', True), + ('Perl', '5.32.1'), + ('gnuplot', '5.4.2'), +] + +skipsteps = ['configure', 'install'] + +start_dir = 'src' + +buildopts = 'TARGET_DIR=%(installdir)s' + +sanity_check_paths = { + 'files': ['bin/canu', 'lib/libcanu.a'], + 'dirs': ['lib/site_perl', 'share'], +} +sanity_check_commands = [ + "canu -version", + "canu -options", +] + +modextrapaths = {'PERL5LIB': 'lib/site_perl'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/configurable-http-proxy/configurable-http-proxy-4.4.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/c/configurable-http-proxy/configurable-http-proxy-4.4.0-GCCcore-10.3.0.eb index 9af97e3a882..818e21acc00 100644 --- a/easybuild/easyconfigs/c/configurable-http-proxy/configurable-http-proxy-4.4.0-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/c/configurable-http-proxy/configurable-http-proxy-4.4.0-GCCcore-10.3.0.eb @@ -14,7 +14,7 @@ builddependencies = { } dependencies = [ - ('nodejs', '14.17.2'), + ('nodejs', '14.17.0'), ] source_urls = ['https://github.com/jupyterhub/configurable-http-proxy/archive/'] diff --git a/easybuild/easyconfigs/c/cutadapt/cutadapt-1.18-GCCcore-8.3.0.eb b/easybuild/easyconfigs/c/cutadapt/cutadapt-1.18-GCCcore-8.3.0.eb index 8ec464cbed7..6e863b30556 100644 --- a/easybuild/easyconfigs/c/cutadapt/cutadapt-1.18-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/c/cutadapt/cutadapt-1.18-GCCcore-8.3.0.eb @@ -38,6 +38,8 @@ exts_list = [ }), ] +fix_python_shebang_for = ['bin/cutadapt'] + sanity_check_paths = { 'files': ['bin/cutadapt'], 'dirs': ['lib/python%(pyshortver)s/site-packages'], diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.857-GCCcore-11.2.0.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.857-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..f2707a76ad8 --- /dev/null +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.857-GCCcore-11.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PerlModule' + +name = 'DB_File' +version = '1.857' + +homepage = 'https://perldoc.perl.org/DB_File.html' +description = """Perl5 access to Berkeley DB version 1.x.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://www.cpan.org/modules/by-module/DB_File/PMQS'] +sources = [SOURCE_TAR_GZ] +checksums = ['7528eaee49ccd3de268d9358226c6c7617d0d7d8786fcc31d7402c54d570a394'] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('Perl', '5.34.0'), + ('DB', '18.1.40'), +] + +preconfigopts = 'env DB_FILE_INCLUDE="$EBROOTDB/include" DB_FILE_LIB="$EBROOTDB/lib" ' + +sanity_check_paths = { + 'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/d/DBus/DBus-1.13.18-GCCcore-10.2.0.eb b/easybuild/easyconfigs/d/DBus/DBus-1.13.18-GCCcore-10.2.0.eb index 83b477ea363..b049fce1560 100644 --- a/easybuild/easyconfigs/d/DBus/DBus-1.13.18-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/d/DBus/DBus-1.13.18-GCCcore-10.2.0.eb @@ -29,7 +29,9 @@ dependencies = [ ('expat', '2.2.9'), ] -configopts = '--without-systemdsystemunitdir' +configopts = '--with-systemdsystemunitdir=no ' +# disable documentation +configopts += '--disable-xml-docs --disable-doxygen-docs --disable-ducktype-docs' sanity_check_paths = { 'files': ['bin/dbus-%s' % x for x in diff --git a/easybuild/easyconfigs/d/DBus/DBus-1.13.18-GCCcore-10.3.0.eb b/easybuild/easyconfigs/d/DBus/DBus-1.13.18-GCCcore-10.3.0.eb index b3080c2464e..4c1a07e1b16 100644 --- a/easybuild/easyconfigs/d/DBus/DBus-1.13.18-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/d/DBus/DBus-1.13.18-GCCcore-10.3.0.eb @@ -29,7 +29,9 @@ dependencies = [ ('expat', '2.2.9'), ] -configopts = '--without-systemdsystemunitdir' +configopts = '--with-systemdsystemunitdir=no ' +# disable documentation +configopts += '--disable-xml-docs --disable-doxygen-docs --disable-ducktype-docs' sanity_check_paths = { 'files': ['bin/dbus-%s' % x for x in diff --git a/easybuild/easyconfigs/d/DBus/DBus-1.13.18-GCCcore-11.2.0.eb b/easybuild/easyconfigs/d/DBus/DBus-1.13.18-GCCcore-11.2.0.eb index 3591a25194f..ef53a657402 100644 --- a/easybuild/easyconfigs/d/DBus/DBus-1.13.18-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/d/DBus/DBus-1.13.18-GCCcore-11.2.0.eb @@ -29,7 +29,9 @@ dependencies = [ ('expat', '2.4.1'), ] -configopts = '--without-systemdsystemunitdir' +configopts = '--with-systemdsystemunitdir=no ' +# disable documentation +configopts += '--disable-xml-docs --disable-doxygen-docs --disable-ducktype-docs' sanity_check_paths = { 'files': ['bin/dbus-%s' % x for x in diff --git a/easybuild/easyconfigs/d/DFTB+/DFTB+-21.1-intel-2021a.eb b/easybuild/easyconfigs/d/DFTB+/DFTB+-21.1-intel-2021a.eb new file mode 100644 index 00000000000..5711e31168d --- /dev/null +++ b/easybuild/easyconfigs/d/DFTB+/DFTB+-21.1-intel-2021a.eb @@ -0,0 +1,82 @@ +easyblock = 'CMakeMake' + +name = 'DFTB+' +version = '21.1' + +homepage = 'https://www.dftb-plus.info' +description = """DFTB+ is a fast and efficient versatile quantum mechanical simulation package. +It is based on the Density Functional Tight Binding (DFTB) method, containing +almost all of the useful extensions which have been developed for the DFTB +framework so far. Using DFTB+ you can carry out quantum mechanical simulations +like with ab-initio density functional theory based packages, but in an +approximate way gaining typically around two order of magnitude in speed.""" + +toolchain = {'name': 'intel', 'version': '2021a'} +toolchainopts = {'usempi': True, 'openmp': True, 'extra_fflags': '-I$(EBROOTDFTD3MINLIB)/include'} + +local_external_dir = '%%(builddir)s/dftbplus-%%(version)s/external/%s/origin/' +local_external_extract = 'mkdir -p %s && tar -C %s' % (local_external_dir, local_external_dir) +local_external_extract += ' --strip-components=1 -xzf %%s' + +source_urls = ['https://github.com/dftbplus/dftbplus/releases/download/%(version)s'] +sources = [ + 'dftbplus-%(version)s.tar.xz', + { + # Slater-Koster (slakos) data for testing + 'source_urls': ['https://github.com/dftbplus/testparams/archive'], + 'download_filename': '26439495c4b5b0d07be6ceec4dade3d149425465.tar.gz', + 'filename': 'slakos-data-%(version)s.tar.gz', + 'extract_cmd': local_external_extract % ('slakos', 'slakos'), + }, + { + # GBSA (gbsa) data for testing + 'source_urls': ['https://github.com/grimme-lab/gbsa-parameters/archive'], + 'download_filename': '6836c4d997e4135e418cfbe273c96b1a3adb13e2.tar.gz', + 'filename': 'gbsa-data-%(version)s.tar.gz', + 'extract_cmd': local_external_extract % ('gbsa', 'gbsa'), + }, +] +patches = [ + '%(name)s-%(version)s_use_dftd3_from_EB.patch', + '%(name)s-%(version)s_fix_intel_omp_linking.patch', + '%(name)s-%(version)s_drop_intel_failing_tests.patch', +] +checksums = [ + '8c1eb8a38f72c421e2ae20118a6db3a656fa84e8b180ef387e549a73ae77f970', # dftbplus-21.1.tar.xz + '6f65da7b64ef255fd777de7a972c63f7fa8ed2041442823b2c601bc8f0e55d98', # slakos-data-21.1.tar.gz + 'd464f9f7b1883d1353b433d0c7eae2f5606af092d9b51d38e9ed15e072610a79', # gbsa-data-21.1.tar.gz + '3bd33d8e90e8182f516f15fb8f79d01929a0778e324b33c5fabc7d70112e643a', # DFTB+-21.1_use_dftd3_from_EB.patch + 'e922b0d9360d342190c4496173f938c2cb89f0bd0499b2f71abcaf70dc8e5fe1', # DFTB+-21.1_fix_intel_omp_linking.patch + 'f0c0e248d567739010897e7a46e471b1e332568bb0f9c1c06fd1e762d3f81aa4', # DFTB+-21.1_drop_intel_failing_tests.patch +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('dftd3-lib', '0.9'), + ('ELSI', '2.7.1', '-PEXSI'), +] + +build_shared_libs = True + +configopts = '-DWITH_MPI=1 -DWITH_DFTD3=1 -DWITH_ELSI=1 -DWITH_MBD=1 -DWITH_UNIT_TESTS=1 ' +configopts += '-DSCALAPACK_LIBRARY="$LIBSCALAPACK" ' + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/' + x for x in ['dftb+', 'dp_bands', 'dp_dos', 'gen2cif', 'gen2xyz', 'makecube', + 'modes', 'repeatgen', 'straingen', 'waveplot', 'xyz2gen']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_commands = [("python -c 'import dptools'")] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/d/DFTB+/DFTB+-21.1_drop_intel_failing_tests.patch b/easybuild/easyconfigs/d/DFTB+/DFTB+-21.1_drop_intel_failing_tests.patch new file mode 100644 index 00000000000..1de2a00c631 --- /dev/null +++ b/easybuild/easyconfigs/d/DFTB+/DFTB+-21.1_drop_intel_failing_tests.patch @@ -0,0 +1,14 @@ +Drop tests that fail with Intel + +Åke Sandgren, 20211025 +diff -ru dftbplus-21.1.orig/test/prog/dftb+/tests dftbplus-21.1/test/prog/dftb+/tests +--- dftbplus-21.1.orig/test/prog/dftb+/tests 2021-05-12 20:23:51.000000000 +0200 ++++ dftbplus-21.1/test/prog/dftb+/tests 2021-10-25 16:50:14.035199535 +0200 +@@ -109,7 +109,6 @@ + solvers/ice_NTPoly #? WITH_ELSI and MPI_PROCS <= 4 and OMP_THREADS == 1 + solvers/Si32C32_OMM #? WITH_ELSI and MPI_PROCS <= 4 and OMP_THREADS == 1 + solvers/Si32C32_OMM_sparse #? WITH_ELSI and MPI_PROCS <= 4 and OMP_THREADS == 1 +-solvers/Si384_OMM #? WITH_ELSI and MPI_PROCS <= 4 and OMP_THREADS == 1 + solvers/Si32C32_OMM_kpoints #? WITH_ELSI and MPI_PROCS % 4 == 0 and MPI_PROCS <= 20 and OMP_THREADS == 1 + solvers/Si32C32_OMM_ks #? WITH_ELSI and MPI_PROCS % 8 == 0 and MPI_PROCS <= 40 and OMP_THREADS == 1 + solvers/Si32C32_OMM_k_sparse #? WITH_ELSI and MPI_PROCS % 4 == 0 and MPI_PROCS <= 20 and OMP_THREADS == 1 diff --git a/easybuild/easyconfigs/d/DFTB+/DFTB+-21.1_fix_intel_omp_linking.patch b/easybuild/easyconfigs/d/DFTB+/DFTB+-21.1_fix_intel_omp_linking.patch new file mode 100644 index 00000000000..6c99d962d5a --- /dev/null +++ b/easybuild/easyconfigs/d/DFTB+/DFTB+-21.1_fix_intel_omp_linking.patch @@ -0,0 +1,15 @@ +Need to have -qopenmp when linking with Intel and not just when compiling. + +Åke Sandgren, 20211025 +diff -ru dftbplus-21.1.orig/CMakeLists.txt dftbplus-21.1/CMakeLists.txt +--- dftbplus-21.1.orig/CMakeLists.txt 2021-05-12 20:23:51.000000000 +0200 ++++ dftbplus-21.1/CMakeLists.txt 2021-10-25 15:11:38.797426208 +0200 +@@ -45,6 +45,8 @@ + if("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "NAG" AND WITH_OMP) + set_property(TARGET OpenMP::OpenMP_Fortran PROPERTY INTERFACE_LINK_LIBRARIES "") + set_property(TARGET OpenMP::OpenMP_Fortran PROPERTY INTERFACE_LINK_OPTIONS "-openmp") ++ elseif("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "Intel" AND WITH_OMP) ++ set_property(TARGET OpenMP::OpenMP_Fortran PROPERTY INTERFACE_LINK_OPTIONS "-qopenmp") + endif() + endif() + diff --git a/easybuild/easyconfigs/d/DFTB+/DFTB+-21.1_use_dftd3_from_EB.patch b/easybuild/easyconfigs/d/DFTB+/DFTB+-21.1_use_dftd3_from_EB.patch new file mode 100644 index 00000000000..9386d144930 --- /dev/null +++ b/easybuild/easyconfigs/d/DFTB+/DFTB+-21.1_use_dftd3_from_EB.patch @@ -0,0 +1,12 @@ +Use dftd3 from EasyBuild instead of downloading it as an external + +Åke Sandgren, 20211020 +diff -ru dftbplus-21.1.orig/external/dftd3/CMakeLists.txt dftbplus-21.1/external/dftd3/CMakeLists.txt +--- dftbplus-21.1.orig/external/dftd3/CMakeLists.txt 2021-05-12 20:23:51.000000000 +0200 ++++ dftbplus-21.1/external/dftd3/CMakeLists.txt 2021-10-20 08:40:05.364957330 +0200 +@@ -1,4 +1,4 @@ + set(LIBRARY_ONLY TRUE) + set(INSTALL_EXPORT_NAME dftbplus-targets) +-add_subdirectory(origin) ++#add_subdirectory(origin) + set(EXPORTED_COMPILED_LIBRARIES ${EXPORTED_COMPILED_LIBRARIES} dftd3 PARENT_SCOPE) diff --git a/easybuild/easyconfigs/d/DIRAC/DIRAC-22.0-foss-2021a.eb b/easybuild/easyconfigs/d/DIRAC/DIRAC-22.0-foss-2021a.eb new file mode 100644 index 00000000000..f6c765a8720 --- /dev/null +++ b/easybuild/easyconfigs/d/DIRAC/DIRAC-22.0-foss-2021a.eb @@ -0,0 +1,41 @@ +easyblock = 'CMakeMake' + +name = 'DIRAC' +version = '22.0' + +homepage = 'http://www.diracprogram.org' +description = "DIRAC: Program for Atomic and Molecular Direct Iterative Relativistic All-electron Calculations" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://zenodo.org/record/6010450/files/'] +sources = ['DIRAC-%(version)s-Source.tar.gz'] +checksums = ['c8c011b5bc2ca36a2ef76b2deb911638321655fcae1d1b146cacfa1b5f783711'] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('HDF5', '1.10.7') +] + +configopts = '-DMKL_FLAG=off ' +configopts += '-DMATH_LIBS="$LIBLAPACK" ' +configopts += '-DENABLE_MPI=True ' +configopts += '-DENABLE_EXATENSOR=off ' +configopts += '-DENABLE_PCMSOLVER=off ' + +pretestopts = 'export DIRAC_TMPDIR=%(builddir)s/scratch && ' +pretestopts += 'export DIRAC_MPI_COMMAND="%(mpi_cmd_prefix)s " && ' + +runtest = 'test ARGS="-R pam_test" ' + +sanity_check_paths = { + 'files': ['bin/pam-dirac', 'share/dirac/dirac.x'], + 'dirs': ['share/dirac/basis'], +} + +sanity_check_commands = ["pam-dirac --help"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/DIRAC/DIRAC-22.0-intel-2021a.eb b/easybuild/easyconfigs/d/DIRAC/DIRAC-22.0-intel-2021a.eb new file mode 100644 index 00000000000..633bda80386 --- /dev/null +++ b/easybuild/easyconfigs/d/DIRAC/DIRAC-22.0-intel-2021a.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'DIRAC' +version = '22.0' + +homepage = 'http://www.diracprogram.org' +description = "DIRAC: Program for Atomic and Molecular Direct Iterative Relativistic All-electron Calculations" + +toolchain = {'name': 'intel', 'version': '2021a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://zenodo.org/record/6010450/files/'] +sources = ['DIRAC-%(version)s-Source.tar.gz'] +checksums = ['c8c011b5bc2ca36a2ef76b2deb911638321655fcae1d1b146cacfa1b5f783711'] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('HDF5', '1.10.7') +] + +configopts = '-DMKL_FLAG=sequential ' +configopts += '-DENABLE_MPI=True ' +configopts += '-DENABLE_EXATENSOR=off ' +configopts += '-DENABLE_PCMSOLVER=off ' + +pretestopts = 'export DIRAC_TMPDIR=%(builddir)s/scratch && ' +pretestopts += 'export DIRAC_MPI_COMMAND="%(mpi_cmd_prefix)s " && ' + +runtest = 'test ARGS="-R pam_test" ' + +sanity_check_paths = { + 'files': ['bin/pam-dirac', 'share/dirac/dirac.x'], + 'dirs': ['share/dirac/basis'], +} + +sanity_check_commands = ["pam-dirac --help"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/Devito/Devito-4.6.1-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/d/Devito/Devito-4.6.1-foss-2020a-Python-3.8.2.eb new file mode 100644 index 00000000000..8acae5c20c7 --- /dev/null +++ b/easybuild/easyconfigs/d/Devito/Devito-4.6.1-foss-2020a-Python-3.8.2.eb @@ -0,0 +1,102 @@ +easyblock = 'PythonBundle' + +name = 'Devito' +version = '4.6.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://www.devitoproject.org' +description = """Devito is a domain-specific Language (DSL) and code generation framework for + performing optimised Finite Difference (FD) computation from high-level symbolic problem definitions. + Devito performs automated code generation and Just-In-time (JIT) compilation based on symbolic + equations defined in SymPy to create and execute highly optimised Finite Difference stencil kernels on + multiple computer platforms.""" + +toolchain = {'name': 'foss', 'version': '2020a'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.8.2'), + ('PyYAML', '5.3'), + ('SciPy-bundle', '2020.03', versionsuffix), + ('IPython', '7.15.0', versionsuffix), + ('dask', '2.18.1', versionsuffix), +] + +use_pip = True + +# order is important! +exts_list = [ + ('anytree', '2.8.0', { + 'checksums': ['3f0f93f355a91bc3e6245319bf4c1d50e3416cc7a35cc1133c1ff38306bbccab'], + }), + ('cached-property', '1.5.2', { + 'checksums': ['9fa5755838eecbb2d234c3aa390bd80fbd3ac6b6869109bfc1b499f7bd89a130'], + }), + ('cgen', '2020.1', { + 'checksums': ['4ec99d0c832d9f95f5e51dd18a629ad50df0b5464ce557ef42c6e0cd9478bfcf'], + }), + ('codecov', '2.1.12', { + 'checksums': ['a0da46bb5025426da895af90938def8ee12d37fcbcbbbc15b6dc64cf7ebc51c1'], + }), + ('setuptools_scm', '6.0.1', { + 'checksums': ['d1925a69cb07e9b29416a275b9fadb009a23c148ace905b2fb220649a6c18e92'], + }), + ('platformdirs', '2.2.0', { + 'checksums': ['632daad3ab546bd8e6af0537d09805cec458dce201bccfe23012df73332e181e'], + }), + ('pytools', '2022.1', { + 'checksums': ['197aacf6e1f5d60c715b92438792acb7702aed59ebbfb147fa84eda780e54fee'], + }), + ('codepy', '2019.1', { + 'checksums': ['384f22c37fe987c0ca71951690c3c2fd14dacdeddbeb0fde4fd01cd84859c94e'], + }), + ('coverage', '6.3.1', { + 'checksums': ['6c3f6158b02ac403868eea390930ae64e9a9a2a5bbfafefbb920d29258d9f2f8'], + }), + ('mccabe', '0.6.1', { + 'checksums': ['dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f'], + }), + ('pycodestyle', '2.8.0', { + 'checksums': ['eddd5847ef438ea1c7870ca7eb78a9d47ce0cdb4851a5523949f2601d0cbbe7f'], + }), + ('pyflakes', '2.4.0', { + 'checksums': ['05a85c2872edf37a4ed30b0cce2f6093e1d0581f8c19d7393122da7e25b2b24c'], + }), + ('flake8', '4.0.1', { + 'checksums': ['806e034dda44114815e23c16ef92f95c91e4c71100ff52813adf7132a6ad870d'], + }), + ('multidict', '6.0.2', { + 'checksums': ['5ff3bd75f38e4c43f1f470f2df7a4d430b821c4ce22be384e1459cb57d6bb013'], + }), + ('nbval', '0.9.6', { + 'checksums': ['cfefcd2ef66ee2d337d0b252c6bcec4023384eb32e8b9e5fcc3ac80ab8cd7d40'], + }), + ('py-cpuinfo', '8.0.0', { + 'modulename': 'cpuinfo', + 'checksums': ['5f269be0e08e33fd959de96b34cd4aeeeacac014dd8305f70eb28d06de2345c5'], + }), + ('contexttimer', '0.3.3', { + 'checksums': ['35a1efd389af3f1ca509f33ff23e17d98b66c8fde5ba2a4eb8a8b7fa456598a5'], + }), + ('pyrevolve', '2.2', { + 'checksums': ['b49aea5cd6c520ac5fcd1d25fa23fe2c5502741d2965f3eee10be067e7b0efb4'], + }), + ('pytest-cov', '3.0.0', { + 'checksums': ['e7f0f5b1617d2210a2cabc266dfe2f4c75a8d32fb89eafb7ad9d06f6d076d470'], + }), + ('pytest-runner', '5.3.1', { + 'modulename': 'pytest', + 'checksums': ['0fce5b8dc68760f353979d99fdd6b3ad46330b6b1837e2077a89ebcf204aac91'], + }), + # devito requires sympy<=1.9,>=1.7 + ('sympy', '1.9', { + 'checksums': ['c7a880e229df96759f955d4f3970d4cabce79f60f5b18830c08b90ce77cd5fdc'], + }), + ('devito', version, { + 'checksums': ['e8acc4840953547c267706195df32738c95d0e51f7592eb0796a0efcc8cc5dbf'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/d/dask/dask-2021.2.0-intelcuda-2020b.eb b/easybuild/easyconfigs/d/dask/dask-2021.2.0-intelcuda-2020b.eb new file mode 100644 index 00000000000..b012d3c6604 --- /dev/null +++ b/easybuild/easyconfigs/d/dask/dask-2021.2.0-intelcuda-2020b.eb @@ -0,0 +1,73 @@ +easyblock = 'PythonBundle' + +name = 'dask' +version = '2021.2.0' + +homepage = 'https://dask.org/' +description = """Dask natively scales Python. Dask provides advanced parallelism for analytics, enabling performance + at scale for the tools you love.""" + +toolchain = {'name': 'intelcuda', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('PyYAML', '5.3.1'), + ('SciPy-bundle', '2020.11'), + ('bokeh', '2.2.3'), +] + +use_pip = True + +exts_list = [ + ('fsspec', '0.8.7', { + 'checksums': ['4b11557a90ac637089b10afa4c77adf42080c0696f6f2771c41ce92d73c41432'], + }), + ('toolz', '0.11.1', { + 'checksums': ['c7a47921f07822fe534fb1c01c9931ab335a4390c782bd28c6bcc7c2f71f3fbf'], + }), + ('locket', '0.2.1', { + 'checksums': ['3e1faba403619fe201552f083f1ecbf23f550941bc51985ac6ed4d02d25056dd'], + }), + ('partd', '1.1.0', { + 'checksums': ['6e258bf0810701407ad1410d63d1a15cfd7b773fd9efe555dac6bb82cc8832b0'], + }), + ('HeapDict', '1.0.1', { + 'checksums': ['8495f57b3e03d8e46d5f1b2cc62ca881aca392fd5cc048dc0aa2e1a6d23ecdb6'], + }), + ('zict', '2.0.0', { + 'checksums': ['8e2969797627c8a663575c2fc6fcb53a05e37cdb83ee65f341fc6e0c3d0ced16'], + }), + ('tblib', '1.7.0', { + 'checksums': ['059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c'], + }), + ('msgpack', '1.0.2', { + 'checksums': ['fae04496f5bc150eefad4e9571d1a76c55d021325dcd484ce45065ebbdd00984'], + }), + ('cloudpickle', '1.6.0', { + 'checksums': ['9bc994f9e9447593bd0a45371f0e7ac7333710fcf64a4eb9834bf149f4ef2f32'], + }), + (name, version, { + 'checksums': ['e7054b8d685205e95c789900ae87d6174550180cbe38a3cb1142e10c73004c22'], + }), + ('distributed', version, { + 'checksums': ['9150b99b2c28e7c238c486b117154abd545c6990080d084aaff02f803f86f75e'], + }), + ('dask-mpi', '2.21.0', { + 'checksums': ['76e153fc8c58047d898970b33ede0ab1990bd4e69cc130c6627a96f11b12a1a7'], + }), + ('docrep', '0.3.2', { + 'checksums': ['ed8a17e201abd829ef8da78a0b6f4d51fb99a4cbd0554adbed3309297f964314'], + }), + ('dask-jobqueue', '0.7.2', { + 'checksums': ['1767f4146b2663d9d2eaef62b882a86e1df0bccdb8ae68ae3e5e546aa6796d35'], + }), +] + +sanity_check_paths = { + 'files': ['bin/dask-%s' % x for x in ['mpi', 'scheduler', 'ssh', 'worker']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/d/dcm2niix/dcm2niix-1.0.20211006-GCCcore-10.3.0.eb b/easybuild/easyconfigs/d/dcm2niix/dcm2niix-1.0.20211006-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..aa4abd25ae3 --- /dev/null +++ b/easybuild/easyconfigs/d/dcm2niix/dcm2niix-1.0.20211006-GCCcore-10.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'dcm2niix' +version = '1.0.20211006' + +homepage = 'https://github.com/rordenlab/dcm2niix' +description = """dcm2niix is designed to convert neuroimaging data from the DICOM format to the NIfTI format.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/rordenlab/dcm2niix/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['44b737d0101483de17ac1273f2d2c6a4d572a7b76ea040d69aa34d5e484144b9'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('pigz', '2.6'), + ('OpenJPEG', '2.4.0'), + ('CharLS', '2.3.4'), +] + +configopts = '-DUSE_JPEGLS=ON -DUSE_OPENJPEG=ON -DOpenJPEG_DIR=$EBROOTOPENJPEG ' + +sanity_check_paths = { + 'files': ['bin/dcm2niix'], + 'dirs': [''], +} + +sanity_check_commands = ['dcm2niix -h'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/deepTools/deepTools-3.5.1-foss-2021b.eb b/easybuild/easyconfigs/d/deepTools/deepTools-3.5.1-foss-2021b.eb new file mode 100644 index 00000000000..44c477c20aa --- /dev/null +++ b/easybuild/easyconfigs/d/deepTools/deepTools-3.5.1-foss-2021b.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'deepTools' +version = '3.5.1' + +homepage = 'https://deeptools.readthedocs.io/' +description = """deepTools is a suite of python tools particularly developed for the efficient analysis of + high-throughput sequencing data, such as ChIP-seq, RNA-seq or MNase-seq.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('matplotlib', '3.4.3'), + ('plotly.py', '5.4.0'), + ('Pysam', '0.17.0'), + ('pyBigWig', '0.3.18'), +] + +use_pip = True + +exts_list = [ + ('py2bit', '0.3.0', { + 'checksums': ['450555c40cba66957ac8c9a4b6afb625fb34c4bb41638de78c87661ff8b682ef'], + }), + ('deeptoolsintervals', '0.1.9', { + 'checksums': ['7d94c36fd2b6f10d8b99e536d2672e8228971f1fc810497d33527bba2c40d4f6'], + }), + ('numpydoc', '1.2', { + 'checksums': ['0cec233740c6b125913005d16e8a9996e060528afcb8b7cad3f2706629dfd6f7'], + }), + (name, version, { + 'checksums': ['62eea132513afa5f6bb51387e5866a5c3a26613aeb7e8c9600c38becf2ecb716'], + }), +] + +sanity_check_paths = { + 'files': ['bin/bamCompare', 'bin/bamCoverage', 'bin/bamPEFragmentSize', 'bin/computeGCBias', 'bin/computeMatrix', + 'bin/correctGCBias', 'bin/multiBamSummary', 'bin/plotCorrelation', 'bin/plotCoverage', + 'bin/plotHeatmap', 'bin/plotProfile'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/dftd3-lib/dftd3-lib-0.9-intel-compilers-2021.2.0.eb b/easybuild/easyconfigs/d/dftd3-lib/dftd3-lib-0.9-intel-compilers-2021.2.0.eb new file mode 100644 index 00000000000..6816b3972dc --- /dev/null +++ b/easybuild/easyconfigs/d/dftd3-lib/dftd3-lib-0.9-intel-compilers-2021.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'MakeCp' + +name = 'dftd3-lib' +version = '0.9' + +homepage = 'https://github.com/dftbplus/dftd3-lib' +description = """This is a repackaged version of the DFTD3 program by S. Grimme and his coworkers. +The original program (V3.1 Rev 1) was downloaded at 2016-04-03. It has been +converted to free format and encapsulated into modules.""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.2.0'} +toolchainopts = {'pic': True} + +github_account = 'dftbplus' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +patches = ['dftd3-lib-%(version)s_fix-extras-syntax.patch'] +checksums = [ + '0a015659b5179dff1728a109c3e9b095e6bccc5704de9239aa3844008a9a82df', # 0.9.tar.gz + '717e719170258544555bfc33390a70c2573d971c6548d8f2c951a5606ec77f74', # dftd3-lib-0.9_fix-extras-syntax.patch +] + +parallel = 1 + +buildopts = 'FC="$FC" LN="$FC" FCFLAGS="$FCFLAGS" LNFLAGS="$LDFLAGS"' + +files_to_copy = [ + (['prg/dftd3', 'test/testapi'], 'bin'), + (['lib/libdftd3.a'], 'lib'), + (['lib/*.mod', 'prg/*.mod'], 'include'), + (['doc/man.pdf', 'CHANGELOG.rst', 'LICENSE', 'README.rst'], 'share'), +] + +sanity_check_paths = { + 'files': ['bin/dftd3', 'bin/testapi', 'lib/libdftd3.a'], + 'dirs': ['include', 'share'], +} + +sanity_check_commands = ["dftd3 --help"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001-foss-2021b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001-foss-2021b.eb new file mode 100644 index 00000000000..ed8d5d50027 --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001-foss-2021b.eb @@ -0,0 +1,43 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Authors:: Inge Gutheil , Alan O'Cais +# License:: MIT/GPL +# +## + +name = 'ELPA' +version = '2021.11.001' + +homepage = 'https://elpa.rzg.mpg.de' +description = """Eigenvalue SoLvers for Petaflop-Applications.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'openmp': True, 'usempi': True} + +source_urls = ['https://gitlab.mpcdf.mpg.de/elpa/elpa/-/archive/new_release_%(version)s/'] +sources = ['elpa-new_release_%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_fix_hardcoded_perl_path.patch'] +checksums = [ + 'e61048393a5e5f460858a11b216547fa3f434dd620c478cb20a52ebf543260f1', # elpa-new_release_2021.11.001.tar.gz + # ELPA-2021.11.001_fix_hardcoded_perl_path.patch + '5fc40b6f3f948fd026efc688f9bafba0461d68ad007d9dc161bfd1507e2fc13b', +] + +builddependencies = [ + ('Autotools', '20210726'), + # remove_xcompiler script requires 'python' command, + ('Python', '3.9.6'), + ('Perl', '5.34.0'), +] + +preconfigopts = './autogen.sh && ' +preconfigopts += 'export LDFLAGS="-lm $LDFLAGS" && ' +preconfigopts += 'autoreconf && ' + +# When building in parallel, the file test_setup_mpi.mod is sometimes +# used before it is built, leading to an error. This must be a bug in +# the makefile affecting parallel builds. +maxparallel = 1 + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001-intel-2021b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001-intel-2021b.eb new file mode 100644 index 00000000000..42a4e02fc13 --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001-intel-2021b.eb @@ -0,0 +1,47 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Authors:: Inge Gutheil , Alan O'Cais +# License:: MIT/GPL +# +## + +name = 'ELPA' +version = '2021.11.001' + +homepage = 'https://elpa.rzg.mpg.de' +description = """Eigenvalue SoLvers for Petaflop-Applications.""" + +toolchain = {'name': 'intel', 'version': '2021b'} +toolchainopts = {'openmp': True, 'usempi': True} + +source_urls = ['https://gitlab.mpcdf.mpg.de/elpa/elpa/-/archive/new_release_%(version)s/'] +sources = ['elpa-new_release_%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_fix_hardcoded_perl_path.patch'] +checksums = [ + 'e61048393a5e5f460858a11b216547fa3f434dd620c478cb20a52ebf543260f1', # elpa-new_release_2021.11.001.tar.gz + # ELPA-2021.11.001_fix_hardcoded_perl_path.patch + '5fc40b6f3f948fd026efc688f9bafba0461d68ad007d9dc161bfd1507e2fc13b', +] + +builddependencies = [ + ('Autotools', '20210726'), + # remove_xcompiler script requires 'python' command, + ('Python', '3.9.6'), + ('Perl', '5.34.0'), +] + +preconfigopts = './autogen.sh && ' +preconfigopts += 'export LDFLAGS="-lm $LDFLAGS" && ' +preconfigopts += 'autoreconf && ' +# If the build is running in a batch job, make sure Intel libmpi does +# not try to use Slurm to run the MPI_THREAD test code that ELPA's +# configure is running without "mpirun". +preconfigopts += 'unset SLURM_JOBID && unset SLURM_NODELIST && unset I_MPI_PMI_LIBRARY && ' + +# When building in parallel, the file test_setup_mpi.mod is sometimes +# used before it is built, leading to an error. This must be a bug in +# the makefile affecting parallel builds. +maxparallel = 1 + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001_fix_hardcoded_perl_path.patch b/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001_fix_hardcoded_perl_path.patch new file mode 100644 index 00000000000..5c7ae5eae05 --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001_fix_hardcoded_perl_path.patch @@ -0,0 +1,40 @@ +--- elpa-new_release_2021.11.001/test_project_1stage/fdep/fortran_dependencies.pl 2021-12-17 08:20:49.000000000 +0100 ++++ elpa-new_release_2021.11.001_ok/test_project_1stage/fdep/fortran_dependencies.pl 2022-01-25 17:07:21.169362000 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl + + use strict; + +--- elpa-new_release_2021.11.001/fdep/fortran_dependencies.pl 2021-12-17 08:20:49.000000000 +0100 ++++ elpa-new_release_2021.11.001_ok/fdep/fortran_dependencies.pl 2022-01-25 17:08:17.272544000 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl + # + # Copyright 2015 Lorenz Hüdepohl + # +--- elpa-new_release_2021.11.001/test_project_C_2stage/fdep/fortran_dependencies.pl 2021-12-17 08:20:49.000000000 +0100 ++++ elpa-new_release_2021.11.001_ok/test_project_C_2stage/fdep/fortran_dependencies.pl 2022-01-25 17:06:20.088471000 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl + + use strict; + +--- elpa-new_release_2021.11.001/test_project_2stage/fdep/fortran_dependencies.pl 2021-12-17 08:20:49.000000000 +0100 ++++ elpa-new_release_2021.11.001_ok/test_project_2stage/fdep/fortran_dependencies.pl 2022-01-25 17:05:10.675886000 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl + + use strict; + +--- elpa-new_release_2021.11.001/test_project_C/fdep/fortran_dependencies.pl 2021-12-17 08:20:49.000000000 +0100 ++++ elpa-new_release_2021.11.001_ok/test_project_C/fdep/fortran_dependencies.pl 2022-01-25 17:04:14.834326000 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl + + use strict; + diff --git a/easybuild/easyconfigs/e/ETE/ETE-3.1.2-foss-2021b.eb b/easybuild/easyconfigs/e/ETE/ETE-3.1.2-foss-2021b.eb new file mode 100644 index 00000000000..c7eca019813 --- /dev/null +++ b/easybuild/easyconfigs/e/ETE/ETE-3.1.2-foss-2021b.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'ETE' +version = '3.1.2' + +homepage = 'http://etetoolkit.org' +description = """A Python framework for the analysis and visualization of trees""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://pypi.python.org/packages/source/e/ete3'] +sources = ['ete3-%(version)s.tar.gz'] +checksums = ['4fc987b8c529889d6608fab1101f1455cb5cbd42722788de6aea9c7d0a8e59e9'] + +dependencies = [ + ('lxml', '4.6.3'), + ('Python', '3.9.6'), + ('PyQt5', '5.15.4'), + ('SciPy-bundle', '2021.10'), +] + +download_dep_fail = True +use_pip = True + +options = {'modulename': 'ete3'} + +sanity_check_paths = { + 'files': ['bin/ete3'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-3.9.4.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-3.9.4.eb index a5005270c7a..dd3b35aa893 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-3.9.4.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-3.9.4.eb @@ -8,7 +8,7 @@ description = """EasyBuild is a software build and installation framework written in Python that allows you to install software in a structured, repeatable and robust way.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # vsc-install diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.0.0.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.0.0.eb index 7791f784dcc..b13e5a86759 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.0.0.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.0.0.eb @@ -8,7 +8,7 @@ description = """EasyBuild is a software build and installation framework written in Python that allows you to install software in a structured, repeatable and robust way.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.0.1.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.0.1.eb index cc8897da43b..02a74160afc 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.0.1.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.0.1.eb @@ -8,7 +8,7 @@ description = """EasyBuild is a software build and installation framework written in Python that allows you to install software in a structured, repeatable and robust way.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.1.0.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.1.0.eb index 65b2ca298a7..25051461eb8 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.1.0.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.1.0.eb @@ -8,7 +8,7 @@ description = """EasyBuild is a software build and installation framework written in Python that allows you to install software in a structured, repeatable and robust way.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.1.1.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.1.1.eb index 49247ea233b..4f6dc72e076 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.1.1.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.1.1.eb @@ -8,7 +8,7 @@ description = """EasyBuild is a software build and installation framework written in Python that allows you to install software in a structured, repeatable and robust way.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.1.2.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.1.2.eb index e6ac20b851f..8896f8fe35e 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.1.2.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.1.2.eb @@ -8,7 +8,7 @@ description = """EasyBuild is a software build and installation framework written in Python that allows you to install software in a structured, repeatable and robust way.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.2.0.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.2.0.eb index b48d53735da..c010c13350f 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.2.0.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.2.0.eb @@ -8,7 +8,7 @@ description = """EasyBuild is a software build and installation framework written in Python that allows you to install software in a structured, repeatable and robust way.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.2.1.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.2.1.eb index 0ad8c5b4556..3e3fae6d858 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.2.1.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.2.1.eb @@ -8,7 +8,7 @@ description = """EasyBuild is a software build and installation framework written in Python that allows you to install software in a structured, repeatable and robust way.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.2.2.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.2.2.eb index 1091c23897b..e77acbb055c 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.2.2.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.2.2.eb @@ -8,7 +8,7 @@ description = """EasyBuild is a software build and installation framework written in Python that allows you to install software in a structured, repeatable and robust way.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.0.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.0.eb index 9185e8fb088..e18538cfc10 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.0.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.0.eb @@ -8,7 +8,7 @@ description = """EasyBuild is a software build and installation framework written in Python that allows you to install software in a structured, repeatable and robust way.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.1.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.1.eb index a3e700254a2..3115de22053 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.1.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.1.eb @@ -8,7 +8,7 @@ description = """EasyBuild is a software build and installation framework written in Python that allows you to install software in a structured, repeatable and robust way.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.2.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.2.eb index 1e369883551..10cf17e0350 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.2.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.2.eb @@ -8,7 +8,7 @@ description = """EasyBuild is a software build and installation framework written in Python that allows you to install software in a structured, repeatable and robust way.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.3.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.3.eb index 1b73dac291d..f1b3fda015a 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.3.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.3.eb @@ -8,7 +8,7 @@ description = """EasyBuild is a software build and installation framework written in Python that allows you to install software in a structured, repeatable and robust way.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.4.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.4.eb index 9771d8a0655..ecf5449b562 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.4.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.4.eb @@ -8,7 +8,7 @@ description = """EasyBuild is a software build and installation framework written in Python that allows you to install software in a structured, repeatable and robust way.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.4.0.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.4.0.eb index e3711e34964..c17fd29c7f5 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.4.0.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.4.0.eb @@ -8,7 +8,7 @@ description = """EasyBuild is a software build and installation framework written in Python that allows you to install software in a structured, repeatable and robust way.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.4.1.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.4.1.eb index fb230445037..ee6a0035569 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.4.1.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.4.1.eb @@ -8,7 +8,7 @@ description = """EasyBuild is a software build and installation framework written in Python that allows you to install software in a structured, repeatable and robust way.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.4.2.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.4.2.eb index 442f64876f1..295e753564e 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.4.2.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.4.2.eb @@ -8,7 +8,7 @@ description = """EasyBuild is a software build and installation framework written in Python that allows you to install software in a structured, repeatable and robust way.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.5.0.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.5.0.eb index b3cc0ce5fe3..3522ff05e7a 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.5.0.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.5.0.eb @@ -8,7 +8,7 @@ description = """EasyBuild is a software build and installation framework written in Python that allows you to install software in a structured, repeatable and robust way.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.5.1.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.5.1.eb index bc8db12a896..7f2ef294c1c 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.5.1.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.5.1.eb @@ -8,7 +8,7 @@ description = """EasyBuild is a software build and installation framework written in Python that allows you to install software in a structured, repeatable and robust way.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.5.2.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.5.2.eb index 94d49126b0b..4c088277872 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.5.2.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.5.2.eb @@ -8,7 +8,7 @@ description = """EasyBuild is a software build and installation framework written in Python that allows you to install software in a structured, repeatable and robust way.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.5.3.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.5.3.eb new file mode 100644 index 00000000000..db0436a30e8 --- /dev/null +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.5.3.eb @@ -0,0 +1,44 @@ +easyblock = 'EB_EasyBuildMeta' + +name = 'EasyBuild' +version = '4.5.3' + +homepage = 'https://easybuilders.github.io/easybuild' +description = """EasyBuild is a software build and installation framework + written in Python that allows you to install software in a structured, + repeatable and robust way.""" + +toolchain = SYSTEM + +source_urls = [ + # easybuild-framework + 'https://files.pythonhosted.org/packages/4a/12/63a8d8f4f7132da62a3d81f7f385ef2b88fd41536007bf2939ea6d8f7639/', + # easybuild-easyblocks + 'https://files.pythonhosted.org/packages/8a/7b/bbda3cd4f5c0aa0364e2f4392330e94e3d73c0c6dae703832e9a6ac7ab6c/', + # easybuild-easyconfigs + 'https://files.pythonhosted.org/packages/07/78/41bcf3f94068a49a1d66f65711c95be02b1affeefb457e393601376ae335/', +] +sources = [ + 'easybuild-framework-%(version)s.tar.gz', + 'easybuild-easyblocks-%(version)s.tar.gz', + 'easybuild-easyconfigs-%(version)s.tar.gz', +] +checksums = [ + '67fc32ae51bd421a94f8ad764b71d806e01ed87548d58fb1a99b81719337b8ad', # easybuild-framework-4.5.3.tar.gz + '2ff3d075f305e18fa6a40dcd8a4d963c3487668232f70945e32bdaa871bb8707', # easybuild-easyblocks-4.5.3.tar.gz + 'b8677a153f702142512f492eaf2388e54c5638c3d8966eb5456cb54cc4ef2a9f', # easybuild-easyconfigs-4.5.3.tar.gz +] + +# order matters a lot, to avoid having dependencies auto-resolved (--no-deps easy_install option doesn't work?) +# EasyBuild is a (set of) Python packages, so it depends on Python +# usually, we want to use the system Python, so no actual Python dependency is listed +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +local_pyshortver = '.'.join(SYS_PYTHON_VERSION.split('.')[:2]) + +sanity_check_paths = { + 'files': ['bin/eb'], + 'dirs': ['lib/python%s/site-packages' % local_pyshortver], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/ecCodes/ecCodes-2.24.2-gompi-2021b.eb b/easybuild/easyconfigs/e/ecCodes/ecCodes-2.24.2-gompi-2021b.eb new file mode 100644 index 00000000000..851fe34ed55 --- /dev/null +++ b/easybuild/easyconfigs/e/ecCodes/ecCodes-2.24.2-gompi-2021b.eb @@ -0,0 +1,44 @@ +easyblock = 'CMakeMake' + +name = 'ecCodes' +version = '2.24.2' + +homepage = 'https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home' +description = """ecCodes is a package developed by ECMWF which provides an application programming interface and + a set of tools for decoding and encoding messages in the following formats: WMO FM-92 GRIB edition 1 and edition 2, + WMO FM-94 BUFR edition 3 and edition 4, WMO GTS abbreviated header (only decoding).""" + +toolchain = {'name': 'gompi', 'version': '2021b'} +toolchainopts = {'usempi': False} + +source_urls = ['https://confluence.ecmwf.int/download/attachments/45757960/'] +sources = ['eccodes-%(version)s-Source.tar.gz'] +checksums = ['c60ad0fd89e11918ace0d84c01489f21222b11d6cad3ff7495856a0add610403'] + +builddependencies = [('CMake', '3.21.1')] + +dependencies = [ + ('netCDF', '4.8.1'), + ('JasPer', '2.0.33'), + ('libjpeg-turbo', '2.0.6'), + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), +] + +# Python bindings are provided by a separate package 'eccodes-python' +configopts = "-DENABLE_NETCDF=ON -DENABLE_PNG=ON -DENABLE_PYTHON=OFF " +configopts += "-DENABLE_JPG=ON -DENABLE_JPG_LIBJASPER=ON " +configopts += "-DENABLE_ECCODES_THREADS=ON" # multi-threading with pthreads + +local_exes = ['%s_%s' % (a, b) + for a in ['bufr', 'grib', 'gts', 'metar'] + for b in ['compare', 'copy', 'dump', 'filter', 'get', 'ls']] +local_exes += ['codes_%s' % c for c in ['count', 'info', 'split_file']] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_exes] + + ['lib/libeccodes_f90.%s' % SHLIB_EXT, 'lib/libeccodes.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/FLASH/FLASH-2.2.00-GCC-11.2.0.eb b/easybuild/easyconfigs/f/FLASH/FLASH-2.2.00-GCC-11.2.0.eb new file mode 100644 index 00000000000..a7d6de3d521 --- /dev/null +++ b/easybuild/easyconfigs/f/FLASH/FLASH-2.2.00-GCC-11.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'MakeCp' + +name = 'FLASH' +version = '2.2.00' + +homepage = 'https://ccb.jhu.edu/software/FLASH/' +description = """FLASH (Fast Length Adjustment of SHort reads) is a very fast +and accurate software tool to merge paired-end reads from next-generation +sequencing experiments. FLASH is designed to merge pairs of reads when the +original DNA fragments are shorter than twice the length of reads. The +resulting longer reads can significantly improve genome assemblies. They can +also improve transcriptome assembly when FLASH is used to merge RNA-seq data. +""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/dstreett/FLASH2/archive/'] +sources = ['%(version)s.zip'] +checksums = ['1e54b2dd7d21ca3e0595a3ffdd27ef3098f88c4de5b9302ec5ea074b49b79960'] + +files_to_copy = [(['flash2'], 'bin')] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s flash2 flash"] + +sanity_check_paths = { + 'files': ['bin/flash2', 'bin/flash'], + 'dirs': [], +} + +sanity_check_commands = [ + "flash --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FLUENT/FLUENT-2021R2.eb b/easybuild/easyconfigs/f/FLUENT/FLUENT-2021R2.eb new file mode 100644 index 00000000000..d1608e86558 --- /dev/null +++ b/easybuild/easyconfigs/f/FLUENT/FLUENT-2021R2.eb @@ -0,0 +1,17 @@ +name = 'FLUENT' +version = '2021R2' + +homepage = 'https://www.ansys.com/products/fluids/ansys-fluent' +description = """ANSYS FLUENT software contains the broad physical modeling capabilities needed +to model flow, turbulence, heat transfer, and reactions for industrial applications ranging from +air flow over an aircraft wing to combustion in a furnace, from bubble columns to oil platforms, +from blood flow to semiconductor manufacturing, and from clean room design to wastewater treatment plants.""" + +toolchain = SYSTEM + +sources = ['FLUIDS_%(version)s_LINX64.tgz'] +checksums = ['6d6a10e8db5fc807bea6b046521bd489fd452f93d1c9040fc44426e72e417b12'] + +subdir_version = '212' + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/f/Flask/Flask-1.1.4-GCCcore-10.3.0.eb b/easybuild/easyconfigs/f/Flask/Flask-1.1.4-GCCcore-10.3.0.eb index e580bb5698a..b42acb6357c 100644 --- a/easybuild/easyconfigs/f/Flask/Flask-1.1.4-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/f/Flask/Flask-1.1.4-GCCcore-10.3.0.eb @@ -34,6 +34,12 @@ exts_list = [ ('Flask-Cors', '3.0.10', { 'checksums': ['b60839393f3b84a0f3746f6cdca56c1ad7426aa738b70d6c61375857823181de'], }), + ('cachelib', '0.4.1', { + 'checksums': ['68e27dae1bb73ba02071f1cf413111d96f8175fd37176f35a5ccb9bdf6848c5c'], + }), + ('Flask-Session', '0.4.0', { + 'checksums': ['c9ed54321fa8c4ca0132ffd3369582759eda7252fb4b3bee480e690d1ba41f46'], + }), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/f/Flask/Flask-2.0.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/f/Flask/Flask-2.0.2-GCCcore-11.2.0.eb index 2057ba93f42..65e24299f37 100644 --- a/easybuild/easyconfigs/f/Flask/Flask-2.0.2-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/f/Flask/Flask-2.0.2-GCCcore-11.2.0.eb @@ -37,6 +37,12 @@ exts_list = [ ('Flask-Cors', '3.0.10', { 'checksums': ['b60839393f3b84a0f3746f6cdca56c1ad7426aa738b70d6c61375857823181de'], }), + ('cachelib', '0.6.0', { + 'checksums': ['0baa926a23924c04ae1354091478b15b3b24e6cf5931dd159452afda5f65babd'], + }), + ('Flask-Session', '0.4.0', { + 'checksums': ['c9ed54321fa8c4ca0132ffd3369582759eda7252fb4b3bee480e690d1ba41f46'], + }), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.1.3-GCC-11.2.0.eb b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.1.3-GCC-11.2.0.eb new file mode 100644 index 00000000000..b7e48d80eff --- /dev/null +++ b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.1.3-GCC-11.2.0.eb @@ -0,0 +1,58 @@ +easyblock = 'Bundle' + +name = 'FlexiBLAS' +version = '3.1.3' + +homepage = 'https://gitlab.mpi-magdeburg.mpg.de/software/flexiblas-release' +description = """FlexiBLAS is a wrapper library that enables the exchange of the BLAS and LAPACK implementation +used by a program without recompiling or relinking it.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +local_extra_flags = "-fstack-protector-strong -fstack-clash-protection" +toolchainopts = {'pic': True, 'extra_cflags': local_extra_flags, 'extra_fflags': local_extra_flags} + +builddependencies = [ + ('CMake', '3.22.1'), + ('Python', '3.9.6'), # required for running the tests + ('BLIS', '0.8.1'), +] + +dependencies = [ + ('OpenBLAS', '0.3.20'), +] + +# note: first listed backend will be used as default by FlexiBLAS, +# unless otherwise specified via easyconfig parameter flexiblas_default +local_backends = ['OpenBLAS', 'BLIS'] + +# imkl supplies its backend via the imkl module, not as a dependency +if ARCH == 'x86_64': + local_backends.append('imkl') + +default_component_specs = {'start_dir': '%(namelower)s-%(version)s'} +sanity_check_all_components = True + +# Also build and install LAPACKE, which FlexiBLAS does not support yet +components = [ + (name, version, { + 'source_urls': ['https://github.com/mpimd-csc/flexiblas/releases/download/v%(version)s/'], + 'sources': [SOURCELOWER_TAR_GZ], + 'checksums': ['aac6175660e8475ce478b88673eee330671f8aecc0cb852a25833e23e29a0620'], + 'backends': local_backends, + }), + ('LAPACK', '3.10.0', { + 'easyblock': 'CMakeMake', + 'source_urls': ['https://github.com/Reference-LAPACK/lapack/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['328c1bea493a32cac5257d84157dc686cc3ab0b004e2bea22044e0a59f6f8a19'], + 'configopts': ('-DBUILD_SHARED_LIBS=ON -DUSE_OPTIMIZED_BLAS=ON -DLAPACKE=ON ' + '-DUSE_OPTIMIZED_LAPACK=ON -DBUILD_DEPRECATED=ON ' + '-DCMAKE_INSTALL_INCLUDEDIR=%(installdir)s/include/flexiblas'), + 'sanity_check_paths': { + 'files': ['lib/liblapacke.%s' % SHLIB_EXT, 'include/flexiblas/lapacke.h'], + 'dirs': [], + }, + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/futile/futile-1.8.3-foss-2020b.eb b/easybuild/easyconfigs/f/futile/futile-1.8.3-foss-2020b.eb index 6648c32dd2c..3b00140697d 100644 --- a/easybuild/easyconfigs/f/futile/futile-1.8.3-foss-2020b.eb +++ b/easybuild/easyconfigs/f/futile/futile-1.8.3-foss-2020b.eb @@ -10,27 +10,36 @@ description = """ """ toolchain = {'name': 'foss', 'version': '2020b'} -toolchainopts = {'usempi': True} +toolchainopts = {'pic': True, 'usempi': True, 'openmp': True} source_urls = ['https://launchpad.net/bigdft/%(version_major_minor)s/%(version)s/+download/'] sources = ['bigdft-suite-%(version)s.tar.gz'] -checksums = ['39aeae8bd62ad5d82ed20a47006aa478d93b3751ae7929027088c2e6b8439388'] +patches = ['futile_index_bug.patch'] +checksums = [ + '39aeae8bd62ad5d82ed20a47006aa478d93b3751ae7929027088c2e6b8439388', # bigdft-suite-1.8.3.tar.gz + '5ef5f8ad7644259da0d2d2bcb64c44b923cb64b1eedf03898d0da18228ea392f', # futile_index_bug.patch +] unpack_options = " spred-suite/futile-%(version_major_minor)s.tar.gz --strip 1 && " unpack_options += "tar xzf futile-%(version_major_minor)s.tar.gz --transform='s,%(version_major_minor)s,%(version)s,'" start_dir = "futile-%(version)s" -configopts = 'CC=$MPICC FC=$MPIFC FCFLAGS="$FCLAGS -fallow-argument-mismatch" ' -configopts += '--enable-mpi ' -configopts += '--with-ext-linalg="-L$SCALAPACK_LIB_DIR $LIBSCALAPACK ' -configopts += '-L$BLACS_LIB_DIR $LIBBLACS -L$LAPACK_LIB_DIR $LIBLAPACK -L$BLAS_LIB_DIR $LIBBLAS" ' -configopts += '--with-yaml-path=$EBROOTLIBYAML ' +builddependencies = [ + ('pkg-config', '0.29.2'), +] +dependencies = [ + ('libyaml', '0.2.5'), +] + +preconfigopts = 'export FCFLAGS="$FCLAGS -fallow-argument-mismatch" && ' -dependencies = [('libyaml', '0.2.5')] +configopts = '--enable-dynamic-libraries ' +configopts += '--with-ext-linalg="$LIBSCALAPACK" ' +configopts += '--with-yaml-path=$EBROOTLIBYAML ' sanity_check_paths = { 'files': ['include/futile.mod', 'include/futile.h', 'bin/futilevars.sh'] + - [('lib/libfutile-1.a', 'lib64/libfutile-1.a')], + ['lib/libfutile-1.a', 'lib/libfutile-1.%s' % SHLIB_EXT], 'dirs': [] } diff --git a/easybuild/easyconfigs/f/futile/futile-1.8.3-foss-2021a.eb b/easybuild/easyconfigs/f/futile/futile-1.8.3-foss-2021a.eb index a684f70cf94..a5d1e9b1a63 100644 --- a/easybuild/easyconfigs/f/futile/futile-1.8.3-foss-2021a.eb +++ b/easybuild/easyconfigs/f/futile/futile-1.8.3-foss-2021a.eb @@ -10,27 +10,36 @@ description = """ """ toolchain = {'name': 'foss', 'version': '2021a'} -toolchainopts = {'usempi': True} +toolchainopts = {'pic': True, 'usempi': True, 'openmp': True} source_urls = ['https://launchpad.net/bigdft/%(version_major_minor)s/%(version)s/+download/'] sources = ['bigdft-suite-%(version)s.tar.gz'] -checksums = ['39aeae8bd62ad5d82ed20a47006aa478d93b3751ae7929027088c2e6b8439388'] +patches = ['futile_index_bug.patch'] +checksums = [ + '39aeae8bd62ad5d82ed20a47006aa478d93b3751ae7929027088c2e6b8439388', # bigdft-suite-1.8.3.tar.gz + '5ef5f8ad7644259da0d2d2bcb64c44b923cb64b1eedf03898d0da18228ea392f', # futile_index_bug.patch +] unpack_options = " spred-suite/futile-%(version_major_minor)s.tar.gz --strip 1 && " unpack_options += "tar xzf futile-%(version_major_minor)s.tar.gz --transform='s,%(version_major_minor)s,%(version)s,'" start_dir = "futile-%(version)s" -configopts = 'CC=$MPICC FC=$MPIFC FCFLAGS="$FCLAGS -fallow-argument-mismatch" ' -configopts += '--enable-mpi ' -configopts += '--with-ext-linalg="-L$SCALAPACK_LIB_DIR $LIBSCALAPACK ' -configopts += '-L$BLACS_LIB_DIR $LIBBLACS -L$LAPACK_LIB_DIR $LIBLAPACK -L$BLAS_LIB_DIR $LIBBLAS" ' -configopts += '--with-yaml-path=$EBROOTLIBYAML ' +builddependencies = [ + ('pkg-config', '0.29.2'), +] +dependencies = [ + ('libyaml', '0.2.5'), +] + +preconfigopts = 'export FCFLAGS="$FCLAGS -fallow-argument-mismatch" && ' -dependencies = [('libyaml', '0.2.5')] +configopts = '--enable-dynamic-libraries ' +configopts += '--with-ext-linalg="$LIBSCALAPACK" ' +configopts += '--with-yaml-path=$EBROOTLIBYAML ' sanity_check_paths = { 'files': ['include/futile.mod', 'include/futile.h', 'bin/futilevars.sh'] + - [('lib/libfutile-1.a', 'lib64/libfutile-1.a')], + ['lib/libfutile-1.a', 'lib/libfutile-1.%s' % SHLIB_EXT], 'dirs': [] } diff --git a/easybuild/easyconfigs/f/futile/futile-1.8.3-foss-2021b.eb b/easybuild/easyconfigs/f/futile/futile-1.8.3-foss-2021b.eb index 0ef7202fe22..013ed079619 100644 --- a/easybuild/easyconfigs/f/futile/futile-1.8.3-foss-2021b.eb +++ b/easybuild/easyconfigs/f/futile/futile-1.8.3-foss-2021b.eb @@ -10,7 +10,7 @@ description = """ """ toolchain = {'name': 'foss', 'version': '2021b'} -toolchainopts = {'usempi': True} +toolchainopts = {'pic': True, 'usempi': True, 'openmp': True} source_urls = ['https://launchpad.net/bigdft/%(version_major_minor)s/%(version)s/+download/'] sources = ['bigdft-suite-%(version)s.tar.gz'] @@ -24,17 +24,22 @@ unpack_options = " spred-suite/futile-%(version_major_minor)s.tar.gz --strip 1 & unpack_options += "tar xzf futile-%(version_major_minor)s.tar.gz --transform='s,%(version_major_minor)s,%(version)s,'" start_dir = "futile-%(version)s" -configopts = 'CC=$MPICC FC=$MPIFC FCFLAGS="$FCLAGS -fallow-argument-mismatch" ' -configopts += '--enable-mpi ' -configopts += '--with-ext-linalg="-L$SCALAPACK_LIB_DIR $LIBSCALAPACK ' -configopts += '-L$BLACS_LIB_DIR $LIBBLACS -L$LAPACK_LIB_DIR $LIBLAPACK -L$BLAS_LIB_DIR $LIBBLAS" ' -configopts += '--with-yaml-path=$EBROOTLIBYAML ' +builddependencies = [ + ('pkg-config', '0.29.2'), +] +dependencies = [ + ('libyaml', '0.2.5'), +] -dependencies = [('libyaml', '0.2.5')] +preconfigopts = 'export FCFLAGS="$FCLAGS -fallow-argument-mismatch" && ' + +configopts = '--enable-dynamic-libraries ' +configopts += '--with-ext-linalg="$LIBSCALAPACK" ' +configopts += '--with-yaml-path=$EBROOTLIBYAML ' sanity_check_paths = { 'files': ['include/futile.mod', 'include/futile.h', 'bin/futilevars.sh'] + - [('lib/libfutile-1.a', 'lib64/libfutile-1.a')], + ['lib/libfutile-1.a', 'lib/libfutile-1.%s' % SHLIB_EXT], 'dirs': [] } diff --git a/easybuild/easyconfigs/f/futile/futile-1.8.3-intel-2020b.eb b/easybuild/easyconfigs/f/futile/futile-1.8.3-intel-2020b.eb index 318f3bb9b99..a06c36e332b 100644 --- a/easybuild/easyconfigs/f/futile/futile-1.8.3-intel-2020b.eb +++ b/easybuild/easyconfigs/f/futile/futile-1.8.3-intel-2020b.eb @@ -10,13 +10,17 @@ description = """ """ toolchain = {'name': 'intel', 'version': '2020b'} -toolchainopts = {'usempi': True} +toolchainopts = {'pic': True, 'usempi': True, 'openmp': True} source_urls = ['https://launchpad.net/bigdft/%(version_major_minor)s/%(version)s/+download/'] sources = ['bigdft-suite-%(version)s.tar.gz'] -patches = ['futile_intel_bug.patch'] +patches = [ + 'futile_index_bug.patch', + 'futile_intel_bug.patch', +] checksums = [ '39aeae8bd62ad5d82ed20a47006aa478d93b3751ae7929027088c2e6b8439388', # bigdft-suite-1.8.3.tar.gz + '5ef5f8ad7644259da0d2d2bcb64c44b923cb64b1eedf03898d0da18228ea392f', # futile_index_bug.patch 'e3681e6dda9364a1be4fba937423b8ac1774c3ebfd1ff04211482df25a188e95', # futile_intel_bug.patch ] @@ -24,17 +28,20 @@ unpack_options = " spred-suite/futile-%(version_major_minor)s.tar.gz --strip 1 & unpack_options += "tar xzf futile-%(version_major_minor)s.tar.gz --transform='s,%(version_major_minor)s,%(version)s,'" start_dir = "futile-%(version)s" -configopts = 'CC=$MPICC FC=$MPIFC ' -configopts += '--enable-mpi ' -configopts += '--with-ext-linalg="-L$SCALAPACK_LIB_DIR $LIBSCALAPACK ' -configopts += '-L$BLACS_LIB_DIR $LIBBLACS -L$LAPACK_LIB_DIR $LIBLAPACK -L$BLAS_LIB_DIR $LIBBLAS" ' -configopts += '--with-yaml-path=$EBROOTLIBYAML ' +builddependencies = [ + ('pkg-config', '0.29.2'), +] +dependencies = [ + ('libyaml', '0.2.5'), +] -dependencies = [('libyaml', '0.2.5')] +configopts = '--enable-dynamic-libraries ' +configopts += '--with-ext-linalg="$LIBSCALAPACK" ' +configopts += '--with-yaml-path=$EBROOTLIBYAML ' sanity_check_paths = { 'files': ['include/futile.mod', 'include/futile.h', 'bin/futilevars.sh'] + - [('lib/libfutile-1.a', 'lib64/libfutile-1.a')], + ['lib/libfutile-1.a', 'lib/libfutile-1.%s' % SHLIB_EXT], 'dirs': [] } diff --git a/easybuild/easyconfigs/f/futile/futile-1.8.3-intel-2021a.eb b/easybuild/easyconfigs/f/futile/futile-1.8.3-intel-2021a.eb index dd385e85152..49a07900cb6 100644 --- a/easybuild/easyconfigs/f/futile/futile-1.8.3-intel-2021a.eb +++ b/easybuild/easyconfigs/f/futile/futile-1.8.3-intel-2021a.eb @@ -10,13 +10,17 @@ description = """ """ toolchain = {'name': 'intel', 'version': '2021a'} -toolchainopts = {'usempi': True} +toolchainopts = {'pic': True, 'usempi': True, 'openmp': True} source_urls = ['https://launchpad.net/bigdft/%(version_major_minor)s/%(version)s/+download/'] sources = ['bigdft-suite-%(version)s.tar.gz'] -patches = ['futile_intel_bug.patch'] +patches = [ + 'futile_index_bug.patch', + 'futile_intel_bug.patch', +] checksums = [ '39aeae8bd62ad5d82ed20a47006aa478d93b3751ae7929027088c2e6b8439388', # bigdft-suite-1.8.3.tar.gz + '5ef5f8ad7644259da0d2d2bcb64c44b923cb64b1eedf03898d0da18228ea392f', # futile_index_bug.patch 'e3681e6dda9364a1be4fba937423b8ac1774c3ebfd1ff04211482df25a188e95', # futile_intel_bug.patch ] @@ -24,17 +28,20 @@ unpack_options = " spred-suite/futile-%(version_major_minor)s.tar.gz --strip 1 & unpack_options += "tar xzf futile-%(version_major_minor)s.tar.gz --transform='s,%(version_major_minor)s,%(version)s,'" start_dir = "futile-%(version)s" -configopts = 'CC=$MPICC FC=$MPIFC ' -configopts += '--enable-mpi ' -configopts += '--with-ext-linalg="-L$SCALAPACK_LIB_DIR $LIBSCALAPACK ' -configopts += '-L$BLACS_LIB_DIR $LIBBLACS -L$LAPACK_LIB_DIR $LIBLAPACK -L$BLAS_LIB_DIR $LIBBLAS" ' -configopts += '--with-yaml-path=$EBROOTLIBYAML ' +builddependencies = [ + ('pkg-config', '0.29.2'), +] +dependencies = [ + ('libyaml', '0.2.5'), +] -dependencies = [('libyaml', '0.2.5')] +configopts = '--enable-dynamic-libraries ' +configopts += '--with-ext-linalg="$LIBSCALAPACK" ' +configopts += '--with-yaml-path=$EBROOTLIBYAML ' sanity_check_paths = { 'files': ['include/futile.mod', 'include/futile.h', 'bin/futilevars.sh'] + - [('lib/libfutile-1.a', 'lib64/libfutile-1.a')], + ['lib/libfutile-1.a', 'lib/libfutile-1.%s' % SHLIB_EXT], 'dirs': [] } diff --git a/easybuild/easyconfigs/f/futile/futile-1.8.3-intel-2021b.eb b/easybuild/easyconfigs/f/futile/futile-1.8.3-intel-2021b.eb index d0c0c3be36b..7d1b1f4cf7a 100644 --- a/easybuild/easyconfigs/f/futile/futile-1.8.3-intel-2021b.eb +++ b/easybuild/easyconfigs/f/futile/futile-1.8.3-intel-2021b.eb @@ -10,13 +10,17 @@ description = """ """ toolchain = {'name': 'intel', 'version': '2021b'} -toolchainopts = {'usempi': True} +toolchainopts = {'pic': True, 'usempi': True, 'openmp': True} source_urls = ['https://launchpad.net/bigdft/%(version_major_minor)s/%(version)s/+download/'] sources = ['bigdft-suite-%(version)s.tar.gz'] -patches = ['futile_intel_bug.patch'] +patches = [ + 'futile_index_bug.patch', + 'futile_intel_bug.patch', +] checksums = [ '39aeae8bd62ad5d82ed20a47006aa478d93b3751ae7929027088c2e6b8439388', # bigdft-suite-1.8.3.tar.gz + '5ef5f8ad7644259da0d2d2bcb64c44b923cb64b1eedf03898d0da18228ea392f', # futile_index_bug.patch 'e3681e6dda9364a1be4fba937423b8ac1774c3ebfd1ff04211482df25a188e95', # futile_intel_bug.patch ] @@ -24,17 +28,20 @@ unpack_options = " spred-suite/futile-%(version_major_minor)s.tar.gz --strip 1 & unpack_options += "tar xzf futile-%(version_major_minor)s.tar.gz --transform='s,%(version_major_minor)s,%(version)s,'" start_dir = "futile-%(version)s" -configopts = 'CC=$MPICC FC=$MPIFC ' -configopts += '--enable-mpi ' -configopts += '--with-ext-linalg="-L$SCALAPACK_LIB_DIR $LIBSCALAPACK ' -configopts += '-L$BLACS_LIB_DIR $LIBBLACS -L$LAPACK_LIB_DIR $LIBLAPACK -L$BLAS_LIB_DIR $LIBBLAS" ' -configopts += '--with-yaml-path=$EBROOTLIBYAML ' +builddependencies = [ + ('pkg-config', '0.29.2'), +] +dependencies = [ + ('libyaml', '0.2.5'), +] -dependencies = [('libyaml', '0.2.5')] +configopts = '--enable-dynamic-libraries ' +configopts += '--with-ext-linalg="$LIBSCALAPACK" ' +configopts += '--with-yaml-path=$EBROOTLIBYAML ' sanity_check_paths = { 'files': ['include/futile.mod', 'include/futile.h', 'bin/futilevars.sh'] + - [('lib/libfutile-1.a', 'lib64/libfutile-1.a')], + ['lib/libfutile-1.a', 'lib/libfutile-1.%s' % SHLIB_EXT], 'dirs': [] } diff --git a/easybuild/easyconfigs/g/GATK/GATK-4.2.5.0-GCCcore-11.2.0-Java-11.eb b/easybuild/easyconfigs/g/GATK/GATK-4.2.5.0-GCCcore-11.2.0-Java-11.eb new file mode 100644 index 00000000000..49709d4a376 --- /dev/null +++ b/easybuild/easyconfigs/g/GATK/GATK-4.2.5.0-GCCcore-11.2.0-Java-11.eb @@ -0,0 +1,55 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2013 Cyprus Institute / CaSToRC, University of Luxembourg / LCSB +# Authors:: George Tsouloupas , Fotis Georgatos , +# Kenneth Hoste (UGent) +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +# Modified by: Adam Huffman, Jonas Demeulemeester +# The Francis Crick Institute +# Modified for version 4.0.5.1 by: Ruben van Dijk, University of Groningen +# Modified for version 4.2.3.0 by: J. Sassmannshausen / GSTT +## + +easyblock = 'Tarball' + +name = 'GATK' +version = '4.2.5.0' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://www.broadinstitute.org/gatk/' +description = """The Genome Analysis Toolkit or GATK is a software package developed at the Broad Institute + to analyse next-generation resequencing data. The toolkit offers a wide variety of tools, + with a primary focus on variant discovery and genotyping as well as strong emphasis on + data quality assurance. Its robust architecture, powerful processing engine and + high-performance computing features make it capable of taking on projects of any size.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/broadinstitute/gatk/releases/download/%(version)s/'] +sources = ['gatk-%(version)s.zip'] +checksums = ['203f17868f0a73a8322d2f8bd568b9f7b4bb81e36d37db5b6a142d8050ef049f'] + +dependencies = [ + ('Java', '11', '', True), + ('Python', '3.9.6'), +] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['gatk'], + 'dirs': [], +} +sanity_check_commands = [ + "gatk --help", + "gatk --list", +] + +modloadmsg = "WARNING: GATK v%(version)s support for Java 11 is in beta state. Use at your own risk.\n" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GBprocesS/GBprocesS-2.3-intel-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/g/GBprocesS/GBprocesS-2.3-intel-2020a-Python-3.8.2.eb index f0eb2e141fb..93638db31a3 100644 --- a/easybuild/easyconfigs/g/GBprocesS/GBprocesS-2.3-intel-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/g/GBprocesS/GBprocesS-2.3-intel-2020a-Python-3.8.2.eb @@ -1,6 +1,7 @@ easyblock = 'PythonPackage' name = 'GBprocesS' +local_commit = '82e21929' version = '2.3' versionsuffix = '-Python-%(pyver)s' @@ -14,9 +15,18 @@ used.""" toolchain = {'name': 'intel', 'version': '2020a'} -source_urls = ['https://gitlab.com/dschaumont/GBprocesS/-/archive/%(version)s/'] -sources = ['GBprocesS-%(version)s.tar.gz'] -checksums = ['374fa7bc096e0cbc83746f505bea134117debed99b7510cb4123878aeaea9456'] +# need to use git_config rather than just downloading source tarball, +# because .git subdirectory is required by setuptools-scm to determine version +sources = [{ + 'filename': 'GBprocesS-%%(version)s-%s.tar.gz' % local_commit, + 'git_config': { + 'url': 'https://gitlab.com/dschaumont', + 'repo_name': name, + 'commit': local_commit, + 'keep_git_dir': True, + }, +}] +checksums = [None] dependencies = [ ('Python', '3.8.2'), @@ -29,17 +39,8 @@ use_pip = True sanity_pip_check = True download_dep_fail = True -# The package uses setuptools-scm, so we avoid using the "version" part of it. -pretestopts = ( - "sed -i 's/" - "__version__ = get_distribution(__name__).version/" - "__version__ = \"%(version)s\"/g' gbprocess/__init__.py && " - "sed -i \"s|use_scm_version={'write_to': 'gbprocess/version.py'}|version='%(version)s'|g\" setup.py && " -) - -runtest = 'python -m unittest discover -v -s ./test -p test_*.py' - sanity_check_commands = [ + "cd %(builddir)s/GBprocesS && python -m unittest discover -v -s ./test -p test_*.py", "touch %(builddir)s/17146FL-13-01-01_S97_L002_R1_001.fastq", "touch %(builddir)s/17146FL-13-01-01_S97_L002_R2_001.fastq", # Trivial configuration file to use when running gbprocess sanity check diff --git a/easybuild/easyconfigs/g/GEOS/GEOS-3.8.0-GCC-8.3.0.eb b/easybuild/easyconfigs/g/GEOS/GEOS-3.8.0-GCC-8.3.0.eb new file mode 100644 index 00000000000..4ce0c6ab74a --- /dev/null +++ b/easybuild/easyconfigs/g/GEOS/GEOS-3.8.0-GCC-8.3.0.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'GEOS' +version = '3.8.0' + +homepage = 'https://trac.osgeo.org/geos' +description = """GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS)""" + +toolchain = {'name': 'GCC', 'version': '8.3.0'} + +source_urls = ['https://download.osgeo.org/geos/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = [ + '99114c3dc95df31757f44d2afde73e61b9f742f0b683fd1894cbbee05dda62d5', # geos-3.8.0.tar.bz2 +] + +sanity_check_paths = { + 'files': ['bin/geos-config', 'lib/libgeos.%s' % SHLIB_EXT, 'lib/libgeos.a', 'include/geos.h'], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/GetOrganelle/GetOrganelle-1.7.5.3-foss-2021b.eb b/easybuild/easyconfigs/g/GetOrganelle/GetOrganelle-1.7.5.3-foss-2021b.eb new file mode 100644 index 00000000000..3bab9913aba --- /dev/null +++ b/easybuild/easyconfigs/g/GetOrganelle/GetOrganelle-1.7.5.3-foss-2021b.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonPackage' + +name = 'GetOrganelle' +version = '1.7.5.3' + +homepage = 'https://github.com/Kinggerm/GetOrganelle' +description = """This toolkit assemblies organelle genome from genomic skimming data.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/Kinggerm/GetOrganelle/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['1fcc815ce25c8c4ca3e0c12adde6b484744ca8c374e35278baa54047890bc855'] + +dependencies = [ + ('Python', '3.9.6'), + ('Bandage', '0.9.0'), + ('SciPy-bundle', '2021.10'), + ('sympy', '1.9'), + ('SPAdes', '3.15.3'), + ('Bowtie2', '2.4.4'), + ('BLAST+', '2.12.0'), + ('Perl', '5.34.0'), + ('matplotlib', '3.4.3') +] + +download_dep_fail = True +use_pip = True + +options = {'modulename': False} + +fix_python_shebang_for = ['bin/*.py'] + +sanity_pip_check = True + +sanity_check_commands = ["get_organelle_from_reads.py -h"] + +sanity_check_paths = { + 'files': ['bin/check_annotations.py', 'bin/get_organelle_from_reads.py', 'bin/slim_graph.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/Grace/Grace-5.1.25-foss-2021a.eb b/easybuild/easyconfigs/g/Grace/Grace-5.1.25-foss-2021a.eb index 2b67331ed94..58caa63a65a 100644 --- a/easybuild/easyconfigs/g/Grace/Grace-5.1.25-foss-2021a.eb +++ b/easybuild/easyconfigs/g/Grace/Grace-5.1.25-foss-2021a.eb @@ -10,12 +10,17 @@ toolchain = {'name': 'foss', 'version': '2021a'} source_urls = ['https://plasma-gate.weizmann.ac.il/pub/grace/src/stable'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['751ab9917ed0f6232073c193aba74046037e185d73b77bab0f5af3e3ff1da2ac'] +patches = ['Grace-5.1.25-tirpc-dependency.patch'] +checksums = [ + '751ab9917ed0f6232073c193aba74046037e185d73b77bab0f5af3e3ff1da2ac', # grace-5.1.25.tar.gz + '093af4ddf344300aa31561c97e2765ed3fab609b70a5d199ac64a60dbd9e0c34', # Grace-5.1.25-tirpc-dependency.patch +] dependencies = [ ('motif', '2.3.8'), ('zlib', '1.2.11'), ('netCDF', '4.8.0'), + ('libtirpc', '1.3.2'), ] runtest = 'tests' diff --git a/easybuild/easyconfigs/g/Grace/Grace-5.1.25-tirpc-dependency.patch b/easybuild/easyconfigs/g/Grace/Grace-5.1.25-tirpc-dependency.patch new file mode 100644 index 00000000000..12d11fb2ce6 --- /dev/null +++ b/easybuild/easyconfigs/g/Grace/Grace-5.1.25-tirpc-dependency.patch @@ -0,0 +1,32 @@ +grconvert has a dependency on XDR from a RPC library and will be omitted +from the build if not present. + +On RedHat-like distros this is commonly missing and as such we add +libtirpc as a drop-in replacement for the OS packages that no longer +exist. + +Author: Lars Viklund (HPC2N) +diff -ru grace-5.1.25.orig/ac-tools/configure.in grace-5.1.25/ac-tools/configure.in +--- grace-5.1.25.orig/ac-tools/configure.in 2014-08-16 23:56:08.000000000 +0200 ++++ grace-5.1.25/ac-tools/configure.in 2022-03-11 19:51:21.025110130 +0100 +@@ -515,7 +515,7 @@ + fi + + dnl **** Check for XDR +-AC_SEARCH_LIBS(xdrstdio_create, nsl rpc xdr rpclib, XDR_LIB=$mdw_cv_lib_xdrstdio_create, XDR_LIB="NONE") ++AC_SEARCH_LIBS(xdrstdio_create, nsl rpc xdr rpclib tirpc, XDR_LIB=$mdw_cv_lib_xdrstdio_create, XDR_LIB="NONE") + + if test "${XDR_LIB}" = "NONE"; then + XDR_LIB= +diff -ru grace-5.1.25.orig/configure grace-5.1.25/configure +--- grace-5.1.25.orig/configure 2015-02-14 23:59:46.000000000 +0100 ++++ grace-5.1.25/configure 2022-03-11 19:50:45.678153923 +0100 +@@ -8000,7 +8000,7 @@ + return 0; + } + _ACEOF +-for ac_lib in '' nsl rpc xdr rpclib; do ++for ac_lib in '' nsl rpc xdr rpclib tirpc; do + if test -z "$ac_lib"; then + ac_res="none required" + else diff --git a/easybuild/easyconfigs/g/GraphMap/GraphMap-0.5.2-foss-2019b.eb b/easybuild/easyconfigs/g/GraphMap/GraphMap-0.5.2-foss-2019b.eb new file mode 100644 index 00000000000..85543e1ade9 --- /dev/null +++ b/easybuild/easyconfigs/g/GraphMap/GraphMap-0.5.2-foss-2019b.eb @@ -0,0 +1,60 @@ +easyblock = 'MakeCp' + +name = 'GraphMap' +version = '0.5.2' + +homepage = 'https://github.com/isovic/graphmap' +description = "A highly sensitive and accurate mapper for long, error-prone reads" + +toolchain = {'name': 'foss', 'version': '2019b'} +toolchainopts = {'cstd': 'c++11', 'openmp': True} + +sources = [ + { + 'source_urls': ['https://github.com/isovic/graphmap/archive'], + 'filename': 'graphmap-20170526.tar.gz', + 'download_filename': 'eb8c75d68b03be95464318afa69b645a59f8f6b7.tar.gz', + }, + { + 'source_urls': ['https://github.com/isovic/seqlib/archive'], + 'filename': 'seqlib-20170526.tar.gz', + 'download_filename': 'd980be7a3cc0bc802eb910c10f084279f337992f.tar.gz', + }, + { + 'source_urls': ['https://github.com/isovic/argparser/archive'], + 'filename': 'argparser-20160623.tar.gz', + 'download_filename': '72af9764acefbcc92ff76e3aba8a83d9a3e33671.tar.gz', + }, + { + 'source_urls': ['https://github.com/isovic/gindex/archive'], + 'filename': 'gindex-20170304.tar.gz', + 'download_filename': 'b1fb5ad35763632db66377348bb16fec29f381e4.tar.gz', + }, +] +checksums = [ + 'f08c21f65a83922f43d3430faacf8cfeebbea6ee54dceac4ac438f985a170965', # graphmap-20170526.tar.gz + '77a19d9239125f91f9a8093bb4d03638e6ba9aa4ce0e586fa8f81a422fc9118c', # seqlib-20170526.tar.gz + '22132721986528851da838ccd1b3f223d4a68318f580ade3234c3b528ad8d7f4', # argparser-20160623.tar.gz + '87474a597f4e1d75cd9d188c5179014b87989ea02d440f5bba07b308ad3ae4af', # gindex-20170304.tar.gz +] + +files_to_copy = [(['bin/Linux-x64/graphmap'], 'bin')] + +# Move sources dependencies to expected folders +prebuildopts = "mv %(builddir)s/seqlib-*/* %(builddir)s/graphmap-*/codebase/seqlib/ && " +prebuildopts += "mv %(builddir)s/argparser-*/* %(builddir)s/graphmap-*/codebase/argumentparser/ && " +prebuildopts += "mv %(builddir)s/gindex-*/* %(builddir)s/graphmap-*/codebase/gindex/ && " + +# build flags inherited from original Makefile +buildopts = 'GCC="$CXX" ' +buildopts += 'CC_FLAGS_RELEASE="$CXXFLAGS -DRELEASE_VERSION -c ' +buildopts += '-fdata-sections -ffunction-sections -fmessage-length=0 -ffreestanding -Werror=return-type -pthread"' + +sanity_check_paths = { + 'files': ['bin/graphmap'], + 'dirs': [], +} + +sanity_check_commands = ['graphmap align -h 2>&1 | grep "GraphMap Version"'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/gRPC/gRPC-1.44.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/gRPC/gRPC-1.44.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..7c7a4e106cf --- /dev/null +++ b/easybuild/easyconfigs/g/gRPC/gRPC-1.44.0-GCCcore-11.2.0.eb @@ -0,0 +1,50 @@ +easyblock = 'CMakeMake' + +name = 'gRPC' +version = '1.44.0' + +homepage = 'https://grpc.io/' +description = """gRPC is a modern, open source, high-performance remote procedure call (RPC) +framework that can run anywhere. gRPC enables client and server applications to +communicate transparently, and simplifies the building of connected systems.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +github_account = 'grpc' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['8c05641b9f91cbc92f51cc4a5b3a226788d7a63f20af4ca7aaca50d92cc94a0d'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', True), + ('Abseil', '20210324.2'), + ('c-ares', '1.18.1'), + ('protobuf', '3.17.3'), + ('zlib', '1.2.11'), + ('RE2', '2022-02-01'), +] + +configopts = '-DBUILD_SHARED_LIBS=ON ' +configopts += "-DgRPC_ABSL_PROVIDER=package " +configopts += "-DgRPC_CARES_PROVIDER=package " +configopts += "-DgRPC_PROTOBUF_PROVIDER=package " +configopts += "-DgRPC_RE2_PROVIDER=package " +configopts += "-DgRPC_SSL_PROVIDER=package " +configopts += "-DgRPC_ZLIB_PROVIDER=package " + +_grpc_plugins = ['cpp', 'csharp', 'node', 'objective_c', 'php', 'python', 'ruby'] + +sanity_check_paths = { + 'files': ['bin/grpc_%s_plugin' % x for x in _grpc_plugins] + + ['lib/libgrpc.%s' % SHLIB_EXT, 'lib/libgrpc++.%s' % SHLIB_EXT], + 'dirs': ['include/grpc', 'include/grpc++', 'include/grpcpp'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.0rc1-GCC-11.2.0.eb b/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.2-GCC-11.2.0.eb similarity index 81% rename from easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.0rc1-GCC-11.2.0.eb rename to easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.2-GCC-11.2.0.eb index 34f391736cd..e3f43a071aa 100644 --- a/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.0rc1-GCC-11.2.0.eb +++ b/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.2-GCC-11.2.0.eb @@ -1,7 +1,7 @@ easyblock = 'PythonPackage' name = 'gmpy2' -version = '2.1.0rc1' +version = '2.1.2' homepage = 'https://github.com/aleaxit/gmpy' description = "GMP/MPIR, MPFR, and MPC interface to Python 2.6+ and 3.x" @@ -9,7 +9,7 @@ description = "GMP/MPIR, MPFR, and MPC interface to Python 2.6+ and 3.x" toolchain = {'name': 'GCC', 'version': '11.2.0'} sources = [SOURCE_TAR_GZ] -checksums = ['86cb6d8e5837560c32c706d48d6ed25676be6b3c79e6aa5d245965b9e99231b9'] +checksums = ['da75140bca128ece795895477e53b43773e3748aa90ba6170eae7ca2c74b82d1'] dependencies = [ ('Python', '3.9.6'), diff --git a/easybuild/easyconfigs/g/graphite2/graphite2-1.3.14-GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/graphite2/graphite2-1.3.14-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..17c53bfd399 --- /dev/null +++ b/easybuild/easyconfigs/g/graphite2/graphite2-1.3.14-GCCcore-10.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'graphite2' +version = '1.3.14' + +homepage = 'https://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_home' +description = """Graphite is a "smart font" system developed specifically to + handle the complexities of lesser-known languages of the world.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/silnrsi/graphite/archive/'] +sources = ['%(version)s.zip'] +checksums = ['36e15981af3bf7a3ca3daf53295c8ffde04cf7d163e3474e4d0836e2728b4149'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('binutils', '2.36.1'), +] + +sanity_check_paths = { + 'files': ['bin/gr2fonttest'] + + ['lib/lib%%(name)s.%s' % x for x in [SHLIB_EXT, 'la']], + 'dirs': ['include/%(name)s', 'share'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/h/Hydra/Hydra-1.1.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/h/Hydra/Hydra-1.1.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..08c0a3b716c --- /dev/null +++ b/easybuild/easyconfigs/h/Hydra/Hydra-1.1.1-GCCcore-10.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'Hydra' +version = '1.1.1' + +homepage = "https://hydra.cc/" +description = """Hydra is an open-source Python framework that simplifies the development of +research and other complex applications. The key feature is the ability to +dynamically create a hierarchical configuration by composition and override it +through config files and the command line. The name Hydra comes from its +ability to run multiple similar jobs - much like a Hydra with multiple heads.""" + +github_account = 'facebookresearch' + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +builddependencies = [ + ('binutils', '2.36.1'), + ('Java', '11', '', True), # needed by ANTLR runtime +] + +dependencies = [ + ('Python', '3.9.5'), + ('PyYAML', '5.4.1'), # needed by omegaconf +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('antlr4-python3-runtime', '4.8', { + 'modulename': 'antlr4', + 'checksums': ['15793f5d0512a372b4e7d2284058ad32ce7dd27126b105fb0b2245130445db33'], + }), + ('omegaconf', '2.1.1', { + 'checksums': ['c65e05530369484e074a24038fe31812c73561aa9d916abfd1209e4073136ae5'], + }), + ('hydra', version, { + 'source_urls': ['https://github.com/%(github_account)s/%(namelower)s/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['03840c5192d47c3b0a4cf57e1815f8626d36f2fed81efed59202f6bd93ac822c'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/i/ITSx/ITSx-1.1.3-GCCcore-10.3.0.eb b/easybuild/easyconfigs/i/ITSx/ITSx-1.1.3-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..02cb2e734b1 --- /dev/null +++ b/easybuild/easyconfigs/i/ITSx/ITSx-1.1.3-GCCcore-10.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'Tarball' + +name = 'ITSx' +version = '1.1.3' + +homepage = 'https://microbiology.se/software/itsx/' +description = '''ITSx: Improved software detection and extraction of ITS1 and ITS2 from ribosomal ITS sequences of +fungi and other eukaryotes for use in environmental sequencing.''' + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://microbiology.se/sw/'] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['6f6d7ff6350f82439dee5348f6e8bda512be25193c603d4e56cc215c520091bf'] + +dependencies = [('Perl', '5.32.1')] + +fix_perl_shebang_for = ['ITSx'] + +sanity_check_paths = { + 'files': ['ITSx'], + 'dirs': ['ITSx_db'], +} + +sanity_check_commands = ['ITSx --help'] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/IgBLAST/IgBLAST-1.18.0-x64-linux.eb b/easybuild/easyconfigs/i/IgBLAST/IgBLAST-1.18.0-x64-linux.eb new file mode 100644 index 00000000000..74281e92445 --- /dev/null +++ b/easybuild/easyconfigs/i/IgBLAST/IgBLAST-1.18.0-x64-linux.eb @@ -0,0 +1,28 @@ +# Easybuild Easyconfig +# +# John Dey +# +# Fred Hutchinson Cancer Research Center - Seattle Washington +easyblock = "Tarball" + +name = 'IgBLAST' +version = '1.18.0' +versionsuffix = '-x64-linux' + +homepage = 'https://ncbi.github.io/igblast' +description = """IgBLAST faclilitates the analysis of immunoglobulin and T cell receptor variable domain sequences.""" + +toolchain = SYSTEM + +source_urls = ['ftp://ftp.ncbi.nih.gov/blast/executables/igblast/release/%(version)s'] +sources = ['ncbi-%(namelower)s-%(version)s-x64-linux.tar.gz'] +checksums = ['e1feef1f16bc6bf7df35713288baf7523a56362eee8c36625d0608cf6a5c31f1'] + +sanity_check_paths = { + 'files': ["bin/igblastn", 'bin/igblastp'], + 'dirs': ['bin'] +} + +modextravars = {'IGDATA': '%(installdir)s/internal_data'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/Infernal/Infernal-1.1.4-foss-2020b.eb b/easybuild/easyconfigs/i/Infernal/Infernal-1.1.4-foss-2020b.eb new file mode 100644 index 00000000000..968e466b4e5 --- /dev/null +++ b/easybuild/easyconfigs/i/Infernal/Infernal-1.1.4-foss-2020b.eb @@ -0,0 +1,39 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Cedric Laczny , Fotis Georgatos +# License:: MIT/GPL +# Updated:: Denis Kristak (INUITS) +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +## + +easyblock = 'ConfigureMake' + +name = 'Infernal' +version = "1.1.4" + +homepage = 'http://eddylab.org/infernal/' +description = """Infernal ("INFERence of RNA ALignment") is for searching DNA sequence databases + for RNA structure and sequence similarities.""" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'pic': True} + +source_urls = ['http://eddylab.org/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f9493c7dee9fbf25f6405706818883d24b9f5e455121a0662c96c8f0307f95fc'] + +local_bins = ['align', 'build', 'calibrate', 'convert', 'emit', 'fetch', 'press', 'scan', 'search', 'stat'] + +sanity_check_paths = { + 'files': ['bin/cm%s' % x for x in local_bins], + 'dirs': [] +} + +sanity_check_commands = ['cm%s -h' % x for x in local_bins] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/IntelClusterChecker/IntelClusterChecker-2021.5.0.eb b/easybuild/easyconfigs/i/IntelClusterChecker/IntelClusterChecker-2021.5.0.eb new file mode 100644 index 00000000000..55107c33e8a --- /dev/null +++ b/easybuild/easyconfigs/i/IntelClusterChecker/IntelClusterChecker-2021.5.0.eb @@ -0,0 +1,42 @@ +## +# Author: Andre Gemuend +## +easyblock = "IntelBase" +name = 'IntelClusterChecker' +version = '2021.5.0' + +homepage = 'https://software.intel.com/en-us/cluster-checker' +description = """Intel Cluster Checker verifies the configuration and +performance of Linux OS-based clusters. Anomalies and performance differences +can be identified and practical resolutions provided. +""" + +toolchain = SYSTEM + +source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/18359/'] +sources = ['l_clck_p_%(version)s.560_offline.sh'] +checksums = ['2b661eff4a87607fd29e21fe29883873c0a7216d7d0a99557dc48b6eae9adeb0'] + +dontcreateinstalldir = True + +modextrapaths = { + 'CPLUS_INCLUDE_PATH': 'clck/%(version)s/include', + 'MANPATH': 'clck/%(version)s/man', + 'CLCK_ROOT': 'clck/%(version)s', + 'LIBRARY_PATH': 'clck/%(version)s/lib/intel64', + 'PATH': 'clck/%(version)s/bin/intel64' +} + +sanity_check_paths = { + 'files': ['clck/%(version)s/bin/clckvars.sh', + 'clck/%(version)s/bin/clckvars.csh', + 'clck/%(version)s/bin/intel64/clck', + 'clck/%(version)s/bin/intel64/clck-analyze', + 'clck/%(version)s/bin/intel64/clck-collect', + 'clck/%(version)s/bin/intel64/clckdb'], + 'dirs': [], +} + +sanity_check_commands = ["clck -h"] + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/i/imageio/imageio-2.10.5-foss-2021a.eb b/easybuild/easyconfigs/i/imageio/imageio-2.10.5-foss-2021a.eb new file mode 100644 index 00000000000..c2ba92e6930 --- /dev/null +++ b/easybuild/easyconfigs/i/imageio/imageio-2.10.5-foss-2021a.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'imageio' +version = '2.10.5' + +homepage = 'https://imageio.github.io' +description = """Imageio is a Python library that provides an easy interface to read and write a wide range of + image data, including animated images, video, volumetric data, and scientific formats.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['f3f6e9a73d62f12348f098364219f4fc64462760bc07abfe16d14db0e4974845'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Pillow', '8.2.0'), +] + +download_dep_fail = True +use_pip = True + +# The requirement on pillow >= 8.3.2 exists due to CVE-2021-23437, which is patched in EB +preinstallopts = "sed -i 's/pillow >= 8.3.2/pillow/' setup.py && " + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/i/intervaltree-python/intervaltree-python-3.1.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/i/intervaltree-python/intervaltree-python-3.1.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..081b2c943d5 --- /dev/null +++ b/easybuild/easyconfigs/i/intervaltree-python/intervaltree-python-3.1.0-GCCcore-10.3.0.eb @@ -0,0 +1,30 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'PythonPackage' + +name = 'intervaltree-python' +_modname = 'intervaltree' +version = '3.1.0' + +homepage = 'https://github.com/chaimleib/intervaltree' +description = """A mutable, self-balancing interval tree. Queries may be by + point, by range overlap, or by range containment. +""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://pypi.python.org/packages/source/i/%s' % _modname] +sources = ['%s-%s.tar.gz' % (_modname, version)] +checksums = ['902b1b88936918f9b2a19e0e5eb7ccb430ae45cde4f39ea4b36932920d33952d'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [('Python', '3.9.5')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': _modname} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/intltool/intltool-0.51.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/i/intltool/intltool-0.51.0-GCCcore-11.2.0.eb index 2d693a38180..8945f9aecf5 100644 --- a/easybuild/easyconfigs/i/intltool/intltool-0.51.0-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/i/intltool/intltool-0.51.0-GCCcore-11.2.0.eb @@ -25,6 +25,8 @@ dependencies = [ ('Perl', '5.34.0'), ] +fix_perl_shebang_for = ['bin/intltool-*'] + sanity_check_paths = { 'files': ['bin/intltool%s' % x for x in ['-extract', '-merge', '-prepare', '-update', 'ize']], 'dirs': [] diff --git a/easybuild/easyconfigs/j/JAGS/JAGS-4.3.0-foss-2021b.eb b/easybuild/easyconfigs/j/JAGS/JAGS-4.3.0-foss-2021b.eb new file mode 100644 index 00000000000..84549cc8f4d --- /dev/null +++ b/easybuild/easyconfigs/j/JAGS/JAGS-4.3.0-foss-2021b.eb @@ -0,0 +1,36 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel + +easyblock = 'ConfigureMake' + +name = 'JAGS' +version = '4.3.0' + +homepage = 'http://mcmc-jags.sourceforge.net/' +description = """JAGS is Just Another Gibbs Sampler. It is a program for analysis + of Bayesian hierarchical models using Markov Chain Monte Carlo (MCMC) simulation """ + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = [ + ('https://sourceforge.net/projects/mcmc-%(namelower)s/files/%(name)s/%(version_major)s.x/Source/', 'download') +] +sources = [SOURCE_TAR_GZ] +checksums = ['8ac5dd57982bfd7d5f0ee384499d62f3e0bb35b5f1660feb368545f1186371fc'] + +configopts = ' --with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK"' + + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'libexec/%(namelower)s-terminal', 'lib/libjags.%s' % SHLIB_EXT], + 'dirs': [], +} + +modextrapaths = { + 'JAGS_INCLUDE': 'include/%(name)s', + 'JAGS_LIB': 'lib', +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.7.2-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.7.2-linux-x86_64.eb new file mode 100644 index 00000000000..d77bb480f1b --- /dev/null +++ b/easybuild/easyconfigs/j/Julia/Julia-1.7.2-linux-x86_64.eb @@ -0,0 +1,31 @@ +# This file is an EasyBuild reciPY as per https://easybuilders.github.io/easybuild/ +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# Updated by: Dugan Witherick, University of Warwick +# Robert Mijakovic +# Wahid Mainassara + +easyblock = 'Tarball' + +name = 'Julia' +version = '1.7.2' +versionsuffix = '-linux-x86_64' + +homepage = 'https://julialang.org' +description = "Julia is a high-level, high-performance dynamic programming language for numerical computing" + +toolchain = SYSTEM + +source_urls = ['https://julialang-s3.julialang.org/bin/linux/x64/%(version_major_minor)s/'] +sources = ['%(namelower)s-%(version)s%(versionsuffix)s.tar.gz'] +checksums = ['a75244724f3b2de0e7249c861fbf64078257c16fb4203be78f1cf4dd5973ba95'] + +sanity_check_paths = { + 'files': ['bin/julia', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], + 'dirs': ['bin', 'etc', 'include', 'lib', 'share'] +} + +sanity_check_commands = ['julia --help'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/jax/jax-0.2.19-fosscuda-2020b.eb b/easybuild/easyconfigs/j/jax/jax-0.2.19-fosscuda-2020b.eb index d14b441c648..f138187813d 100644 --- a/easybuild/easyconfigs/j/jax/jax-0.2.19-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/j/jax/jax-0.2.19-fosscuda-2020b.eb @@ -110,13 +110,13 @@ exts_list = [ 'a431ce1b6588b5098872f36575dc2c5023b1010760bf6aaa889125c9a09227b0', ], # deliberately not testing in parallel, as that results in (additional) failing tests; - # use XLA_PYTHON_CLIENT_ALLOCATOR=platform when running GPU tests in parallel, - # to avoid each test fully allocating the GPU memory..., + # use XLA_PYTHON_CLIENT_ALLOCATOR=platform to allocate and deallocate GPU memory during testing, # see https://github.com/google/jax/issues/7323 and # https://github.com/google/jax/blob/main/docs/gpu_memory_allocation.rst; # use CUDA_VISIBLE_DEVICES=0 to avoid failing tests on systems with multiple GPUs; # use NVIDIA_TF32_OVERRIDE=0 to avoid lossing numerical precision by disabling TF32 Tensor Cores; - 'runtest': "NVIDIA_TF32_OVERRIDE=0 CUDA_VISIBLE_DEVICES=0 JAX_ENABLE_X64=true pytest tests", + 'runtest': "NVIDIA_TF32_OVERRIDE=0 CUDA_VISIBLE_DEVICES=0 XLA_PYTHON_CLIENT_ALLOCATOR=platform " + "JAX_ENABLE_X64=true pytest tests", }), ] diff --git a/easybuild/easyconfigs/j/jax/jax-0.2.24-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/j/jax/jax-0.2.24-foss-2021a-CUDA-11.3.1.eb index 40f17200c2a..770de325d37 100644 --- a/easybuild/easyconfigs/j/jax/jax-0.2.24-foss-2021a-CUDA-11.3.1.eb +++ b/easybuild/easyconfigs/j/jax/jax-0.2.24-foss-2021a-CUDA-11.3.1.eb @@ -116,13 +116,13 @@ exts_list = [ '96fe1b15b55611727b0ae76409b89c44ae21a1c10002507ca8e3c06c2b134f4e', ], # deliberately not testing in parallel, as that results in (additional) failing tests; - # use XLA_PYTHON_CLIENT_ALLOCATOR=platform when running GPU tests in parallel, - # to avoid each test fully allocating the GPU memory..., + # use XLA_PYTHON_CLIENT_ALLOCATOR=platform to allocate and deallocate GPU memory during testing, # see https://github.com/google/jax/issues/7323 and # https://github.com/google/jax/blob/main/docs/gpu_memory_allocation.rst; # use CUDA_VISIBLE_DEVICES=0 to avoid failing tests on systems with multiple GPUs; # use NVIDIA_TF32_OVERRIDE=0 to avoid lossing numerical precision by disabling TF32 Tensor Cores; - 'runtest': "NVIDIA_TF32_OVERRIDE=0 CUDA_VISIBLE_DEVICES=0 JAX_ENABLE_X64=true pytest tests", + 'runtest': "NVIDIA_TF32_OVERRIDE=0 CUDA_VISIBLE_DEVICES=0 XLA_PYTHON_CLIENT_ALLOCATOR=platform " + "JAX_ENABLE_X64=true pytest tests", }), ] diff --git a/easybuild/easyconfigs/j/jupyter-matlab-proxy/jupyter-matlab-proxy-0.3.4-GCCcore-10.3.0.eb b/easybuild/easyconfigs/j/jupyter-matlab-proxy/jupyter-matlab-proxy-0.3.4-GCCcore-10.3.0.eb index cd2a2963360..7081ae11f7f 100644 --- a/easybuild/easyconfigs/j/jupyter-matlab-proxy/jupyter-matlab-proxy-0.3.4-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/j/jupyter-matlab-proxy/jupyter-matlab-proxy-0.3.4-GCCcore-10.3.0.eb @@ -1,4 +1,4 @@ -easyblock = "PythonBundle" +easyblock = "PythonPackage" name = 'jupyter-matlab-proxy' version = '0.3.4' @@ -8,57 +8,37 @@ description = 'MATLAB Integration for Jupyter' toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +patches = ['jupyter-matlab-proxy-%(version)s_eb-matlab-license-file.patch'] +checksums = [ + '05235c77aadf6ffb2b7193f6c6e4962eff68e4e5908370525363180d81bf9348', # jupyter-matlab-proxy-0.3.4.tar.gz + # jupyter-matlab-proxy-0.3.4_eb-matlab-license-file.patch + '6d83f73019313394982b7f8eb1d28859442460668284e4d86e2c5d465cfb00ba', +] + builddependencies = [ ('binutils', '2.36.1'), - ('nodejs', '14.17.2'), + ('nodejs', '14.17.0'), ] dependencies = [ ('Python', '3.9.5'), ('JupyterLab', '3.0.16'), # Contains most of the jupyter dependencies we need. + ('jupyter-server-proxy', '3.2.1'), ('Xvfb', '1.20.11'), ] +download_dep_fail = True + use_pip = True sanity_pip_check = True -exts_list = [ - ('typing_extensions', '3.10.0.2', { - 'checksums': ['49f75d16ff11f1cd258e1b988ccff82a3ca5570217d7ad8c5f48205dd99a677e'], - }), - ('async-timeout', '3.0.1', { - 'checksums': ['0c3c816a028d47f659d6ff5c745cb2acf1f966da1fe5c19c77a70282b25f4c5f'], - }), - ('multidict', '5.2.0', { - 'checksums': ['0dd1c93edb444b33ba2274b66f63def8a327d607c6c790772f448a53b6ea59ce'], - }), - ('yarl', '1.7.0', { - 'checksums': ['8e7ebaf62e19c2feb097ffb7c94deb0f0c9fab52590784c8cd679d30ab009162'], - }), - ('aiohttp', '3.7.4.post0', { - 'checksums': ['493d3299ebe5f5a7c66b9819eacdcfbbaaf1a8e84911ddffcdc48888497afecf'], - }), - ('simpervisor', '0.4', { - 'checksums': ['cec79e13cdbd6edb04a5c98c1ff8d4bd9713e706c069226909a1ef0e89d393c5'], - }), - ('jupyter-server-proxy', '3.1.0', { - 'checksums': ['30d57976090980f4380cb0a80e8e829dfd74d0a19edb64329239def9feefcde4'], - }), - (name, version, { - 'patches': ['jupyter-matlab-proxy-%(version)s_eb-matlab-license-file.patch'], - 'checksums': [ - '05235c77aadf6ffb2b7193f6c6e4962eff68e4e5908370525363180d81bf9348', # jupyter-matlab-proxy-0.3.4.tar.gz - # jupyter-matlab-proxy-0.3.4_eb-matlab-license-file.patch - '6d83f73019313394982b7f8eb1d28859442460668284e4d86e2c5d465cfb00ba', - ], - }), -] - -modloadmsg = 'jupyter-matlab-proxy requires MATLAB to be loaded separately (2020b or later)' - sanity_check_paths = { 'files': ['bin/matlab-jupyter-app'], 'dirs': ['lib64/python%(pyshortver)s/site-packages'] } +modloadmsg = 'jupyter-matlab-proxy requires MATLAB to be loaded separately (2020b or later)' + moduleclass = 'math' diff --git a/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-3.2.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-3.2.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..6fbb4b351ab --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-3.2.1-GCCcore-10.3.0.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'jupyter-server-proxy' +version = '3.2.1' + +homepage = 'https://github.com/jupyterhub/jupyter-server-proxy' +description = """Jupyter Server Proxy lets you run arbitrary external processes +(such as RStudio, Shiny Server, Syncthing, PostgreSQL, Code Server, etc) +alongside your notebook server and provide authenticated web access to them +using a path like /rstudio next to others like /lab. Alongside the python +package that provides the main functionality, the JupyterLab extension +(@jupyterlab/server-proxy) provides buttons in the JupyterLab launcher window +to get to RStudio for example.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('JupyterHub', '1.4.1'), + ('OpenSSL', '1.1', '', True), + ('aiohttp', '3.8.1'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('sniffio', '1.2.0', { + 'checksums': ['c4666eecec1d3f50960c6bdf61ab7bc350648da6c126e3cf6898d8cd4ddcd3de'], + }), + ('anyio', version, { + 'checksums': ['07968db9fa7c1ca5435a133dc62f988d84ef78e1d9b22814a59d1c62618afbc5'], + }), + ('requests-unixsocket', '0.2.0', { + 'checksums': ['9e5c1a20afc3cf786197ae59c79bcdb0e7565f218f27df5f891307ee8817c1ea'], + }), + ('websocket-client', '1.1.0', { + 'modulename': 'websocket', + 'checksums': ['b68e4959d704768fa20e35c9d508c8dc2bbc041fd8d267c0d7345cffe2824568'], + }), + ('jupyter-server', '1.9.0', { + 'source_tmpl': 'jupyter_server-%(version)s.tar.gz', + 'checksums': ['7d19006380f6217458a9db309b54e3dab87ced6c06329c61823907bef2a6f51b'], + }), + ('simpervisor', '0.4', { + 'checksums': ['cec79e13cdbd6edb04a5c98c1ff8d4bd9713e706c069226909a1ef0e89d393c5'], + }), + (name, version, { + 'checksums': ['080e9910592d06422bdd93dfc1fa8350c6fdaec9fbbd050630e90f7a5593a4f7'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/k/KMC/KMC-3.2.1-GCC-11.2.0.eb b/easybuild/easyconfigs/k/KMC/KMC-3.2.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..0df6c5ef67f --- /dev/null +++ b/easybuild/easyconfigs/k/KMC/KMC-3.2.1-GCC-11.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'MakeCp' + +name = 'KMC' +version = '3.2.1' + +homepage = 'http://sun.aei.polsl.pl/kmc' +description = "KMC is a disk-based programm for counting k-mers from (possibly gzipped) FASTQ/FASTA files." + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/refresh-bio/KMC/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['7db333091a754508163a097c41720cf32a80abe160bef60f3fc82c8da1d67896'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), + ('Python', '3.9.6'), +] + +# Makefile does static linking with libc.a, libpthread.a, libm.a +osdependencies = [('glibc-static', 'libc6-dev')] + +prebuildopts = "sed -i 's@[^ ]*/libz.a@${EBROOTZLIB}/lib/libz.a@g' Makefile && " +prebuildopts += "sed -i 's@[^ ]*/libbz2.a@${EBROOTBZIP2}/lib/libbz2.a@g' Makefile && " + +files_to_copy = ['bin'] + +sanity_check_paths = { + 'files': ['bin/kmc', 'bin/kmc_dump'], + 'dirs': [], +} + +sanity_check_commands = [ + "kmc", + "kmc_dump", + "python -c 'import py_kmc_api'", +] + +# Python bindings are also located in bin/ +modextrapaths = {'PYTHONPATH': ['bin']} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/kallisto/kallisto-0.48.0-gompi-2021b.eb b/easybuild/easyconfigs/k/kallisto/kallisto-0.48.0-gompi-2021b.eb new file mode 100644 index 00000000000..c5b823407ea --- /dev/null +++ b/easybuild/easyconfigs/k/kallisto/kallisto-0.48.0-gompi-2021b.eb @@ -0,0 +1,39 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'CMakeMake' + +name = 'kallisto' +version = '0.48.0' + +homepage = 'https://pachterlab.github.io/kallisto/' +description = """kallisto is a program for quantifying abundances of transcripts from RNA-Seq data, or more generally + of target sequences using high-throughput sequencing reads.""" + +toolchain = {'name': 'gompi', 'version': '2021b'} +toolchainopts = {'pic': True, 'usempi': True} + +github_account = 'pachterlab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['1797ac4d1f0771e3f1f25dd7972bded735fcb43f853cf52184d3d9353a6269b0'] + +builddependencies = [ + ('Autotools', '20210726'), + ('CMake', '3.22.1'), + ('zlib', '1.2.11'), +] + +dependencies = [('HDF5', '1.12.1')] + +preconfigopts = "cd ../%(name)s-%(version)s/ext/htslib/ && " +preconfigopts += "sed -i '/AC_PROG_CC/a AC_CANONICAL_HOST' configure.ac && " +preconfigopts += "autoreconf -i && cd - && " + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/LAPACK/LAPACK-3.9.1-GCC-10.2.0.eb b/easybuild/easyconfigs/l/LAPACK/LAPACK-3.9.1-GCC-10.2.0.eb index 3990b2cebeb..14d4bb284cb 100644 --- a/easybuild/easyconfigs/l/LAPACK/LAPACK-3.9.1-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/l/LAPACK/LAPACK-3.9.1-GCC-10.2.0.eb @@ -9,7 +9,7 @@ description = """LAPACK is written in Fortran90 and provides routines for solvin toolchain = {'name': 'GCC', 'version': '10.2.0'} toolchainopts = {'pic': True} -source_urls = ['https://github.com/Reference-LAPACK/lapack/archive/'] +source_urls = ['https://github.com/Reference-LAPACK/lapack/archive/refs/tags'] sources = ['v%(version)s.tar.gz'] checksums = ['d0085d2caf997ff39299c05d4bacb6f3d27001d25a4cc613d48c1f352b73e7e0'] diff --git a/easybuild/easyconfigs/l/Lighter/Lighter-1.1.2-GCC-11.2.0.eb b/easybuild/easyconfigs/l/Lighter/Lighter-1.1.2-GCC-11.2.0.eb new file mode 100644 index 00000000000..a2cad26c601 --- /dev/null +++ b/easybuild/easyconfigs/l/Lighter/Lighter-1.1.2-GCC-11.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'MakeCp' + +name = 'Lighter' +version = '1.1.2' + +homepage = 'https://github.com/mourisl/Lighter' +description = "Fast and memory-efficient sequencing error corrector" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/mourisl/Lighter/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['89abc34137beffc43382fbe53deb25c3c2f5cee7e6ca2b7f669931d70065993a'] + +dependencies = [('zlib', '1.2.11')] + +files_to_copy = [(['lighter'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/lighter'], + 'dirs': [], +} + +sanity_check_commands = ["lighter -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/libevent/libevent-2.1.12.eb b/easybuild/easyconfigs/l/libevent/libevent-2.1.12.eb new file mode 100644 index 00000000000..dc045c87868 --- /dev/null +++ b/easybuild/easyconfigs/l/libevent/libevent-2.1.12.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libevent' +version = '2.1.12' + +homepage = 'https://libevent.org' +description = """ + The libevent API provides a mechanism to execute a callback function when + a specific event occurs on a file descriptor or after a timeout has been + reached. Furthermore, libevent also support callbacks due to signals or + regular timeouts. +""" + +toolchain = SYSTEM +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/release-%(version)s-stable/'] +sources = ['%(name)s-%(version)s-stable.tar.gz'] +checksums = ['92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb'] + +sanity_check_paths = { + 'files': ['bin/event_rpcgen.py', 'include/event.h', 'include/event2/event.h', + 'lib/libevent_core.%s' % SHLIB_EXT, 'lib/pkgconfig/libevent.pc'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libffi/libffi-3.4.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libffi/libffi-3.4.2-GCCcore-11.2.0.eb index 81d0e8fb36b..7d594ca1d72 100644 --- a/easybuild/easyconfigs/l/libffi/libffi-3.4.2-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/l/libffi/libffi-3.4.2-GCCcore-11.2.0.eb @@ -19,6 +19,8 @@ builddependencies = [ ('binutils', '2.37'), ] +configopts = '--disable-exec-static-tramp ' + sanity_check_paths = { 'files': ['lib/libffi.a', 'lib/libffi.%s' % SHLIB_EXT], 'dirs': ['include', 'share'], diff --git a/easybuild/easyconfigs/l/libobjcryst/libobjcryst-2021.1.2-foss-2021b.eb b/easybuild/easyconfigs/l/libobjcryst/libobjcryst-2021.1.2-foss-2021b.eb new file mode 100644 index 00000000000..44ae785a750 --- /dev/null +++ b/easybuild/easyconfigs/l/libobjcryst/libobjcryst-2021.1.2-foss-2021b.eb @@ -0,0 +1,29 @@ +easyblock = 'SCons' + +name = 'libobjcryst' +version = '2021.1.2' + +homepage = 'https://github.com/diffpy/libobjcryst' +description = "ObjCryst++ is Object-Oriented Crystallographic Library for C++" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/diffpy/libobjcryst/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['7f4d2c7e42154bbc780032ce7efe303b57a14d566b9b52fad8c6754a53b1365d'] + +builddependencies = [ + ('SCons', '4.2.0'), +] +dependencies = [ + ('Boost', '1.77.0'), +] + +prefix_arg = 'prefix=' + +sanity_check_paths = { + 'files': ['lib/libObjCryst.%s' % SHLIB_EXT], + 'dirs': ['include/ObjCryst'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libpspio/libpspio-0.2.4-GCC-10.3.0.eb b/easybuild/easyconfigs/l/libpspio/libpspio-0.2.4-GCC-10.3.0.eb new file mode 100644 index 00000000000..a312e575a59 --- /dev/null +++ b/easybuild/easyconfigs/l/libpspio/libpspio-0.2.4-GCC-10.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'libpspio' +version = '0.2.4' + +homepage = 'https://gitlab.e-cam2020.eu/esl/pspio/' +description = """libpspio is a library to read and write pseudopotentials in multiple formats.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://gitlab.e-cam2020.eu/esl/pspio/uploads/7efa924be97bd46354237ca3fb89495e/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['cb3d51ffa6b822305bb943edc7ddfaf1cfc1b928f0594330d732330bfc081850'] + +dependencies = [('GSL', '2.7')] + +configopts = ' --enable-gsl --enable-fortran ' + +sanity_check_paths = { + 'files': ['include/pspiof_m.mod', 'include/pspio.h', 'lib/libpspiof.a'], + 'dirs': [], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/l/libtree/libtree-3.0.3.eb b/easybuild/easyconfigs/l/libtree/libtree-3.0.3.eb new file mode 100644 index 00000000000..0332a1f618e --- /dev/null +++ b/easybuild/easyconfigs/l/libtree/libtree-3.0.3.eb @@ -0,0 +1,34 @@ +easyblock = 'MakeCp' + +name = 'libtree' +version = '3.0.3' + +homepage = 'https://github.com/haampie/libtree' +description = """libtree is a tool that turns ldd into a tree, explains why + shared libraries are found and why not and optionally deploys executables and + dependencies into a single directory""" + +toolchain = SYSTEM + +github_account = 'haampie' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['7e4589b617775cb3a2b4b8fe03f80b81e43ef16046d680f1517ce52d7be9893f'] + +buildopts = "LDFLAGS='-static'" + +runtest = 'check' + +files_to_copy = [(['libtree'], 'bin')] + +sanity_check_paths = { + 'files': ["bin/libtree"], + 'dirs': [], +} + +sanity_check_commands = [ + "libtree --help", + "libtree -v -p %(installdir)s/bin/libtree", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/likwid/likwid-5.2.0-GCC-10.2.0.eb b/easybuild/easyconfigs/l/likwid/likwid-5.2.0-GCC-10.2.0.eb new file mode 100644 index 00000000000..c723d1fccbf --- /dev/null +++ b/easybuild/easyconfigs/l/likwid/likwid-5.2.0-GCC-10.2.0.eb @@ -0,0 +1,60 @@ +easyblock = 'ConfigureMake' + +name = 'likwid' +version = '5.2.0' + +homepage = 'https://github.com/RRZE-HPC/likwid' + +description = """ +Likwid stands for Like I knew what I am doing. This project contributes easy +to use command line tools for Linux to support programmers in developing high +performance multi threaded programs. +""" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/RRZE-HPC/likwid/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_use_EB_hwloc.patch', +] +checksums = [ + 'aa6dccacfca59e52d8f3be187ffcf292b2a2fa1f51a81bf8912b9d48e5a257e0', # v5.2.0.tar.gz + '76ef41001efcdd107e34e2833325ffa876b8ac526740301ae9bace91150cfb8f', # likwid-5.2.0_use_EB_hwloc.patch +] + +builddependencies = [ + ('Perl', '5.32.0'), +] + +dependencies = [ + ('hwloc', '2.2.0'), +] + +skipsteps = ['configure'] + +# include_GCC.mk is using ifort by default. +# Changing it to gfortran, to be consistent with GCC toolchain +prebuildopts = """sed -i 's@FC = ifort@FC = gfortran@g' make/include_GCC.mk && """ +prebuildopts += """sed -i 's@FCFLAGS = -module ./ # ifort@FCFLAGS = -J ./ -fsyntax-only #gfortran@g' """ +prebuildopts += """ make/include_GCC.mk && """ + +buildopts = 'CC="$CC" CFLAGS="$CFLAGS -std=c99" PREFIX=%(installdir)s BUILDFREQ="" ACCESSMODE=perf_event ' +buildopts += 'FORTRAN_INTERFACE=true ' +buildopts += 'CFG_FILE_PATH=%(installdir)s/etc/likwid.cfg TOPO_FILE_PATH=%(installdir)s/etc/likwid_topo.cfg ' +buildopts += 'HWLOC_INCLUDE_DIR=$EBROOTHWLOC/include HWLOC_LIB_DIR=$EBROOTHWLOC/lib HWLOC_LIB_NAME=hwloc ' + +maxparallel = 1 + +installopts = buildopts + 'INSTALL_CHOWN="" ' + +sanity_check_paths = { + 'files': ['bin/likwid-memsweeper', 'bin/likwid-mpirun', 'bin/likwid-perfctr', + 'bin/likwid-perfscope', 'bin/likwid-pin', 'bin/likwid-powermeter', + 'bin/likwid-topology', 'lib/liblikwidpin.%s' % SHLIB_EXT, + 'lib/liblikwid.%s' % SHLIB_EXT, 'include/likwid.mod'], + 'dirs': ['man/man1'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/likwid/likwid-5.2.0-GCC-10.3.0.eb b/easybuild/easyconfigs/l/likwid/likwid-5.2.0-GCC-10.3.0.eb new file mode 100644 index 00000000000..62e543c1854 --- /dev/null +++ b/easybuild/easyconfigs/l/likwid/likwid-5.2.0-GCC-10.3.0.eb @@ -0,0 +1,60 @@ +easyblock = 'ConfigureMake' + +name = 'likwid' +version = '5.2.0' + +homepage = 'https://github.com/RRZE-HPC/likwid' + +description = """ +Likwid stands for Like I knew what I am doing. This project contributes easy +to use command line tools for Linux to support programmers in developing high +performance multi threaded programs. +""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/RRZE-HPC/likwid/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_use_EB_hwloc.patch', +] +checksums = [ + 'aa6dccacfca59e52d8f3be187ffcf292b2a2fa1f51a81bf8912b9d48e5a257e0', # v5.2.0.tar.gz + '76ef41001efcdd107e34e2833325ffa876b8ac526740301ae9bace91150cfb8f', # likwid-5.2.0_use_EB_hwloc.patch +] + +builddependencies = [ + ('Perl', '5.32.1'), +] + +dependencies = [ + ('hwloc', '2.4.1'), +] + +skipsteps = ['configure'] + +# include_GCC.mk is using ifort by default. +# Changing it to gfortran, to be consistent with GCC toolchain +prebuildopts = """sed -i 's@FC = ifort@FC = gfortran@g' make/include_GCC.mk && """ +prebuildopts += """sed -i 's@FCFLAGS = -module ./ # ifort@FCFLAGS = -J ./ -fsyntax-only #gfortran@g' """ +prebuildopts += """ make/include_GCC.mk && """ + +buildopts = 'CC="$CC" CFLAGS="$CFLAGS -std=c99" PREFIX=%(installdir)s BUILDFREQ="" ACCESSMODE=perf_event ' +buildopts += 'FORTRAN_INTERFACE=true ' +buildopts += 'CFG_FILE_PATH=%(installdir)s/etc/likwid.cfg TOPO_FILE_PATH=%(installdir)s/etc/likwid_topo.cfg ' +buildopts += 'HWLOC_INCLUDE_DIR=$EBROOTHWLOC/include HWLOC_LIB_DIR=$EBROOTHWLOC/lib HWLOC_LIB_NAME=hwloc ' + +maxparallel = 1 + +installopts = buildopts + 'INSTALL_CHOWN="" ' + +sanity_check_paths = { + 'files': ['bin/likwid-memsweeper', 'bin/likwid-mpirun', 'bin/likwid-perfctr', + 'bin/likwid-perfscope', 'bin/likwid-pin', 'bin/likwid-powermeter', + 'bin/likwid-topology', 'lib/liblikwidpin.%s' % SHLIB_EXT, + 'lib/liblikwid.%s' % SHLIB_EXT, 'include/likwid.mod'], + 'dirs': ['man/man1'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/likwid/likwid-5.2.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/likwid/likwid-5.2.0-GCC-11.2.0.eb similarity index 66% rename from easybuild/easyconfigs/l/likwid/likwid-5.2.0-GCCcore-11.2.0.eb rename to easybuild/easyconfigs/l/likwid/likwid-5.2.0-GCC-11.2.0.eb index ff19c3f5246..084919eff42 100644 --- a/easybuild/easyconfigs/l/likwid/likwid-5.2.0-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/l/likwid/likwid-5.2.0-GCC-11.2.0.eb @@ -11,39 +11,49 @@ to use command line tools for Linux to support programmers in developing high performance multi threaded programs. """ -toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchain = {'name': 'GCC', 'version': '11.2.0'} toolchainopts = {'pic': True} source_urls = ['https://github.com/RRZE-HPC/likwid/archive/'] sources = ['v%(version)s.tar.gz'] -checksums = ['aa6dccacfca59e52d8f3be187ffcf292b2a2fa1f51a81bf8912b9d48e5a257e0'] +patches = [ + '%(name)s-%(version)s_use_EB_hwloc.patch', +] +checksums = [ + 'aa6dccacfca59e52d8f3be187ffcf292b2a2fa1f51a81bf8912b9d48e5a257e0', # v5.2.0.tar.gz + '76ef41001efcdd107e34e2833325ffa876b8ac526740301ae9bace91150cfb8f', # likwid-5.2.0_use_EB_hwloc.patch +] builddependencies = [ - ('binutils', '2.37'), ('Perl', '5.34.0'), ] +dependencies = [ + ('hwloc', '2.5.0'), +] + skipsteps = ['configure'] # include_GCC.mk is using ifort by default. -# Changing it to gfortran, to be consistent with GCCcore toolchain +# 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 += '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 = 'PREFIX=%(installdir)s INSTALL_CHOWN="" BUILDFREQ="" ACCESSMODE=perf_event ' +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], + 'lib/liblikwid.%s' % SHLIB_EXT, 'include/likwid.mod'], 'dirs': ['man/man1'] } diff --git a/easybuild/easyconfigs/l/likwid/likwid-5.2.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/likwid/likwid-5.2.0-GCCcore-10.2.0.eb deleted file mode 100644 index eaef19cf7ae..00000000000 --- a/easybuild/easyconfigs/l/likwid/likwid-5.2.0-GCCcore-10.2.0.eb +++ /dev/null @@ -1,40 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'likwid' -version = '5.2.0' - -homepage = 'https://github.com/RRZE-HPC/likwid' - -description = """ - Likwid stands for Like I knew what I am doing. This project contributes easy - to use command line tools for Linux to support programmers in developing high - performance multi threaded programs. -""" - -toolchain = {'name': 'GCCcore', 'version': '10.2.0'} -toolchainopts = {'pic': True} - -source_urls = ['https://github.com/RRZE-HPC/likwid/archive/'] -sources = ['v%(version)s.tar.gz'] -checksums = ['aa6dccacfca59e52d8f3be187ffcf292b2a2fa1f51a81bf8912b9d48e5a257e0'] - -builddependencies = [('binutils', '2.35')] - -skipsteps = ['configure'] - -buildopts = 'CC="$CC" CFLAGS="$CFLAGS -std=c99" PREFIX=%(installdir)s BUILDFREQ="" ' -buildopts += 'CFG_FILE_PATH=%(installdir)s/etc/likwid.cfg TOPO_FILE_PATH=%(installdir)s/etc/likwid_topo.cfg' - -maxparallel = 1 - -installopts = 'PREFIX=%(installdir)s INSTALL_CHOWN="" BUILDFREQ=""' - -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], - 'dirs': ['man/man1'] -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/likwid/likwid-5.2.0-iccifort-2020.4.304.eb b/easybuild/easyconfigs/l/likwid/likwid-5.2.0-iccifort-2020.4.304.eb new file mode 100644 index 00000000000..e2774c4ac86 --- /dev/null +++ b/easybuild/easyconfigs/l/likwid/likwid-5.2.0-iccifort-2020.4.304.eb @@ -0,0 +1,54 @@ +easyblock = 'ConfigureMake' + +name = 'likwid' +version = '5.2.0' + +homepage = 'https://github.com/RRZE-HPC/likwid' + +description = """ +Likwid stands for Like I knew what I am doing. This project contributes easy +to use command line tools for Linux to support programmers in developing high +performance multi threaded programs. +""" + +toolchain = {'name': 'iccifort', 'version': '2020.4.304'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/RRZE-HPC/likwid/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_use_EB_hwloc.patch', +] +checksums = [ + 'aa6dccacfca59e52d8f3be187ffcf292b2a2fa1f51a81bf8912b9d48e5a257e0', # v5.2.0.tar.gz + '76ef41001efcdd107e34e2833325ffa876b8ac526740301ae9bace91150cfb8f', # likwid-5.2.0_use_EB_hwloc.patch +] + +builddependencies = [ + ('Perl', '5.32.0'), +] + +dependencies = [ + ('hwloc', '2.2.0'), +] + +skipsteps = ['configure'] + +buildopts = 'CC="$CC" CFLAGS="$CFLAGS -std=c99" PREFIX=%(installdir)s BUILDFREQ="" ACCESSMODE=perf_event ' +buildopts += 'COMPILER=ICC FORTRAN_INTERFACE=true ' +buildopts += 'CFG_FILE_PATH=%(installdir)s/etc/likwid.cfg TOPO_FILE_PATH=%(installdir)s/etc/likwid_topo.cfg ' +buildopts += 'HWLOC_INCLUDE_DIR=$EBROOTHWLOC/include HWLOC_LIB_DIR=$EBROOTHWLOC/lib HWLOC_LIB_NAME=hwloc ' + +maxparallel = 1 + +installopts = buildopts + 'INSTALL_CHOWN="" ' + +sanity_check_paths = { + 'files': ['bin/likwid-memsweeper', 'bin/likwid-mpirun', 'bin/likwid-perfctr', + 'bin/likwid-perfscope', 'bin/likwid-pin', 'bin/likwid-powermeter', + 'bin/likwid-topology', 'lib/liblikwidpin.%s' % SHLIB_EXT, + 'lib/liblikwid.%s' % SHLIB_EXT, 'include/likwid.mod'], + 'dirs': ['man/man1'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/likwid/likwid-5.2.0-intel-compilers-2021.2.0.eb b/easybuild/easyconfigs/l/likwid/likwid-5.2.0-intel-compilers-2021.2.0.eb new file mode 100644 index 00000000000..f3e759fe3b6 --- /dev/null +++ b/easybuild/easyconfigs/l/likwid/likwid-5.2.0-intel-compilers-2021.2.0.eb @@ -0,0 +1,54 @@ +easyblock = 'ConfigureMake' + +name = 'likwid' +version = '5.2.0' + +homepage = 'https://github.com/RRZE-HPC/likwid' + +description = """ +Likwid stands for Like I knew what I am doing. This project contributes easy +to use command line tools for Linux to support programmers in developing high +performance multi threaded programs. +""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/RRZE-HPC/likwid/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_use_EB_hwloc.patch', +] +checksums = [ + 'aa6dccacfca59e52d8f3be187ffcf292b2a2fa1f51a81bf8912b9d48e5a257e0', # v5.2.0.tar.gz + '76ef41001efcdd107e34e2833325ffa876b8ac526740301ae9bace91150cfb8f', # likwid-5.2.0_use_EB_hwloc.patch +] + +builddependencies = [ + ('Perl', '5.32.1'), +] + +dependencies = [ + ('hwloc', '2.4.1'), +] + +skipsteps = ['configure'] + +buildopts = 'CC="$CC" CFLAGS="$CFLAGS -std=c99" PREFIX=%(installdir)s BUILDFREQ="" ACCESSMODE=perf_event ' +buildopts += 'COMPILER=ICC FORTRAN_INTERFACE=true ' +buildopts += 'CFG_FILE_PATH=%(installdir)s/etc/likwid.cfg TOPO_FILE_PATH=%(installdir)s/etc/likwid_topo.cfg ' +buildopts += 'HWLOC_INCLUDE_DIR=$EBROOTHWLOC/include HWLOC_LIB_DIR=$EBROOTHWLOC/lib HWLOC_LIB_NAME=hwloc ' + +maxparallel = 1 + +installopts = buildopts + 'INSTALL_CHOWN="" ' + +sanity_check_paths = { + 'files': ['bin/likwid-memsweeper', 'bin/likwid-mpirun', 'bin/likwid-perfctr', + 'bin/likwid-perfscope', 'bin/likwid-pin', 'bin/likwid-powermeter', + 'bin/likwid-topology', 'lib/liblikwidpin.%s' % SHLIB_EXT, + 'lib/liblikwid.%s' % SHLIB_EXT, 'include/likwid.mod'], + 'dirs': ['man/man1'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/likwid/likwid-5.2.0_use_EB_hwloc.patch b/easybuild/easyconfigs/l/likwid/likwid-5.2.0_use_EB_hwloc.patch new file mode 100644 index 00000000000..c57c2895f31 --- /dev/null +++ b/easybuild/easyconfigs/l/likwid/likwid-5.2.0_use_EB_hwloc.patch @@ -0,0 +1,30 @@ +Don't try to install hwloc into likwids libdir + +Åke Sandgren, 2022-03-22 +diff -ru likwid-5.2.0.orig/Makefile likwid-5.2.0/Makefile +--- likwid-5.2.0.orig/Makefile 2021-06-18 18:13:47.000000000 +0200 ++++ likwid-5.2.0/Makefile 2022-03-22 11:49:17.234166402 +0100 +@@ -484,7 +484,9 @@ + @chmod 755 $(LIBPREFIX) + @install -m 755 $(TARGET_LIB) $(LIBPREFIX)/$(TARGET_LIB).$(VERSION).$(RELEASE) + @install -m 755 liblikwidpin.so $(LIBPREFIX)/liblikwidpin.so.$(VERSION).$(RELEASE) +- @install -m 755 $(TARGET_HWLOC_LIB) $(LIBPREFIX)/$(shell basename $(TARGET_HWLOC_LIB)).$(VERSION).$(RELEASE) ++ @if [ "$(USE_INTERNAL_HWLOC)" = "true" ]; then \ ++ install -m 755 $(TARGET_HWLOC_LIB) $(LIBPREFIX)/$(shell basename $(TARGET_HWLOC_LIB)).$(VERSION).$(RELEASE); \ ++ fi + @if [ "$(LUA_INTERNAL)" = "true" ]; then \ + install -m 755 $(TARGET_LUA_LIB) $(LIBPREFIX)/$(shell basename $(TARGET_LUA_LIB)).$(VERSION).$(RELEASE); \ + fi +@@ -492,8 +494,10 @@ + @cd $(LIBPREFIX) && ln -fs $(TARGET_LIB).$(VERSION).$(RELEASE) $(TARGET_LIB).$(VERSION) + @cd $(LIBPREFIX) && ln -fs $(PINLIB).$(VERSION).$(RELEASE) $(PINLIB) + @cd $(LIBPREFIX) && ln -fs $(PINLIB).$(VERSION).$(RELEASE) $(PINLIB).$(VERSION) +- @cd $(LIBPREFIX) && ln -fs $(shell basename $(TARGET_HWLOC_LIB)).$(VERSION).$(RELEASE) $(shell basename $(TARGET_HWLOC_LIB)) +- @cd $(LIBPREFIX) && ln -fs $(shell basename $(TARGET_HWLOC_LIB)).$(VERSION).$(RELEASE) $(shell basename $(TARGET_HWLOC_LIB)).$(VERSION) ++ @if [ "$(USE_INTERNAL_HWLOC)" = "true" ]; then \ ++ cd $(LIBPREFIX) && ln -fs $(shell basename $(TARGET_HWLOC_LIB)).$(VERSION).$(RELEASE) $(shell basename $(TARGET_HWLOC_LIB)); \ ++ cd $(LIBPREFIX) && ln -fs $(shell basename $(TARGET_HWLOC_LIB)).$(VERSION).$(RELEASE) $(shell basename $(TARGET_HWLOC_LIB)).$(VERSION); \ ++ fi + @if [ "$(LUA_INTERNAL)" = "true" ]; then \ + cd $(LIBPREFIX) && ln -fs $(shell basename $(TARGET_LUA_LIB)).$(VERSION).$(RELEASE) $(shell basename $(TARGET_LUA_LIB)); \ + cd $(LIBPREFIX) && ln -fs $(shell basename $(TARGET_LUA_LIB)).$(VERSION).$(RELEASE) $(shell basename $(TARGET_LUA_LIB)).$(VERSION); \ diff --git a/easybuild/easyconfigs/l/likwid/likwid-5.2.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/likwid/likwid-5.2.1-GCC-11.2.0.eb similarity index 66% rename from easybuild/easyconfigs/l/likwid/likwid-5.2.1-GCCcore-11.2.0.eb rename to easybuild/easyconfigs/l/likwid/likwid-5.2.1-GCC-11.2.0.eb index f7786e5726d..d7e5779fa74 100644 --- a/easybuild/easyconfigs/l/likwid/likwid-5.2.1-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/l/likwid/likwid-5.2.1-GCC-11.2.0.eb @@ -11,39 +11,49 @@ to use command line tools for Linux to support programmers in developing high performance multi threaded programs. """ -toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchain = {'name': 'GCC', 'version': '11.2.0'} toolchainopts = {'pic': True} source_urls = ['https://github.com/RRZE-HPC/likwid/archive/'] sources = ['v%(version)s.tar.gz'] -checksums = ['1b8e668da117f24302a344596336eca2c69d2bc2f49fa228ca41ea0688f6cbc2'] +patches = [ + '%(name)s-5.2.0_use_EB_hwloc.patch', +] +checksums = [ + '1b8e668da117f24302a344596336eca2c69d2bc2f49fa228ca41ea0688f6cbc2', # v5.2.1.tar.gz + '76ef41001efcdd107e34e2833325ffa876b8ac526740301ae9bace91150cfb8f', # likwid-5.2.0_use_EB_hwloc.patch +] builddependencies = [ - ('binutils', '2.37'), ('Perl', '5.34.0'), ] +dependencies = [ + ('hwloc', '2.5.0'), +] + skipsteps = ['configure'] # include_GCC.mk is using ifort by default. -# Changing it to gfortran, to be consistent with GCCcore toolchain +# 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 += '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 = 'PREFIX=%(installdir)s INSTALL_CHOWN="" BUILDFREQ="" ACCESSMODE=perf_event ' +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], + 'lib/liblikwid.%s' % SHLIB_EXT, 'include/likwid.mod'], 'dirs': ['man/man1'] } diff --git a/easybuild/easyconfigs/l/loompy/loompy-3.0.7-foss-2021b.eb b/easybuild/easyconfigs/l/loompy/loompy-3.0.7-foss-2021b.eb new file mode 100644 index 00000000000..dd391a5116b --- /dev/null +++ b/easybuild/easyconfigs/l/loompy/loompy-3.0.7-foss-2021b.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'loompy' +version = '3.0.7' + +homepage = 'https://loompy.org/' +description = "Python implementation of the Loom file format, an efficient file format for large omics datasets" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('h5py', '3.6.0'), + ('numba', '0.54.1'), +] + +use_pip = True + +exts_list = [ + ('numpy_groupies', '0.9.14', { + 'checksums': ['01b7aeca60e643db34875c9823ea6775742adafe5bb406bca14367743ef81800'], + }), + (name, version, { + 'checksums': ['b5cdf7b54734c6bed3a181d11947af70af2c6e0dcadc02fd0e871df232faa8f4'], + }), +] + +sanity_check_paths = { + 'files': ['bin/loompy'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["loompy --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/loompy/loompy-3.0.7-intel-2021b.eb b/easybuild/easyconfigs/l/loompy/loompy-3.0.7-intel-2021b.eb new file mode 100644 index 00000000000..2abaf74da36 --- /dev/null +++ b/easybuild/easyconfigs/l/loompy/loompy-3.0.7-intel-2021b.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'loompy' +version = '3.0.7' + +homepage = 'https://loompy.org/' +description = "Python implementation of the Loom file format, an efficient file format for large omics datasets" + +toolchain = {'name': 'intel', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('h5py', '3.6.0'), + ('numba', '0.54.1'), +] + +use_pip = True + +exts_list = [ + ('numpy_groupies', '0.9.14', { + 'checksums': ['01b7aeca60e643db34875c9823ea6775742adafe5bb406bca14367743ef81800'], + }), + (name, version, { + 'checksums': ['b5cdf7b54734c6bed3a181d11947af70af2c6e0dcadc02fd0e871df232faa8f4'], + }), +] + +sanity_check_paths = { + 'files': ['bin/loompy'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["loompy --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/lpsolve/lpsolve-5.5.2.11-GCC-11.2.0.eb b/easybuild/easyconfigs/l/lpsolve/lpsolve-5.5.2.11-GCC-11.2.0.eb new file mode 100644 index 00000000000..80add32f2fd --- /dev/null +++ b/easybuild/easyconfigs/l/lpsolve/lpsolve-5.5.2.11-GCC-11.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CmdCp' + +name = 'lpsolve' +version = '5.5.2.11' + +homepage = 'https://sourceforge.net/projects/lpsolve/' +description = "Mixed Integer Linear Programming (MILP) solver" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['lp_solve_%(version)s_source.tar.gz'] +checksums = ['6d4abff5cc6aaa933ae8e6c17a226df0fc0b671c438f69715d41d09fe81f902f'] + +local_lpsolve_ver = '%(version_major)s%(version_minor)s' +start_dir = 'lpsolve%s' % local_lpsolve_ver + +local_comp_cmd = 'sed -i "s/^c=.*/c=\'$CC\'/g" ccc && sed -i "s/^opts=.*/opts=\'$CFLAGS\'/g" ccc && ' +local_comp_cmd += "sh ccc" +cmds_map = [('.*', local_comp_cmd)] + +local_lpsolve_libname = 'liblpsolve%s' % local_lpsolve_ver +files_to_copy = [ + (['bin/ux64/%s.a' % local_lpsolve_libname, 'bin/ux64/%s.%s' % (local_lpsolve_libname, SHLIB_EXT)], 'lib'), + (['../lp*.h'], 'include'), +] + +sanity_check_paths = { + 'files': ['lib/%s.a' % local_lpsolve_libname, 'lib/%s.%s' % (local_lpsolve_libname, SHLIB_EXT)], + 'dirs': ['include'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/M1QN3/M1QN3-3.3-GCC-10.3.0.eb b/easybuild/easyconfigs/m/M1QN3/M1QN3-3.3-GCC-10.3.0.eb new file mode 100644 index 00000000000..4cd7c6df9b1 --- /dev/null +++ b/easybuild/easyconfigs/m/M1QN3/M1QN3-3.3-GCC-10.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CmdCp' + +name = 'M1QN3' +version = '3.3' + +homepage = 'https://who.rocq.inria.fr/Jean-Charles.Gilbert/modulopt/optimization-routines/m1qn3/m1qn3.html' +description = "A solver of large-scale unconstrained minimization problems" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['http://www-rocq.inria.fr/~gilbert/modulopt/optimization-routines/m1qn3/'] +sources = ['m1qn3-%(version)s-distrib.tgz'] +checksums = ['27c6a8f56a4080420c25ffb0743e3dece7c57cc1740776936f220b4ed28b89d9'] + +local_install_cmds = "$FC $FFLAGS -c src/m1qn3.f -o m1qn3.o && ar -r libm1qn3.a m1qn3.o && " +local_install_cmds += "$FC $FFLAGS -c blas/ddot.f -o ddot.o && ar -r libddot.a ddot.o" + +cmds_map = [('.*', local_install_cmds)] + +files_to_copy = [(['libm1qn3.a', 'libddot.a'], 'lib')] + +sanity_check_paths = { + 'files': ['lib/libddot.a', 'lib/libm1qn3.a'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/MAGeCK/MAGeCK-0.5.9.4-foss-2021a.eb b/easybuild/easyconfigs/m/MAGeCK/MAGeCK-0.5.9.4-foss-2021a.eb new file mode 100644 index 00000000000..ea581cdd09d --- /dev/null +++ b/easybuild/easyconfigs/m/MAGeCK/MAGeCK-0.5.9.4-foss-2021a.eb @@ -0,0 +1,35 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'PythonPackage' + +name = 'MAGeCK' +version = '0.5.9.4' + +homepage = "https://sourceforge.net/p/mageck/wiki/Home/" +description = """Model-based Analysis of Genome-wide CRISPR-Cas9 Knockout (MAGeCK) is a computational tool to identify + important genes from the recent genome-scale CRISPR-Cas9 knockout screens (or GeCKO) technology. MAGeCK is developed + by Wei Li and Han Xu from Dr. Xiaole Shirley Liu's lab at Dana-Farber Cancer Institute, and is being actively updated + by Wei Li lab from Children's National Medical Center.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['42875b308f2d9ee38f083fb1020d7d48fca29e2100fdb09ced1969b738b8c939'] + +# Remove the shipped mageckGSEA and RRA binaries so that the Python install will build them +# This avoids RPATH problems (see #15082) +preinstallopts = "rm bin/{mageckGSEA,RRA} && " + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +sanity_check_commands = ["cd %(builddir)s/%(namelower)s-%(version)s/demo/demo1 && ./run.sh"] + [ + "%s -h" % x for x in ['mageck', 'mageckGSEA']] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MCR/MCR-R2021b.2.eb b/easybuild/easyconfigs/m/MCR/MCR-R2021b.2.eb new file mode 100644 index 00000000000..b7e3e831019 --- /dev/null +++ b/easybuild/easyconfigs/m/MCR/MCR-R2021b.2.eb @@ -0,0 +1,21 @@ +## +# Author: Robert Mijakovic +## +name = 'MCR' +version = 'R2021b' # runtime version 9.11 +local_update = '2' +versionsuffix = '.%s' % local_update + +homepage = 'https://www.mathworks.com/products/compiler/mcr/' +description = """The MATLAB Runtime is a standalone set of shared libraries + that enables the execution of compiled MATLAB applications + or components on computers that do not have MATLAB installed.""" + +toolchain = SYSTEM + +source_urls = ['https://ssd.mathworks.com/supportfiles/downloads/%%(version)s/Release/%s/deployment_files/' + 'installer/complete/glnxa64/' % local_update] +sources = ['MATLAB_Runtime_%%(version)s_Update_%s_glnxa64.zip' % local_update] +checksums = ['731ea5ff34a64ec05024ccf36dc24cfb77d5de4dfabec678e3b964e1110aa6e2'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MCR/MCR-R2022a.eb b/easybuild/easyconfigs/m/MCR/MCR-R2022a.eb new file mode 100644 index 00000000000..f4e33dcd257 --- /dev/null +++ b/easybuild/easyconfigs/m/MCR/MCR-R2022a.eb @@ -0,0 +1,20 @@ +## +# Author: Robert Mijakovic +## +name = 'MCR' +version = 'R2022a' # runtime version 9.12 +local_update = '0' + +homepage = 'https://www.mathworks.com/products/compiler/mcr/' +description = """The MATLAB Runtime is a standalone set of shared libraries + that enables the execution of compiled MATLAB applications + or components on computers that do not have MATLAB installed.""" + +toolchain = SYSTEM + +source_urls = ['https://ssd.mathworks.com/supportfiles/downloads/%%(version)s/Release/%s/deployment_files/' + 'installer/complete/glnxa64/' % local_update] +sources = ['MATLAB_Runtime_%(version)s_glnxa64.zip'] +checksums = ['ce013fa6d46148741ad55abaddd26d8d85d6fa4cf94917c8f3a66f350230cfc7'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-1.1.1-foss-2020b.eb b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-1.1.1-foss-2020b.eb new file mode 100644 index 00000000000..62cbd2a4191 --- /dev/null +++ b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-1.1.1-foss-2020b.eb @@ -0,0 +1,51 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonBundle' + +name = 'MDAnalysis' +version = '1.1.1' + +homepage = 'https://www.mdanalysis.org/' +description = """MDAnalysis is an object-oriented Python library to analyze trajectories from molecular dynamics (MD) +simulations in many popular formats.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('matplotlib', '3.3.3'), + ('Biopython', '1.78'), + ('networkx', '2.5'), + ('tqdm', '4.56.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('GridDataFormats', '0.5.0', { + 'modulename': 'gridData', + 'checksums': ['f317ed60708de22d1b2a76ce89a00f722d903291b1055ff1018d441870c39d69'], + }), + ('gsd', '2.4.2', { + 'checksums': ['fa2ed62da3eb2cbfea02a22dadc1d84e80c16d874535de4bace6941c6d805851'], + }), + ('msgpack', '1.0.2', { + 'checksums': ['fae04496f5bc150eefad4e9571d1a76c55d021325dcd484ce45065ebbdd00984'], + }), + ('mmtf-python', '1.1.2', { + 'modulename': 'mmtf', + 'checksums': ['a5caa7fcd2c1eaa16638b5b1da2d3276cbd3ed3513f0c2322957912003b6a8df'], + }), + ('funcsigs', '1.0.2', { + 'checksums': ['a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50'], + }), + (name, version, { + 'modulename': 'MDAnalysis', + 'checksums': ['edfd5a8ac6cbaa8d02f505ac3e68d5a1866644a2d392a8f20e279c43e0886253'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.0.0-foss-2021b.eb b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.0.0-foss-2021b.eb new file mode 100644 index 00000000000..4db664c3298 --- /dev/null +++ b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.0.0-foss-2021b.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'MDAnalysis' +version = '2.0.0' + +homepage = 'https://www.mdanalysis.org/' +description = """MDAnalysis is an object-oriented Python library to analyze trajectories from molecular dynamics (MD) +simulations in many popular formats.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('matplotlib', '3.4.3'), + ('Biopython', '1.79'), + ('networkx', '2.6.3'), + ('tqdm', '4.62.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('GridDataFormats', '0.6.0', { + 'modulename': 'gridData', + 'checksums': ['f14e00e8b795f8021f6069935e1133352224775c9bd97f395beb2bcd64a19b86'], + }), + ('gsd', '2.5.1', { + 'checksums': ['76bf228b1d8e95e7d6a334e8cc7712c0bd8c256148007f7ce88a489c21996593'], + }), + ('msgpack', '1.0.3', { + 'checksums': ['51fdc7fb93615286428ee7758cecc2f374d5ff363bdd884c7ea622a7a327a81e'], + }), + ('mmtf-python', '1.1.2', { + 'modulename': 'mmtf', + 'checksums': ['a5caa7fcd2c1eaa16638b5b1da2d3276cbd3ed3513f0c2322957912003b6a8df'], + }), + (name, version, { + 'modulename': name, + 'checksums': ['aa3079d1a82305eba58cf567fac8fc231940184ed88f9a4451be8433f4a06d3e'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.0.0-intel-2021b.eb b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.0.0-intel-2021b.eb new file mode 100644 index 00000000000..baa89c5b408 --- /dev/null +++ b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.0.0-intel-2021b.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'MDAnalysis' +version = '2.0.0' + +homepage = 'https://www.mdanalysis.org/' +description = """MDAnalysis is an object-oriented Python library to analyze trajectories from molecular dynamics (MD) +simulations in many popular formats.""" + +toolchain = {'name': 'intel', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('matplotlib', '3.4.3'), + ('Biopython', '1.79'), + ('networkx', '2.6.3'), + ('tqdm', '4.62.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('GridDataFormats', '0.6.0', { + 'modulename': 'gridData', + 'checksums': ['f14e00e8b795f8021f6069935e1133352224775c9bd97f395beb2bcd64a19b86'], + }), + ('gsd', '2.5.1', { + 'checksums': ['76bf228b1d8e95e7d6a334e8cc7712c0bd8c256148007f7ce88a489c21996593'], + }), + ('msgpack', '1.0.3', { + 'checksums': ['51fdc7fb93615286428ee7758cecc2f374d5ff363bdd884c7ea622a7a327a81e'], + }), + ('mmtf-python', '1.1.2', { + 'modulename': 'mmtf', + 'checksums': ['a5caa7fcd2c1eaa16638b5b1da2d3276cbd3ed3513f0c2322957912003b6a8df'], + }), + (name, version, { + 'modulename': name, + 'checksums': ['aa3079d1a82305eba58cf567fac8fc231940184ed88f9a4451be8433f4a06d3e'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MDTraj/MDTraj-1.9.7-intel-2021b.eb b/easybuild/easyconfigs/m/MDTraj/MDTraj-1.9.7-intel-2021b.eb new file mode 100644 index 00000000000..337b9706b27 --- /dev/null +++ b/easybuild/easyconfigs/m/MDTraj/MDTraj-1.9.7-intel-2021b.eb @@ -0,0 +1,42 @@ +# Updated: Pavel Grochal (INUITS) + +easyblock = 'PythonBundle' + +name = 'MDTraj' +version = '1.9.7' + +homepage = 'https://mdtraj.org' +description = "Read, write and analyze MD trajectories with only a few lines of Python code." + +toolchain = {'name': 'intel', 'version': '2021b'} +toolchainopts = {'openmp': True} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('zlib', '1.2.11'), +] + +use_pip = True +exts_list = [ + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + ('pymbar', '3.0.5', { + 'checksums': ['b079a7d0b9fbc8a92850277b664bb582991ef5ac399b3607e695569148f6c784'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + ('mdtraj', version, { + 'checksums': ['8a3309d2ef6ddb1023dcf48300d5df9b190469b63f69af9d55490bc4799d3757'], + }), +] + +# The unit tests of MDTraj are a pain to get to work: they require +# a massive number of extra dependencies. See +# https://github.com/mdtraj/mdtraj/blob/master/devtools/conda-recipe/meta.yaml + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/MEGAN/MEGAN-6.22.0-Java-17.eb b/easybuild/easyconfigs/m/MEGAN/MEGAN-6.22.0-Java-17.eb new file mode 100644 index 00000000000..190ba82798a --- /dev/null +++ b/easybuild/easyconfigs/m/MEGAN/MEGAN-6.22.0-Java-17.eb @@ -0,0 +1,36 @@ +easyblock = 'Binary' + +name = 'MEGAN' +version = '6.22.0' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'http://megan.informatik.uni-tuebingen.de/' +description = "MEGAN is a comprehensive toolbox for interactively analyzing microbiome data" + +toolchain = SYSTEM + +local_installer = '%%(name)s_Community_unix_%s.sh' % version.replace('.', '_') +source_urls = ['https://software-ab.informatik.uni-tuebingen.de/download/%(namelower)s%(version_major)s'] +sources = [local_installer] +checksums = ['f9122124a470179dec2306bf5e59c6b6dd80843f8c11a268b3a036af709731fb'] + +dependencies = [('Java', '17')] + +install_cmd = 'chmod +x %s && ./%s -q -dir %%(installdir)s' % (local_installer, local_installer) + +postinstallcmds = ["rm %(installdir)s/uninstall"] + +sanity_check_paths = { + 'files': ['MEGAN'], + 'dirs': ['jars', 'jars2', 'tools'], +} + +sanity_check_commands = [ + ('megan-server', '-h'), +] + +modextrapaths = { + 'PATH': ['tools', 'tools/utils'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MEME/MEME-5.4.1-gompi-2021b-Python-2.7.18.eb b/easybuild/easyconfigs/m/MEME/MEME-5.4.1-gompi-2021b-Python-2.7.18.eb new file mode 100644 index 00000000000..a0127e5697c --- /dev/null +++ b/easybuild/easyconfigs/m/MEME/MEME-5.4.1-gompi-2021b-Python-2.7.18.eb @@ -0,0 +1,62 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'ConfigureMake' + +name = 'MEME' +version = '5.4.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://meme-suite.org/meme/index.html' +description = """The MEME Suite allows you to: * discover motifs using MEME, DREME (DNA only) or + GLAM2 on groups of related DNA or protein sequences, * search sequence databases with motifs using + MAST, FIMO, MCAST or GLAM2SCAN, * compare a motif to all motifs in a database of motifs, * associate + motifs with Gene Ontology terms via their putative target genes, and * analyse motif enrichment + using SpaMo or CentriMo.""" + +toolchain = {'name': 'gompi', 'version': '2021b'} + +source_urls = ['https://%(namelower)s-suite.org/%(namelower)s/%(namelower)s-software/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c07fb8afafa60fc5e84ca24493c82fa6f4bd1df1a2622102edbf86a1c30fd11f'] + +dependencies = [ + ('libxml2', '2.9.10'), + ('libxslt', '1.1.34'), + ('zlib', '1.2.11'), + ('Perl', '5.34.0'), + ('Python', '2.7.18'), + ('Ghostscript', '9.54.0'), + ('XML-Compile', '1.63'), +] + +configopts = '--with-perl=${EBROOTPERL}/bin/perl --with-python=${EBROOTPYTHON}/bin/python ' +# config.log should indicate that all required/optional dependencies were found (see scripts/dependencies.pl) +configopts += " && grep 'All required and optional Perl modules were found' config.log" + +pretestopts = "OMPI_MCA_rmaps_base_oversubscribe=1 " +runtest = 'test' + +fix_perl_shebang_for = ['bin/*', 'libexec/meme-%(version)s/*'] +fix_python_shebang_for = ['bin/*', 'libexec/meme-%(version)s/*'] + +sanity_check_paths = { + 'files': ['bin/dreme', 'bin/meme', 'bin/dreme', 'bin/meme-chip', 'libexec/meme-%(version)s/meme2meme'], + 'dirs': ['lib'], +} + +sanity_check_commands = [ + "meme -h 2>&1 | grep 'Usage:'", + "meme2meme --help", + "perl -e 'require MemeSAX'", + "python -c 'import sequence'", +] + +modextrapaths = { + 'PATH': ['libexec/meme-%(version)s'], + 'PERL5LIB': ['lib/meme-%(version)s/perl'], + 'PYTHONPATH': ['lib/meme-%(version)s/python'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MNE-Python/MNE-Python-0.24.1-foss-2021a.eb b/easybuild/easyconfigs/m/MNE-Python/MNE-Python-0.24.1-foss-2021a.eb new file mode 100644 index 00000000000..d16e5256624 --- /dev/null +++ b/easybuild/easyconfigs/m/MNE-Python/MNE-Python-0.24.1-foss-2021a.eb @@ -0,0 +1,69 @@ +easyblock = 'PythonBundle' + +name = 'MNE-Python' +version = '0.24.1' + +homepage = 'https://mne.tools/stable/index.html' +description = """ +MNE-Python software is an open-source Python package for exploring, +visualizing, and analyzing human neurophysiological data such as MEG, EEG, +sEEG, ECoG, and more. It includes modules for data input/output, preprocessing, +visualization, source estimation, time-frequency analysis, connectivity +analysis, machine learning, and statistics.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('matplotlib', '3.4.2'), + ('tqdm', '4.61.2'), + ('scikit-learn', '0.24.2'), + ('numba', '0.53.1'), + ('NiBabel', '3.2.1'), + ('h5py', '3.2.1'), + ('imageio', '2.10.5'), + ('VTK', '9.0.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pooch', '0.5.2', { + 'checksums': ['3d1d815b6b7d0af851d6eb28e6a91d7c99e0c46a528389b37131c73661200908'], + }), + ('python-picard', '0.7', { + 'modulename': 'picard', + 'checksums': ['8061a1f0c4660c805b7617f2f0bd0284c6e6e84ac3ec782081c67b27cfd185a7'], + }), + ('dipy', '1.4.1', { + 'checksums': ['b4bf830feae751f3f985d54cb71031fc35cea612838320f1f74246692b8a3cc0'], + }), + ('scooby', '0.5.12', { + 'checksums': ['874828e38834c1ccb2236a7491e0739675086608c6588abf132cdd0049458192'], + }), + ('pyvista', '0.33.3', { + 'checksums': ['ad690d892185de64695d2ec4b793afa94f3a2b401d8054aa49c363983da67d08'], + }), + ('wrapt', '1.13.3', { + 'checksums': ['1fea9cd438686e6682271d36f3481a9f3636195578bab9ca3382e2f5f01fc185'], + }), + ('Deprecated', '1.2.13', { + 'checksums': ['43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d'], + }), + ('mffpy', '0.7.1', { + 'checksums': ['83ab48ac12d133a1e06c1f4faaa604a6042370dee26e62f3f3e462bb272b3f16'], + }), + ('h5io', '0.1.7', { + 'checksums': ['be2684e678a28a5d59140de838f0165f095af865e48b8e498a279a3c2b89303e'], + }), + (name, version, { + 'modulename': 'mne', + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/mne-tools/mne-python/archive/'], + 'checksums': ['d2283cbfc926eb0c395d8c14180f4699a697017d3e58026be24f2eb7d385fdb7'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MRtrix/MRtrix-3.0.3-foss-2021a.eb b/easybuild/easyconfigs/m/MRtrix/MRtrix-3.0.3-foss-2021a.eb new file mode 100644 index 00000000000..1f2579e38a4 --- /dev/null +++ b/easybuild/easyconfigs/m/MRtrix/MRtrix-3.0.3-foss-2021a.eb @@ -0,0 +1,29 @@ +name = 'MRtrix' +version = '3.0.3' + +homepage = 'http://www.brain.org.au/software/index.html#mrtrix' +description = """MRtrix provides a set of tools to perform diffusion-weighted MR white-matter tractography in a manner + robust to crossing fibres, using constrained spherical deconvolution (CSD) and probabilistic streamlines.""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'cstd': 'c++11'} + +source_urls = ['https://github.com/MRtrix3/mrtrix3/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['6ec7d5a567d8d7338e85575a74565189a26ec8971cbe8fb24a49befbc446542e'] + +builddependencies = [ + ('Eigen', '3.3.9'), + ('pkg-config', '0.29.2'), +] +dependencies = [ + ('zlib', '1.2.11'), + ('Python', '3.9.5'), + ('Mesa', '21.1.1'), + ('Qt5', '5.15.2'), + ('LibTIFF', '4.2.0'), + ('FFTW', '3.3.9'), + ('libpng', '1.6.37'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MUSCLE/MUSCLE-3.8.31-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-3.8.31-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..5e25be1d014 --- /dev/null +++ b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-3.8.31-GCCcore-11.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'MakeCp' + +name = 'MUSCLE' +version = '3.8.31' + +homepage = 'https://drive5.com/muscle/' +description = """MUSCLE is one of the best-performing multiple alignment programs + according to published benchmark tests, with accuracy and speed that are consistently + better than CLUSTALW. MUSCLE can align hundreds of sequences in seconds. Most users + learn everything they need to know about MUSCLE in a few minutes-only a handful of + command-line options are needed to perform common alignment tasks.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://www.drive5.com/muscle/downloads%(version)s/'] +sources = ['%(namelower)s%(version)s_src.tar.gz'] +patches = ['MUSCLE-%(version)s_fix-mk-hardcoding.patch'] +checksums = [ + '43c5966a82133bd7da5921e8142f2f592c2b5f53d802f0527a2801783af809ad', # muscle3.8.31_src.tar.gz + '7486ac0eee30ac3de9ee06020fe8573cf1de8e21ce5f315c3232ec226191a60d', # MUSCLE-3.8.31_fix-mk-hardcoding.patch +] + +builddependencies = [ + ('binutils', '2.37'), +] + +files_to_copy = [ + (["muscle"], 'bin')] + +sanity_check_paths = { + 'files': ["bin/muscle"], + 'dirs': [], +} + +sanity_check_commands = ["muscle -version"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/Mash/Mash-2.3-GCC-11.2.0.eb b/easybuild/easyconfigs/m/Mash/Mash-2.3-GCC-11.2.0.eb new file mode 100644 index 00000000000..7d12008cb15 --- /dev/null +++ b/easybuild/easyconfigs/m/Mash/Mash-2.3-GCC-11.2.0.eb @@ -0,0 +1,48 @@ +# Contribution by +# DeepThought, Flinders University +# Updated to v2.2 +# R.QIAO + +easyblock = 'ConfigureMake' + +name = 'Mash' +version = '2.3' + +homepage = 'http://mash.readthedocs.org' +description = "Fast genome and metagenome distance estimation using MinHash" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'cstd': 'c++17'} + +source_urls = ['https://github.com/marbl/Mash/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'Mash-2.2_fix-hardcoding.patch', + 'Mash-2.1_disable-memcpy-wrap.patch', + 'Mash-2.3_fix-GCC-11.patch', +] +checksums = [ + 'f96cf7305e010012c3debed966ac83ceecac0351dbbfeaa6cd7ad7f068d87fe1', # v2.3.tar.gz + '0c7315af727a06f408ab3ca69da0860fc671aa870b448a41a509b1e6d7027db5', # Mash-2.2_fix-hardcoding.patch + '40990cf3d192b533736374bc67a54dbd839d90b0310a0a66f994891da1f85b6e', # Mash-2.1_disable-memcpy-wrap.patch + '47a55459d4e8c57949648e0f33f3ffc3529563db0efe60f495fdec046f48d94e', # Mash-2.3_fix-GCC-11.patch +] + +builddependencies = [('Autotools', '20210726')] +dependencies = [ + ('CapnProto', '0.9.1'), + ('GSL', '2.7'), + ('zlib', '1.2.11'), +] + +preconfigopts = "./bootstrap.sh && " +configopts = "--with-capnp=$EBROOTCAPNPROTO --with-gsl=$EBROOTGSL" + +sanity_check_paths = { + 'files': ['bin/mash', 'lib/libmash.a'], + 'dirs': ['include/mash'], +} + +sanity_check_commands = ['mash --version'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/Mash/Mash-2.3_fix-GCC-11.patch b/easybuild/easyconfigs/m/Mash/Mash-2.3_fix-GCC-11.patch new file mode 100644 index 00000000000..0efc6c9df01 --- /dev/null +++ b/easybuild/easyconfigs/m/Mash/Mash-2.3_fix-GCC-11.patch @@ -0,0 +1,18 @@ +see also https://github.com/marbl/Mash/issues/167 + +Author: Andreas Tille +Last-Update: Tue, 12 Oct 2021 09:01:12 +0200 +Description: Fix "error: ‘numeric_limits’ is not a member of ‘std’" +Forwarded: https://github.com/marbl/Mash/issues/167 + +--- a/src/mash/robin_hood.h ++++ b/src/mash/robin_hood.h +@@ -45,6 +45,7 @@ + #include // only to support hash of smart pointers + #include + #include ++#include + #include + #include + #if __cplusplus >= 201703L + diff --git a/easybuild/easyconfigs/m/matplotlib-inline/matplotlib-inline-0.1.3-GCCcore-10.2.0.eb b/easybuild/easyconfigs/m/matplotlib-inline/matplotlib-inline-0.1.3-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..0cbbd4ffc61 --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib-inline/matplotlib-inline-0.1.3-GCCcore-10.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'matplotlib-inline' +version = '0.1.3' + +homepage = 'https://github.com/ipython/matplotlib-inline' +description = """Matplotlib Inline Back-end for IPython and Jupyter.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a04bfba22e0d1395479f866853ec1ee28eea1485c1d69a6faf00dc3e24ff34ee'] + +builddependencies = [('binutils', '2.35')] + +dependencies = [ + ('Python', '3.8.6'), + ('IPython', '7.18.1'), # has traitlets +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/matplotlib/matplotlib-3.5.1-foss-2020b.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.5.1-foss-2020b.eb new file mode 100644 index 00000000000..7069e0d1495 --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.5.1-foss-2020b.eb @@ -0,0 +1,66 @@ +easyblock = 'PythonBundle' + +name = 'matplotlib' +version = '3.5.1' + +homepage = 'https://matplotlib.org' +description = """matplotlib is a python 2D plotting library which produces publication quality figures in a variety of + hardcopy formats and interactive environments across platforms. matplotlib can be used in python scripts, the python + and ipython shell, web application servers, and six graphical user interface toolkits.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('libpng', '1.6.37'), + ('freetype', '2.10.3'), + ('Tkinter', '%(pyver)s'), + ('Pillow', '8.0.1'), + ('Qhull', '2020.2') +] + +use_pip = True +sanity_pip_check = True + +# avoid that matplotlib downloads and builds its own copies of freetype and qhull +_fix_setup = "sed -e 's/#system_freetype = False/system_freetype = True/g' " +_fix_setup += "-e 's/#system_qhull = False/system_qhull = True/g' mplsetup.cfg.template > mplsetup.cfg && " + + +_include_path = "export CPLUS_INCLUDE_PATH=$EBROOTFREETYPE/include/freetype2:${CPLUS_INCLUDE_PATH} && " + +exts_list = [ + ('Cycler', '0.10.0', { + 'modulename': 'cycler', + 'source_tmpl': 'cycler-%(version)s.tar.gz', + 'checksums': ['cd7b2d1018258d7247a71425e9f26463dfb444d411c39569972f4ce586b0c9d8'], + }), + ('kiwisolver', '1.3.0', { + 'checksums': ['14f81644e1f3bf01fbc8b9c990a7889e9bb4400c4d0ff9155aa0bdd19cce24a9'], + }), + ('fontTools', '4.29.1', { + 'modulename': 'fontTools', + 'source_tmpl': 'fonttools-%(version)s.zip', + 'checksums': ['2b18a172120e32128a80efee04cff487d5d140fe7d817deb648b2eee023a40e4'], + }), + (name, version, { + 'preinstallopts': _fix_setup + _include_path, + 'checksums': ['b2e9810e09c3a47b73ce9cab5a72243a1258f61e7900969097a817232246ce1c'], + }), +] + +sanity_check_commands = [ + """python -c 'import matplotlib; matplotlib.use("Agg"); import matplotlib.pyplot' """, + "python -c 'from mpl_toolkits.mplot3d import Axes3D'", +] + +# use non-interactive plotting backend as default +# see https://matplotlib.org/tutorials/introductory/usage.html#what-is-a-backend +modextravars = {'MPLBACKEND': 'Agg'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/matplotlib/matplotlib-3.5.1-intel-2020b.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.5.1-intel-2020b.eb new file mode 100644 index 00000000000..0c81a702dd4 --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.5.1-intel-2020b.eb @@ -0,0 +1,66 @@ +easyblock = 'PythonBundle' + +name = 'matplotlib' +version = '3.5.1' + +homepage = 'https://matplotlib.org' +description = """matplotlib is a python 2D plotting library which produces publication quality figures in a variety of + hardcopy formats and interactive environments across platforms. matplotlib can be used in python scripts, the python + and ipython shell, web application servers, and six graphical user interface toolkits.""" + +toolchain = {'name': 'intel', 'version': '2020b'} + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('libpng', '1.6.37'), + ('freetype', '2.10.3'), + ('Tkinter', '%(pyver)s'), + ('Pillow', '8.0.1'), + ('Qhull', '2020.2') +] + +use_pip = True +sanity_pip_check = True + +# avoid that matplotlib downloads and builds its own copies of freetype and qhull +_fix_setup = "sed -e 's/#system_freetype = False/system_freetype = True/g' " +_fix_setup += "-e 's/#system_qhull = False/system_qhull = True/g' mplsetup.cfg.template > mplsetup.cfg && " + + +_include_path = "export CPLUS_INCLUDE_PATH=$EBROOTFREETYPE/include/freetype2:${CPLUS_INCLUDE_PATH} && " + +exts_list = [ + ('Cycler', '0.10.0', { + 'modulename': 'cycler', + 'source_tmpl': 'cycler-%(version)s.tar.gz', + 'checksums': ['cd7b2d1018258d7247a71425e9f26463dfb444d411c39569972f4ce586b0c9d8'], + }), + ('kiwisolver', '1.3.0', { + 'checksums': ['14f81644e1f3bf01fbc8b9c990a7889e9bb4400c4d0ff9155aa0bdd19cce24a9'], + }), + ('fontTools', '4.29.1', { + 'modulename': 'fontTools', + 'source_tmpl': 'fonttools-%(version)s.zip', + 'checksums': ['2b18a172120e32128a80efee04cff487d5d140fe7d817deb648b2eee023a40e4'], + }), + (name, version, { + 'preinstallopts': _fix_setup + _include_path, + 'checksums': ['b2e9810e09c3a47b73ce9cab5a72243a1258f61e7900969097a817232246ce1c'], + }), +] + +sanity_check_commands = [ + """python -c 'import matplotlib; matplotlib.use("Agg"); import matplotlib.pyplot' """, + "python -c 'from mpl_toolkits.mplot3d import Axes3D'", +] + +# use non-interactive plotting backend as default +# see https://matplotlib.org/tutorials/introductory/usage.html#what-is-a-backend +modextravars = {'MPLBACKEND': 'Agg'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/mauveAligner/mauveAligner-4736-gompi-2020a.eb b/easybuild/easyconfigs/m/mauveAligner/mauveAligner-4736-gompi-2020a.eb index b13c7fbd93e..a429edbf8d4 100644 --- a/easybuild/easyconfigs/m/mauveAligner/mauveAligner-4736-gompi-2020a.eb +++ b/easybuild/easyconfigs/m/mauveAligner/mauveAligner-4736-gompi-2020a.eb @@ -67,17 +67,25 @@ components = [ ], }), ('mauveAligner', version, { - 'patches': ['mauveAligner-4736_debian.patch'], + 'patches': [ + 'mauveAligner-4736_debian.patch', + 'mauveAligner-4736_fix-getopt.patch', + ], 'checksums': [ None, # mauveAligner-4736.tar.bz2 '2786bd29bedb224f232e7909972b549fe95f520ddac2cbb076e2082647dc68ae', # mauveAligner-4736_debian.patch + 'e40edc401303b337070470e52ec13968d0aafca43e4adb332e33b8a6aef34f19', # mauveAligner-4736_fix-getopt.patch ], }), ('sgEvolver', version, { - 'patches': ['sgEvolver-4736_dropversion.patch'], + 'patches': [ + 'sgEvolver-4736_dropversion.patch', + 'sgEvolver-4736_fix-getopt.patch', + ], 'checksums': [ None, # sgEvolver-4736.tar.bz2 'efc3397039dd525669f6c525b20d75ad64c51cd25912192e695067de4cfbeadc', # sgEvolver-4736_dropversion.patch + '58afcf31f707b265fda81d45cd243c8cd279eed5a843a42f8030ef930f3bdd6c', # sgEvolver-4736_fix-getopt.patch ], }), ] @@ -107,6 +115,8 @@ sanity_check_paths = { ['share', 'lib/pkgconfig'], } +sanity_check_commands = ["mauveAligner --help 2>&1 | grep '^mauveAligner'"] + modextrapaths = {'PERL5LIB': 'lib/perl5/site_perl'} moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/mauveAligner/mauveAligner-4736_fix-getopt.patch b/easybuild/easyconfigs/m/mauveAligner/mauveAligner-4736_fix-getopt.patch new file mode 100644 index 00000000000..9290d1c1dd8 --- /dev/null +++ b/easybuild/easyconfigs/m/mauveAligner/mauveAligner-4736_fix-getopt.patch @@ -0,0 +1,15 @@ +fix build of mauveAligner on RHEL8 (without breaking build on CentOS 7) +/usr/include/bits/getopt_core.h:91:12: error: declaration of int getopt(int, char* const*, const char*) throw () has a different exception specifier +author: Kenneth Hoste (HPC-UGent) +--- mauveAligner/src/getopt.h.orig 2022-02-25 10:23:21.301489496 +0100 ++++ mauveAligner/src/getopt.h 2022-02-25 10:26:13.940751386 +0100 +@@ -146,7 +146,8 @@ + /* Many other libraries have conflicting prototypes for getopt, with + differences in the consts, in stdlib.h. To avoid compilation + errors, only prototype getopt for the GNU C library. */ +-extern int getopt (int ___argc, char *const *___argv, const char *__shortopts); ++extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) ++ __THROW __nonnull ((2, 3)); + # elif GETOPT_UNDEFINED /* not __GNU_LIBRARY__ */ + extern int getopt (); + # endif /* __GNU_LIBRARY__ */ diff --git a/easybuild/easyconfigs/m/mauveAligner/sgEvolver-4736_fix-getopt.patch b/easybuild/easyconfigs/m/mauveAligner/sgEvolver-4736_fix-getopt.patch new file mode 100644 index 00000000000..50aee5f8f92 --- /dev/null +++ b/easybuild/easyconfigs/m/mauveAligner/sgEvolver-4736_fix-getopt.patch @@ -0,0 +1,15 @@ +fix build of sgEvolver on RHEL8 (without breaking build on CentOS 7) +/usr/include/bits/getopt_core.h:91:12: error: declaration of int getopt(int, char* const*, const char*) throw () has a different exception specifier +author: Kenneth Hoste (HPC-UGent) +--- sgEvolver/src/getopt.h.orig 2022-02-25 10:33:10.015721000 +0100 ++++ sgEvolver/src/getopt.h 2022-02-25 10:33:33.950344000 +0100 +@@ -146,7 +146,8 @@ + /* Many other libraries have conflicting prototypes for getopt, with + differences in the consts, in stdlib.h. To avoid compilation + errors, only prototype getopt for the GNU C library. */ +-extern int getopt (int ___argc, char *const *___argv, const char *__shortopts); ++extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) ++ __THROW __nonnull ((2, 3)); + # elif GETOPT_UNDEFINED /* not __GNU_LIBRARY__ */ + extern int getopt (); + # endif /* __GNU_LIBRARY__ */ diff --git a/easybuild/easyconfigs/m/medaka/medaka-1.5.0-foss-2021a.eb b/easybuild/easyconfigs/m/medaka/medaka-1.5.0-foss-2021a.eb new file mode 100644 index 00000000000..d3f817945e5 --- /dev/null +++ b/easybuild/easyconfigs/m/medaka/medaka-1.5.0-foss-2021a.eb @@ -0,0 +1,60 @@ +# This is a contribution from HPCNow! (http://hpcnow.com) +# Copyright:: HPCNow! +# Authors:: Danilo Gonzalez +# License:: GPL-v3.0 +# Updated to foss-2020b to use with artic tool +# J. Sassmannshausen (GSTT/NHS UK) +# Updated to 1.5.0 +# Jasper Grimm (UoY) + +easyblock = 'PythonBundle' + +name = 'medaka' +version = '1.5.0' + +homepage = 'https://github.com/nanoporetech/medaka' +description = "medaka is a tool to create a consensus sequence from nanopore sequencing data." + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [('Autotools', '20210128')] + +_minimap_ver = '2.20' +dependencies = [ + ('Python', '3.9.5'), # includes cffi + # TensorFlow ~=2.5.2 required by medaka 1.5.0, see requirements.txt + ('TensorFlow', '2.5.3'), + ('Pysam', '0.16.0.1'), + ('SAMtools', '1.13'), + ('minimap2', _minimap_ver), + ('HTSlib', '1.12'), # for tabix, bgzip + ('Racon', '1.4.21'), + ('edlib', '1.3.9'), + ('pyspoa', '0.0.8'), + ('python-parasail', '1.2.4'), + ('ont-fast5-api', '4.0.0'), + ('WhatsHap', '1.1'), + ('intervaltree-python', '3.1.0'), +] + +use_pip = True + +exts_list = [ + ('mappy', _minimap_ver, { + 'checksums': ['00c8720783ac982b514b01b86349ede9809eeaccdf1328acb5a16dfeef51458b'], + }), + (name, version, { + 'checksums': ['8a0b8d5997fe45b8d5a1317b2b6bfe117cb6b551928faef62e4e958cf14b5ea4'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/medaka', 'bin/medaka_consensus'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["medaka --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/meshalyzer/meshalyzer-20200308-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/m/meshalyzer/meshalyzer-20200308-foss-2020a-Python-3.8.2.eb new file mode 100644 index 00000000000..bb93c14359e --- /dev/null +++ b/easybuild/easyconfigs/m/meshalyzer/meshalyzer-20200308-foss-2020a-Python-3.8.2.eb @@ -0,0 +1,43 @@ +easyblock = 'MakeCp' + +name = 'meshalyzer' +local_commit = 'b1ab66863a293768cd23b444f16efe00d0acef4e' +version = '20200308' # datestamp of commit +versionsuffix = '-Python-3.8.2' + +homepage = 'https://git.opencarp.org/openCARP/meshalyzer' +description = "Graphical program for display time dependent data on 3D finite element meshes" + +toolchain = {'name': 'foss', 'version': '2020a'} + +source_urls = ['https://git.opencarp.org/openCARP/meshalyzer/-/archive/%s' % local_commit] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +patches = ['meshalyzer-2.0_fix-VTK-linking.patch'] +checksums = [ + 'b1df0be12d377a4e12e0d1f2cd17820b9d5cc3a5a813a17d187ee72adf5a8500', # meshalyzer-20200308.tar.gz + '23f55c2290ea9b62440bdf8e0c1006116438beb7c4b7065b8cf136387a537e0f', # meshalyzer-2.0_fix-VTK-linking.patch +] + +local_vtk_majmin_ver = '8.2' +dependencies = [ + ('libpng', '1.6.37'), + ('FLTK', '1.3.5'), + ('glew', '2.1.0'), + ('freeglut', '3.2.1'), + ('HDF5', '1.10.6'), + ('VTK', '%s.0' % local_vtk_majmin_ver, versionsuffix), +] + +buildopts = 'HDF5_ROOT=$EBROOTHDF5 LIB_EXT=".%s" ' % SHLIB_EXT +buildopts += 'VTK_INCDIR=$EBROOTVTK/include/vtk-%s/ VTK_LIBDIR=$EBROOTVTK/lib' % local_vtk_majmin_ver + +files_to_copy = [(['meshalyzer'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/meshalyzer'], + 'dirs': [], +} + +sanity_check_commands = ["meshalyzer --help"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/n/NFFT/NFFT-3.5.2-foss-2021b.eb b/easybuild/easyconfigs/n/NFFT/NFFT-3.5.2-foss-2021b.eb new file mode 100644 index 00000000000..f8ff6083ed5 --- /dev/null +++ b/easybuild/easyconfigs/n/NFFT/NFFT-3.5.2-foss-2021b.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'NFFT' +version = '3.5.2' + +homepage = 'https://www-user.tu-chemnitz.de/~potts/nfft/' +description = """The NFFT (nonequispaced fast Fourier transform or nonuniform fast Fourier transform) is a C subroutine + library for computing the nonequispaced discrete Fourier transform (NDFT) and its generalisations in one or more + dimensions, of arbitrary input size, and of complex data.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/NFFT/nfft/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['c68b22de2b914328d5d9fd33778defc66b226c72ef4c103956bbf36bbcd18e45'] + +dependencies = [('FFTW', '3.3.10')] + +builddependencies = [('Autotools', '20210726')] + +configure_cmd_prefix = './bootstrap.sh ; ' + +configopts = '--enable-openmp' + +sanity_check_paths = { + 'files': ['include/nfft3.h', 'include/nfft3mp.h', 'lib/libnfft3_threads.a', 'lib/libnfft3.a', + 'lib/libnfft3_threads.%s' % SHLIB_EXT, 'lib/libnfft3.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NLTK/NLTK-3.6.7-foss-2021a.eb b/easybuild/easyconfigs/n/NLTK/NLTK-3.6.7-foss-2021a.eb new file mode 100644 index 00000000000..a26167bb1ab --- /dev/null +++ b/easybuild/easyconfigs/n/NLTK/NLTK-3.6.7-foss-2021a.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonBundle' + +name = 'NLTK' +version = '3.6.7' + +homepage = 'https://www.nltk.org/' +description = "NLTK is a leading platform for building Python programs to work with human language data." + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('scikit-learn', '0.24.2'), + ('matplotlib', '3.4.2'), + ('tqdm', '4.61.2'), +] + +local_nltk_data_install = [] +# Install NLTK data sets (7.4 GB) +# local_nltk_data = '/path/to/database/nltk_data' +# local_nltk_data_install = [ +# "mkdir -p %s && NLTK_DATA=%s python -m nltk.downloader all" % (local_nltk_data, local_nltk_data) +# ] +# modextravars = {'NLTK_DATA': local_nltk_data} + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('regex', '2021.8.28', { + 'checksums': ['f585cbbeecb35f35609edccb95efd95a3e35824cd7752b586503f7e6087303f1'], + }), + ('python-crfsuite', '0.9.7', { + 'modulename': 'pycrfsuite', + 'checksums': ['3b4538d2ce5007e4e42005818247bf43ade89ef08a66d158462e2f7c5d63cee7'], + }), + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.zip', + 'checksums': ['51bf1aef5304740a708be7c8e683f7798f03dc5c7a7e7feb758be9e95f4585e3'], + 'use_pip_extras': 'corenlp,machine_learning,plot,tgrep', + 'postinstallcmds': local_nltk_data_install, + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_check_commands = [('%(namelower)s', '--version')] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/NLTK/NLTK-3.7-foss-2021b.eb b/easybuild/easyconfigs/n/NLTK/NLTK-3.7-foss-2021b.eb new file mode 100644 index 00000000000..f0cf22b03b5 --- /dev/null +++ b/easybuild/easyconfigs/n/NLTK/NLTK-3.7-foss-2021b.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonBundle' + +name = 'NLTK' +version = '3.7' + +homepage = 'https://www.nltk.org/' +description = "NLTK is a leading platform for building Python programs to work with human language data." + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('scikit-learn', '1.0.1'), + ('matplotlib', '3.4.3'), + ('tqdm', '4.62.3'), +] + +local_nltk_data_install = [] +# Install NLTK data sets (7.4 GB) +# local_nltk_data = '/path/to/database/nltk_data' +# local_nltk_data_install = [ +# "mkdir -p %s && NLTK_DATA=%s python -m nltk.downloader all" % (local_nltk_data, local_nltk_data) +# ] +# modextravars = {'NLTK_DATA': local_nltk_data} + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('regex', '2022.1.18', { + 'checksums': ['97f32dc03a8054a4c4a5ab5d761ed4861e828b2c200febd4e46857069a483916'], + }), + ('python-crfsuite', '0.9.7', { + 'modulename': 'pycrfsuite', + 'checksums': ['3b4538d2ce5007e4e42005818247bf43ade89ef08a66d158462e2f7c5d63cee7'], + }), + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.zip', + 'checksums': ['d6507d6460cec76d70afea4242a226a7542f85c669177b9c7f562b7cf1b05502'], + 'use_pip_extras': 'corenlp,machine_learning,plot,tgrep', + 'postinstallcmds': local_nltk_data_install, + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_check_commands = [('%(namelower)s', '--version')] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/NiBabel/NiBabel-3.2.2-foss-2021b.eb b/easybuild/easyconfigs/n/NiBabel/NiBabel-3.2.2-foss-2021b.eb new file mode 100644 index 00000000000..f94c485969a --- /dev/null +++ b/easybuild/easyconfigs/n/NiBabel/NiBabel-3.2.2-foss-2021b.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'NiBabel' +version = '3.2.2' + +homepage = 'https://nipy.github.io/nibabel' +description = """NiBabel provides read/write access to some common medical and neuroimaging file formats, + including: ANALYZE (plain, SPM99, SPM2 and later), GIFTI, NIfTI1, NIfTI2, MINC1, MINC2, MGH and ECAT + as well as Philips PAR/REC. We can read and write Freesurfer geometry, and read Freesurfer morphometry and + annotation files. There is some very limited support for DICOM. NiBabel is the successor of PyNIfTI.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('Pillow', '8.3.2'), + ('pydicom', '2.2.2'), +] + +use_pip = True + +exts_list = [ + ('bz2file', '0.98', { + 'checksums': ['64c1f811e31556ba9931953c8ec7b397488726c63e09a4c67004f43bdd28da88'], + }), + ('nibabel', version, { + 'checksums': ['b0dcc174b30405ce9e8fec1eab3cbbb20f5c5e4920976c08b22e050b7c124f94'], + }), +] + +fix_python_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': ['bin/nib-dicomfs', 'bin/nib-diff', 'bin/nib-ls', 'bin/nib-nifti-dx', 'bin/parrec2nii'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "nib-diff --help", + "parrec2nii --help", +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.5.7-foss-2021b.eb b/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.5.7-foss-2021b.eb new file mode 100644 index 00000000000..a0fca42084e --- /dev/null +++ b/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.5.7-foss-2021b.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonBundle' + +name = 'netcdf4-python' +version = '1.5.7' + +homepage = 'https://unidata.github.io/netcdf4-python/' +description = """Python/numpy interface to netCDF.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'usempi': True} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('netCDF', '4.8.1'), + ('cURL', '7.78.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('cftime', '1.5.0', { + 'checksums': ['b644bcb53346b6f4fe2fcc9f3b574740a2097637492dcca29632c817e0604f29'], + }), + (name, version, { + 'patches': ['netcdf4-python-1.1.8-avoid-diskless-test.patch'], + 'source_tmpl': 'netCDF4-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/n/netCDF4'], + 'checksums': [ + 'd145f9c12da29da3922d8b8aafea2a2a89501bcb28a219a46b7b828b57191594', # netCDF4-1.5.7.tar.gz + # netcdf4-python-1.1.8-avoid-diskless-test.patch + 'a8b262fa201d55f59015e1bc14466c1d113f807543bc1e05a22481ab0d216d72', + ], + }), +] + +fix_python_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': ['bin/nc3tonc4', 'bin/nc4tonc3', 'bin/ncinfo'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "nc4tonc3 --help", + "nc3tonc4 --help", + "ncinfo --help", +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/networkx/networkx-2.5-intelcuda-2020b.eb b/easybuild/easyconfigs/n/networkx/networkx-2.5-intelcuda-2020b.eb new file mode 100644 index 00000000000..d6967a10d78 --- /dev/null +++ b/easybuild/easyconfigs/n/networkx/networkx-2.5-intelcuda-2020b.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'networkx' +version = '2.5' + +homepage = 'https://pypi.python.org/pypi/networkx' +description = """NetworkX is a Python package for the creation, manipulation, +and study of the structure, dynamics, and functions of complex networks.""" + +toolchain = {'name': 'intelcuda', 'version': '2020b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['7978955423fbc9639c10498878be59caf99b44dc304c2286162fd24b458c1602'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), # required for numpy, scipy, ... +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/numba/numba-0.54.1-intel-2021b.eb b/easybuild/easyconfigs/n/numba/numba-0.54.1-intel-2021b.eb new file mode 100644 index 00000000000..81adc9acf49 --- /dev/null +++ b/easybuild/easyconfigs/n/numba/numba-0.54.1-intel-2021b.eb @@ -0,0 +1,58 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'PythonBundle' + +name = 'numba' +version = '0.54.1' + +homepage = 'https://numba.pydata.org/' +description = """Numba is an Open Source NumPy-aware optimizing compiler for +Python sponsored by Continuum Analytics, Inc. It uses the remarkable LLVM +compiler infrastructure to compile Python syntax to machine code.""" + +toolchain = {'name': 'intel', 'version': '2021b'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('LLVM', '12.0.1'), +] + +use_pip = True +sanity_pip_check = True + +local_llvmlite_preinstallopts = "export LLVM_CONFIG=${EBROOTLLVM}/bin/llvm-config && " +local_llvmlite_preinstallopts += "export LLVMLITE_SKIP_LLVM_VERSION_CHECK=1 && " + +exts_list = [ + ('llvmlite', '0.37.0', { + 'patches': ['llvmlite-0.37.0_fix-LLVM-12.patch'], + 'preinstallopts': local_llvmlite_preinstallopts, + 'checksums': [ + '6392b870cd018ec0c645d6bbb918d6aa0eeca8c62674baaee30862d6b6865b15', # llvmlite-0.37.0.tar.gz + 'bcdc530cfd087e8a9f68a73a80fe73f12c7b2adfdb51ded70cd2f4c404846298', # llvmlite-0.37.0_fix-LLVM-12.patch + ], + }), + (name, version, { + 'patches': ['numba-0.54.1_fix-numpy-1.21.patch'], + 'checksums': [ + 'f9dfc803c864edcc2381219b800abf366793400aea55e26d4d5b7d953e14f43f', # numba-0.54.1.tar.gz + 'f038e7adf0cd60f6bdde219b326aad4224fef46515799578ebbbdffa73224199', # numba-0.54.1_fix-numpy-1.21.patch + ], + }), +] + +fix_python_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': ['bin/numba', 'bin/pycc'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "python -m llvmlite.tests", + "numba --help", +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/n/numexpr/numexpr-2.8.1-foss-2021a.eb b/easybuild/easyconfigs/n/numexpr/numexpr-2.8.1-foss-2021a.eb new file mode 100644 index 00000000000..bfe69543210 --- /dev/null +++ b/easybuild/easyconfigs/n/numexpr/numexpr-2.8.1-foss-2021a.eb @@ -0,0 +1,21 @@ +name = 'numexpr' +version = '2.8.1' + +homepage = 'https://numexpr.readthedocs.io/en/latest/' +description = """The numexpr package evaluates multiple-operator array expressions many times faster than NumPy can. + It accepts the expression as a string, analyzes it, rewrites it more efficiently, and compiles it on the fly into + code for its internal virtual machine (VM). Due to its integrated just-in-time (JIT) compiler, it does not require a + compiler at runtime.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/pydata/numexpr/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a416a869f4e6a488af7cd876a326fb82f892b23570b68eecff8135c4a39dd161'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/numexpr/numexpr-2.8.1-intel-2021a.eb b/easybuild/easyconfigs/n/numexpr/numexpr-2.8.1-intel-2021a.eb new file mode 100644 index 00000000000..8b60eb67fde --- /dev/null +++ b/easybuild/easyconfigs/n/numexpr/numexpr-2.8.1-intel-2021a.eb @@ -0,0 +1,21 @@ +name = 'numexpr' +version = '2.8.1' + +homepage = 'https://numexpr.readthedocs.io/en/latest/' +description = """The numexpr package evaluates multiple-operator array expressions many times faster than NumPy can. + It accepts the expression as a string, analyzes it, rewrites it more efficiently, and compiles it on the fly into + code for its internal virtual machine (VM). Due to its integrated just-in-time (JIT) compiler, it does not require a + compiler at runtime.""" + +toolchain = {'name': 'intel', 'version': '2021a'} + +source_urls = ['https://github.com/pydata/numexpr/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a416a869f4e6a488af7cd876a326fb82f892b23570b68eecff8135c4a39dd161'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/o/ONNX-Runtime/ONNX-Runtime-1.10.0-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/o/ONNX-Runtime/ONNX-Runtime-1.10.0-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..02d864af126 --- /dev/null +++ b/easybuild/easyconfigs/o/ONNX-Runtime/ONNX-Runtime-1.10.0-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,58 @@ +easyblock = 'PythonPackage' + +name = 'ONNX-Runtime' +version = '1.10.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://onnxruntime.ai/' +description = """ONNX Runtime inference can enable faster customer experiences and lower costs, +supporting models from deep learning frameworks such as PyTorch and +TensorFlow/Keras as well as classical machine learning libraries such as +scikit-learn, LightGBM, XGBoost, etc. ONNX Runtime is compatible with different +hardware, drivers, and operating systems, and provides optimal performance by +leveraging hardware accelerators where applicable alongside graph optimizations +and transforms.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +# ONNX Runtime with support for GPUs is distributed under the name 'onnxruntime-gpu' in PyPI +source_urls = ['http://pypi.python.org/packages/source/o/onnxruntime-gpu'] +local_whl_tmpl = 'onnxruntime_gpu-%%(version)s-cp39-cp39-manylinux_2_17_%s.manylinux2014_%s.whl' +sources = [local_whl_tmpl % ('%(arch)s', '%(arch)s')] +checksums = [ + { + local_whl_tmpl % ('x86_64', 'x86_64'): + '2ffe8009eef07307a836e654a8449c177c0ef84ef29c4619d464d5ad8ab2d01b', + } +] + +dependencies = [ + ('CUDA', '11.3.1', '', True), + ('Python', '3.9.5'), + ('ONNX', '1.11.0'), + ('flatbuffers-python', '2.0'), +] + +use_pip = True +download_dep_fail = True + +# Due to its name 'onnxruntime-gpu', this package does not fullfil requirements on 'onnxruntime' although it provides +# the 'onnxruntime' python module. Fix this dependency issue in pip by creating a stub 'onnxruntime' dist-info folder +_py_sitepkgs = '%(installdir)s/lib/python%(pyshortver)s/site-packages' +postinstallcmds = [ + "cp -r %s/onnxruntime{_gpu,}-%%(version)s.dist-info" % _py_sitepkgs, + "sed -i 's/onnxruntime.gpu/onnxruntime/g' %s/onnxruntime-%%(version)s.dist-info/{METADATA,RECORD}" % _py_sitepkgs, +] + +sanity_pip_check = True + +_py_sitepkgs_dirs = ['onnxruntime', 'onnxruntime-%(version)s.dist-info', 'onnxruntime_gpu-%(version)s.dist-info'] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%%(pyshortver)s/site-packages/%s' % x for x in _py_sitepkgs_dirs], +} + +options = {'modulename': 'onnxruntime'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/o/ONNX-Runtime/ONNX-Runtime-1.10.0-foss-2021a.eb b/easybuild/easyconfigs/o/ONNX-Runtime/ONNX-Runtime-1.10.0-foss-2021a.eb new file mode 100644 index 00000000000..b7a7262b898 --- /dev/null +++ b/easybuild/easyconfigs/o/ONNX-Runtime/ONNX-Runtime-1.10.0-foss-2021a.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonPackage' + +name = 'ONNX-Runtime' +version = '1.10.0' + +homepage = 'https://onnxruntime.ai/' +description = """ONNX Runtime inference can enable faster customer experiences and lower costs, +supporting models from deep learning frameworks such as PyTorch and +TensorFlow/Keras as well as classical machine learning libraries such as +scikit-learn, LightGBM, XGBoost, etc. ONNX Runtime is compatible with different +hardware, drivers, and operating systems, and provides optimal performance by +leveraging hardware accelerators where applicable alongside graph optimizations +and transforms.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['http://pypi.python.org/packages/source/o/onnxruntime'] +local_whl_tmpl = 'onnxruntime-%%(version)s-cp39-cp39-manylinux_2_17_%s.manylinux2014_%s.whl' +sources = [local_whl_tmpl % ('%(arch)s', '%(arch)s')] +checksums = [ + { + local_whl_tmpl % ('x86_64', 'x86_64'): + '34cfb07a8af91b3b7f82ad9db8f6dce67f0bd672cdaf659d0fd86aaba7a021d9', + local_whl_tmpl % ('aarch64', 'aarch64'): + 'd5b0d3cf319c038b9f4479235dcf842d959f1248be48953f478822ac48a60617', + } +] + +dependencies = [ + ('Python', '3.9.5'), + ('ONNX', '1.11.0'), + ('flatbuffers-python', '2.0'), +] + +use_pip = True +download_dep_fail = True + +sanity_pip_check = True + +options = {'modulename': 'onnxruntime'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/o/ONNX/ONNX-1.11.0-foss-2021a.eb b/easybuild/easyconfigs/o/ONNX/ONNX-1.11.0-foss-2021a.eb new file mode 100644 index 00000000000..c5287349a46 --- /dev/null +++ b/easybuild/easyconfigs/o/ONNX/ONNX-1.11.0-foss-2021a.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonPackage' + +name = 'ONNX' +version = '1.11.0' + +homepage = 'https://onnx.ai/' +description = """ +Open Neural Network Exchange (ONNX) is an open ecosystem that empowers AI +developers to choose the right tools as their project evolves. ONNX provides an +open source format for AI models, both deep learning and traditional ML. It +defines an extensible computation graph model, as well as definitions of +built-in operators and standard data types. Currently we focus on the +capabilities needed for inferencing (scoring).""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['eca224c7c2c8ee4072a0743e4898a84a9bdf8297b5e5910a2632e4c4182ffb2a'] + +builddependencies = [ + ('CMake', '3.20.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('protobuf-python', '3.17.3'), + ('typing-extensions', '3.10.0.0'), +] + +use_pip = True +download_dep_fail = True + +preinstallopts = 'env MAX_JOBS="%(parallel)s"' + +sanity_check_paths = { + 'files': ['bin/check-model', 'bin/check-node', 'bin/backend-test-tools'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + ('check-model', '-h'), + ('check-node', '-h'), + ('backend-test-tools', '-h'), +] + +sanity_pip_check = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-5.0.3-gompi-2021b.eb b/easybuild/easyconfigs/o/ORCA/ORCA-5.0.3-gompi-2021b.eb new file mode 100644 index 00000000000..e296dc5c54d --- /dev/null +++ b/easybuild/easyconfigs/o/ORCA/ORCA-5.0.3-gompi-2021b.eb @@ -0,0 +1,23 @@ +name = 'ORCA' +version = '5.0.3' + +homepage = 'https://orcaforum.kofo.mpg.de' +description = """ +ORCA is a flexible, efficient and easy-to-use general purpose tool for quantum +chemistry with specific emphasis on spectroscopic properties of open-shell +molecules. It features a wide variety of standard quantum chemical methods +ranging from semiempirical methods to DFT to single- and multireference +correlated ab initio methods. It can also treat environmental and relativistic +effects.""" + +toolchain = {'name': 'gompi', 'version': '2021b'} + +# Shared build of ORCA: download from https://orcaforum.kofo.mpg.de +# mostly dynamically linked (SCALAPACK, OpenBLAS are still embedded) +sources = ['%%(namelower)s_%s_linux_%%(orcaarch)s_shared_openmpi411.tar.xz' % version.replace('.', '_')] +checksums = [ + # orca_5_0_3_linux_x86-64_shared_openmpi411.tar.xz + 'b8b9076d1711150a6d6cb3eb30b18e2782fa847c5a86d8404b9339faef105043', +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.2-gompi-2019a.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.2-gompi-2019a.eb index ea96854672c..f8edcf8d961 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.2-gompi-2019a.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.2-gompi-2019a.eb @@ -7,13 +7,12 @@ homepage = 'http://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'gompi', 'version': '2019a'} +toolchainopts = {'usempi': True} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['2ecb90abd85398786823c0716d92448d7094657d3f017c65d270ffe39afc7b95'] -configopts = 'CC="$MPICC" CXX="$MPICC"' - local_benchmark_dirs = [ 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] ] diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompi-2019b.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompi-2019b.eb index 46eea2ef0b0..317d649b572 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompi-2019b.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompi-2019b.eb @@ -7,13 +7,12 @@ homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'gompi', 'version': '2019b'} +toolchainopts = {'usempi': True} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['c5eaa8c5b086bde8514fa4cac345d66b397e02283bc06e44cb6402268a60aeb8'] -configopts = 'CC="$MPICC" CXX="$MPICC"' - local_benchmark_dirs = [ 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] ] diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompi-2020a.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompi-2020a.eb index 4ad894f72b0..41bb5469e0f 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompi-2020a.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompi-2020a.eb @@ -7,13 +7,12 @@ homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'gompi', 'version': '2020a'} +toolchainopts = {'usempi': True} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['c5eaa8c5b086bde8514fa4cac345d66b397e02283bc06e44cb6402268a60aeb8'] -configopts = 'CC="$MPICC" CXX="$MPICC"' - local_benchmark_dirs = [ 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] ] diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompi-2020b.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompi-2020b.eb index 739dde4021e..d97ead0d861 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompi-2020b.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompi-2020b.eb @@ -7,13 +7,12 @@ homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'gompi', 'version': '2020b'} +toolchainopts = {'usempi': True} source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['c5eaa8c5b086bde8514fa4cac345d66b397e02283bc06e44cb6402268a60aeb8'] -configopts = 'CC="$MPICC" CXX="$MPICC"' - local_benchmark_dirs = [ 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] ] diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompic-2019b.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompic-2019b.eb index b3a19557826..174583a81d4 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompic-2019b.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompic-2019b.eb @@ -7,13 +7,13 @@ homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'gompic', 'version': '2019b'} +toolchainopts = {'usempi': True} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['c5eaa8c5b086bde8514fa4cac345d66b397e02283bc06e44cb6402268a60aeb8'] -configopts = 'CC="$MPICC" CXX="$MPICC"' -configopts += ' --enable-cuda --with-cuda=$EBROOTCUDA' +configopts = ' --enable-cuda --with-cuda=$EBROOTCUDA' local_benchmark_dirs = [ 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompic-2020a.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompic-2020a.eb index 119a307b011..97a07efe746 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompic-2020a.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompic-2020a.eb @@ -7,13 +7,13 @@ homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'gompic', 'version': '2020a'} +toolchainopts = {'usempi': True} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['c5eaa8c5b086bde8514fa4cac345d66b397e02283bc06e44cb6402268a60aeb8'] -configopts = 'CC="$MPICC" CXX="$MPICC"' -configopts += ' --enable-cuda --with-cuda=$EBROOTCUDA' +configopts = ' --enable-cuda --with-cuda=$EBROOTCUDA' local_benchmark_dirs = [ 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2019a.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2019a.eb index d4c91ad814c..2edf60ebfeb 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2019a.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2019a.eb @@ -7,13 +7,12 @@ homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'iimpi', 'version': '2019a'} +toolchainopts = {'usempi': True} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['c5eaa8c5b086bde8514fa4cac345d66b397e02283bc06e44cb6402268a60aeb8'] -configopts = 'CC="$MPICC" CXX="$MPICC"' - local_benchmark_dirs = [ 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] ] diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2019b.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2019b.eb index a35cd292de5..1c4d066007a 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2019b.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2019b.eb @@ -7,13 +7,12 @@ homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'iimpi', 'version': '2019b'} +toolchainopts = {'usempi': True} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['c5eaa8c5b086bde8514fa4cac345d66b397e02283bc06e44cb6402268a60aeb8'] -configopts = 'CC="$MPICC" CXX="$MPICC"' - local_benchmark_dirs = [ 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] ] diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2020a.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2020a.eb index 347f1df9943..3583eab1477 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2020a.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2020a.eb @@ -7,13 +7,12 @@ homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'iimpi', 'version': '2020a'} +toolchainopts = {'usempi': True} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['c5eaa8c5b086bde8514fa4cac345d66b397e02283bc06e44cb6402268a60aeb8'] -configopts = 'CC="$MPICC" CXX="$MPICC"' - local_benchmark_dirs = [ 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] ] diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2020b.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2020b.eb index 94f086b13d2..270c18b7eb9 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2020b.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2020b.eb @@ -7,13 +7,12 @@ homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'iimpi', 'version': '2020b'} +toolchainopts = {'usempi': True} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['c5eaa8c5b086bde8514fa4cac345d66b397e02283bc06e44cb6402268a60aeb8'] -configopts = 'CC="$MPICC" CXX="$MPICC"' - local_benchmark_dirs = [ 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] ] diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpic-2019b.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpic-2019b.eb index 6d403d0fb27..08a01456932 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpic-2019b.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpic-2019b.eb @@ -7,13 +7,13 @@ homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'iimpic', 'version': '2019b'} +toolchainopts = {'usempi': True} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['c5eaa8c5b086bde8514fa4cac345d66b397e02283bc06e44cb6402268a60aeb8'] -configopts = 'CC="$MPICC" CXX="$MPICC"' -configopts += ' --enable-cuda --with-cuda=$EBROOTCUDA' +configopts = ' --enable-cuda --with-cuda=$EBROOTCUDA' local_benchmark_dirs = [ 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpic-2020a.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpic-2020a.eb index 6145c20ceb8..ec8aaa2a8b9 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpic-2020a.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpic-2020a.eb @@ -7,13 +7,13 @@ homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'iimpic', 'version': '2020a'} +toolchainopts = {'usempi': True} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['c5eaa8c5b086bde8514fa4cac345d66b397e02283bc06e44cb6402268a60aeb8'] -configopts = 'CC="$MPICC" CXX="$MPICC"' -configopts += ' --enable-cuda --with-cuda=$EBROOTCUDA' +configopts = ' --enable-cuda --with-cuda=$EBROOTCUDA' local_benchmark_dirs = [ 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7-gompi-2020b.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7-gompi-2020b.eb index 7df7a5b835e..8d4a54aa057 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7-gompi-2020b.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7-gompi-2020b.eb @@ -10,13 +10,12 @@ homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'gompi', 'version': '2020b'} +toolchainopts = {'usempi': True} source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['1470ebe00eb6ca7f160b2c1efda57ca0fb26b5c4c61148a3f17e8e79fbf34590'] -configopts = 'CC="$MPICC" CXX="$MPICC"' - local_benchmark_dirs = [ 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] ] diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7-gompic-2020b.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7-gompic-2020b.eb index 1dd7a5a6e62..90d4b73806e 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7-gompic-2020b.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7-gompic-2020b.eb @@ -10,13 +10,13 @@ homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'gompic', 'version': '2020b'} +toolchainopts = {'usempi': True} source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['1470ebe00eb6ca7f160b2c1efda57ca0fb26b5c4c61148a3f17e8e79fbf34590'] -configopts = 'CC="$MPICC" CXX="$MPICC"' -configopts += ' --enable-cuda --with-cuda=$EBROOTCUDA' +configopts = ' --enable-cuda --with-cuda=$EBROOTCUDA' local_benchmark_dirs = [ 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7-iimpi-2020b.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7-iimpi-2020b.eb index a1e5881a089..fed81295849 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7-iimpi-2020b.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7-iimpi-2020b.eb @@ -10,13 +10,12 @@ homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'iimpi', 'version': '2020b'} +toolchainopts = {'usempi': True} source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['1470ebe00eb6ca7f160b2c1efda57ca0fb26b5c4c61148a3f17e8e79fbf34590'] -configopts = 'CC="$MPICC" CXX="$MPICC"' - local_benchmark_dirs = [ 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] ] diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7.1-gompi-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7.1-gompi-2021a-CUDA-11.3.1.eb index 457f9974cbc..81a663791de 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7.1-gompi-2021a-CUDA-11.3.1.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7.1-gompi-2021a-CUDA-11.3.1.eb @@ -8,6 +8,7 @@ homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'gompi', 'version': '2021a'} +toolchainopts = {'usempi': True} source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TGZ] @@ -18,8 +19,7 @@ dependencies = [ ('UCX-CUDA', '1.10.0', versionsuffix), ] -configopts = 'CC="$MPICC" CXX="$MPICC"' -configopts += ' --enable-cuda --with-cuda=$EBROOTCUDA' +configopts = ' --enable-cuda --with-cuda=$EBROOTCUDA' local_benchmark_dirs = [ 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] diff --git a/easybuild/easyconfigs/o/OpenAI-Gym/OpenAI-Gym-0.21.0-foss-2021b.eb b/easybuild/easyconfigs/o/OpenAI-Gym/OpenAI-Gym-0.21.0-foss-2021b.eb new file mode 100644 index 00000000000..5f13ddc0462 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenAI-Gym/OpenAI-Gym-0.21.0-foss-2021b.eb @@ -0,0 +1,54 @@ +easyblock = 'PythonBundle' + +name = 'OpenAI-Gym' +version = '0.21.0' + +homepage = 'https://gym.openai.com' +description = "A toolkit for developing and comparing reinforcement learning algorithms." + +toolchain = {'name': 'foss', 'version': '2021b'} + +builddependencies = [ + ('CMake', '3.21.1'), + ('SWIG', '4.0.2'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('Arcade-Learning-Environment', '0.7.3'), + ('mujoco-py', '2.1.2.14'), + ('OpenCV', '4.5.5', '-contrib'), + ('lz4', '1.9.3'), +] + +use_pip = True + +exts_list = [ + ('cloudpickle', '2.0.0', { + 'checksums': ['5cd02f3b417a783ba84a4ec3e290ff7929009fe51f6405423cfccfadd43ba4a4'], + }), + ('pyglet', '1.5.21', { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/pyglet/pyglet/archive'], + 'checksums': ['7a6fa81e0bffa3bd1349e235e4824e44e26596f226cb60d9f653fe3a8a8d0839'], + }), + ('box2d-py', '2.3.5', { + 'modulename': 'Box2D', + 'checksums': ['b37dc38844bcd7def48a97111d2b082e4f81cca3cece7460feb3eacda0da2207'], + }), + ('lz4', '3.1.10', { + 'checksums': ['439e575ecfa9ecffcbd63cfed99baefbe422ab9645b1e82278024d8a21d9720b'], + }), + ('gym', version, { + 'checksums': ['0fd1ce165c754b4017e37a617b097c032b8c3feb8a0394ccc8777c7c50dddff3'], + 'use_pip_extras': 'all', + }), +] + +local_envs = ['box2d', 'classic_control', 'mujoco', 'robotics', 'toy_text'] +sanity_check_commands = ["python -c 'import gym.envs.%s'" % e for e in local_envs] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20-GCC-11.2.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20-GCC-11.2.0.eb new file mode 100644 index 00000000000..938962705a6 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20-GCC-11.2.0.eb @@ -0,0 +1,28 @@ +name = 'OpenBLAS' +version = '0.3.20' + +homepage = 'http://www.openblas.net/' +description = "OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version." + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = [ + # order matters, trying to download the large.tgz/timing.tgz LAPACK tarballs from GitHub causes trouble + 'https://www.netlib.org/lapack/timing/', + 'https://github.com/xianyi/OpenBLAS/archive/', +] +sources = ['v%(version)s.tar.gz'] +patches = [ + ('large.tgz', '.'), + ('timing.tgz', '.'), +] +checksums = [ + '8495c9affc536253648e942908e88e097f2ec7753ede55aca52e5dead3029e3c', # v0.3.20.tar.gz + 'f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1', # large.tgz + '999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af', # timing.tgz +] + +# extensive testing can be enabled by uncommenting the line below +# runtest = 'PATH=.:$PATH lapack-timing' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/o/Optuna/Optuna-2.10.0-foss-2021b.eb b/easybuild/easyconfigs/o/Optuna/Optuna-2.10.0-foss-2021b.eb new file mode 100644 index 00000000000..2190e6f6068 --- /dev/null +++ b/easybuild/easyconfigs/o/Optuna/Optuna-2.10.0-foss-2021b.eb @@ -0,0 +1,88 @@ +easyblock = 'PythonBundle' + +name = 'Optuna' +version = '2.10.0' + +homepage = "https://optuna.org/" +description = """Optuna is an automatic hyperparameter optimization software framework, +particularly designed for machine learning. It features an imperative, +define-by-run style user API. Thanks to our define-by-run API, the code written +with Optuna enjoys high modularity, and the user of Optuna can dynamically +construct the search spaces for the hyperparameters.""" + + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('PyYAML', '5.4.1'), + ('SciPy-bundle', '2021.10'), + ('tqdm', '4.62.3'), + ('matplotlib', '3.4.3'), # optional + ('plotly.py', '5.4.0'), # optional + ('Redis', '6.2.6'), # optional, needed by redis-py + ('scikit-learn', '1.0.1'), # optional +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('Mako', '1.1.6', { + 'checksums': ['4e9e345a41924a954251b95b4b28e14a301145b544901332e658907a7464b6b2'], + }), + ('alembic', '1.7.5', { + 'checksums': ['7c328694a2e68f03ee971e63c3bd885846470373a5b532cf2c9f1601c413b153'], + }), + ('autopage', '0.5.0', { + 'checksums': ['5305b43cc0798170d7124e5a2feecf969e45f4a0baf75cb351138114eaf76b83'], + }), + ('pyperclip', '1.8.2', { + 'checksums': ['105254a8b04934f0bc84e9c24eb360a591aaf6535c9def5f29d92af107a9bf57'], + }), + ('cmd2', '2.3.3', { + 'checksums': ['750d7eb04d55c3bc2a413e191bc177856f388102de47d11f2210a35266543640'], + }), + ('prettytable', '3.1.1', { + 'checksums': ['43c9e23272ca253d038ae76fe3adde89794e92e7fcab2ddf5b94b38642ef4f21'], + }), + ('stevedore', '3.5.0', { + 'checksums': ['f40253887d8712eaa2bb0ea3830374416736dc8ec0e22f5a65092c1174c44335'], + }), + ('cliff', '3.10.0', { + 'checksums': ['c68aac08d0d25853234a38fdbf1f33503849af3d5d677a4d0aacd42b0be6a4a1'], + }), + ('cmaes', '0.8.2', { + 'checksums': ['1c04ba23ded925ef13b96f42cfbd667a905ea5b80754c750e6448b9fcda96a5d'], + }), + ('colorlog', '6.6.0', { + 'checksums': ['344f73204009e4c83c5b6beb00b3c45dc70fcdae3c80db919e0a4171d006fde8'], + }), + ('greenlet', '1.1.2', { + 'checksums': ['e30f5ea4ae2346e62cedde8794a56858a67b878dd79f7df76a0767e356b1744a'], + }), + ('SQLAlchemy', '1.4.31', { + 'checksums': ['582b59d1e5780a447aada22b461e50b404a9dc05768da1d87368ad8190468418'], + }), + ('wrapt', '1.13.3', { + 'checksums': ['1fea9cd438686e6682271d36f3481a9f3636195578bab9ca3382e2f5f01fc185'], + }), + ('Deprecated', '1.2.13', { + 'checksums': ['43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d'], + }), + ('redis', '4.1.1', { + 'checksums': ['07420a3fbedd8e012c31d4fadac943fb81568946da202c5a5bc237774e5280a0'], + }), + ('optuna', version, { + 'use_pip_extras': 'optional', + 'checksums': ['04c3100a4fe88a71dc72f69d8a10ec9db7c9a0c884feaf932b68632b00686a8d'], + }), +] + +sanity_check_paths = { + 'files': ['bin/optuna'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} +sanity_check_commands = [('optuna', '--help')] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/o/Optuna/Optuna-2.9.1-foss-2021a.eb b/easybuild/easyconfigs/o/Optuna/Optuna-2.9.1-foss-2021a.eb new file mode 100644 index 00000000000..10c656e4ab9 --- /dev/null +++ b/easybuild/easyconfigs/o/Optuna/Optuna-2.9.1-foss-2021a.eb @@ -0,0 +1,86 @@ +easyblock = 'PythonBundle' + +name = 'Optuna' +version = '2.9.1' + +homepage = "https://optuna.org/" +description = """Optuna is an automatic hyperparameter optimization software framework, +particularly designed for machine learning. It features an imperative, +define-by-run style user API. Thanks to our define-by-run API, the code written +with Optuna enjoys high modularity, and the user of Optuna can dynamically +construct the search spaces for the hyperparameters.""" + + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('PyYAML', '5.4.1'), + ('SciPy-bundle', '2021.05'), + ('tqdm', '4.61.2'), + ('matplotlib', '3.4.2'), # optional + ('plotly.py', '5.1.0'), # optional + ('Redis', '6.2.6'), # optional, needed by redis-py + ('scikit-learn', '0.24.2'), # optional +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('python-editor', '1.0.4', { + 'modulename': 'editor', + 'checksums': ['51fda6bcc5ddbbb7063b2af7509e43bd84bfc32a4ff71349ec7847713882327b'], + }), + ('Mako', '1.1.5', { + 'checksums': ['169fa52af22a91900d852e937400e79f535496191c63712e3b9fda5a9bed6fc3'], + }), + ('alembic', '1.6.5', { + 'checksums': ['a21fedebb3fb8f6bbbba51a11114f08c78709377051384c9c5ead5705ee93a51'], + }), + ('autopage', '0.4.0', { + 'checksums': ['18f511d8ef2e4d3cc22a986d345eab0e03f95b9fa80b74ca63b7fb001551dc42'], + }), + ('pyperclip', '1.8.2', { + 'checksums': ['105254a8b04934f0bc84e9c24eb360a591aaf6535c9def5f29d92af107a9bf57'], + }), + ('cmd2', '2.2.0', { + 'checksums': ['34cd12424d9e2835eff125146af3d9f4a4c2931c6bc5a3cea9790bd4f55756d9'], + }), + ('prettytable', '2.2.1', { + 'checksums': ['6d465005573a5c058d4ca343449a5b28c21252b86afcdfa168cdc6a440f0b24c'], + }), + ('stevedore', '3.4.0', { + 'checksums': ['59b58edb7f57b11897f150475e7bc0c39c5381f0b8e3fa9f5c20ce6c89ec4aa1'], + }), + ('cliff', '3.9.0', { + 'checksums': ['95363e9b43e2ec9599e33b5aea27a6953beda2d0673557916fa4f5796857daa3'], + }), + ('cmaes', '0.8.2', { + 'checksums': ['1c04ba23ded925ef13b96f42cfbd667a905ea5b80754c750e6448b9fcda96a5d'], + }), + ('colorlog', '6.5.0', { + 'checksums': ['cf62a8e389d5660d0d22be17937b25b9abef9497ddc940197d1773aa1f604339'], + }), + ('greenlet', '1.1.2', { + 'checksums': ['e30f5ea4ae2346e62cedde8794a56858a67b878dd79f7df76a0767e356b1744a'], + }), + ('SQLAlchemy', '1.4.26', { + 'checksums': ['6bc7f9d7d90ef55e8c6db1308a8619cd8f40e24a34f759119b95e7284dca351a'], + }), + ('redis', '3.5.3', { + 'checksums': ['0e7e0cfca8660dea8b7d5cd8c4f6c5e29e11f31158c0b0ae91a397f00e5a05a2'], + }), + ('optuna', version, { + 'use_pip_extras': 'optional', + 'checksums': ['bea30e2d43f306297bfb1e2b94fb426024b2df0a7bf554c51d1d401d05025224'], + }), +] + +sanity_check_paths = { + 'files': ['bin/optuna'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} +sanity_check_commands = [('optuna', '--help')] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/o/ont-fast5-api/ont-fast5-api-4.0.0-foss-2021a.eb b/easybuild/easyconfigs/o/ont-fast5-api/ont-fast5-api-4.0.0-foss-2021a.eb new file mode 100644 index 00000000000..4c888b407ac --- /dev/null +++ b/easybuild/easyconfigs/o/ont-fast5-api/ont-fast5-api-4.0.0-foss-2021a.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'ont-fast5-api' +version = '4.0.0' + +homepage = 'https://github.com/nanoporetech/ont_fast5_api' +description = "ont_fast5_api is a simple interface to HDF5 files of the Oxford Nanopore .fast5 file format." + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('h5py', '3.2.1'), +] + +use_pip = True + +exts_list = [ + ('progressbar33', '2.4', { + 'modulename': 'progressbar', + 'checksums': ['51fe0d9b3b4023db2f983eeccdfc8c9846b84db8443b9bee002c7f58f4376eff'], + }), + (name, version, { + 'checksums': ['a249813104439bfe3d4e346bb560756e23217655273410c60b9bade205eb3e66'], + }), +] + +sanity_check_paths = { + 'files': ['bin/compress_fast5', 'bin/fast5_subset', 'bin/multi_to_single_fast5', 'bin/single_to_multi_fast5'], + 'dirs': [''], +} + +sanity_check_commands = [ + "compress_fast5 --help", + "fast5_subset --help", + "multi_to_single_fast5 --help", + "single_to_multi_fast5 --help", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/ont-fast5-api/ont-fast5-api-4.0.2-foss-2021a.eb b/easybuild/easyconfigs/o/ont-fast5-api/ont-fast5-api-4.0.2-foss-2021a.eb new file mode 100644 index 00000000000..00508eb3a91 --- /dev/null +++ b/easybuild/easyconfigs/o/ont-fast5-api/ont-fast5-api-4.0.2-foss-2021a.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'ont-fast5-api' +version = '4.0.2' + +homepage = 'https://github.com/nanoporetech/ont_fast5_api' +description = "ont_fast5_api is a simple interface to HDF5 files of the Oxford Nanopore .fast5 file format." + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('h5py', '3.2.1'), +] + +use_pip = True + +exts_list = [ + ('progressbar33', '2.4', { + 'modulename': 'progressbar', + 'checksums': ['51fe0d9b3b4023db2f983eeccdfc8c9846b84db8443b9bee002c7f58f4376eff'], + }), + (name, version, { + 'checksums': ['452920ee9976e43cfa0abdee57ce918908050a8be590e5901a3ec1404e135fd6'], + }), +] + +sanity_check_paths = { + 'files': ['bin/compress_fast5', 'bin/fast5_subset', 'bin/multi_to_single_fast5', 'bin/single_to_multi_fast5'], + 'dirs': [''], +} + +sanity_check_commands = [ + "compress_fast5 --help", + "fast5_subset --help", + "multi_to_single_fast5 --help", + "single_to_multi_fast5 --help", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/ont-remora/ont-remora-0.1.2-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/o/ont-remora/ont-remora-0.1.2-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..c7f14efe011 --- /dev/null +++ b/easybuild/easyconfigs/o/ont-remora/ont-remora-0.1.2-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonBundle' + +name = 'ont-remora' +version = '0.1.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/nanoporetech/remora' +description = """Methylation/modified base calling separated from basecalling. Remora primarily +provides an API to call modified bases for basecaller programs such as Bonito. +Remora also provides the tools to prepare datasets, train modified base models +and run simple inference.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('CUDA', '11.3.1', '', True), + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('ONNX-Runtime', '1.10.0', versionsuffix), + ('PyTorch', '1.10.0', versionsuffix), + ('scikit-learn', '0.24.2'), + ('tqdm', '4.61.2'), +] + +use_pip = True + +exts_list = [ + ('thop', '0.0.31-2005241907', { + 'source_tmpl': 'thop-0.0.31.post2005241907-py3-none-any.whl', + 'checksums': ['86d67af12311b34905949eb91c8c38f92a707de72140c29a94110cc623e21ceb'], + }), + (name, version, { + 'modulename': 'remora', + 'checksums': ['4ada9994af88d9038ea04ebfbca7ab6de2a859cf2680bea25a11d82c20bb2d82'], + }), +] + +sanity_check_paths = { + 'files': ['bin/remora'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + ('remora', '--help'), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/ont-remora/ont-remora-0.1.2-foss-2021a.eb b/easybuild/easyconfigs/o/ont-remora/ont-remora-0.1.2-foss-2021a.eb new file mode 100644 index 00000000000..8e69f9bc1f8 --- /dev/null +++ b/easybuild/easyconfigs/o/ont-remora/ont-remora-0.1.2-foss-2021a.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'ont-remora' +version = '0.1.2' + +homepage = 'https://github.com/nanoporetech/remora' +description = """Methylation/modified base calling separated from basecalling. Remora primarily +provides an API to call modified bases for basecaller programs such as Bonito. +Remora also provides the tools to prepare datasets, train modified base models +and run simple inference.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('ONNX-Runtime', '1.10.0'), + ('PyTorch', '1.10.0'), + ('scikit-learn', '0.24.2'), + ('tqdm', '4.61.2'), +] + +use_pip = True + +exts_list = [ + ('thop', '0.0.31-2005241907', { + 'source_tmpl': 'thop-0.0.31.post2005241907-py3-none-any.whl', + 'checksums': ['86d67af12311b34905949eb91c8c38f92a707de72140c29a94110cc623e21ceb'], + }), + (name, version, { + 'modulename': 'remora', + 'checksums': ['4ada9994af88d9038ea04ebfbca7ab6de2a859cf2680bea25a11d82c20bb2d82'], + }), +] + +sanity_check_paths = { + 'files': ['bin/remora'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + ('remora', '--help'), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PIPITS/PIPITS-2.8-foss-2021a.eb b/easybuild/easyconfigs/p/PIPITS/PIPITS-2.8-foss-2021a.eb new file mode 100644 index 00000000000..0d9fdbabdc7 --- /dev/null +++ b/easybuild/easyconfigs/p/PIPITS/PIPITS-2.8-foss-2021a.eb @@ -0,0 +1,66 @@ +easyblock = 'PythonBundle' + +name = 'PIPITS' +version = '2.8' + +homepage = 'https://github.com/hsgweon/pipits' +description = """An automated pipeline for analyses of fungal internal transcribed spacer (ITS) sequences +from the Illumina sequencing platform.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('h5py', '3.2.1'), + ('VSEARCH', '2.21.1'), + ('FASTX-Toolkit', '0.0.14'), + ('ITSx', '1.1.3'), + ('HMMER', '3.3.2'), + ('RDP-Classifier', '2.13', '-Java-11', True), + ('SeqKit', '2.1.0', '', True), +] + +use_pip = True + +exts_list = [ + ('biom-format', '2.1.10', { + 'modulename': 'biom', + 'checksums': ['f5a277a8144f0b114606852c42f657b9cfde44b3cefa0b2638ab1c1d5e1d0488'], + }), + ('python-utils', '3.1.0', { + 'checksums': ['4dace6420c5f50d6509251fa0aee0e2a0b826bbc8a5d2a6d7e99dca80e78a7f3'], + }), + ('progressbar2', '4.0.0', { + 'modulename': 'progressbar', + 'checksums': ['14d3165a1781d053ffaa117daf27cc706128d2ec1d2977fdb05b6bb079888013'], + }), + ('pispino', '1.1', { + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/hsgweon/pispino/archive/'], + 'checksums': ['8fb2e1c0ae38ecca7c637de9c0b655eb18fc67d7838ceb5a6902555ea12416c0'], + }), + (name, version, { + 'patches': ['PIPITS-2.8_remove-conda-commands.patch'], + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/hsgweon/pipits/archive/'], + 'checksums': [ + '2ecc6fd901613bf9d4baec7c15e53ee89b2a2b817dbaa413c02d2dc484c5e5e2', # 2.8.tar.gz + # PIPITS-2.8_remove-conda-commands.patch + '47437c243d5a07d3a3548efc9706ca8bd83c883d1ef881c769d10ae7fa6fcbcd', + ], + }), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['pipits_funits', 'pipits_process', + 'pispino_createreadpairslist', + 'pispino_seqprep']], + 'dirs': [] +} + +sanity_check_commands = ['pipits_process --help'] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PIPITS/PIPITS-2.8_remove-conda-commands.patch b/easybuild/easyconfigs/p/PIPITS/PIPITS-2.8_remove-conda-commands.patch new file mode 100644 index 00000000000..f5931e55465 --- /dev/null +++ b/easybuild/easyconfigs/p/PIPITS/PIPITS-2.8_remove-conda-commands.patch @@ -0,0 +1,54 @@ +Some PIPITS scripts in the bin folder contain a hardcoded "conda list" commands. +This patch replaces those calls by "pip list". + +Furthermore, it replaces the call to a Conda wrapper script for launching +RDP-Classifier by the actual java command. + +Author: Bob Dröge (University of Groningen) + +--- pipits-2.8-orig/bin/pipits_funits 2022-02-17 11:38:57.000000000 +0100 ++++ pipits-2.8/bin/pipits_funits 2022-02-22 16:58:16.000000000 +0100 +@@ -102,7 +102,7 @@ + logger("", logging_file, display = True, timestamp = False) + + # Log versions +- cmd = " ".join(["conda list"]) ++ cmd = " ".join(["pip list"]) + run_cmd(cmd, version_file, False) + + # Start +--- pipits-2.8-orig/bin/pipits_process 2022-02-17 11:38:57.000000000 +0100 ++++ pipits-2.8/bin/pipits_process 2022-02-22 16:59:45.000000000 +0100 +@@ -152,7 +152,7 @@ + logger("", logging_file, display = True, timestamp = False) + + # Log versions +- cmd = " ".join(["conda list"]) ++ cmd = " ".join(["pip list"]) + run_cmd(cmd, version_file, False) + + # Environment variable - discontinued. +@@ -510,9 +510,10 @@ + + logger(ENDC + "Assigning taxonomy with UNITE [RDP Classifier]" + ENDC, logging_file, display = True) + PIPITS_UNITE_RETRAINED_PROPERTIES = "pipits_db/UNITE_retrained_" + options.unite + "/UNITE_retrained/rRNAClassifier.properties" +- cmd = " ".join(["classifier", ++ cmd = " ".join(["java", + "-Xms" + str(options.Xms), + "-Xmx" + str(options.Xmx), ++ "-jar $EBROOTRDPMINCLASSIFIER/dist/classifier.jar", + "classify", + "-t " + PIPITS_UNITE_RETRAINED_PROPERTIES, + "-o", options.outDir + "/assigned_taxonomy.txt", +@@ -598,9 +599,10 @@ + logger("Assigning taxonomy [RDP Classifier] - Warcup", logging_file, display = True) + PIPITS_WARCUP_RETRAINED_PROPERTIES = "pipits_db/warcup_retrained_V2/warcup_retrained_V2/rRNAClassifier.properties" + cmd = " ".join([ +- "classifier", ++ "java", + "-Xms" + str(options.Xms), + "-Xmx" + str(options.Xmx), ++ "-jar $EBROOTRDPMINCLASSIFIER/dist/classifier.jar", + "classify", + "-t " + PIPITS_WARCUP_RETRAINED_PROPERTIES, + "-o", options.outDir + "/assigned_taxonomy_warcup.txt", diff --git a/easybuild/easyconfigs/p/PLINK/PLINK-2.00a2.3-GCC-10.3.0.eb b/easybuild/easyconfigs/p/PLINK/PLINK-2.00a2.3-GCC-10.3.0.eb new file mode 100644 index 00000000000..ececd25887f --- /dev/null +++ b/easybuild/easyconfigs/p/PLINK/PLINK-2.00a2.3-GCC-10.3.0.eb @@ -0,0 +1,37 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'MakeCp' + +name = 'PLINK' +version = '2.00a2.3' + +homepage = 'https://www.cog-genomics.org/plink/2.0/' +description = 'Whole-genome association analysis toolset' + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/chrchang/plink-ng/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['4a9e9ff670967f9766bcd5571d028ed6c04bc8f07781eac1b95366748544df77'] + +dependencies = [ + ('FlexiBLAS', '3.0.4'), + ('libdeflate', '1.8'), + ('zstd', '1.4.9'), +] + +start_dir = '2.0' + +# ignore suggested Makefile in build_dynamic, the dev Makefile is better +buildopts = 'BLASFLAGS="-lflexiblas" BLASFLAGS64="-lflexiblas"' +buildopts += ' LDFLAGS="$LIBS -ldeflate -lz -lzstd" ZLIB="" CSRC="include/SFMT.c"' +buildopts += ' BASEFLAGS="$OPTFLAGS -DZSTD_MULTITHREAD"' + +files_to_copy = ['bin', (['include/*.h'], 'include'), 'LICENSE', 'ReadMe.md'] + +sanity_check_paths = { + 'files': ['bin/plink2', 'bin/pgen_compress'], + 'dirs': ['include'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PLINK/PLINK-2.00a2.3-GCC-11.2.0.eb b/easybuild/easyconfigs/p/PLINK/PLINK-2.00a2.3-GCC-11.2.0.eb new file mode 100644 index 00000000000..599b5b38230 --- /dev/null +++ b/easybuild/easyconfigs/p/PLINK/PLINK-2.00a2.3-GCC-11.2.0.eb @@ -0,0 +1,37 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'MakeCp' + +name = 'PLINK' +version = '2.00a2.3' + +homepage = 'https://www.cog-genomics.org/plink/2.0/' +description = 'Whole-genome association analysis toolset' + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/chrchang/plink-ng/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['4a9e9ff670967f9766bcd5571d028ed6c04bc8f07781eac1b95366748544df77'] + +dependencies = [ + ('FlexiBLAS', '3.0.4'), + ('libdeflate', '1.8'), + ('zstd', '1.5.0'), +] + +start_dir = '2.0' + +# ignore suggested Makefile in build_dynamic, the dev Makefile is better +buildopts = 'BLASFLAGS="-lflexiblas" BLASFLAGS64="-lflexiblas"' +buildopts += ' LDFLAGS="$LIBS -ldeflate -lz -lzstd" ZLIB="" CSRC="include/SFMT.c"' +buildopts += ' BASEFLAGS="$OPTFLAGS -DZSTD_MULTITHREAD"' + +files_to_copy = ['bin', (['include/*.h'], 'include'), 'LICENSE', 'ReadMe.md'] + +sanity_check_paths = { + 'files': ['bin/plink2', 'bin/pgen_compress'], + 'dirs': ['include'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.6.2-foss-2020b.eb b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.6.2-foss-2020b.eb index 3fb97d9ba7c..da1d6cc2774 100644 --- a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.6.2-foss-2020b.eb +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.6.2-foss-2020b.eb @@ -20,6 +20,10 @@ source_urls = ['https://github.com/plumed/plumed2/releases/download/v%(version)s sources = [SOURCE_TGZ] checksums = ['1ab3153db2010406852b30201ed94112e25eca4c4c8c4b41a29c22a7a3303f96'] +builddependencies = [ + ('xxd', '8.2.4220'), +] + dependencies = [ ('zlib', '1.2.11'), ('GSL', '2.6'), diff --git a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.6.2-intel-2020b.eb b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.6.2-intel-2020b.eb index 16200c8e59a..86b9edfe391 100644 --- a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.6.2-intel-2020b.eb +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.6.2-intel-2020b.eb @@ -20,6 +20,10 @@ source_urls = ['https://github.com/plumed/plumed2/releases/download/v%(version)s sources = [SOURCE_TGZ] checksums = ['1ab3153db2010406852b30201ed94112e25eca4c4c8c4b41a29c22a7a3303f96'] +builddependencies = [ + ('xxd', '8.2.4220'), +] + dependencies = [ ('zlib', '1.2.11'), ('GSL', '2.6'), diff --git a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.0-foss-2020b.eb b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.0-foss-2020b.eb index 05666961bc2..efbec7485f0 100644 --- a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.0-foss-2020b.eb +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.0-foss-2020b.eb @@ -18,6 +18,10 @@ source_urls = ['https://github.com/plumed/plumed2/releases/download/v%(version)s sources = [SOURCE_TGZ] checksums = ['b23399a3300ce3ae080e81263274ab8551e00217c3f37cb33cb7e37954fe8572'] +builddependencies = [ + ('xxd', '8.2.4220'), +] + dependencies = [ ('zlib', '1.2.11'), ('GSL', '2.6'), diff --git a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.2-foss-2021a.eb b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.2-foss-2021a.eb index ba5e629146f..886f07ba021 100644 --- a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.2-foss-2021a.eb +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.2-foss-2021a.eb @@ -18,6 +18,10 @@ source_urls = ['https://github.com/plumed/plumed2/releases/download/v%(version)s sources = [SOURCE_TGZ] checksums = ['6069bc134f74cb15dd63e27e3587a15a31a9ddd9e7eebdd717da898f31512645'] +builddependencies = [ + ('xxd', '8.2.4220'), +] + dependencies = [ ('zlib', '1.2.11'), ('GSL', '2.7'), diff --git a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.2-intel-2021a.eb b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.2-intel-2021a.eb index fe971797a8e..ba0747ac705 100644 --- a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.2-intel-2021a.eb +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.2-intel-2021a.eb @@ -18,6 +18,10 @@ source_urls = ['https://github.com/plumed/plumed2/releases/download/v%(version)s sources = [SOURCE_TGZ] checksums = ['6069bc134f74cb15dd63e27e3587a15a31a9ddd9e7eebdd717da898f31512645'] +builddependencies = [ + ('xxd', '8.2.4220'), +] + dependencies = [ ('zlib', '1.2.11'), ('GSL', '2.7'), diff --git a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.3-foss-2021b.eb b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.3-foss-2021b.eb index 5e10ec4a8f3..c7f467034e0 100644 --- a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.3-foss-2021b.eb +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.3-foss-2021b.eb @@ -18,6 +18,10 @@ source_urls = ['https://github.com/plumed/plumed2/releases/download/v%(version)s sources = [SOURCE_TGZ] checksums = ['2895515f31aae42002a539222f5b8558037496548a061b5d0db136d3a46f618b'] +builddependencies = [ + ('xxd', '8.2.4220'), +] + dependencies = [ ('zlib', '1.2.11'), ('GSL', '2.7'), diff --git a/easybuild/easyconfigs/p/PPanGGOLiN/PPanGGOLiN-1.1.136-foss-2021b.eb b/easybuild/easyconfigs/p/PPanGGOLiN/PPanGGOLiN-1.1.136-foss-2021b.eb index 7a7b003c9ea..c8435307d60 100644 --- a/easybuild/easyconfigs/p/PPanGGOLiN/PPanGGOLiN-1.1.136-foss-2021b.eb +++ b/easybuild/easyconfigs/p/PPanGGOLiN/PPanGGOLiN-1.1.136-foss-2021b.eb @@ -28,7 +28,7 @@ dependencies = [ ('networkx', '2.6.3'), ('SciPy-bundle', '2021.10'), ('plotly.py', '5.4.0'), - ('gmpy2', '2.1.0rc1'), + ('gmpy2', '2.1.2'), ('MAFFT', '7.490', '-with-extensions'), ('rpy2', '3.4.5'), ] diff --git a/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2018b-Perl-5.28.0.eb b/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2018b-Perl-5.28.0.eb index 108e4aa5d1e..e9f5f8cd9e1 100644 --- a/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2018b-Perl-5.28.0.eb +++ b/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2018b-Perl-5.28.0.eb @@ -27,6 +27,9 @@ dependencies = [ exts_defaultclass = 'PerlModule' exts_filter = ("perldoc -lm %(ext_name)s ", "") +# prevent that sanity check requires PRINSEQ itself to be available as a Perl module +options = {'modulename': False} + exts_list = [ ('ExtUtils::Depends', '0.405', { 'source_tmpl': 'ExtUtils-Depends-%(version)s.tar.gz', diff --git a/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2020b-Perl-5.32.0.eb b/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2020b-Perl-5.32.0.eb index c2fccb2c6a2..d0822cc92c4 100644 --- a/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2020b-Perl-5.32.0.eb +++ b/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2020b-Perl-5.32.0.eb @@ -24,6 +24,9 @@ dependencies = [ exts_defaultclass = 'PerlModule' exts_filter = ("perldoc -lm %(ext_name)s ", "") +# prevent that sanity check requires PRINSEQ itself to be available as a Perl module +options = {'modulename': False} + exts_list = [ ('ExtUtils::Depends', '0.8001', { 'source_tmpl': 'ExtUtils-Depends-%(version)s.tar.gz', diff --git a/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2021b-Perl-5.34.0.eb b/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2021b-Perl-5.34.0.eb index 814735de515..18db1b85712 100644 --- a/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2021b-Perl-5.34.0.eb +++ b/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2021b-Perl-5.34.0.eb @@ -24,6 +24,9 @@ dependencies = [ exts_defaultclass = 'PerlModule' exts_filter = ("perldoc -lm %(ext_name)s ", "") +# prevent that sanity check requires PRINSEQ itself to be available as a Perl module +options = {'modulename': False} + exts_list = [ ('ExtUtils::Depends', '0.8001', { 'source_tmpl': 'ExtUtils-Depends-%(version)s.tar.gz', diff --git a/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-foss-2020b.eb b/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-foss-2020b.eb index 34640f7529c..f0a3a90c1fc 100644 --- a/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-foss-2020b.eb +++ b/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-foss-2020b.eb @@ -9,29 +9,35 @@ description = """ """ toolchain = {'name': 'foss', 'version': '2020b'} -toolchainopts = {'usempi': True, 'opt': True} +toolchainopts = {'pic': True, 'usempi': True, 'opt': True} source_urls = ['https://launchpad.net/bigdft/%(version_major_minor)s/%(version)s/+download/'] sources = ['bigdft-suite-%(version)s.tar.gz'] checksums = ['39aeae8bd62ad5d82ed20a47006aa478d93b3751ae7929027088c2e6b8439388'] -local_cddir = ' cd psolver-%(version_major_minor)s && ' -preconfigopts = 'tar xzf psolver-%(version_major_minor)s.tar.gz &&' + local_cddir -configopts = 'CC=$MPICC FC=$MPIFC FCFLAGS="$FCFLAGS -fallow-argument-mismatch -I$EBROOTFUTILE/include" ' -configopts += ' --with-ext-linalg="-L$BLACS_LIB_DIR $LIBBLACS -L$SCALAPACK_LIB_DIR $LIBSCALAPACK"'\ - '" -L$BLAS_LIB_DIR $LIBBLAS -L$LAPACK_LIB_DIR $LIBLAPACK" ' -configopts += ' --with-mpi3 ' -prebuildopts = local_cddir -preinstallopts = local_cddir +builddependencies = [ + ('pkg-config', '0.29.2'), +] dependencies = [ ('libyaml', '0.2.5'), - ('futile', '1.8.3') + ('futile', '1.8.3'), ] +local_cddir = ' cd psolver-%(version_major_minor)s && ' +preconfigopts = 'tar xzf psolver-%(version_major_minor)s.tar.gz &&' + local_cddir +preconfigopts += 'export FCFLAGS="$FCFLAGS -fallow-argument-mismatch" && ' + +configopts = '--enable-dynamic-libraries ' +configopts += '--with-futile-incs=-I$EBROOTFUTILE/include ' +configopts += '--with-ext-linalg="$LIBSCALAPACK" ' + +prebuildopts = local_cddir +preinstallopts = local_cddir + sanity_check_paths = { 'files': ['include/poisson_solver.mod'] + - [('lib/libPSolver-1.a', 'lib64/libPSolver-1.a')], + ['lib/libPSolver-1.a', 'lib/libPSolver-1.%s' % SHLIB_EXT], 'dirs': [] } diff --git a/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-foss-2021a.eb b/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-foss-2021a.eb index 0f0b9fd1313..a7aa93b4f8e 100644 --- a/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-foss-2021a.eb +++ b/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-foss-2021a.eb @@ -9,29 +9,35 @@ description = """ """ toolchain = {'name': 'foss', 'version': '2021a'} -toolchainopts = {'usempi': True, 'opt': True} +toolchainopts = {'pic': True, 'usempi': True, 'opt': True} source_urls = ['https://launchpad.net/bigdft/%(version_major_minor)s/%(version)s/+download/'] sources = ['bigdft-suite-%(version)s.tar.gz'] checksums = ['39aeae8bd62ad5d82ed20a47006aa478d93b3751ae7929027088c2e6b8439388'] -local_cddir = ' cd psolver-%(version_major_minor)s && ' -preconfigopts = 'tar xzf psolver-%(version_major_minor)s.tar.gz &&' + local_cddir -configopts = 'CC=$MPICC FC=$MPIFC FCFLAGS="$FCFLAGS -fallow-argument-mismatch -I$EBROOTFUTILE/include" ' -configopts += ' --with-ext-linalg="-L$BLACS_LIB_DIR $LIBBLACS -L$SCALAPACK_LIB_DIR $LIBSCALAPACK"'\ - '" -L$BLAS_LIB_DIR $LIBBLAS -L$LAPACK_LIB_DIR $LIBLAPACK" ' -configopts += ' --with-mpi3 ' -prebuildopts = local_cddir -preinstallopts = local_cddir +builddependencies = [ + ('pkg-config', '0.29.2'), +] dependencies = [ ('libyaml', '0.2.5'), - ('futile', '1.8.3') + ('futile', '1.8.3'), ] +local_cddir = ' cd psolver-%(version_major_minor)s && ' +preconfigopts = 'tar xzf psolver-%(version_major_minor)s.tar.gz &&' + local_cddir +preconfigopts += 'export FCFLAGS="$FCFLAGS -fallow-argument-mismatch" && ' + +configopts = '--enable-dynamic-libraries ' +configopts += '--with-futile-incs=-I$EBROOTFUTILE/include ' +configopts += '--with-ext-linalg="$LIBSCALAPACK" ' + +prebuildopts = local_cddir +preinstallopts = local_cddir + sanity_check_paths = { 'files': ['include/poisson_solver.mod'] + - [('lib/libPSolver-1.a', 'lib64/libPSolver-1.a')], + ['lib/libPSolver-1.a', 'lib/libPSolver-1.%s' % SHLIB_EXT], 'dirs': [] } diff --git a/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-foss-2021b.eb b/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-foss-2021b.eb index 9cfcdd477ce..d71e7d73b86 100644 --- a/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-foss-2021b.eb +++ b/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-foss-2021b.eb @@ -9,29 +9,35 @@ description = """ """ toolchain = {'name': 'foss', 'version': '2021b'} -toolchainopts = {'usempi': True, 'opt': True} +toolchainopts = {'pic': True, 'usempi': True, 'opt': True} source_urls = ['https://launchpad.net/bigdft/%(version_major_minor)s/%(version)s/+download/'] sources = ['bigdft-suite-%(version)s.tar.gz'] checksums = ['39aeae8bd62ad5d82ed20a47006aa478d93b3751ae7929027088c2e6b8439388'] -local_cddir = ' cd psolver-%(version_major_minor)s && ' -preconfigopts = 'tar xzf psolver-%(version_major_minor)s.tar.gz &&' + local_cddir -configopts = 'CC=$MPICC FC=$MPIFC FCFLAGS="$FCFLAGS -fallow-argument-mismatch -I$EBROOTFUTILE/include" ' -configopts += ' --with-ext-linalg="-L$BLACS_LIB_DIR $LIBBLACS -L$SCALAPACK_LIB_DIR $LIBSCALAPACK"'\ - '" -L$BLAS_LIB_DIR $LIBBLAS -L$LAPACK_LIB_DIR $LIBLAPACK" ' -configopts += ' --with-mpi3 ' -prebuildopts = local_cddir -preinstallopts = local_cddir +builddependencies = [ + ('pkg-config', '0.29.2'), +] dependencies = [ ('libyaml', '0.2.5'), - ('futile', '1.8.3') + ('futile', '1.8.3'), ] +local_cddir = ' cd psolver-%(version_major_minor)s && ' +preconfigopts = 'tar xzf psolver-%(version_major_minor)s.tar.gz &&' + local_cddir +preconfigopts += 'export FCFLAGS="$FCFLAGS -fallow-argument-mismatch" && ' + +configopts = '--enable-dynamic-libraries ' +configopts += '--with-futile-incs=-I$EBROOTFUTILE/include ' +configopts += '--with-ext-linalg="$LIBSCALAPACK" ' + +prebuildopts = local_cddir +preinstallopts = local_cddir + sanity_check_paths = { 'files': ['include/poisson_solver.mod'] + - [('lib/libPSolver-1.a', 'lib64/libPSolver-1.a')], + ['lib/libPSolver-1.a', 'lib/libPSolver-1.%s' % SHLIB_EXT], 'dirs': [] } diff --git a/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-intel-2020b.eb b/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-intel-2020b.eb index df8ca360b55..beb8698e910 100644 --- a/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-intel-2020b.eb +++ b/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-intel-2020b.eb @@ -9,29 +9,34 @@ description = """ """ toolchain = {'name': 'intel', 'version': '2020b'} -toolchainopts = {'usempi': True, 'opt': True} +toolchainopts = {'pic': True, 'usempi': True, 'opt': True} source_urls = ['https://launchpad.net/bigdft/%(version_major_minor)s/%(version)s/+download/'] sources = ['bigdft-suite-%(version)s.tar.gz'] checksums = ['39aeae8bd62ad5d82ed20a47006aa478d93b3751ae7929027088c2e6b8439388'] -local_cddir = ' cd psolver-%(version_major_minor)s && ' -preconfigopts = 'tar xzf psolver-%(version_major_minor)s.tar.gz &&' + local_cddir -configopts = 'CC=$MPICC FC=$MPIFC FCFLAGS="$FCFLAGS -I$EBROOTFUTILE/include" ' -configopts += ' --with-ext-linalg="-L$BLACS_LIB_DIR $LIBBLACS -L$SCALAPACK_LIB_DIR $LIBSCALAPACK"'\ - '" -L$BLAS_LIB_DIR $LIBBLAS -L$LAPACK_LIB_DIR $LIBLAPACK" ' -configopts += ' --with-mpi3 ' -prebuildopts = local_cddir -preinstallopts = local_cddir +builddependencies = [ + ('pkg-config', '0.29.2'), +] dependencies = [ ('libyaml', '0.2.5'), - ('futile', '1.8.3') + ('futile', '1.8.3'), ] +local_cddir = ' cd psolver-%(version_major_minor)s && ' +preconfigopts = 'tar xzf psolver-%(version_major_minor)s.tar.gz &&' + local_cddir + +configopts = '--enable-dynamic-libraries ' +configopts += '--with-futile-incs=-I$EBROOTFUTILE/include ' +configopts += '--with-ext-linalg="$LIBSCALAPACK" ' + +prebuildopts = local_cddir +preinstallopts = local_cddir + sanity_check_paths = { 'files': ['include/poisson_solver.mod'] + - [('lib/libPSolver-1.a', 'lib64/libPSolver-1.a')], + ['lib/libPSolver-1.a', 'lib/libPSolver-1.%s' % SHLIB_EXT], 'dirs': [] } diff --git a/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-intel-2021a.eb b/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-intel-2021a.eb index d4e348ef4fb..f43a10e3771 100644 --- a/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-intel-2021a.eb +++ b/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-intel-2021a.eb @@ -9,29 +9,34 @@ description = """ """ toolchain = {'name': 'intel', 'version': '2021a'} -toolchainopts = {'usempi': True, 'opt': True} +toolchainopts = {'pic': True, 'usempi': True, 'opt': True} source_urls = ['https://launchpad.net/bigdft/%(version_major_minor)s/%(version)s/+download/'] sources = ['bigdft-suite-%(version)s.tar.gz'] checksums = ['39aeae8bd62ad5d82ed20a47006aa478d93b3751ae7929027088c2e6b8439388'] -local_cddir = ' cd psolver-%(version_major_minor)s && ' -preconfigopts = 'tar xzf psolver-%(version_major_minor)s.tar.gz &&' + local_cddir -configopts = 'CC=$MPICC FC=$MPIFC FCFLAGS="$FCFLAGS -I$EBROOTFUTILE/include" ' -configopts += ' --with-ext-linalg="-L$BLACS_LIB_DIR $LIBBLACS -L$SCALAPACK_LIB_DIR $LIBSCALAPACK"'\ - '" -L$BLAS_LIB_DIR $LIBBLAS -L$LAPACK_LIB_DIR $LIBLAPACK" ' -configopts += ' --with-mpi3 ' -prebuildopts = local_cddir -preinstallopts = local_cddir +builddependencies = [ + ('pkg-config', '0.29.2'), +] dependencies = [ ('libyaml', '0.2.5'), - ('futile', '1.8.3') + ('futile', '1.8.3'), ] +local_cddir = ' cd psolver-%(version_major_minor)s && ' +preconfigopts = 'tar xzf psolver-%(version_major_minor)s.tar.gz &&' + local_cddir + +configopts = '--enable-dynamic-libraries ' +configopts += '--with-futile-incs=-I$EBROOTFUTILE/include ' +configopts += '--with-ext-linalg="$LIBSCALAPACK" ' + +prebuildopts = local_cddir +preinstallopts = local_cddir + sanity_check_paths = { 'files': ['include/poisson_solver.mod'] + - [('lib/libPSolver-1.a', 'lib64/libPSolver-1.a')], + ['lib/libPSolver-1.a', 'lib/libPSolver-1.%s' % SHLIB_EXT], 'dirs': [] } diff --git a/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-intel-2021b.eb b/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-intel-2021b.eb index f87fa8bf98e..f8bcc82b6ec 100644 --- a/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-intel-2021b.eb +++ b/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-intel-2021b.eb @@ -9,29 +9,34 @@ description = """ """ toolchain = {'name': 'intel', 'version': '2021b'} -toolchainopts = {'usempi': True, 'opt': True} +toolchainopts = {'pic': True, 'usempi': True, 'opt': True} source_urls = ['https://launchpad.net/bigdft/%(version_major_minor)s/%(version)s/+download/'] sources = ['bigdft-suite-%(version)s.tar.gz'] checksums = ['39aeae8bd62ad5d82ed20a47006aa478d93b3751ae7929027088c2e6b8439388'] -local_cddir = ' cd psolver-%(version_major_minor)s && ' -preconfigopts = 'tar xzf psolver-%(version_major_minor)s.tar.gz &&' + local_cddir -configopts = 'CC=$MPICC FC=$MPIFC FCFLAGS="$FCFLAGS -I$EBROOTFUTILE/include" ' -configopts += ' --with-ext-linalg="-L$BLACS_LIB_DIR $LIBBLACS -L$SCALAPACK_LIB_DIR $LIBSCALAPACK"'\ - '" -L$BLAS_LIB_DIR $LIBBLAS -L$LAPACK_LIB_DIR $LIBLAPACK" ' -configopts += ' --with-mpi3 ' -prebuildopts = local_cddir -preinstallopts = local_cddir +builddependencies = [ + ('pkg-config', '0.29.2'), +] dependencies = [ ('libyaml', '0.2.5'), - ('futile', '1.8.3') + ('futile', '1.8.3'), ] +local_cddir = ' cd psolver-%(version_major_minor)s && ' +preconfigopts = 'tar xzf psolver-%(version_major_minor)s.tar.gz &&' + local_cddir + +configopts = '--enable-dynamic-libraries ' +configopts += '--with-futile-incs=-I$EBROOTFUTILE/include ' +configopts += '--with-ext-linalg="$LIBSCALAPACK" ' + +prebuildopts = local_cddir +preinstallopts = local_cddir + sanity_check_paths = { 'files': ['include/poisson_solver.mod'] + - [('lib/libPSolver-1.a', 'lib64/libPSolver-1.a')], + ['lib/libPSolver-1.a', 'lib/libPSolver-1.%s' % SHLIB_EXT], 'dirs': [] } diff --git a/easybuild/easyconfigs/p/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 48668be4e1e..63d38816c14 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 @@ -1764,6 +1764,61 @@ exts_list = [ 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], 'checksums': ['510a7de2d011b0db80b0874e8c0f7390010991000ae135cff7474df1e6d51e3a'], }), + ('Sys::Info::Base', '0.7807', { + 'source_tmpl': 'Sys-Info-Base-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK/'], + 'checksums': ['132362b0046e8dc4f12e1560903623a88a8871d09bf1c29d93d48d3f4a582acb'], + }), + ('Sys::Info', '0.7811', { + 'source_tmpl': 'Sys-Info-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK/'], + 'checksums': ['566482bff3427c198d7955468ed945a8e736c4a2925151fdef96801ef8a401e1'], + }), + ('HTML::Template', '2.97', { + 'source_tmpl': 'HTML-Template-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SA/SAMTREGAR/'], + 'checksums': ['6547af61f3aa85793f8616190938d677d7995fb3b720c16258040bc935e2129f'], + }), + ('MIME::Charset', '1.012.2', { + 'source_tmpl': 'MIME-Charset-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEZUMI/'], + 'checksums': ['878c779c0256c591666bd06c0cde4c0d7820eeeb98fd1183082aee9a1e7b1d13'], + }), + ('Unicode::LineBreak', '2019.001', { + 'source_tmpl': 'Unicode-LineBreak-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEZUMI/'], + 'checksums': ['486762e4cacddcc77b13989f979a029f84630b8175e7fef17989e157d4b6318a'], + }), + ('String::Print', '0.94', { + 'source_tmpl': 'String-Print-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['9b3cd677adb7a40cb183bd6c60db80d96adcabd5aae27e324e3ee37e3275229b'], + }), + ('Log::Report', '1.33', { + 'source_tmpl': 'Log-Report-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['49624da338fd7d57288fa22a47241476fb5ce2f6008181f786c7830fe5af01ff'], + }), + ('Log::Report::Optional', '1.07', { + 'source_tmpl': 'Log-Report-Optional-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['b2658b53176df5afa5d02789368715c86b98c8d04ecd930252bcd7f832cc6224'], + }), + ('Sys::Info::Driver::Unknown', '0.79', { + 'source_tmpl': 'Sys-Info-Driver-Unknown-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK/'], + 'checksums': ['02408843c8e36ea3d507e9f33fee48d6908543829ebe320f13d1bfe76af31e09'], + }), + ('Sys::Info::Driver::Linux', '0.7905', { + 'source_tmpl': 'Sys-Info-Driver-Linux-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK/'], + 'checksums': ['899c329bd3508ec5849ad0e5dadfa7c3679bbacaea9dda12404a7893032e8b7b'], + }), + ('Unix::Processors', '2.046', { + 'source_tmpl': 'Unix-Processors-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/W/WS/WSNYDER/'], + 'checksums': ['3973ebdc44682c9c15c776f66e8be242cb4ff1dd52caf43ff446b74d4dccca06'], + }), ] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/PyFrag/PyFrag-2019-20220216-intel-2020b-ASA.eb b/easybuild/easyconfigs/p/PyFrag/PyFrag-2019-20220216-intel-2020b-ASA.eb new file mode 100644 index 00000000000..a9df7f318e8 --- /dev/null +++ b/easybuild/easyconfigs/p/PyFrag/PyFrag-2019-20220216-intel-2020b-ASA.eb @@ -0,0 +1,52 @@ +easyblock = 'Tarball' + +name = 'PyFrag' +version = '2019-20220216' +versionsuffix = '-ASA' +_commit = '5618d5518a8f4a1fc22805feac57b6e6717a08dc' + +homepage = 'https://pyfragdocument.readthedocs.io/en/latest/includeme.html' +description = """ +PyFrag 2019 resolves three main challenges associated with the automatized computational exploration of reaction +mechanisms: 1) the management of multiple parallel calculations to automatically find a reaction path; 2) the monitoring +of the entire computational process along with the extraction and plotting of relevant information from large amounts of +data; and 3) the analysis and presentation of these data in a clear and informative way. + +This module provides the Activation Strain Analysis (ASA) Module of PyFrag 2019 +""" + +toolchain = {'name': 'intel', 'version': '2020b'} + +github_account = 'sunxb05' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%s.tar.gz' % _commit] +patches = ['PyFrag-2019_fix_flaky_input_fetch.patch'] +checksums = [ + # 5618d5518a8f4a1fc22805feac57b6e6717a08dc.tar.gz + 'b987a94c21ddc828167209be3439f13d4f284c56aeb672f8f0bf4c8ae8b25e67', + 'bb47a31f14329f5ccb7b58e03ce4bde133739acccc76e65ca0e1d69a8ac3694e', # PyFrag-2019_fix_flaky_input_fetch.patch +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('dill', '0.3.3'), +] + +start_dir = 'host' + +# for PBS based schedulers: +# postinstallcmds = ["sed -i 's/sbatch/qsub/' %(installdir)s/bin/adf.sh"] + +sanity_check_paths = { + 'files': ['bin/pyfrag'], + 'dirs': ['argueparce', 'result', 'standalone'], +} + +sanity_check_commands = ['pyfrag -h | grep "^Usage:"'] + +modextrapaths = { + 'HOSTPYFRAG': '', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PyFrag/PyFrag-2019_fix_flaky_input_fetch.patch b/easybuild/easyconfigs/p/PyFrag/PyFrag-2019_fix_flaky_input_fetch.patch new file mode 100644 index 00000000000..a2fd86dcbbd --- /dev/null +++ b/easybuild/easyconfigs/p/PyFrag/PyFrag-2019_fix_flaky_input_fetch.patch @@ -0,0 +1,172 @@ +Avoid false matches by requiring that input keywords are a full line. +Use sed pattern matching to remove arbitrary limit to 200 lines +see issue https://github.com/sunxb05/PyFrag/issues/1 +author: Alex Domingo (Vrije Universiteit Brussel) +diff --git a/host/argueparce/argueparce.sh b/host/argueparce/argueparce.sh +index 9bcc197..afdf06c 100644 +--- a/host/argueparce/argueparce.sh ++++ b/host/argueparce/argueparce.sh +@@ -113,20 +113,20 @@ rm geometry.txt + input=$* + SCRIPTPATH="$( cd "$(dirname "$1")" ; pwd -P )" + +-grep -A 200 'JOBSUB' $input | grep -B 200 'JOBSUB END' | grep -v 'JOBSUB' | grep -v 'JOBSUB END' > jobsub.txt +-grep -A 200 'ADF' $input | grep -B 200 'ADF END' | grep -v 'ADF' | grep -v 'ADF END' > adf.txt +-grep -A 200 'PyFrag' $input | grep -B 200 'PyFrag END' | grep -v 'PyFrag' | grep -v 'PyFrag END' > pyfrag.txt +-grep -A 200 'Geometrycoor' $input | grep -B 200 'Geometrycoor END' | grep -v 'Geometrycoor' | grep -v 'Geometrycoor END' > coor.xyz +-grep -A 200 'R1 EXTRA' $input | grep -B 200 'R1 EXTRA END' | grep -v 'R1 EXTRA' | grep -v 'R1 EXTRA END' > R1_EXTRA.txt +-grep -A 200 'R2 EXTRA' $input | grep -B 200 'R2 EXTRA END' | grep -v 'R2 EXTRA' | grep -v 'R2 EXTRA END' > R2_EXTRA.txt +-grep -A 200 'RC EXTRA' $input | grep -B 200 'RC EXTRA END' | grep -v 'RC EXTRA' | grep -v 'RC EXTRA END' > RC_EXTRA.txt +-grep -A 200 'TS EXTRA' $input | grep -B 200 'TS EXTRA END' | grep -v 'TS EXTRA' | grep -v 'TS EXTRA END' > TS_EXTRA.txt +-grep -A 200 'P EXTRA' $input | grep -B 200 'P EXTRA END' | grep -v 'P EXTRA' | grep -v 'P EXTRA END' > P_EXTRA.txt +-grep -A 200 'IR EXTRA' $input | grep -B 200 'IR EXTRA END' | grep -v 'IR EXTRA' | grep -v 'IR EXTRA END' > IRC_EXTRA.txt +-grep -A 200 'IR_1 EXTRA' $input | grep -B 200 'IR_1 EXTRA END' | grep -v 'IR_1 EXTRA' | grep -v 'IR_1 EXTRA END' > IRC_1_EXTRA.txt +-grep -A 200 'fragment1 EXTRA' $input | grep -B 200 'fragment1 EXTRA END' | grep -v 'fragment1 EXTRA' | grep -v 'fragment1 EXTRA END' > fragment1_EXTRA.txt +-grep -A 200 'fragment2 EXTRA' $input | grep -B 200 'fragment2 EXTRA END' | grep -v 'fragment2 EXTRA' | grep -v 'fragment2 EXTRA END' > fragment2_EXTRA.txt +-grep -A 200 'complex EXTRA' $input | grep -B 200 'complex EXTRA END' | grep -v 'complex EXTRA' | grep -v 'complex EXTRA END' > complex_EXTRA.txt ++sed -n '/^JOBSUB$/,/^JOBSUB END$/{//!p;}' $input > jobsub.txt ++sed -n '/^ADF$/,/^ADF END$/{//!p;}' $input > adf.txt ++sed -n '/^PyFrag$/,/^PyFrag END$/{//!p;}' $input > pyfrag.txt ++sed -n '/^Geometrycoor$/,/^Geometrycoor END$/{//!p;}' $input > coor.xyz ++sed -n '/^R1 EXTRA$/,/^R1 EXTRA END$/{//!p;}' $input > R1_EXTRA.txt ++sed -n '/^R2 EXTRA$/,/^R2 EXTRA END$/{//!p;}' $input > R2_EXTRA.txt ++sed -n '/^RC EXTRA$/,/^RC EXTRA END$/{//!p;}' $input > RC_EXTRA.txt ++sed -n '/^TS EXTRA$/,/^TS EXTRA END$/{//!p;}' $input > TS_EXTRA.txt ++sed -n '/^P EXTRA$/,/^P EXTRA END$/{//!p;}' $input > P_EXTRA.txt ++sed -n '/^IR EXTRA$/,/^IR EXTRA END$/{//!p;}' $input > IRC_EXTRA.txt ++sed -n '/^IR_1 EXTRA$/,/^IR_1 EXTRA END$/{//!p;}' $input > IRC_1_EXTRA.txt ++sed -n '/^fragment1 EXTRA$/,/^fragment1 EXTRA END$/{//!p;}' $input > fragment1_EXTRA.txt ++sed -n '/^fragment2 EXTRA$/,/^fragment2 EXTRA END$/{//!p;}' $input > fragment2_EXTRA.txt ++sed -n '/^complex EXTRA$/,/^complex EXTRA END$/{//!p;}' $input > complex_EXTRA.txt + + + submit="$QMWORKS/bin/python3 $HOSTPYFRAG/job.py \\" +diff --git a/host/standalone/adf_new/pyfragparce.sh b/host/standalone/adf_new/pyfragparce.sh +index 182cef2..6cf5edb 100644 +--- a/host/standalone/adf_new/pyfragparce.sh ++++ b/host/standalone/adf_new/pyfragparce.sh +@@ -74,12 +74,12 @@ fi + input=$* + SCRIPTPATH="$( cd "$(dirname "$1")" ; pwd -P )" + +-grep -A 200 'JOBSUB' $input | grep -B 200 'JOBSUB END' | grep -v 'JOBSUB' | grep -v 'JOBSUB END' > jobsub.txt +-grep -A 200 'ADF' $input | grep -B 200 'ADF END' | grep -v 'ADF' | grep -v 'ADF END' > adf.txt +-grep -A 200 'PyFrag' $input | grep -B 200 'PyFrag END' | grep -v 'PyFrag' | grep -v 'PyFrag END' > pyfrag.txt +-grep -A 200 'fragment1 EXTRA' $input | grep -B 200 'fragment1 EXTRA END' | grep -v 'fragment1 EXTRA' | grep -v 'fragment1 EXTRA END' > fragment1_EXTRA.txt +-grep -A 200 'fragment2 EXTRA' $input | grep -B 200 'fragment2 EXTRA END' | grep -v 'fragment2 EXTRA' | grep -v 'fragment2 EXTRA END' > fragment2_EXTRA.txt +-grep -A 200 'complex EXTRA' $input | grep -B 200 'complex EXTRA END' | grep -v 'complex EXTRA' | grep -v 'complex EXTRA END' > complex_EXTRA.txt ++sed -n '/^JOBSUB$/,/^JOBSUB END$/{//!p;}' $input > jobsub.txt ++sed -n '/^ADF$/,/^ADF END$/{//!p;}' $input > adf.txt ++sed -n '/^PyFrag$/,/^PyFrag END$/{//!p;}' $input > pyfrag.txt ++sed -n '/^fragment1 EXTRA$/,/^fragment1 EXTRA END$/{//!p;}' $input > fragment1_EXTRA.txt ++sed -n '/^fragment2 EXTRA$/,/^fragment2 EXTRA END$/{//!p;}' $input > fragment2_EXTRA.txt ++sed -n '/^complex EXTRA$/,/^complex EXTRA END$/{//!p;}' $input > complex_EXTRA.txt + + + submit="amspython \$HOSTPYFRAG/standalone/adf_new/PyFrag.py \\" +diff --git a/host/standalone/adf_newopen/pyfragparce.sh b/host/standalone/adf_newopen/pyfragparce.sh +index d3216fa..95d562e 100644 +--- a/host/standalone/adf_newopen/pyfragparce.sh ++++ b/host/standalone/adf_newopen/pyfragparce.sh +@@ -61,12 +61,12 @@ done + input=$* + SCRIPTPATH="$( cd "$(dirname "$1")" ; pwd -P )" + +-grep -A 200 'JOBSUB' $input | grep -B 200 'JOBSUB END' | grep -v 'JOBSUB' | grep -v 'JOBSUB END' > jobsub.txt +-grep -A 200 'ADF' $input | grep -B 200 'ADF END' | grep -v 'ADF' | grep -v 'ADF END' > adf.txt +-grep -A 200 'PyFrag' $input | grep -B 200 'PyFrag END' | grep -v 'PyFrag' | grep -v 'PyFrag END' > pyfrag.txt +-grep -A 200 'fragment1 EXTRA' $input | grep -B 200 'fragment1 EXTRA END' | grep -v 'fragment1 EXTRA' | grep -v 'fragment1 EXTRA END' > fragment1_EXTRA.txt +-grep -A 200 'fragment2 EXTRA' $input | grep -B 200 'fragment2 EXTRA END' | grep -v 'fragment2 EXTRA' | grep -v 'fragment2 EXTRA END' > fragment2_EXTRA.txt +-grep -A 200 'complex EXTRA' $input | grep -B 200 'complex EXTRA END' | grep -v 'complex EXTRA' | grep -v 'complex EXTRA END' > complex_EXTRA.txt ++sed -n '/^JOBSUB$/,/^JOBSUB END$/{//!p;}' $input > jobsub.txt ++sed -n '/^ADF$/,/^ADF END$/{//!p;}' $input > adf.txt ++sed -n '/^PyFrag$/,/^PyFrag END$/{//!p;}' $input > pyfrag.txt ++sed -n '/^fragment1 EXTRA$/,/^fragment1 EXTRA END$/{//!p;}' $input > fragment1_EXTRA.txt ++sed -n '/^fragment2 EXTRA$/,/^fragment2 EXTRA END$/{//!p;}' $input > fragment2_EXTRA.txt ++sed -n '/^complex EXTRA$/,/^complex EXTRA END$/{//!p;}' $input > complex_EXTRA.txt + + + submit="python3 \$HOSTPYFRAG/standalone/adf_newopen/PyFrag.py \\" +diff --git a/host/standalone/adf_old/pyfragparce.sh b/host/standalone/adf_old/pyfragparce.sh +index 506ec3e..0edbe4d 100644 +--- a/host/standalone/adf_old/pyfragparce.sh ++++ b/host/standalone/adf_old/pyfragparce.sh +@@ -61,13 +61,12 @@ done + input=$* + SCRIPTPATH="$( cd "$(dirname "$1")" ; pwd -P )" + +-grep -A 200 'JOBSUB' $input | grep -B 200 'JOBSUB END' | grep -v 'JOBSUB' | grep -v 'JOBSUB END' > jobsub.txt +-grep -A 200 'ADF' $input | grep -B 200 'ADF END' | grep -v 'ADF' | grep -v 'ADF END' > adf.txt +-grep -A 200 'PyFrag' $input | grep -B 200 'PyFrag END' | grep -v 'PyFrag' | grep -v 'PyFrag END' > pyfrag.txt +-grep -A 200 'fragment1 EXTRA' $input | grep -B 200 'fragment1 EXTRA END' | grep -v 'fragment1 EXTRA' | grep -v 'fragment1 EXTRA END' > fragment1_EXTRA.txt +-grep -A 200 'fragment2 EXTRA' $input | grep -B 200 'fragment2 EXTRA END' | grep -v 'fragment2 EXTRA' | grep -v 'fragment2 EXTRA END' > fragment2_EXTRA.txt +-grep -A 200 'complex EXTRA' $input | grep -B 200 'complex EXTRA END' | grep -v 'complex EXTRA' | grep -v 'complex EXTRA END' > complex_EXTRA.txt +- ++sed -n '/^JOBSUB$/,/^JOBSUB END$/{//!p;}' $input > jobsub.txt ++sed -n '/^ADF$/,/^ADF END$/{//!p;}' $input > adf.txt ++sed -n '/^PyFrag$/,/^PyFrag END$/{//!p;}' $input > pyfrag.txt ++sed -n '/^fragment1 EXTRA$/,/^fragment1 EXTRA END$/{//!p;}' $input > fragment1_EXTRA.txt ++sed -n '/^fragment2 EXTRA$/,/^fragment2 EXTRA END$/{//!p;}' $input > fragment2_EXTRA.txt ++sed -n '/^complex EXTRA$/,/^complex EXTRA END$/{//!p;}' $input > complex_EXTRA.txt + + submit="python3 \$HOSTPYFRAG/standalone/adf_old/PyFrag.py \\" + subadfinputfile="--adfinputfile "$SCRIPTPATH/"adfinputfile \\" +diff --git a/host/standalone/adf_open/pyfragparce.sh b/host/standalone/adf_open/pyfragparce.sh +index 8fe3ead..edc3c3a 100644 +--- a/host/standalone/adf_open/pyfragparce.sh ++++ b/host/standalone/adf_open/pyfragparce.sh +@@ -98,15 +98,15 @@ done + input=$* + SCRIPTPATH="$( cd "$(dirname "$1")" ; pwd -P )" + +-grep -A 200 'JOBSUB' $input | grep -B 200 'JOBSUB END' | grep -v 'JOBSUB' | grep -v 'JOBSUB END' > jobsub.txt +-grep -A 200 'ADF' $input | grep -B 200 'ADF END' | grep -v 'ADF' | grep -v 'ADF END' > adf.txt +-grep -A 200 'PyFrag' $input | grep -B 200 'PyFrag END' | grep -v 'PyFrag' | grep -v 'PyFrag END' > pyfrag.txt +-grep -A 200 'fragment1 EXTRA' $input | grep -B 200 'fragment1 EXTRA END' | grep -v 'fragment1 EXTRA' | grep -v 'fragment1 EXTRA END' > fragment1_EXTRA.txt +-grep -A 200 'fragment2 EXTRA' $input | grep -B 200 'fragment2 EXTRA END' | grep -v 'fragment2 EXTRA' | grep -v 'fragment2 EXTRA END' > fragment2_EXTRA.txt +-grep -A 200 'complex EXTRA' $input | grep -B 200 'complex EXTRA END' | grep -v 'complex EXTRA' | grep -v 'complex EXTRA END' > complex_EXTRA.txt +-grep -A 200 'fragment1 open EXTRA' $input | grep -B 200 'fragment1 open EXTRA END' | grep -v 'fragment1 open EXTRA' | grep -v 'fragment1 open EXTRA END' > fragment1_open_EXTRA.txt +-grep -A 200 'fragment2 open EXTRA' $input | grep -B 200 'fragment2 open EXTRA END' | grep -v 'fragment2 open EXTRA' | grep -v 'fragment2 open EXTRA END' > fragment2_open_EXTRA.txt +-grep -A 200 'complex open EXTRA' $input | grep -B 200 'complex open EXTRA END' | grep -v 'complex open EXTRA' | grep -v 'complex open EXTRA END' > complex_open_EXTRA.txt ++sed -n '/^JOBSUB$/,/^JOBSUB END$/{//!p;}' $input > jobsub.txt ++sed -n '/^ADF$/,/^ADF END$/{//!p;}' $input > adf.txt ++sed -n '/^PyFrag$/,/^PyFrag END$/{//!p;}' $input > pyfrag.txt ++sed -n '/^fragment1 EXTRA$/,/^fragment1 EXTRA END$/{//!p;}' $input > fragment1_EXTRA.txt ++sed -n '/^fragment2 EXTRA$/,/^fragment2 EXTRA END$/{//!p;}' $input > fragment2_EXTRA.txt ++sed -n '/^complex EXTRA$/,/^complex EXTRA END$/{//!p;}' $input > complex_EXTRA.txt ++sed -n '/^fragment1 open EXTRA$/,/^fragment1 open EXTRA END$/{//!p;}' $input > fragment1_open_EXTRA.txt ++sed -n '/^fragment2 open EXTRA$/,/^fragment2 open EXTRA END$/{//!p;}' $input > fragment2_open_EXTRA.txt ++sed -n '/^complex open EXTRA$/,/^complex open EXTRA END$/{//!p;}' $input > complex_open_EXTRA.txt + + submit="python3 \$HOSTPYFRAG/standalone/adf_open/PyFrag.py \\" + subadfinputfile="--adfinputfile "$SCRIPTPATH/"adfinputfile \\" +diff --git a/host/standalone/adf_openorb/pyfragparce.sh b/host/standalone/adf_openorb/pyfragparce.sh +index b3ba2aa..49e2adb 100644 +--- a/host/standalone/adf_openorb/pyfragparce.sh ++++ b/host/standalone/adf_openorb/pyfragparce.sh +@@ -12,7 +12,7 @@ done < "$pyfrag" + input=$* + SCRIPTPATH="$( cd "$(dirname "$1")" ; pwd -P )" + +-grep -A 200 'PyFrag' $input | grep -B 200 'PyFrag END' | grep -v 'PyFrag' | grep -v 'PyFrag END' > pyfrag.txt ++sed -n '/^PyFrag$/,/^PyFrag END$/{//!p;}' $input > pyfrag.txt + + submit="python3 \$HOSTPYFRAG/standalone/adf_openorb/PyFrag.py \\" + +diff --git a/host/standalone/adf_single/pyfragparce.sh b/host/standalone/adf_single/pyfragparce.sh +index c1444b3..6c3bc66 100644 +--- a/host/standalone/adf_single/pyfragparce.sh ++++ b/host/standalone/adf_single/pyfragparce.sh +@@ -61,9 +61,9 @@ done + input=$* + SCRIPTPATH="$( cd "$(dirname "$1")" ; pwd -P )" + +-grep -A 200 'JOBSUB' $input | grep -B 200 'JOBSUB END' | grep -v 'JOBSUB' | grep -v 'JOBSUB END' > jobsub.txt +-grep -A 200 'ADF' $input | grep -B 200 'ADF END' | grep -v 'ADF' | grep -v 'ADF END' > adf.txt +-grep -A 200 'PyFrag' $input | grep -B 200 'PyFrag END' | grep -v 'PyFrag' | grep -v 'PyFrag END' > pyfrag.txt ++sed -n '/^JOBSUB$/,/^JOBSUB END$/{//!p;}' $input > jobsub.txt ++sed -n '/^ADF$/,/^ADF END$/{//!p;}' $input > adf.txt ++sed -n '/^PyFrag$/,/^PyFrag END$/{//!p;}' $input > pyfrag.txt + + submit="python3 \$HOSTPYFRAG/standalone/adf_single/PyFrag.py \\" + subadfinputfile="--adfinputfile "$SCRIPTPATH/"adfinputfile \\" diff --git a/easybuild/easyconfigs/p/PyMC3/PyMC3-3.11.1-foss-2021b.eb b/easybuild/easyconfigs/p/PyMC3/PyMC3-3.11.1-foss-2021b.eb new file mode 100644 index 00000000000..d813f17d499 --- /dev/null +++ b/easybuild/easyconfigs/p/PyMC3/PyMC3-3.11.1-foss-2021b.eb @@ -0,0 +1,45 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'PyMC3' +version = '3.11.1' + +homepage = 'https://docs.pymc.io/' +description = """Probabilistic Programming in Python: +Bayesian Modeling and Probabilistic Machine Learning with Theano""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # for numpy + ('Theano', '1.1.2', '-PyMC'), + ('matplotlib', '3.4.3'), + ('h5py', '3.6.0'), + ('tqdm', '4.62.3'), + ('netcdf4-python', '1.5.7'), + ('xarray', '0.20.1'), + ('typing-extensions', '3.10.0.2'), + ('ArviZ', '0.11.4'), + ('dill', '0.3.4'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('patsy', '0.5.2', { + 'checksums': ['5053de7804676aba62783dbb0f23a2b3d74e35e5bfa238b88b7cbf148a38b69d'], + }), + ('fastprogress', '1.0.0', { + 'checksums': ['89e28ac1d2a5412aab18ee3f3dfd1ee8b5c1f2f7a44d0add0d0d4f69f0191bfe'], + }), + ('pymc3', version, { + 'preinstallopts': "sed -i 's/==/>=/g' requirements.txt && ", + 'checksums': ['501d48b9f5d033678de7a5918b9d055a6806adf84fe16a5a9d65eaa2dc71acd8'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/PyMC3/PyMC3-3.11.1-intel-2021b.eb b/easybuild/easyconfigs/p/PyMC3/PyMC3-3.11.1-intel-2021b.eb index 31798f16016..3acb32f43cd 100644 --- a/easybuild/easyconfigs/p/PyMC3/PyMC3-3.11.1-intel-2021b.eb +++ b/easybuild/easyconfigs/p/PyMC3/PyMC3-3.11.1-intel-2021b.eb @@ -21,7 +21,6 @@ dependencies = [ ('tqdm', '4.62.3'), ('netcdf4-python', '1.5.7'), ('xarray', '0.20.1'), - ('typing-extensions', '3.10.0.2'), ('ArviZ', '0.11.4'), ('dill', '0.3.4'), ] diff --git a/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.4-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.4-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..18614197333 --- /dev/null +++ b/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.4-GCCcore-11.2.0.eb @@ -0,0 +1,92 @@ +easyblock = 'Bundle' + +name = 'PyQt5' +version = '5.15.4' + +homepage = 'https://www.riverbankcomputing.com/software/pyqt' +description = """PyQt5 is a set of Python bindings for v5 of the Qt application framework from The Qt Company. +This bundle includes PyQtWebEngine, a set of Python bindings for The Qt Company’s Qt WebEngine framework.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'cstd': 'c++11'} + +builddependencies = [('binutils', '2.37')] +dependencies = [ + ('Python', '3.9.6'), + ('Qt5', '5.15.2'), +] + +default_easyblock = 'PythonPackage' + +local_pylibdir = '%(installdir)s/lib/python%(pyshortver)s/site-packages' + +local_pyqt5_sip_install = "sip-install --verbose --target-dir " + local_pylibdir + " " +local_pyqt5_sip_install += "--confirm-license --no-designer-plugin --no-qml-plugin --no-tools" + +local_pyqtweb_configopts = "configure.py --verbose --destdir=%s/PyQt5 " % local_pylibdir +local_pyqtweb_configopts += "--apidir=%(installdir)s/qsci --pyqt-sipdir=%(builddir)s/PyQt5-%(version)s/sip " +local_pyqtweb_configopts += "--no-stubs --no-dist-info" + +local_setup_env = "export PATH=%(installdir)s/bin:$PATH && " +local_setup_env += "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " +local_sipver = '5.5.0' +components = [ + ('SIP', local_sipver, { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCELOWER_TAR_GZ], + 'checksums': ['5d024c419b30fea8a6de8c71a560c7ab0bc3c221fbfb14d55a5b865bd58eaac5'], + 'start_dir': 'sip-%s' % local_sipver, + 'use_pip': True, + 'options': {'modulename': 'PyQt5.sip'}, + }), + ('PyQt-builder', '1.10.1', { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['967b0c7bac0331597e9f8c5b336660f173a9896830b721d6d025e14bde647e17'], + 'start_dir': 'PyQt-builder-%(version)s', + 'use_pip': True, + }), + ('PyQt5_sip', '12.9.0', { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['d3e4489d7c2b0ece9d203ae66e573939f7f60d4d29e089c9f11daa17cfeaae32'], + 'start_dir': 'PyQt5_sip-%(version)s', + 'use_pip': True, + }), + (name, version, { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['2a69597e0dd11caabe75fae133feca66387819fc9bc050f547e5551bce97e5be'], + 'easyblock': 'Binary', + 'start_dir': '%(name)s-%(version)s', + 'skipsteps': ['configure', 'build'], + 'install_cmd': local_setup_env + local_pyqt5_sip_install, + }), + ('PyQtWebEngine', version, { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['cedc28f54165f4b8067652145aec7f732a17eadf6736835852868cf76119cc19'], + 'easyblock': 'ConfigureMakePythonPackage', + 'start_dir': '%(name)s-%(version)s', + 'preconfigopts': local_setup_env, + 'configopts': local_pyqtweb_configopts, + 'options': {'modulename': 'PyQt5.QtWebEngine'}, + }), +] + +sanity_check_paths = { + 'files': ['bin/pyqt-bundle', 'bin/sip-build', 'bin/sip-install', 'bin/sip5'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "python -c 'import PyQt5.QtCore'", + "sip5 --help", +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'QT_INSTALL_DATA': 'qsci', +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyWavelets/PyWavelets-1.1.1-intelcuda-2020b.eb b/easybuild/easyconfigs/p/PyWavelets/PyWavelets-1.1.1-intelcuda-2020b.eb new file mode 100644 index 00000000000..5dda1d53259 --- /dev/null +++ b/easybuild/easyconfigs/p/PyWavelets/PyWavelets-1.1.1-intelcuda-2020b.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'PyWavelets' +version = '1.1.1' + +homepage = 'https://pywavelets.readthedocs.io' +description = "PyWavelets is open source wavelet transform software for Python." + +toolchain = {'name': 'intelcuda', 'version': '2020b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['1a64b40f6acb4ffbaccce0545d7fc641744f95351f62e4c6aaa40549326008c9'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), # for numpy +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'pywt'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/parallel-fastq-dump/parallel-fastq-dump-0.6.6-GCCcore-9.3.0-Python-3.8.2.eb b/easybuild/easyconfigs/p/parallel-fastq-dump/parallel-fastq-dump-0.6.6-GCCcore-9.3.0-Python-3.8.2.eb new file mode 100644 index 00000000000..234ce1ed45d --- /dev/null +++ b/easybuild/easyconfigs/p/parallel-fastq-dump/parallel-fastq-dump-0.6.6-GCCcore-9.3.0-Python-3.8.2.eb @@ -0,0 +1,44 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'parallel-fastq-dump' +version = '0.6.6' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/rvalieris/parallel-fastq-dump' +description = "parallel fastq-dump wrapper" +docurls = ["https://github.com/rvalieris/parallel-fastq-dump"] + +toolchain = {'name': 'GCCcore', 'version': '9.3.0'} + +# https://github.com/rvalieris/parallel-fastq-dump/archive/ +github_account = 'rvalieris' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['38a3db72e4f87b8ca2412147a5938372098df15e839c78cddc8a7bfa3dd35b64'] + +builddependencies = [('binutils', '2.34')] + +dependencies = [ + ('Python', '3.8.2'), + ('SRA-Toolkit', '2.9.6-1', '-centos_linux64', True) +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + "files": ["bin/parallel-fastq-dump"], + "dirs": ["lib/python%(pyshortver)s/site-packages"], +} + +# This package doesn't produce importable module, only executable script. +options = {'modulename': False} + +sanity_check_commands = ["parallel-fastq-dump --version"] + +sanity_pip_check = True + +moduleclass = "bio" diff --git a/easybuild/easyconfigs/p/patch/patch-2.7.6.eb b/easybuild/easyconfigs/p/patch/patch-2.7.6.eb new file mode 100644 index 00000000000..257791cf8f4 --- /dev/null +++ b/easybuild/easyconfigs/p/patch/patch-2.7.6.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'patch' +version = '2.7.6' + +homepage = 'https://savannah.gnu.org/projects/patch' +description = """Patch takes a patch file containing a difference listing produced by the diff program + and applies those differences to one or more original files, producing patched versions.""" + +toolchain = SYSTEM + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['8cf86e00ad3aaa6d26aca30640e86b0e3e1f395ed99f189b06d4c9f74bc58a4e'] + +sanity_check_paths = { + 'files': ['bin/patch', 'share/man/man1/patch.1'], + 'dirs': [], +} + +sanity_check_commands = ["patch --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pocl/pocl-1.8-GCC-11.2.0.eb b/easybuild/easyconfigs/p/pocl/pocl-1.8-GCC-11.2.0.eb new file mode 100644 index 00000000000..8dff6865a13 --- /dev/null +++ b/easybuild/easyconfigs/p/pocl/pocl-1.8-GCC-11.2.0.eb @@ -0,0 +1,44 @@ +easyblock = 'CMakeNinja' + +name = 'pocl' +version = '1.8' + +homepage = 'https://portablecl.org' +description = "Pocl is a portable open source (MIT-licensed) implementation of the OpenCL standard" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/pocl/pocl/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['pocl-%(version)s_fix-header-install.patch'] +checksums = [ + '0f63377ae1826e16e90038fc8e7f65029be4ff6f9b059f6907174b5c0d1f8ab2', # v1.8.tar.gz + '97dc45437ae7464bda9f13088720482804b8a19a4e71067196daa86af487222d', # pocl-1.8_fix-header-install.patch +] + +builddependencies = [ + ('CMake', '3.22.1'), + ('Ninja', '1.10.2'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Clang', '12.0.1'), + ('hwloc', '2.5.0'), + ('libtool', '2.4.6'), + ('libxml2', '2.9.10'), +] + +separate_build_dir = True + +# disable attempt to find an ICD loader, always build libOpenCL.so +configopts = "-DENABLE_ICD=0 -DINSTALL_OPENCL_HEADERS=1 " +# make sure we use the easybuild Clang +configopts += "-DWITH_LLVM_CONFIG=$EBROOTCLANG/bin/llvm-config -DSTATIC_LLVM=ON" + +sanity_check_paths = { + 'files': ['bin/poclcc', 'lib64/libOpenCL.%s' % SHLIB_EXT], + 'dirs': ['include/CL', 'lib64/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pocl/pocl-1.8_fix-header-install.patch b/easybuild/easyconfigs/p/pocl/pocl-1.8_fix-header-install.patch new file mode 100644 index 00000000000..aa74658080d --- /dev/null +++ b/easybuild/easyconfigs/p/pocl/pocl-1.8_fix-header-install.patch @@ -0,0 +1,24 @@ +see https://github.com/pocl/pocl/issues/1000 + https://github.com/pocl/pocl/pull/1001 + +From f5a841706edd5b201274337660528d75797031bc Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andr=C3=A9=20Gem=C3=BCnd?= + +Date: Thu, 11 Nov 2021 09:38:24 +0100 +Subject: [PATCH] Add missing cl_ext_pocl.h to install. + +--- + include/CL/CMakeLists.txt | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/include/CL/CMakeLists.txt b/include/CL/CMakeLists.txt +index 63e6b1ba4..eb4f4773d 100644 +--- a/include/CL/CMakeLists.txt ++++ b/include/CL/CMakeLists.txt +@@ -35,6 +35,7 @@ if(INSTALL_OPENCL_HEADERS) + cl_ext.h + cl_egl.h + cl_ext_intel.h ++ cl_ext_pocl.h + cl_gl.h + cl_gl_ext.h + cl_half.h diff --git a/easybuild/easyconfigs/p/porefoam/porefoam-2021-09-21-foss-2020a.eb b/easybuild/easyconfigs/p/porefoam/porefoam-2021-09-21-foss-2020a.eb new file mode 100644 index 00000000000..8edfb7a8aad --- /dev/null +++ b/easybuild/easyconfigs/p/porefoam/porefoam-2021-09-21-foss-2020a.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'porefoam' +local_commit = 'eb02ba3' +version = '2021-09-21' + +homepage = 'https://github.com/ImperialCollegeLondon/porefoam' +description = "Direct pore-scale simulation of single- and two-phase flow through confined media" + +toolchain = {'name': 'foss', 'version': '2020a'} + +source_urls = ['https://github.com/ImperialCollegeLondon/porefoam/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +patches = ['porefoam-2021-09-21_fix-scotch-linking.patch'] +checksums = [ + '61b7d23869f5cfadf001def25750576b05f13d3f117ffb409e56996a0de6d696', # porefoam-2021-09-21.tar.gz + '86b7e389b62f54bbd3c931ae3dbdc363226e250faa181e7e50ed121da9959a92', # porefoam-2021-09-21_fix-scotch-linking.patch +] + +builddependencies = [ + ('CMake', '3.16.4'), +] + +dependencies = [ + ('SCOTCH', '6.0.9'), +] + +buildininstalldir = True +unpack_options = '--strip-components=1' + +skipsteps = ['configure', 'install'] + +prebuildopts = "export WM_COMPILER=Gcc && export WM_COMPILE_OPTION=Opt && " +# using ld.gold linker doesn't work +prebuildopts += 'export WM_CC="$CC $CFLAGS -fuse-ld=bfd" && export WM_CXX="$CXX $CXXFLAGS -fuse-ld=bfd" && ' + +sanity_check_paths = { + 'files': ['bin/interFaceFoam', 'bin/smoothMesh', 'bin/voxelToSurface'], + 'dirs': ['include', 'lib'], +} + +sanity_check_commands = ["voxelToFoam --help | grep 'convert micro-CT images to OpenFOAM mesh'"] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/p/porefoam/porefoam-2021-09-21_fix-scotch-linking.patch b/easybuild/easyconfigs/p/porefoam/porefoam-2021-09-21_fix-scotch-linking.patch new file mode 100644 index 00000000000..17d5864d050 --- /dev/null +++ b/easybuild/easyconfigs/p/porefoam/porefoam-2021-09-21_fix-scotch-linking.patch @@ -0,0 +1,13 @@ +fix for: undefined reference to `SCOTCH_errorPrint' +author: Kenneth Hoste (HPC-UGent) +--- porefoam-eb02ba3ede738befe02dc7c587d21f05fd40cb9f/pkgs/foamx4m/applications/utilities/parallelProcessing/decomposePar/Make/options.orig 2022-02-25 16:29:05.774243797 +0100 ++++ porefoam-eb02ba3ede738befe02dc7c587d21f05fd40cb9f/pkgs/foamx4m/applications/utilities/parallelProcessing/decomposePar/Make/options 2022-02-25 16:29:28.484450588 +0100 +@@ -10,7 +10,7 @@ + -l:libdecompositionMethods.$(SO) \ + -l:libdecomposeReconstruct.$(SO) \ + -l:libmeshTools.$(SO) \ +- -l:libscotchDecomp.$(SO) -lscotch ++ -l:libscotchDecomp.$(SO) -lscotch -lscotcherrexit + + delsSkip = -ltetFiniteElement + delsSkip = -lfiniteArea diff --git a/easybuild/easyconfigs/p/presto/presto-1.0.0-20200718-foss-2021b-R-4.1.2.eb b/easybuild/easyconfigs/p/presto/presto-1.0.0-20200718-foss-2021b-R-4.1.2.eb new file mode 100644 index 00000000000..da212be4da9 --- /dev/null +++ b/easybuild/easyconfigs/p/presto/presto-1.0.0-20200718-foss-2021b-R-4.1.2.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'presto' +local_commit = '052085d' +# see DESCRIPTION to determine version, +# but also take date of last commit into account (since version isn't always bumped) +version = '1.0.0-20200718' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/immunogenomics/presto' +description = "Presto performs a fast Wilcoxon rank sum test and auROC analysis." + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/immunogenomics/presto/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['464fda01f49020cbc9e6dea250fa05f81822259409e701e90882fab20cddbef5'] + +dependencies = [ + ('R', '4.1.2'), + ('R-bundle-Bioconductor', '3.14', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/pyEGA3/pyEGA3-4.0.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/pyEGA3/pyEGA3-4.0.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..afab7243636 --- /dev/null +++ b/easybuild/easyconfigs/p/pyEGA3/pyEGA3-4.0.0-GCCcore-11.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'pyEGA3' +version = '4.0.0' + +homepage = 'https://github.com/EGA-archive/ega-download-client' +description = """ A basic Python-based EGA download client """ + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), + ('tqdm', '4.62.3'), +] + +use_pip = True + +exts_list = [ + ('humanize', '4.0.0', { + 'checksums': ['ee1f872fdfc7d2ef4a28d4f80ddde9f96d36955b5d6b0dac4bdeb99502bddb00'], + }), + ('htsget', '0.2.5', { + 'checksums': ['d383dc36f699bd921f760f5500c8ed251e5f8358a7cc219c6c89c35d103e8045'], + }), + ('urllib3', '1.26.9', { + 'checksums': ['aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e'], + }), + (name, version, { + 'preinstallopts': "sed -i 's/==/>=/g' setup.py && ", + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'checksums': ['4a1582da6b3c018e69c9d6023cd0344372e7c3d6be19c8f3f75a5123b53de065'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/pyega3'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_commands = ["pyega3 -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pycocotools/pycocotools-2.0.4-foss-2021a.eb b/easybuild/easyconfigs/p/pycocotools/pycocotools-2.0.4-foss-2021a.eb new file mode 100644 index 00000000000..286d7177035 --- /dev/null +++ b/easybuild/easyconfigs/p/pycocotools/pycocotools-2.0.4-foss-2021a.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'pycocotools' +version = '2.0.4' + +homepage = 'https://pypi.org/project/pycocotools' +description = "Official APIs for the MS-COCO dataset" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['2ab586aa389b9657b6d73c2b9a827a3681f8d00f36490c2e8ab05902e3fd9e93'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('matplotlib', '3.4.2'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/pydicom/pydicom-2.2.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/pydicom/pydicom-2.2.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..ca86fd03b78 --- /dev/null +++ b/easybuild/easyconfigs/p/pydicom/pydicom-2.2.2-GCCcore-11.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'pydicom' +version = '2.2.2' + +homepage = 'https://pydicom.github.io/' +description = "Pure python package for DICOM medical file reading and writing." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['d827669486414b6b6688ecf4d220065e754fabc1b0d016329fced2da4192555d'] + +builddependencies = [ + ('binutils', '2.37'), +] +dependencies = [ + ('Python', '3.9.6'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pyobjcryst/pyobjcryst-2.2.1-foss-2021b.eb b/easybuild/easyconfigs/p/pyobjcryst/pyobjcryst-2.2.1-foss-2021b.eb new file mode 100644 index 00000000000..d1a967e4abc --- /dev/null +++ b/easybuild/easyconfigs/p/pyobjcryst/pyobjcryst-2.2.1-foss-2021b.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'pyobjcryst' +version = '2.2.1' + +homepage = 'https://github.com/diffpy/pyobjcryst' +description = "Python bindings to ObjCryst++, the Object-Oriented Crystallographic Library." + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/diffpy/pyobjcryst/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['3804259ebf29a0c4a593a7fb1c356bbaaa8455715affa297517abb92bf8d13e6'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # for numpy + ('Boost.Python', '1.77.0'), + ('libobjcryst', '2021.1.2'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_commands = ["python -m pyobjcryst.tests.run"] + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/pyradiomics/pyradiomics-3.0.1-foss-2021a.eb b/easybuild/easyconfigs/p/pyradiomics/pyradiomics-3.0.1-foss-2021a.eb new file mode 100644 index 00000000000..410c853423d --- /dev/null +++ b/easybuild/easyconfigs/p/pyradiomics/pyradiomics-3.0.1-foss-2021a.eb @@ -0,0 +1,50 @@ +easyblock = 'PythonBundle' + +name = 'pyradiomics' +version = '3.0.1' + +homepage = 'https://pyradiomics.readthedocs.io/' +description = """Open-source python package for the extraction of Radiomics features from 2D and 3D + images and binary masks.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), # for numpy + ('SimpleITK', '2.1.1'), +] + +use_pip = True + +exts_list = [ + ('PyWavelets', '1.2.0', { + 'modulename': 'pywt', + 'checksums': ['6cbd69b047bb4e00873097472133425f5f08a4e6bc8b3f0ae709274d4d5e9a8d'], + }), + ('pykwalify', '1.8.0', { + 'checksums': ['796b2ad3ed4cb99b88308b533fb2f559c30fa6efb4fa9fda11347f483d245884'], + }), + ('ruamel.yaml.clib', '0.2.6', { + 'modulename': False, + 'checksums': ['4ff604ce439abb20794f05613c374759ce10e3595d1867764dd1ae675b85acbd'], + }), + ('ruamel.yaml', '0.17.20', { + 'checksums': ['4b8a33c1efb2b443a93fcaafcfa4d2e445f8e8c29c528d9f5cdafb7cc9e4004c'], + }), + (name, version, { + 'modulename': 'radiomics', + 'checksums': ['47c57f441d6cb7973fa3b2ea48d3948df78e3348e1c69e1e2ff19001601fc2f5'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pyradiomics'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["pyradiomics --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pyspoa/pyspoa-0.0.8-GCC-10.3.0.eb b/easybuild/easyconfigs/p/pyspoa/pyspoa-0.0.8-GCC-10.3.0.eb new file mode 100644 index 00000000000..11e83c46fdb --- /dev/null +++ b/easybuild/easyconfigs/p/pyspoa/pyspoa-0.0.8-GCC-10.3.0.eb @@ -0,0 +1,52 @@ +easyblock = 'PythonPackage' + +name = 'pyspoa' +version = '0.0.8' + +homepage = 'https://github.com/nanoporetech/pyspoa' +description = "Python bindings to spoa." + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +sources = [ + { + 'source_urls': ['https://github.com/nanoporetech/pyspoa/archive/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': 'pyspoa-%(version)s.tar.gz', + }, + { + 'source_urls': ['https://github.com/USCiLab/cereal/archive/'], + 'download_filename': '3e4d1b8.tar.gz', + 'filename': 'cereal-20200423.tar.gz', + }, +] +patches = ['pyspoa-%(version)s_use-spoa-dep.patch'] +checksums = [ + 'a1e630ef30a42d8e8c076d914261d0d34060631d64694569d52c1a2be5deada7', # pyspoa-0.0.8.tar.gz + '284cd14c1e60b36c966bcc8ce650d0b798b8a836d6c379e021e0da0dbe6ddf38', # cereal-20200423.tar.gz + 'a98c82ae8346b48952b171675f9df7ab1c95ea5421afcf5bcd778c01c5ee5a52', # pyspoa-0.0.8_use-spoa-dep.patch +] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('pybind11', '2.6.2'), + ('spoa', '4.0.7'), +] + +download_dep_fail = True + +preinstallopts = "mkdir -p src/vendor/cereal && ln -s %(builddir)s/cereal-*/include src/vendor/cereal/include && " +# strip out cmake requirements, since we provide that as proper dependency +preinstallopts += "sed -i 's/.cmake==[0-9.]*.//g' setup.py && " + +use_pip = True + +options = {'modulename': 'spoa'} + +sanity_pip_check = True + +sanity_check_commands = ["cd %(builddir)s/*/tests && python test_pyspoa.py"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/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 53b854a4603..49646aed92c 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 @@ -1087,6 +1087,15 @@ exts_list = [ ('pathview', '1.34.0', { 'checksums': ['594e4b2dd4bb9e826fa87c63f56fbc9132e1b4b620696ec31ae0ebbc6940b4c9'], }), + ('chromVAR', '1.16.0', { + 'checksums': ['f3ea91fd13c2be56e3bd37991396876a6aba155b398200e01ae650404a769a7a'], + }), + ('EnsDb.Hsapiens.v79', '2.99.0', { + 'checksums': ['eff1ae8d7f4ed5c6bed335de63a758be593750fb0b3483c01cf50402688d244d'], + }), + ('WGCNA', '1.70-3', { + 'checksums': ['b9843b839728183af6b746f239e9519d438b294613362b556002acdb8522cbd4'], + }), ] modextrapaths = {'R_LIBS_SITE': ''} 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 e6cf317ae8b..b897944bd7d 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 @@ -2898,7 +2898,8 @@ exts_list = [ 'checksums': ['351e5fee64204cf77fd378cf2a2c0456cc19d4d98a2fd5f3dac74b69a505f100'], }), ('norm', '1.0-9.5', { - 'checksums': ['305cbf007f3905cfd535ed9bf5ae3e2995e228cc8883d6482e5d3a2f02814106'], + 'checksums': [('305cbf007f3905cfd535ed9bf5ae3e2995e228cc8883d6482e5d3a2f02814106', + '45016701291a5851d42452fc3ae682ff9bf86b0a9ba4619dc8b36a0187e4d0e4')], }), ('naniar', '0.6.1', { 'checksums': ['d546ca15bf6c224f3103eb1441abef91d34feebb7320c2398d598f5d50177450'], 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 7043d2cb89f..ce4464bb9aa 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 @@ -2143,7 +2143,8 @@ exts_list = [ 'checksums': ['05e89a1678a39e32bfb41af8a31d643b04fc4d2660a96e701825e6bffcd75a52'], }), ('optmatch', '0.9-15', { - 'checksums': ['7500fdbed939b7f16603a097d734a332793a3ac68e6a80c7957bef2a567691d8'], + 'checksums': [('7500fdbed939b7f16603a097d734a332793a3ac68e6a80c7957bef2a567691d8', + 'f37254b3af586ffa259f09914e27cba576b6f4ef023b794195014d29f715895b')], }), ('SPAtest', '3.1.2', { 'checksums': ['b3d74ed2b0a6475a9966dd50eb5d363d0b2985636271dfbf82f0472b8d22b9f4'], @@ -2971,7 +2972,8 @@ exts_list = [ 'checksums': ['351e5fee64204cf77fd378cf2a2c0456cc19d4d98a2fd5f3dac74b69a505f100'], }), ('norm', '1.0-9.5', { - 'checksums': ['305cbf007f3905cfd535ed9bf5ae3e2995e228cc8883d6482e5d3a2f02814106'], + 'checksums': [('305cbf007f3905cfd535ed9bf5ae3e2995e228cc8883d6482e5d3a2f02814106', + '45016701291a5851d42452fc3ae682ff9bf86b0a9ba4619dc8b36a0187e4d0e4')], }), ('naniar', '0.6.1', { 'checksums': ['d546ca15bf6c224f3103eb1441abef91d34feebb7320c2398d598f5d50177450'], @@ -3215,6 +3217,93 @@ exts_list = [ ('catlearn', '0.8', { 'checksums': ['0d13da431a5511b025090b7ffaa3765b94b33c7de5a7cc1cec8c50437755646e'], }), + ('metadat', '1.0-0', { + 'checksums': ['ed335a4eb2145fffde20e36077e360f9d36a615e9d93453d2bbd6f5967db4b9c'], + }), + ('MetaUtility', '2.1.2', { + 'checksums': ['e38c21588c239aa8926e64d916aa0f3b04108c2992f0e801095e4c7920b9ad5d'], + }), + ('EValue', version, { + 'checksums': ['d9f3feb3da2efaf4e5d794e05475be62666192a7c855e373c3d369324078690c'], + }), + ('dagitty', '0.3-1', { + 'checksums': ['7d44b5d259ec3fef776a7e3fcb21d1c379f930d6ae9ae5fbfff54494ad78e8a8'], + }), + ('ggdag', '0.2.4', { + 'checksums': ['372ec4ef0ded9637304a19b50bce908e84a034e54dbd2a52a061bb747b2b08a0'], + }), + ('simex', '1.8', { + 'checksums': ['80c7841196b9377a9367eb6960ad80ca0bf8de511b8b18a0031bfbe7bde289a0'], + }), + ('hash', '2.2.6.1', { + 'checksums': ['a680dfccaaf89b5a55355062b5292baf514d53aa3b206aa74869f1b733a06e2c'], + }), + ('nabor', '0.5.0', { + 'checksums': ['47938dcc987279281c13abfd667660bf1b3b76af116136a27eb066ee1a4b43da'], + }), + ('harmony', '0.1.0', { + 'checksums': ['e0598c220ae90d1334e47c9958ccccf7defbe6ac530159bc69424923894f724a'], + }), + ('apcluster', '1.4.9', { + 'checksums': ['3aac75e3e640eb89c1337d6f2e72a85d226b9c9483e43e0c76f9d424e758cb72'] + }), + ('DataCombine', '0.2.21', { + 'checksums': ['352b235612e2cf8234b3ab5f9aa6f7a394b006b98d24e315940ccc65c4218b47'] + }), + ('docstring', '1.0.0', { + 'checksums': ['14528bc85bbb299fb8fe1a7116034f8df49ae0c26fb299376185b5d56176e5a7'] + }), + ('gdalUtils', '2.0.3.2', { + 'checksums': ['4c6faabee2db8a87b7ea0f8e67e9fce3c5db7f4be353d7d86ea559507cbb2a4f'] + }), + ('openair', '2.8-6', { + 'checksums': ['37ffd9d6c5f5cebcd95720c6599f25f2e6c4fd3f6134f6aec026cb671ea373c0'] + }), + ('pdp', '0.7.0', { + 'checksums': ['28d69eb63b92bdf8e974b3222e1e9565000d7f15a3bd90854a8e0446b0fa9a71'] + }), + ('date', '1.2-39', { + 'checksums': ['b5b1935638b73373809c009f94b77f993cd301744488d9bdf71ef79c82099757'], + }), + ('cmprsk', '2.2-11', { + 'checksums': ['844027cb2c162cf7ef97034d01237ad7b81aa192fe302250d22d2c5528110e14'], + }), + ('mets', '1.2.9', { + 'checksums': ['5faccc064e715c44234def40f4f560e90f2dbd34c915a8687b48103b39814ab5'], + }), + ('Publish', '2020.12.23', { + 'checksums': ['a7a98fc52801bee30b9c8cb423e4e0082ea42d05134f7d3324ac3e95242cfbe2'], + }), + ('riskRegression', '2022.03.09', { + 'checksums': ['6b256cc54de81e8304f859fba7994d101ef972b6cad01b46050363fc48108dc6'], + }), + ('pec', '2022.03.06', { + 'checksums': ['d55e1d9b5786537ed127f3c470e8e139a9745969dea9a495afe13743a89883ec'], + }), + ('pammtools', '0.5.8', { + 'checksums': ['37197edd0984f8bf0e0a39a4ac1cfce897050dbb7f610553c349118fceb3ca93'], + }), + ('relsurv', '2.2-7', { + 'checksums': ['82c84bbe0a3eb9b391cbb885b3f3e7114adda5243aa83f974922d2edca918317'], + }), + ('mstate', '0.3.2', { + 'checksums': ['3c473dff6854e31cdbdaf79f8fe7eaf97119b01a581874a894b283555afe8d14'], + }), + ('microbenchmark', '1.4.9', { + 'checksums': ['443d2caf370ef33e4ac2773176ad9eb86f8790f43b430968ef9647699dbbffd2'], + }), + ('prettyGraphs', '2.1.6', { + 'checksums': ['fece08924fc7ed05ec419afa14a2216a2bb23d9da5ed3fc61472d6e45be7577a'], + }), + ('ExPosition', '2.8.23', { + 'checksums': ['0510bc51b1c8c883ff3652a5ed56242f91c2b7b7cf3100755436bffa1e002475'], + }), + ('alluvial', '0.1-2', { + 'checksums': ['77b6dc4651b33b03aaaf1e09a35f9c3536e5fddac2eda34f5a34e0ae33cf2e0d'], + }), + ('SNFtool', '2.3.1', { + 'checksums': ['982fe7c57f52c0c272b8cb5863dc5d50623b368e24ff6e27fc8b17acc0101f16'], + }), ] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/RDKit/RDKit-2020.03.3-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/r/RDKit/RDKit-2020.03.3-foss-2020a-Python-3.8.2.eb index 9990f9acddb..0f3478b407f 100644 --- a/easybuild/easyconfigs/r/RDKit/RDKit-2020.03.3-foss-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/r/RDKit/RDKit-2020.03.3-foss-2020a-Python-3.8.2.eb @@ -44,10 +44,12 @@ separate_build_dir = True configopts = "-DPy_ENABLE_SHARED=1 -DRDK_INSTALL_STATIC_LIBS=OFF -DRDK_INSTALL_INTREE=OFF " configopts += "-DRDK_BUILD_INCHI_SUPPORT=ON " configopts += "-DBoost_INCLUDE_DIR=$EBROOTBOOST/include -DBoost_LIBRARY_DIR_RELEASE=$EBROOTBOOST/lib " +configopts += "-DBoost_NO_BOOST_CMAKE=ON " # merge source directory into build directory in order to run the tests buildopts = '&& cp -RT %(builddir)s/%(namelower)s-*/ ./ && ' buildopts += 'export RDBASE=$PWD && export PYTHONPATH=$PWD:$PYTHONPATH && ' + # 'ctest' allows to pass additional arguments opposed to 'make test' buildopts += 'ctest --output-on-failure' diff --git a/easybuild/easyconfigs/r/RDKit/RDKit-2020.03.3-intel-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/r/RDKit/RDKit-2020.03.3-intel-2020a-Python-3.8.2.eb index 7715adac08e..9114ab335e8 100644 --- a/easybuild/easyconfigs/r/RDKit/RDKit-2020.03.3-intel-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/r/RDKit/RDKit-2020.03.3-intel-2020a-Python-3.8.2.eb @@ -44,10 +44,12 @@ separate_build_dir = True configopts = "-DPy_ENABLE_SHARED=1 -DRDK_INSTALL_STATIC_LIBS=OFF -DRDK_INSTALL_INTREE=OFF " configopts += "-DRDK_BUILD_INCHI_SUPPORT=ON " configopts += "-DBoost_INCLUDE_DIR=$EBROOTBOOST/include -DBoost_LIBRARY_DIR_RELEASE=$EBROOTBOOST/lib " +configopts += "-DBoost_NO_BOOST_CMAKE=ON " # merge source directory into build directory in order to run the tests buildopts = '&& cp -RT %(builddir)s/%(namelower)s-*/ ./ && ' buildopts += 'export RDBASE=$PWD && export PYTHONPATH=$PWD:$PYTHONPATH && ' + # 'ctest' allows to pass additional arguments opposed to 'make test' # Exclude RGroup test on intel - https://github.com/rdkit/rdkit/issues/3291 buildopts += 'ctest --output-on-failure -E RGroup' diff --git a/easybuild/easyconfigs/r/RDKit/RDKit-2020.09.3-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/r/RDKit/RDKit-2020.09.3-foss-2019b-Python-3.7.4.eb index 17cc82723e1..30280d9b65f 100644 --- a/easybuild/easyconfigs/r/RDKit/RDKit-2020.09.3-foss-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/r/RDKit/RDKit-2020.09.3-foss-2019b-Python-3.7.4.eb @@ -42,12 +42,15 @@ separate_build_dir = True configopts = "-DPy_ENABLE_SHARED=1 -DRDK_INSTALL_STATIC_LIBS=OFF -DRDK_INSTALL_INTREE=OFF " configopts += "-DRDK_BUILD_INCHI_SUPPORT=ON " configopts += "-DBoost_INCLUDE_DIR=$EBROOTBOOST/include -DBoost_LIBRARY_DIR_RELEASE=$EBROOTBOOST/lib " +configopts += "-DBoost_NO_BOOST_CMAKE=ON " # merge source directory into build directory in order to run the tests buildopts = '&& cp -RT %(builddir)s/%(namelower)s-*/ ./ && ' buildopts += 'export RDBASE=$PWD && export PYTHONPATH=$PWD:$PYTHONPATH && ' + # 'ctest' allows to pass additional arguments opposed to 'make test' buildopts += 'ctest --output-on-failure ' + # Exclude RGroup test when using Intel compilers - https://github.com/rdkit/rdkit/issues/3291 # buildopts += '-E RGroup' diff --git a/easybuild/easyconfigs/r/RE2/RE2-2022-02-01-GCCcore-11.2.0.eb b/easybuild/easyconfigs/r/RE2/RE2-2022-02-01-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..efbb084d3ec --- /dev/null +++ b/easybuild/easyconfigs/r/RE2/RE2-2022-02-01-GCCcore-11.2.0.eb @@ -0,0 +1,33 @@ +## +# Author: Robert Mijakovic +## +easyblock = "CMakeMake" + +name = 'RE2' +version = '2022-02-01' + +homepage = 'https://github.com/google/re2' +description = """ +RE2 is a fast, safe, thread-friendly alternative to backtracking regular +expression engines like those used in PCRE, Perl, and Python. It is a C++ +library. """ + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +github_account = 'google' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['9c1e6acfd0fed71f40b025a7a1dabaf3ee2ebb74d64ced1f9ee1b0b01d22fd27'] + +builddependencies = { + ('binutils', '2.37'), + ('CMake', '3.21.1'), +} + +sanity_check_paths = { + 'files': ['lib/libre2.a'], + 'dirs': ['include/re2'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/r/RevBayes/RevBayes-1.1.1-GCC-11.2.0.eb b/easybuild/easyconfigs/r/RevBayes/RevBayes-1.1.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..3512d9cbffc --- /dev/null +++ b/easybuild/easyconfigs/r/RevBayes/RevBayes-1.1.1-GCC-11.2.0.eb @@ -0,0 +1,39 @@ +# easybuild easyconfig +# +# John Dey +# Fred Hutchinson Cancer Research Center - Seattle Washington - US +easyblock = 'CmdCp' + +name = 'RevBayes' +version = '1.1.1' + +homepage = 'https://revbayes.github.io/' + +description = """RevBayes provides an interactive environment for statistical computation in + phylogenetics. It is primarily intended for modeling, simulation, and Bayesian inference in + evolutionary biology, particularly phylogenetics.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/revbayes/revbayes/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['d61293fceac817d8203ed1e828661d76c73fa16bf04458a50a37057e99fd40c0'] + +builddependencies = [('CMake', '3.22.1')] + +dependencies = [ + ('Boost', '1.77.0'), +] + +start_dir = 'projects/cmake' +local_cmd = './build.sh -DCMAKE_CXX_FLAGS="-pthread" -DBoost_NO_BOOST_CMAKE=ON' +cmds_map = [('', local_cmd)] + +files_to_copy = [(['projects/cmake/rb'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/rb'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/rMATS-turbo/rMATS-turbo-4.1.1-foss-2020b.eb b/easybuild/easyconfigs/r/rMATS-turbo/rMATS-turbo-4.1.1-foss-2020b.eb index c4ab2d228d0..41bc0020a7b 100644 --- a/easybuild/easyconfigs/r/rMATS-turbo/rMATS-turbo-4.1.1-foss-2020b.eb +++ b/easybuild/easyconfigs/r/rMATS-turbo/rMATS-turbo-4.1.1-foss-2020b.eb @@ -33,7 +33,7 @@ components = [ 'easyblock': 'MakeCp', 'start_dir': 'rmats-turbo-%(version)s/rMATS_C', 'buildopts': "%s" % local_buildopts, - 'files_to_copy': [(['rMATSexe', '../rmats.py'], 'bin')], + 'files_to_copy': [(['rMATSexe', '../rmats.py', '../rMATS_C', '../rMATS_R', '../rMATS_P'], 'bin')] }), ('rmats-turbo-python', version, { 'easyblock': 'PythonPackage', diff --git a/easybuild/easyconfigs/s/SAMtools/SAMtools-1.15-GCC-11.2.0.eb b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.15-GCC-11.2.0.eb new file mode 100644 index 00000000000..19cff7315ab --- /dev/null +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.15-GCC-11.2.0.eb @@ -0,0 +1,37 @@ +## +# This is a contribution from DeepThought HPC Service, Flinders University, Adelaide, Australia +# Homepage: https://staff.flinders.edu.au/research/deep-thought +# +# Authors:: Robert Qiao +# License:: MIT +# +# Notes:: +# +# Updated to 1.14 and gcc-11.2.0 +# J. Sassmannshausen / GSTT + +name = 'SAMtools' +version = '1.15' + +homepage = 'https://www.htslib.org/' +description = """SAM Tools provide various utilities for manipulating alignments in the SAM format, + including sorting, merging, indexing and generating alignments in a per-position format.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['35d945a5eee9817a764490870474f24e538400b0397b28f94247a5b91447215d'] + +# The htslib component of SAMtools >= 1.4 uses zlib, bzip2 and lzma compression. +# The latter is currently provided by XZ. +dependencies = [ + ('ncurses', '6.2'), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('cURL', '7.78.0'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SBCL/SBCL-2.2.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/s/SBCL/SBCL-2.2.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..3aacb77b256 --- /dev/null +++ b/easybuild/easyconfigs/s/SBCL/SBCL-2.2.1-GCCcore-10.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' +name = 'SBCL' +version = '2.2.1' + +homepage = 'http://sbcl.sourceforge.net/' +description = """ +Steel Bank Common Lisp (SBCL) is a high performance Common Lisp compiler. It is +open source / free software, with a permissive license. In addition to the +compiler and runtime system for ANSI Common Lisp, it provides an interactive +environment including a debugger, a statistical profiler, a code coverage tool, +and many other extensions.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(namelower)s-%(version)s-source.tar.bz2'] +checksums = ['5dd6e6e3f08b7c6edf262a0e844a9f8b5e562cca08155034c1f2c014fc9087da'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CCL', '1.12.1'), +] + +parallel = False +skipsteps = ['configure'] +local_prefixarg = '--prefix=%(installdir)s' + +# Build SBCL with Clozure CL +# Using the binary distribution of SBCL to build SBCL is not trivial because +# it needs GLIBC v2.28 +build_cmd = "sh make.sh" +buildopts = "%s --xc-host=ccl" % local_prefixarg + +install_cmd = "sh install.sh" +installopts = local_prefixarg + +sanity_check_paths = { + 'files': ['bin/sbcl'], + 'dirs': ['lib/sbcl'], +} + +sanity_check_commands = ["sbcl --help"] + +modextrapaths = {'SBCL_HOME': 'lib/sbcl'} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SKESA/SKESA-2.4.0-gompi-2021b_saute.1.3.0_1.eb b/easybuild/easyconfigs/s/SKESA/SKESA-2.4.0-gompi-2021b_saute.1.3.0_1.eb new file mode 100644 index 00000000000..ebf4e97faf6 --- /dev/null +++ b/easybuild/easyconfigs/s/SKESA/SKESA-2.4.0-gompi-2021b_saute.1.3.0_1.eb @@ -0,0 +1,37 @@ +easyblock = 'MakeCp' + +name = 'SKESA' +version = '2.4.0' +versionsuffix = '_saute.1.3.0_1' + +homepage = 'https://github.com/ncbi/SKESA' +description = "SKESA is a de-novo sequence read assembler for cultured single isolate genomes based on DeBruijn graphs." + +toolchain = {'name': 'gompi', 'version': '2021b'} +toolchainopts = {'cstd': 'c++11'} + +source_urls = ['https://github.com/ncbi/SKESA/archive/'] +sources = ['skesa.%(version)s%(versionsuffix)s.tar.gz'] +checksums = ['b44c56b16d87b1961e9ee4069468f6b0e850c0cc4c99410f1f5c06b782dee092'] + +dependencies = [ + ('NGS', '2.11.2'), + ('ncbi-vdb', '2.11.2'), + ('Boost', '1.77.0'), +] + +prebuildopts = "touch %(builddir)s/ngs.done && " + +buildopts = 'CC="$CXX" CFLAGS="$CXXFLAGS" ' +buildopts += "NGS_DIR=%(builddir)s BOOST_PATH=$EBROOTBOOST NGS_PATH=$EBROOTNGS VDB_PATH=$EBROOTNCBIMINVDB" + +files_to_copy = [(['skesa'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/skesa'], + 'dirs': [], +} + +sanity_check_commands = ["skesa --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SOCI/SOCI-4.0.3-GCC-11.2.0.eb b/easybuild/easyconfigs/s/SOCI/SOCI-4.0.3-GCC-11.2.0.eb new file mode 100644 index 00000000000..d84729fec94 --- /dev/null +++ b/easybuild/easyconfigs/s/SOCI/SOCI-4.0.3-GCC-11.2.0.eb @@ -0,0 +1,52 @@ +easyblock = 'CMakeMake' + +name = 'SOCI' +version = '4.0.3' + +homepage = 'http://soci.sourceforge.net/' +description = """SOCI is a database access library for C++ that makes the illusion of embedding SQL queries in the + regular C++ code, staying entirely within the Standard C++.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/SOCI/soci/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['4b1ff9c8545c5d802fbe06ee6cd2886630e5c03bf740e269bb625b45cf934928'] + +builddependencies = [ + ('CMake', '3.21.1'), +] + +dependencies = [ + ('Boost', '1.77.0'), + ('SQLite', '3.36'), + ('PostgreSQL', '13.4'), +] + +# Matches RStudio (1.4.1717) install options +# https://github.com/rstudio/rstudio/blob/ddcd7191ec89c4da00e77afae7e9f27e61e87c36/dependencies/common/install-soci +configopts = "-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true " +configopts += "-DSOCI_TESTS=OFF " +configopts += "-DSOCI_CXX11=ON " +configopts += "-DSOCI_EMPTY=OFF " +configopts += '-DCMAKE_INCLUDE_PATH="$EBROOTBOOST/include" ' +configopts += "-DBoost_USE_STATIC_LIBS=ON " +configopts += '-DCMAKE_LIBRARY_PATH="$EBROOTBOOST/lib" ' +configopts += "-DWITH_BOOST=ON " +configopts += "-DWITH_POSTGRESQL=ON " +configopts += "-DWITH_SQLITE3=ON " +configopts += "-DWITH_DB2=OFF " +configopts += "-DWITH_MYSQL=OFF " +configopts += "-DWITH_ORACLE=OFF " +configopts += "-DWITH_FIREBIRD=OFF " +configopts += "-DWITH_ODBC=OFF " +configopts += "-DBoost_DEBUG=1 " + +local_dbs = ['postgresql', 'sqlite3'] + +sanity_check_paths = { + 'files': ['lib/libsoci_%s.%s' % (x, SHLIB_EXT) for x in local_dbs + ['core']], + 'dirs': ['include/soci/%s' % x for x in local_dbs], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SPM/SPM-12.5_r7771-MATLAB-2021a.eb b/easybuild/easyconfigs/s/SPM/SPM-12.5_r7771-MATLAB-2021a.eb new file mode 100644 index 00000000000..72fe5d8b1e4 --- /dev/null +++ b/easybuild/easyconfigs/s/SPM/SPM-12.5_r7771-MATLAB-2021a.eb @@ -0,0 +1,53 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'Tarball' + +name = 'SPM' +version = '12.5_r7771' +_matlab_ver = '2021a' +versionsuffix = '-MATLAB-%s' % _matlab_ver + +homepage = 'https://www.fil.ion.ucl.ac.uk/spm' +description = """SPM (Statistical Parametric Mapping) refers to the construction + and assessment of spatially extended statistical processes used to test hypo- + theses about functional imaging data. These ideas have been instantiated in + software that is called SPM. + The SPM software package has been designed for the analysis of brain imaging + data sequences. The sequences can be a series of images from different cohorts, + or time-series from the same subject. The current release is designed for the + analysis of fMRI, PET, SPECT, EEG and MEG. +""" + +toolchain = SYSTEM + +_spm_maj_ver = version.split('.')[0] +_spm_majmin_ver, _spm_update_ver = version.split('_') + +sources = [ + { + 'source_urls': ['https://www.fil.ion.ucl.ac.uk/spm/download/restricted/eldorado'], + 'filename': '%%(namelower)s%s.zip' % _spm_majmin_ver, + }, + { + 'source_urls': ['http://www.fil.ion.ucl.ac.uk/spm/download/spm12_updates'], + 'filename': '%%(namelower)s%s_updates_%s.zip' % (_spm_maj_ver, _spm_update_ver), + 'extract_cmd': 'unzip -oqq %%s -d spm%s' % _spm_maj_ver, + }, +] +checksums = [ + '0dc847eb065ccfcefbaefafdc12201dd20a22b9ee9b33a6b1973d07690a21914', # spm12.5.zip + '2b3cbd5f58fe180231d8bdcd0762c8874aee97240de391d876d9f2e33037a293', # spm12_updates_r7771.zip +] + +dependencies = [('MATLAB', _matlab_ver)] + +sanity_check_paths = { + 'files': ['spm.m'], + 'dirs': [], +} + +sanity_check_commands = ['matlab -batch "spm version"'] + +modextrapaths = {'MATLABPATH': ''} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/STRique/STRique-0.4.2-foss-2021b.eb b/easybuild/easyconfigs/s/STRique/STRique-0.4.2-foss-2021b.eb new file mode 100644 index 00000000000..795b2a954b2 --- /dev/null +++ b/easybuild/easyconfigs/s/STRique/STRique-0.4.2-foss-2021b.eb @@ -0,0 +1,79 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Jakub Zarybnicky (INUITS), Denis Kristak (INUITS) + +easyblock = 'PythonBundle' + +name = 'STRique' +version = '0.4.2' + +homepage = 'https://github.com/giesselmann/STRique' +description = """STRique is a python package to analyze repeat expansion and +methylation states of short tandem repeats (STR) in Oxford Nanopore Technology +(ONT) long read sequencing data.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +builddependencies = [('CMake', '3.21.1')] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('zlib', '1.2.11'), + ('h5py', '3.6.0'), + ('SeqAn', '2.4.0'), + ('PyYAML', '5.4.1'), + ('networkx', '2.6.3'), + ('scikit-image', '0.19.1'), +] + +local_preconfigopts = "sed -i -e '/\ %(installdir)s/bin/STRique', + 'cat <(echo "#!/usr/bin/env python") scripts/STRique_test.py > %(installdir)s/bin/STRique_test', + 'cat <(echo "#!/usr/bin/env python") scripts/fast5Masker.py > %(installdir)s/bin/fast5Masker', + 'chmod +x %(installdir)s/bin/*', + ], + 'preconfigopts': local_preconfigopts, + 'sources': [{ + 'filename': '%(name)s-%(version)s.tar.gz', + 'git_config': { + 'url': 'https://github.com/giesselmann', + 'repo_name': 'STRique', 'commit': '585273215abff7956f5d6277601f0a6be2211a96', + 'recursive': True + } + }], + 'checksums': [None], + }), +] + +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/STRique', 'bin/fast5Masker'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} +sanity_check_commands = ['STRique count --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SeqAn/SeqAn-2.4.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/s/SeqAn/SeqAn-2.4.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..4cdc0b3d4e8 --- /dev/null +++ b/easybuild/easyconfigs/s/SeqAn/SeqAn-2.4.0-GCCcore-11.2.0.eb @@ -0,0 +1,53 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# Updated: Jakub Zarybnicky (INUITS), Denis Kristak (INUITS) +easyblock = 'CMakeMake' + +name = 'SeqAn' +version = '2.4.0' + +homepage = 'https://github.com/seqan/seqan' + +description = """ + SeqAn is an open source C++ library of efficient algorithms and data structures + for the analysis of sequences with the focus on biological data. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/seqan/seqan/archive/'] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +checksums = ['d7084d17729214003e84818e0280a16f223c8f1c6a30eeef040c27e0c0047bd7'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), + ('Python', '3.9.6'), +] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +separate_build_dir = True + +postinstallcmds = [ + "mkdir -p %(installdir)s/util/cmake", + "cp -a %(builddir)s/seqan-*/util/cmake/seqan-config.cmake %(installdir)s/util/cmake/", + "cp -a %(builddir)s/seqan-*/include %(installdir)s", +] + +local_binaries = ['gustaf_mate_joining', 'mason_materializer', 'mason_variator', 'rabema_prepare_sam', + 'razers3', 'seqan_tcoffee', 'samcat', 'splazers', 'yara_mapper'] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in local_binaries] + ['util/cmake/seqan-config.cmake'], + 'dirs': ['include/seqan'], +} + +sanity_check_commands = ["%s --help" % x for x in local_binaries] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Siesta/Siesta-4.1.5-intel-2020a.eb b/easybuild/easyconfigs/s/Siesta/Siesta-4.1.5-intel-2020a.eb new file mode 100644 index 00000000000..50527cd229e --- /dev/null +++ b/easybuild/easyconfigs/s/Siesta/Siesta-4.1.5-intel-2020a.eb @@ -0,0 +1,26 @@ +name = 'Siesta' +version = '4.1.5' + +homepage = 'http://departments.icmab.es/leem/siesta' +description = """SIESTA is both a method and its computer program implementation, to perform efficient electronic + structure calculations and ab initio molecular dynamics simulations of molecules and solids.""" + +toolchain = {'name': 'intel', 'version': '2020a'} +toolchainopts = {'usempi': True, 'precise': True} + +source_urls = ['https://gitlab.com/siesta-project/siesta/-/releases/v%(version)s/downloads'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['518df31aa6213af5e24cc73abb537b2c89a925b487171f5339d743d0c7140b3f'] + +dependencies = [ + ('netCDF-Fortran', '4.5.2'), + ('METIS', '5.1.0'), + ('ELPA', '2019.11.001'), +] + +# transiesta is now siesta --electrode +with_transiesta = False + +runtest = 'check' + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/s/SlamDunk/SlamDunk-0.4.3-foss-2021b.eb b/easybuild/easyconfigs/s/SlamDunk/SlamDunk-0.4.3-foss-2021b.eb new file mode 100644 index 00000000000..8bcc3df3072 --- /dev/null +++ b/easybuild/easyconfigs/s/SlamDunk/SlamDunk-0.4.3-foss-2021b.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'SlamDunk' +version = '0.4.3' + +homepage = 'https://t-neumann.github.io/slamdunk' +description = """SlamDunk is a novel, fully automated software tool for automated, robust, scalable and reproducible +SLAMseq data analysis.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['8475d4cadad3defda6b11de405fc59de917a6e57468f709a1e28b8a0627f2ff5'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('pybedtools', '0.8.2'), + ('Pysam', '0.17.0'), + ('Biopython', '1.79'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/slamdunk'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/'], +} + +sanity_check_commands = ["slamdunk --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Stacks/Stacks-2.53-iccifort-2019.5.281.eb b/easybuild/easyconfigs/s/Stacks/Stacks-2.53-iccifort-2019.5.281.eb new file mode 100644 index 00000000000..07913a44d42 --- /dev/null +++ b/easybuild/easyconfigs/s/Stacks/Stacks-2.53-iccifort-2019.5.281.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'Stacks' +version = '2.53' + +homepage = 'https://catchenlab.life.illinois.edu/stacks' +description = """Stacks is a software pipeline for building loci from short-read sequences, such as those generated on + the Illumina platform. Stacks was developed to work with restriction enzyme-based data, such as RAD-seq, + for the purpose of building genetic maps and conducting population genomics and phylogeography. +""" + +toolchain = {'name': 'iccifort', 'version': '2019.5.281'} + +source_urls = ['https://catchenlab.life.illinois.edu/stacks/source/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ee1efceaeeeb7a39f0c2e804ad7c0a003094db28c9101120c38ddb02846e90fd'] + +builddependencies = [('binutils', '2.32')] + +dependencies = [('zlib', '1.2.11')] + +sanity_check_paths = { + 'files': ['bin/clone_filter', 'bin/cstacks', 'bin/gstacks', 'bin/kmer_filter', 'bin/phasedstacks', + 'bin/populations', 'bin/process_radtags', 'bin/process_shortreads', 'bin/sstacks', + 'bin/tsv2bam', 'bin/ustacks'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/samclip/samclip-0.4.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/s/samclip/samclip-0.4.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..ff7f93d50b4 --- /dev/null +++ b/easybuild/easyconfigs/s/samclip/samclip-0.4.0-GCCcore-11.2.0.eb @@ -0,0 +1,30 @@ +# Author: Denis Kristak (INUITS) +# License: GPLv2 + +easyblock = 'Tarball' + +name = 'samclip' +version = '0.4.0' + +homepage = 'https://github.com/tseemann/samclip' +description = """Filter SAM file for soft and hard clipped alignments.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +github_account = 'tseemann' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['8196b705b0319b168949f42818eb3a6bcf96119a24daa950fa0d908d3111d127'] + +dependencies = [('Perl', '5.34.0')] + +sanity_check_paths = { + 'files': [name], + 'dirs': [], +} + +sanity_check_commands = ["%(name)s --help"] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scikit-image/imread-0.7.1_fix-library-order.patch b/easybuild/easyconfigs/s/scikit-image/imread-0.7.1_fix-library-order.patch new file mode 100644 index 00000000000..a808fc95719 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-image/imread-0.7.1_fix-library-order.patch @@ -0,0 +1,15 @@ +fix linking order of libraries to fix: + ld: /software/LibTIFF/4.1.0-GCCcore-10.2.0/lib/libtiff.so:(*IND*+0x0): multiple definition of `_end' + ld: /software/LibTIFF/4.1.0-GCCcore-10.2.0/lib/libtiff.so:(*IND*+0x0): multiple definition of `__bss_start' +see also https://github.com/easybuilders/easybuild-easyconfigs/issues/14219 +--- imread-0.7.1/setup.py.orig 2022-02-25 17:30:06.726515267 +0100 ++++ imread-0.7.1/setup.py 2022-02-25 17:30:21.451056892 +0100 +@@ -77,7 +77,7 @@ + } + + +-libraries = ['png', 'jpeg', 'tiff'] ++libraries = ['png', 'tiff', 'jpeg'] + if sys.platform.startswith('win'): + libraries.append('zlib') + diff --git a/easybuild/easyconfigs/s/scikit-image/imread-0.7.4_shlibs_order.patch b/easybuild/easyconfigs/s/scikit-image/imread-0.7.4_shlibs_order.patch new file mode 100644 index 00000000000..859b24bb033 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-image/imread-0.7.4_shlibs_order.patch @@ -0,0 +1,14 @@ +description: adjusting order of dependent libraries in setup.py +issue: https://github.com/easybuilders/easybuild-easyconfigs/issues/14219 +author: Zdenek Matej, MAX IV Laboratory, Lund University +--- setup.py ++++ setup.py +@@ -77,7 +77,7 @@ + } + + +-libraries = ['png', 'jpeg', 'tiff'] ++libraries = ['png', 'tiff', 'jpeg'] + if sys.platform.startswith('win'): + libraries.append('zlib') + diff --git a/easybuild/easyconfigs/s/scikit-image/scikit-image-0.16.2-intel-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/s/scikit-image/scikit-image-0.16.2-intel-2019b-Python-3.7.4.eb index f4dbbf7f82f..0eeba49b72f 100644 --- a/easybuild/easyconfigs/s/scikit-image/scikit-image-0.16.2-intel-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/s/scikit-image/scikit-image-0.16.2-intel-2019b-Python-3.7.4.eb @@ -30,7 +30,11 @@ exts_list = [ 'checksums': ['f44eb231b9df485874f2ffd22dfd0c3c711e7de076516b9374edea5c65bc67ae'], }), ('imread', '0.7.1', { - 'checksums': ['c343b546ab54acdb50dbe69d6793d64ead3ba6d585022f5a7ad4687b7f3db79b'], + 'patches': ['imread-0.7.1_fix-library-order.patch'], + 'checksums': [ + 'c343b546ab54acdb50dbe69d6793d64ead3ba6d585022f5a7ad4687b7f3db79b', # imread-0.7.1.tar.gz + '0702321112ddcc1e6b98dc0a20eed8f93e5ee271304e2a6dc26d64ea83bddedf', # imread-0.7.1_fix-library-order.patch + ], }), (name, version, { 'modulename': 'skimage', diff --git a/easybuild/easyconfigs/s/scikit-image/scikit-image-0.18.1-intel-2020b.eb b/easybuild/easyconfigs/s/scikit-image/scikit-image-0.18.1-intel-2020b.eb index d92ee21ee4e..e72dbff85f4 100644 --- a/easybuild/easyconfigs/s/scikit-image/scikit-image-0.18.1-intel-2020b.eb +++ b/easybuild/easyconfigs/s/scikit-image/scikit-image-0.18.1-intel-2020b.eb @@ -28,7 +28,11 @@ exts_list = [ 'checksums': ['52ddbaeca2dccf53ba2d6dec5676ca7bc3b2403ef8b37f7da78b7654bb3e10f0'], }), ('imread', '0.7.4', { - 'checksums': ['0487adef11a22168700968c1727020361a72f6132b6ced2b8826b02d8cbf744f'], + 'patches': ['imread-0.7.1_fix-library-order.patch'], + 'checksums': [ + '0487adef11a22168700968c1727020361a72f6132b6ced2b8826b02d8cbf744f', # imread-0.7.4.tar.gz + '0702321112ddcc1e6b98dc0a20eed8f93e5ee271304e2a6dc26d64ea83bddedf', # imread-0.7.1_fix-library-order.patch + ], }), ('pooch', '1.3.0', { 'checksums': ['30d448e825904e2d763bbbe418831a788813c32f636b21c8d60ee5f474532898'], diff --git a/easybuild/easyconfigs/s/scikit-image/scikit-image-0.18.1-intelcuda-2020b.eb b/easybuild/easyconfigs/s/scikit-image/scikit-image-0.18.1-intelcuda-2020b.eb new file mode 100644 index 00000000000..7b0b41a3f56 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-image/scikit-image-0.18.1-intelcuda-2020b.eb @@ -0,0 +1,52 @@ +easyblock = 'PythonBundle' + +name = 'scikit-image' +version = '0.18.1' + +homepage = 'https://scikit-image.org/' +description = "scikit-image is a collection of algorithms for image processing." + +toolchain = {'name': 'intelcuda', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('matplotlib', '3.3.3'), + ('Pillow', '8.0.1'), + ('networkx', '2.5'), + ('dask', '2021.2.0'), + ('PyWavelets', '1.1.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('imageio', '2.9.0', { + 'checksums': ['52ddbaeca2dccf53ba2d6dec5676ca7bc3b2403ef8b37f7da78b7654bb3e10f0'], + }), + ('imread', '0.7.4', { + 'patches': ['imread-0.7.4_shlibs_order.patch'], + 'checksums': [ + '0487adef11a22168700968c1727020361a72f6132b6ced2b8826b02d8cbf744f', # imread-0.7.4.tar.gz + '887cca0c4d8161d16fc0637ff06716d99cb3fd90ba800c92b6fbe3709c142b16', # imread-0.7.4_shlibs_order.patch + ], + }), + ('pooch', '1.3.0', { + 'checksums': ['30d448e825904e2d763bbbe418831a788813c32f636b21c8d60ee5f474532898'], + }), + ('tifffile', '2021.2.1', { + 'checksums': ['6793787742e18cf2116bc65e17c51cd9c14cd27a4a6033a8ddd5bf801a637615'], + }), + (name, version, { + 'modulename': 'skimage', + 'patches': ['scikit-image-%(version)s_fix-README-cache-perms.patch'], + 'preinstallopts': "sed -i 's/-fopenmp//g' setup.py && ", + 'checksums': [ + 'fbb618ca911867bce45574c1639618cdfb5d94e207432b19bc19563d80d2f171', # scikit-image-0.18.1.tar.gz + # scikit-image-0.18.1_fix-README-cache-perms.patch + '3a941401231403808963d488aaf498a712c428c3b19a1752652be9972d82b7b8', + ], + }), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/s/shovill/shovill-1.1.0-gompi-2021b.eb b/easybuild/easyconfigs/s/shovill/shovill-1.1.0-gompi-2021b.eb new file mode 100644 index 00000000000..d71b5e0fb90 --- /dev/null +++ b/easybuild/easyconfigs/s/shovill/shovill-1.1.0-gompi-2021b.eb @@ -0,0 +1,48 @@ +easyblock = 'Tarball' + +name = 'shovill' +version = '1.1.0' + +homepage = 'https://github.com/tseemann/shovill' +description = "Faster SPAdes assembly of Illumina reads" + +toolchain = {'name': 'gompi', 'version': '2021b'} + +source_urls = ['https://github.com/tseemann/shovill/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['b7323e6586238821202cf9644963e584e7397a5cee23e564d00b07fcb344ecd2'] + +# excluded (optional) dependency: skesa +# cfr. https://github.com/ncbi/ngs-tools/tree/master/tools/skesa +dependencies = [ + ('SAMtools', '1.14'), + ('BWA', '0.7.17'), + ('Mash', '2.3'), + ('seqtk', '1.3'), + ('SKESA', '2.4.0', '_saute.1.3.0_1'), + ('MEGAHIT', '1.2.9'), + ('KMC', '3.2.1'), + ('Pilon', '1.23', '-Java-11', True), + ('SPAdes', '3.15.3'), + ('Lighter', '1.1.2'), + ('FLASH', '2.2.00'), + ('Trimmomatic', '0.39', '-Java-11', True), + ('Velvet', '1.2.10', '-mt-kmer_191'), + ('pigz', '2.6'), + ('samclip', '0.4.0'), +] + +postinstallcmds = [ + """echo exec java -jar \$EBROOTTRIMMOMATIC/trimmomatic-*.jar '"$@"' > %(installdir)s/bin/trimmomatic""", + """echo exec java -jar $EBROOTPILON/pilon-*.jar '"$@"' > %(installdir)s/bin/pilon""", + "chmod a+rx %(installdir)s/bin/trimmomatic %(installdir)s/bin/pilon", +] + +sanity_check_paths = { + 'files': ['bin/shovill'], + 'dirs': [], +} + +sanity_check_commands = ["shovill --check"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/skorch/skorch-0.11.0-foss-2021a-PyTorch-1.10.0.eb b/easybuild/easyconfigs/s/skorch/skorch-0.11.0-foss-2021a-PyTorch-1.10.0.eb new file mode 100644 index 00000000000..6bee48b7e93 --- /dev/null +++ b/easybuild/easyconfigs/s/skorch/skorch-0.11.0-foss-2021a-PyTorch-1.10.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'skorch' +version = '0.11.0' +local_pt_version = '1.10.0' +versionsuffix = '-PyTorch-%s' % local_pt_version + +homepage = 'https://skorch.readthedocs.io/' +description = """ +A scikit-learn compatible neural network library that wraps PyTorch.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['b35cb4e50045742f0ffcfad33044af691d5d36b50212573753a804483a947ca9'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('scikit-learn', '0.24.2'), + ('tqdm', '4.61.2'), + ('PyTorch', local_pt_version), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/snappy/snappy-1.1.9-GCCcore-11.2.0.eb b/easybuild/easyconfigs/s/snappy/snappy-1.1.9-GCCcore-11.2.0.eb index a98a6f1158f..286a3ef29fb 100644 --- a/easybuild/easyconfigs/s/snappy/snappy-1.1.9-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/s/snappy/snappy-1.1.9-GCCcore-11.2.0.eb @@ -12,10 +12,14 @@ toolchain = {'name': 'GCCcore', 'version': '11.2.0'} source_urls = ['https://github.com/google/snappy/archive/'] sources = ['%(version)s.tar.gz'] -patches = ['%(name)s-%(version)s_inline-functions.patch'] +patches = [ + '%(name)s-%(version)s_inline-functions.patch', + '%(name)s-%(version)s_use-default-rtti.patch', +] checksums = [ '75c1fbb3d618dd3a0483bff0e26d0a92b495bbe5059c8b4f1c962b478b6e06e7', # 1.1.9.tar.gz 'ad79190b274df5ddabf14eddd2bb0d9a091ee7d44e4afde89febf9a8f783fdce', # snappy-1.1.9_inline-functions.patch + 'af56538330b2d781677c7d94576c15fc36e004ae0b4f1ac7d86bbec22b65e73d', # snappy-1.1.9_use-default-rtti.patch ] builddependencies = [ diff --git a/easybuild/easyconfigs/s/snappy/snappy-1.1.9_use-default-rtti.patch b/easybuild/easyconfigs/s/snappy/snappy-1.1.9_use-default-rtti.patch new file mode 100644 index 00000000000..3bdcc462cf0 --- /dev/null +++ b/easybuild/easyconfigs/s/snappy/snappy-1.1.9_use-default-rtti.patch @@ -0,0 +1,27 @@ +Disable any modification of the RTTI setting and follow what is set in the environment. +By default it is enabled in GCC and software might rely on the RTTI symbols in snappy. +author: Alex Domingo (Vrije Universiteit Brussel) +diff --git a/CMakeLists.txt.orig b/CMakeLists.txt +index 672561e..a4b2cc7 100644 +--- a/CMakeLists.txt.orig ++++ b/CMakeLists.txt +@@ -52,9 +52,6 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHs-c-") + add_definitions(-D_HAS_EXCEPTIONS=0) + +- # Disable RTTI. +- string(REGEX REPLACE "/GR" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GR-") + else(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + # Use -Wall for clang and gcc. + if(NOT CMAKE_CXX_FLAGS MATCHES "-Wall") +@@ -77,9 +74,6 @@ else(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + string(REGEX REPLACE "-fexceptions" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions") + +- # Disable RTTI. +- string(REGEX REPLACE "-frtti" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti") + endif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + + # BUILD_SHARED_LIBS is a standard CMake variable, but we declare it here to make diff --git a/easybuild/easyconfigs/s/spoa/spoa-4.0.7-GCC-10.3.0.eb b/easybuild/easyconfigs/s/spoa/spoa-4.0.7-GCC-10.3.0.eb new file mode 100644 index 00000000000..c440d9a9b12 --- /dev/null +++ b/easybuild/easyconfigs/s/spoa/spoa-4.0.7-GCC-10.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'CMakeMake' + +name = 'spoa' +version = '4.0.7' + +homepage = 'https://github.com/rvaser/spoa' +description = """Spoa (SIMD POA) is a c++ implementation of the partial order alignment (POA) algorithm + which is used to generate consensus sequences""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/rvaser/spoa/releases/download/%(version)s/'] +sources = ['spoa-v%(version)s.tar.gz'] +checksums = ['f7a8cd039e4aabea1481e123387fedaa8f87e55418a3649408a615f5c6b1b9a4'] + +builddependencies = [('CMake', '3.20.1')] + +configopts = "-Dspoa_build_executable=ON" + +sanity_check_paths = { + 'files': ['bin/spoa'] + ['include/spoa/%s' % x for x in ['alignment_engine.hpp', 'graph.hpp', 'spoa.hpp']] + + ['lib/libspoa.a', 'lib/pkgconfig/spoa-1.pc'], + 'dirs': [], +} + +sanity_check_commands = ["spoa --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/sympy/sympy-1.9-foss-2021b.eb b/easybuild/easyconfigs/s/sympy/sympy-1.9-foss-2021b.eb new file mode 100644 index 00000000000..5f50bb21110 --- /dev/null +++ b/easybuild/easyconfigs/s/sympy/sympy-1.9-foss-2021b.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonPackage' + +name = 'sympy' +version = '1.9' + +homepage = 'https://sympy.org/' +description = """SymPy is a Python library for symbolic mathematics. It aims to + become a full-featured computer algebra system (CAS) while keeping the code as + simple as possible in order to be comprehensible and easily extensible. SymPy + is written entirely in Python and does not require any external libraries.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['c7a880e229df96759f955d4f3970d4cabce79f60f5b18830c08b90ce77cd5fdc'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('gmpy2', '2.1.2'), +] + +download_dep_fail = True +use_pip = True + +# fix broken test, sympy doesn't actually use gmpy2's Decimal anywhere; +# see https://github.com/sympy/sympy/issues/23061#issuecomment-1052424896 +pretestopts = """sed -i "s@Decimal('0.6')@'0.6'@g" sympy/external/tests/test_pythonmpq.py && """ +runtest = 'python setup.py test' + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/isympy'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/sympy'], +} + +sanity_check_commands = ["isympy --help"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.4-foss-2021a.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.4-foss-2021a.eb new file mode 100644 index 00000000000..ab4f13c9527 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.4-foss-2021a.eb @@ -0,0 +1,240 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow' +version = '2.4.4' + +homepage = 'https://www.tensorflow.org/' +description = "An open-source software library for Machine Intelligence" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('Bazel', '3.7.2'), + ('protobuf', '3.17.3'), + # git 2.x required, see also https://github.com/tensorflow/tensorflow/issues/29053 + ('git', '2.32.0', '-nodocs'), + ('pybind11', '2.6.2'), + ('pkgconfig', '1.5.4', '-python'), # For h5py + ('UnZip', '6.0'), +] +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('HDF5', '1.10.7'), + ('cURL', '7.76.0'), + ('double-conversion', '3.1.5'), + ('flatbuffers', '2.0.0'), + ('giflib', '5.2.1'), + ('hwloc', '2.4.1'), + ('ICU', '69.1'), + ('JsonCpp', '1.9.4'), + ('libjpeg-turbo', '2.0.6'), + ('LMDB', '0.9.28'), + ('NASM', '2.15.05'), + ('nsync', '1.24.0'), + ('SQLite', '3.35.4'), + ('PCRE', '8.44'), + ('protobuf-python', '3.17.3'), + ('flatbuffers-python', '2.0'), + ('typing-extensions', '3.10.0.0'), + ('libpng', '1.6.37'), + ('snappy', '1.1.8'), + ('zlib', '1.2.11'), +] + +sanity_pip_check = True +use_pip = True + + +# Dependencies created and updated using findPythonDeps.sh: +# https://gist.github.com/Flamefire/49426e502cd8983757bd01a08a10ae0d +exts_list = [ + # TF 2.4 needs h5py 2.10, later versions allow 3.x + ('h5py', '2.10.0', { + 'patches': ['h5py-2.10.0_avoid-mpi-init.patch'], + 'preinstallopts': 'HDF5_MPI=ON HDF5_DIR="$EBROOTHDF5" ', + 'checksums': [ + '84412798925dc870ffd7107f045d7659e60f5d46d1c70c700375248bf6bf512d', # h5py-2.10.0.tar.gz + '6bacb71f5d9fbd7bd9a01018d7fe21b067a2317f33c4a7c21fde9cd404c1603f', # h5py-2.10.0_avoid-mpi-init.patch + ], + }), + ('Markdown', '3.3.4', { + 'checksums': ['31b5b491868dcc87d6c24b7e3d19a0d730d59d3e46f4eea6430a321bed387a49'], + }), + ('pyasn1-modules', '0.2.8', { + 'checksums': ['905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e'], + }), + ('rsa', '4.7.2', { + 'checksums': ['9d689e6ca1b3038bc82bf8d23e944b6b6037bc02301a574935b2dd946e0353b9'], + }), + ('cachetools', '4.2.4', { + 'checksums': ['89ea6f1b638d5a73a4f9226be57ac5e4f399d22770b92355f92dcb0f7f001693'], + }), + ('google-auth', '1.30.0', { + 'modulename': 'google.auth', + 'checksums': ['9ad25fba07f46a628ad4d0ca09f38dcb262830df2ac95b217f9b0129c9e42206'], + }), + ('oauthlib', '3.2.0', { + 'checksums': ['23a8208d75b902797ea29fd31fa80a15ed9dc2c6c16fe73f5d346f83f6fa27a2'], + }), + ('requests-oauthlib', '1.3.1', { + 'checksums': ['75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a'], + }), + ('google-auth-oauthlib', '0.4.6', { + 'checksums': ['a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a'], + }), + ('Werkzeug', '1.0.1', { + 'checksums': ['6c80b1e5ad3665290ea39320b91e1be1e0d5f60652b964a3070216de83d2e47c'], + }), + ('absl-py', '0.15.0', { + 'modulename': 'absl', + 'checksums': ['72d782fbeafba66ba3e525d46bccac949b9a174dbf66233e50ece09ee688dc81'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + ('grpcio', '1.43.0', { + 'modulename': 'grpc', + 'checksums': ['735d9a437c262ab039d02defddcb9f8f545d7009ae61c0114e19dda3843febe5'], + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", + }), + ('gviz-api', '1.10.0', { + 'source_tmpl': 'gviz_api-%(version)s.tar.gz', + 'checksums': ['846692dd8cc73224fc31b18e41589bd934e1cc05090c6576af4b4b26c2e71b90'], + }), + ('tensorboard', '2.4.1', { + 'source_tmpl': 'tensorboard-%(version)s-py3-none-any.whl', + 'unpack_sources': False, + 'checksums': ['7b8c53c396069b618f6f276ec94fc45d17e3282d668979216e5d30be472115e4'], + }), + ('tensorboard-plugin-wit', '1.8.1', { + 'source_tmpl': 'tensorboard_plugin_wit-%(version)s-py3-none-any.whl', + 'unpack_sources': False, + 'checksums': ['ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe'], + }), + ('tensorboard-plugin-profile', '2.4.0', { + 'source_tmpl': 'tensorboard_plugin_profile-%(version)s.tar.gz', + 'checksums': ['dfbf254ee960440e3b2518324f876a6d6704c60b936887d99214fa36988a206a'], + }), + ('google-pasta', '0.2.0', { + 'modulename': 'pasta', + 'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('tensorflow-estimator', '2.4.0', { + 'source_tmpl': 'tensorflow_estimator-%(version)s-py2.py3-none-any.whl', + 'unpack_sources': False, + 'checksums': ['5b7b7bf2debe19a8794adacc43e8ba6459daa4efaf54d3302623994a359b17f0'], + }), + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + ('gast', '0.3.3', { + 'checksums': ['b881ef288a49aa81440d2c5eb8aeefd4c2bb8993d5f50edae7413a85bfdb3b57'], + }), + ('opt-einsum', '3.3.0', { + 'source_tmpl': 'opt_einsum-%(version)s.tar.gz', + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('wrapt', '1.13.1', { + 'checksums': ['909a80ce028821c7ad01bdcaa588126825931d177cdccd00b3545818d4a195ce'], + }), + ('Keras-Preprocessing', '1.1.2', { + 'source_tmpl': 'Keras_Preprocessing-%(version)s.tar.gz', + 'checksums': ['add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3'], + }), + ('dill', '0.3.4', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['9f9734205146b2b353ab3fec9af0070237b6ddae78452af83d2fca84d739e675'], + }), + ('tblib', '1.7.0', { + 'checksums': ['059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c'], + }), + ('portpicker', '1.3.1', { + 'checksums': ['d2cdc776873635ed421315c4d22e63280042456bbfa07397817e687b142b9667'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/tensorflow/archive/'], + 'patches': [ + 'TensorFlow-2.1.0_fix-cuda-build.patch', + 'TensorFlow-2.3.1_disable-float128-on-power.patch', + 'TensorFlow-2.4.0_add-default-shell-env.patch', + 'TensorFlow-2.4.0_fix-eigen-on-power.patch', + 'TensorFlow-2.4.0_add-protobuf-deps.patch', + 'TensorFlow-2.4.0_add-ldl.patch', + 'TensorFlow-2.4.0_add-missing-llvm-deps.patch', + 'TensorFlow-2.4.0_fix-absl-on-power.patch', + 'TensorFlow-2.4.0_dont-use-var-lock.patch', + 'TensorFlow-2.4.1_remove-duplicate-gpu-tests.patch', + 'TensorFlow-2.4.4_relax-required-versions.patch', + 'TensorFlow-2.4.4_fix-compatibility-with-protobuf-3.17.patch', + 'TensorFlow-2.4.4_fix-compatibility-with-numpy-1.20.patch', + 'TensorFlow-2.4.4_fix-assertion-bijector-test.patch', + ], + 'checksums': [ + 'f1abc3ed92c3ce955db2a7db5ec422a3a98f015331183194f97b99fe77a09bb4', # v2.4.4.tar.gz + '78c20aeaa7784b8ceb46238a81e8c2461137d28e0b576deeba8357d23fbe1f5a', # TensorFlow-2.1.0_fix-cuda-build.patch + # TensorFlow-2.3.1_disable-float128-on-power.patch + 'a8369e92559cce4566ff831e615420fd98b83106c73ee3af7fbd5335c5fcd569', + # TensorFlow-2.4.0_add-default-shell-env.patch + '033a870b458406f4cabab878c4183cdf54cd7627648f24c8cc9f1964ff24d292', + # TensorFlow-2.4.0_fix-eigen-on-power.patch + '761303a9d5a0e78b833610891194e497a45f1218cfcb0ac4854a0d31d3156c2b', + # TensorFlow-2.4.0_add-protobuf-deps.patch + '0ae2f4f1f1dc5b85f61edbe8a4a91dcffd5cf7588fa46c6a143455e4bc41a64e', + '917ee7282e782e48673596d8917c3207e60e0851bb9acf230a2a439b067af2e3', # TensorFlow-2.4.0_add-ldl.patch + # TensorFlow-2.4.0_add-missing-llvm-deps.patch + 'ce8c41e75f9854e547d03de99ae72cf41afa967b20439e864bc4af3dd4f565c7', + # TensorFlow-2.4.0_fix-absl-on-power.patch + 'cd0e1181cfc56c259cb57b7f9590816db5f5cde3fab39b3386c001359ca6e9fa', + # TensorFlow-2.4.0_dont-use-var-lock.patch + 'b14f2493fd2edf79abd1c4f2dde6c98a3e7d5cb9c25ab9386df874d5f072d6b5', + # TensorFlow-2.4.1_remove-duplicate-gpu-tests.patch + 'f384cd97e004673ae530b6e5cc826f8fddb46646991f1a228fc07b2aac87ee80', + # TensorFlow-2.4.4_relax-required-versions.patch + 'cfe9b85e3556178a89c99ac27c5cee64d5605b18d323d9c5545d9cfd7527df01', + # TensorFlow-2.4.4_fix-compatibility-with-protobuf-3.17.patch + 'efbe7c25d2cf8dd02015bb0fce7ae49d55d135026bb8b26e7a52dd1e273e1a6f', + # TensorFlow-2.4.4_fix-compatibility-with-numpy-1.20.patch + 'badc106ff45e82856e6ea489922e0afbcd839c9e851ca1c9f380a4c7687da89c', + # TensorFlow-2.4.4_fix-assertion-bijector-test.patch + 'ac8aee69ab0269a89b390b247ec32bfb0a4582f86231e094febedec1b3204637', + ], + 'test_script': 'TensorFlow-2.x_mnist-test.py', + 'test_tag_filters_cpu': '-gpu,-tpu,-no_cuda_on_cpu_tap,-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_targets': [ + '//tensorflow/core/...', + '-//tensorflow/core:example_java_proto', + '-//tensorflow/core/example:example_protos_closure', + '//tensorflow/cc/...', + '//tensorflow/c/...', + '//tensorflow/python/...', + # Requires access to CUPTI (privileged!) + '-//tensorflow/core/profiler/internal/gpu:device_tracer_test', + # Fails on some nodes but C API isn't installed anyway + '-//tensorflow/c/eager:c_api_test_gpu', + '-//tensorflow/c/eager:c_api_distributed_test', + '-//tensorflow/c/eager:c_api_distributed_test_gpu', + # Race condition with port picker: https://github.com/tensorflow/tensorflow/issues/46602 + '-//tensorflow/c/eager:c_api_cluster_test_gpu', + '-//tensorflow/c/eager:c_api_remote_function_test_gpu', + '-//tensorflow/c/eager:c_api_remote_test_gpu', + # Invalid alignment: https://github.com/tensorflow/tensorflow/issues/46460 + '-//tensorflow/core/kernels:sparse_matmul_op_test', + '-//tensorflow/core/kernels:sparse_matmul_op_test_gpu', + # Fails to open its own test.xml(?) + '-//tensorflow/core/common_runtime:collective_param_resolver_local_test', + # Fails on non-AVX-512 systems: https://github.com/tensorflow/tensorflow/issues/46532 + '-//tensorflow/core/common_runtime:mkl_layout_pass_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_ops_test', + ], + 'testopts': "--test_timeout=3600 --test_size_filters=small", + 'with_xla': True, + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.4_fix-assertion-bijector-test.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.4_fix-assertion-bijector-test.patch new file mode 100644 index 00000000000..7a302ea105f --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.4_fix-assertion-bijector-test.patch @@ -0,0 +1,13 @@ +Fix assetion string in testIsAbstract of Bijector test +author: Alex Domingo (Vrije Universiteit Brussel) +--- a/tensorflow/python/kernel_tests/distributions/bijector_test.py 2022-02-05 00:42:51.288983000 +0100 ++++ b/tensorflow/python/kernel_tests/distributions/bijector_test.py 2022-02-05 00:43:02.729512435 +0100 +@@ -38,7 +38,7 @@ + def testIsAbstract(self): + with self.assertRaisesRegex(TypeError, + ("Can't instantiate abstract class Bijector " +- "with abstract methods __init__")): ++ "with abstract method __init__")): + bijector.Bijector() # pylint: disable=abstract-class-instantiated + + def testDefaults(self): diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.4_fix-compatibility-with-numpy-1.20.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.4_fix-compatibility-with-numpy-1.20.patch new file mode 100644 index 00000000000..799d44343d9 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.4_fix-compatibility-with-numpy-1.20.patch @@ -0,0 +1,58 @@ +Fix compatibility with NumPy 1.20+ +See issue: https://github.com/tensorflow/models/issues/9706 + +From 0f8fde42d09b199d02cf5d9d79fe76ebf1d260ef Mon Sep 17 00:00:00 2001 +From: Ben Greiner +Date: Thu, 6 May 2021 12:13:40 +0200 +Subject: [PATCH 01/14] Fix NumPy 1.20 error with np.prod() + +Reference: #47691, https://stackoverflow.com/questions/66373169 +--- + tensorflow/python/ops/array_ops.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/tensorflow/python/ops/array_ops.py b/tensorflow/python/ops/array_ops.py +index 519f2ef26fcef..d143ee96a2fc9 100644 +--- a/tensorflow/python/ops/array_ops.py ++++ b/tensorflow/python/ops/array_ops.py +@@ -36,6 +36,7 @@ + from tensorflow.python.framework.constant_op import constant + from tensorflow.python.ops import gen_array_ops + from tensorflow.python.ops import gen_math_ops ++from tensorflow.python.ops import math_ops + # go/tf-wildcard-import + # pylint: disable=wildcard-import + from tensorflow.python.ops.gen_array_ops import * +@@ -2894,7 +2895,7 @@ def matrix_set_diag( + + def _constant_if_small(value, shape, dtype, name): + try: +- if np.prod(shape) < 1000: ++ if math_ops.reduce_prod(shape) < 1000: + return constant(value, shape=shape, dtype=dtype, name=name) + except TypeError: + # Happens when shape is a Tensor, list with Tensor elements, etc. + +From 9a4642fb897e8ac7901253a4225d0d346715545e Mon Sep 17 00:00:00 2001 +From: Ben Greiner +Date: Thu, 2 Sep 2021 13:01:12 +0200 +Subject: [PATCH 14/14] catch NotImplementedError from failed recursive + conversion to ndarray + +--- + tensorflow/python/framework/test_util.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tensorflow/python/framework/test_util.py b/tensorflow/python/framework/test_util.py +index 272351517655d..b1f6ca1775ef4 100644 +--- a/tensorflow/python/framework/test_util.py ++++ b/tensorflow/python/framework/test_util.py +@@ -2790,7 +2790,7 @@ def _assertAllCloseRecursive(self, + atol=atol, + msg="Mismatched value: a%s is different from b%s. %s" % + (path_str, path_str, msg)) +- except (ValueError, TypeError) as e: ++ except (ValueError, TypeError, NotImplementedError) as e: + if len(a) != len(b): + raise ValueError( + "Mismatched length: a%s has %d items, but b%s has %d items. %s" % diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.4_fix-compatibility-with-protobuf-3.17.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.4_fix-compatibility-with-protobuf-3.17.patch new file mode 100644 index 00000000000..69d194dc2d4 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.4_fix-compatibility-with-protobuf-3.17.patch @@ -0,0 +1,26 @@ +From f87e2c2fb623e862fe2ae1616ec4164fa48d1446 Mon Sep 17 00:00:00 2001 +From: Jason Zaman +Date: Sat, 31 Jul 2021 10:30:32 -0700 +Subject: [PATCH 07/10] example_parsing_ops: compatibility with protobuf-3.16 + +--- + tensorflow/core/kernels/example_parsing_ops.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tensorflow/core/kernels/example_parsing_ops.cc b/tensorflow/core/kernels/example_parsing_ops.cc +index d0be01578d8..57ed19aeaae 100644 +--- a/tensorflow/core/kernels/example_parsing_ops.cc ++++ b/tensorflow/core/kernels/example_parsing_ops.cc +@@ -1218,7 +1218,7 @@ class DecodeJSONExampleOp : public OpKernel { + resolver_.get(), "type.googleapis.com/tensorflow.Example", &in, &out); + OP_REQUIRES(ctx, status.ok(), + errors::InvalidArgument("Error while parsing JSON: ", +- string(status.error_message()))); ++ string(status.message()))); + } + } + +-- +2.32.0 + + diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.4_relax-required-versions.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.4_relax-required-versions.patch new file mode 100644 index 00000000000..417b81073d6 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.4_relax-required-versions.patch @@ -0,0 +1,46 @@ +TF introduced a change pinning versions to fixed major.minor or even patch versions +Loosen those a bit so we can build it with our versions. +See https://github.com/tensorflow/tensorflow/issues/44654 + +Author: Alexander Grund (TU Dresden) +Update v2.4.4: Alex Domingo (Vrije Universiteit Brussel) + +--- tensorflow/tools/pip_package/setup.py.orig 2021-10-31 00:59:09.000000000 +0200 ++++ tensorflow/tools/pip_package/setup.py 2022-02-08 10:36:43.677543730 +0100 +@@ -77,18 +77,18 @@ + REQUIRED_PACKAGES = [ + 'absl-py ~= 0.10', + 'astunparse ~= 1.6.3', +- 'flatbuffers ~= 1.12.0', +- 'google_pasta ~= 0.2', ++ 'flatbuffers >= 1.12.0', ++ 'google_pasta >= 0.2', + 'h5py ~= 2.10.0', + 'keras_preprocessing ~= 1.1.2', +- 'numpy ~= 1.19.2', +- 'opt_einsum ~= 3.3.0', ++ 'numpy >= 1.16.0', ++ 'opt_einsum >= 3.3.0', + 'protobuf >= 3.9.2', +- 'six ~= 1.15.0', +- 'termcolor ~= 1.1.0', +- 'typing_extensions ~= 3.7.4', +- 'wheel ~= 0.35', +- 'wrapt ~= 1.12.1', ++ 'six >= 1.12.0', ++ 'termcolor >= 1.1.0', ++ 'typing_extensions >= 3.7.4.2', ++ 'wheel >= 0.26', ++ 'wrapt >= 1.12.1', + # These packages needs to be pinned exactly as newer versions are + # incompatible with the rest of the ecosystem + 'gast == 0.3.3', +@@ -118,7 +118,7 @@ + # BoringSSL support. + # See https://github.com/tensorflow/tensorflow/issues/17882. + if sys.byteorder == 'little': +- REQUIRED_PACKAGES.append('grpcio ~= 1.32.0') ++ REQUIRED_PACKAGES.append('grpcio >= 1.32.0') + + + # Packages which are only needed for testing code. diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix-compatibility-with-CUDA-11.3.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix-compatibility-with-CUDA-11.3.patch new file mode 100644 index 00000000000..74b1f28c0fc --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix-compatibility-with-CUDA-11.3.patch @@ -0,0 +1,27 @@ +From 96eb826c8aec61b172e98f6ba5535206c1ac3023 Mon Sep 17 00:00:00 2001 +From: Peter Hawkins +Date: Fri, 7 May 2021 12:57:02 -0700 +Subject: [PATCH 09/10] Fix NCCL build failure with CUDA 11.3. + +PiperOrigin-RevId: 372612185 +Change-Id: Iaf7d777d586c907b27701a8ad3e5594b16b16a0f +--- + third_party/nccl/build_defs.bzl.tpl | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/third_party/nccl/build_defs.bzl.tpl b/third_party/nccl/build_defs.bzl.tpl +index 4bf2dfcb719..fe163741f87 100644 +--- a/third_party/nccl/build_defs.bzl.tpl ++++ b/third_party/nccl/build_defs.bzl.tpl +@@ -207,7 +207,7 @@ def _prune_relocatable_code_impl(ctx): + mnemonic = "nvprune", + use_default_shell_env = True, + ) +- output.append(outputs) ++ outputs.append(output) + + return DefaultInfo(files = depset(outputs)) + +-- +2.32.0 + diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix-compatibility-with-protobuf-3.17.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix-compatibility-with-protobuf-3.17.patch new file mode 100644 index 00000000000..83e6e07fc42 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix-compatibility-with-protobuf-3.17.patch @@ -0,0 +1,54 @@ +From f87e2c2fb623e862fe2ae1616ec4164fa48d1446 Mon Sep 17 00:00:00 2001 +From: Jason Zaman +Date: Sat, 31 Jul 2021 10:30:32 -0700 +Subject: [PATCH 07/10] example_parsing_ops: compatibility with protobuf-3.16 + +--- + tensorflow/core/kernels/example_parsing_ops.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tensorflow/core/kernels/example_parsing_ops.cc b/tensorflow/core/kernels/example_parsing_ops.cc +index d0be01578d8..57ed19aeaae 100644 +--- a/tensorflow/core/kernels/example_parsing_ops.cc ++++ b/tensorflow/core/kernels/example_parsing_ops.cc +@@ -1218,7 +1218,7 @@ class DecodeJSONExampleOp : public OpKernel { + resolver_.get(), "type.googleapis.com/tensorflow.Example", &in, &out); + OP_REQUIRES(ctx, status.ok(), + errors::InvalidArgument("Error while parsing JSON: ", +- string(status.error_message()))); ++ string(status.message()))); + } + } + +-- +2.32.0 + +From 2ea8d31a2a75de75f838b4650e1531c346dfa6fe Mon Sep 17 00:00:00 2001 +From: sclarkson +Date: Thu, 12 Aug 2021 03:23:28 -0700 +Subject: [PATCH 08/10] Fix protobuf errors when using system protobuf + +When tensorflow and python protobuf use the same instance of +libprotobuf, pywrap_tensorflow must be imported before anything +else that would import protobuf definitions. +--- + tensorflow/python/__init__.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tensorflow/python/__init__.py b/tensorflow/python/__init__.py +index 6efba380ca0..38d1eb55027 100644 +--- a/tensorflow/python/__init__.py ++++ b/tensorflow/python/__init__.py +@@ -37,8 +37,8 @@ import traceback + # go/tf-wildcard-import + # pylint: disable=wildcard-import,g-bad-import-order,g-import-not-at-top + +-from tensorflow.python.eager import context + from tensorflow.python import pywrap_tensorflow as _pywrap_tensorflow ++from tensorflow.python.eager import context + + # pylint: enable=wildcard-import + +-- +2.32.0 + diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.3-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.3-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..59a083f5333 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.3-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,245 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow' +version = '2.5.3' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.tensorflow.org/' +description = "An open-source software library for Machine Intelligence" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('Bazel', '3.7.2'), + ('protobuf', '3.17.3'), + # git 2.x required, see also https://github.com/tensorflow/tensorflow/issues/29053 + ('git', '2.32.0', '-nodocs'), + ('pybind11', '2.6.2'), + ('UnZip', '6.0'), +] +dependencies = [ + ('CUDA', '11.3.1', '', True), + ('cuDNN', '8.2.1.32', versionsuffix, True), + ('NCCL', '2.10.3', versionsuffix), + ('Python', '3.9.5'), + ('h5py', '3.2.1'), + ('cURL', '7.76.0'), + ('double-conversion', '3.1.5'), + ('flatbuffers', '2.0.0'), + ('giflib', '5.2.1'), + ('hwloc', '2.4.1'), + ('ICU', '69.1'), + ('JsonCpp', '1.9.4'), + ('libjpeg-turbo', '2.0.6'), + ('LMDB', '0.9.28'), + ('NASM', '2.15.05'), + ('nsync', '1.24.0'), + ('SQLite', '3.35.4'), + ('PCRE', '8.44'), + ('protobuf-python', '3.17.3'), + ('flatbuffers-python', '2.0'), + ('typing-extensions', '3.10.0.0'), + ('libpng', '1.6.37'), + ('snappy', '1.1.8'), + ('zlib', '1.2.11'), +] + +use_pip = True +sanity_pip_check = True + +# Dependencies created and updated using findPythonDeps.sh: +# https://gist.github.com/Flamefire/49426e502cd8983757bd01a08a10ae0d +exts_list = [ + ('Markdown', '3.3.4', { + 'checksums': ['31b5b491868dcc87d6c24b7e3d19a0d730d59d3e46f4eea6430a321bed387a49'], + }), + ('pyasn1-modules', '0.2.8', { + 'checksums': ['905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e'], + }), + ('rsa', '4.8', { + 'checksums': ['5c6bd9dc7a543b7fe4304a631f8a8a3b674e2bbfc49c2ae96200cdbe55df6b17'], + }), + ('cachetools', '4.2.4', { + 'checksums': ['89ea6f1b638d5a73a4f9226be57ac5e4f399d22770b92355f92dcb0f7f001693'], + }), + ('google-auth', '1.35.0', { + 'modulename': 'google.auth', + 'checksums': ['b7033be9028c188ee30200b204ea00ed82ea1162e8ac1df4aa6ded19a191d88e'], + }), + ('oauthlib', '3.2.0', { + 'checksums': ['23a8208d75b902797ea29fd31fa80a15ed9dc2c6c16fe73f5d346f83f6fa27a2'], + }), + ('requests-oauthlib', '1.3.1', { + 'checksums': ['75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a'], + }), + ('google-auth-oauthlib', '0.4.6', { + 'checksums': ['a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a'], + }), + ('Werkzeug', '2.0.2', { + 'checksums': ['aa2bb6fc8dee8d6c504c0ac1e7f5f7dc5810a9903e793b6f715a9f015bdadb9a'], + }), + ('absl-py', '0.15.0', { + 'modulename': 'absl', + 'checksums': ['72d782fbeafba66ba3e525d46bccac949b9a174dbf66233e50ece09ee688dc81'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + ('grpcio', '1.43.0', { + 'modulename': 'grpc', + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", + 'checksums': ['735d9a437c262ab039d02defddcb9f8f545d7009ae61c0114e19dda3843febe5'], + }), + ('gviz-api', '1.10.0', { + 'source_tmpl': 'gviz_api-%(version)s.tar.gz', + 'checksums': ['846692dd8cc73224fc31b18e41589bd934e1cc05090c6576af4b4b26c2e71b90'], + }), + ('tensorboard_data_server', '0.6.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['809fe9887682d35c1f7d1f54f0f40f98bb1f771b14265b453ca051e2ce58fca7'], + }), + ('tensorboard', '2.5.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['e167460085b6528956b33bab1c970c989cdce47a6616273880733f5e7bde452e'], + }), + ('tensorboard_plugin_wit', '1.8.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe'], + }), + ('tensorboard_plugin_profile', '2.5.0', { + 'checksums': ['f832698d87a773b9a017fc4dd5cf598a1ff942ccfbf3392c83fe12c949ab9f52'], + }), + ('google-pasta', '0.2.0', { + 'modulename': 'pasta', + 'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('tensorflow_estimator', '2.5.0', { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['d1fe76dee8b1dcab865d807a0246da0a9c4a635b1eba6e9545bf216c3aad6955'], + }), + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + ('gast', '0.4.0', { + 'checksums': ['40feb7b8b8434785585ab224d1568b857edb18297e5a3047f1ba012bc83b42c1'], + }), + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('wrapt', '1.13.3', { + 'checksums': ['1fea9cd438686e6682271d36f3481a9f3636195578bab9ca3382e2f5f01fc185'], + }), + ('Keras_Preprocessing', '1.1.2', { + 'checksums': ['add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3'], + }), + ('dill', '0.3.4', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['9f9734205146b2b353ab3fec9af0070237b6ddae78452af83d2fca84d739e675'], + }), + ('tblib', '1.7.0', { + 'checksums': ['059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c'], + }), + ('portpicker', '1.5.0', { + 'checksums': ['e13b148008adeb2793cf8b55bcd20fdcec4f763f2d3bf3c45f5e5e5d1df7d228'], + }), + ('keras_nightly', '2.5.0.dev2021032900', { + 'modulename': 'keras', + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['6ba70f738f4008222de7e7fdd5b2b18c48c49b897a9fca54c844854e25964011'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/tensorflow/archive/'], + 'patches': [ + 'TensorFlow-2.1.0_fix-cuda-build.patch', + 'TensorFlow-2.4.0_add-ldl.patch', + 'TensorFlow-2.4.0_dont-use-var-lock.patch', + 'TensorFlow-2.4.1_fix-min-priority-test.patch', + 'TensorFlow-2.5.0_add-default-shell-env.patch', + 'TensorFlow-2.5.0_add-protobuf-deps.patch', + 'TensorFlow-2.5.0_add-support-for-large-core-systems.patch', + 'TensorFlow-2.5.0_disable-avx512-extensions.patch', + 'TensorFlow-2.5.0-fix-alias-violation-in-absl.patch', + 'TensorFlow-2.5.0_fix-alignment-in-matmul-test.patch', + 'TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch', + 'TensorFlow-2.5.0_fix-crash-on-shutdown.patch', + 'TensorFlow-2.5.0_remove-duplicate-gpu-tests.patch', + 'TensorFlow-2.5.0_fix-compatibility-with-protobuf-3.17.patch', + 'TensorFlow-2.5.0_fix-compatibility-with-CUDA-11.3.patch', + 'TensorFlow-2.5.0_fix_numpy_1.20_compatibility.patch', + 'TensorFlow-2.5.3_relax-required-versions.patch', + ], + 'checksums': [ + '58d69b7163f7624debc243750976d27fa7dddbc6fb7c5215aec94732bcc670e1', # v2.5.3.tar.gz + '78c20aeaa7784b8ceb46238a81e8c2461137d28e0b576deeba8357d23fbe1f5a', # TensorFlow-2.1.0_fix-cuda-build.patch + '917ee7282e782e48673596d8917c3207e60e0851bb9acf230a2a439b067af2e3', # TensorFlow-2.4.0_add-ldl.patch + # TensorFlow-2.4.0_dont-use-var-lock.patch + 'b14f2493fd2edf79abd1c4f2dde6c98a3e7d5cb9c25ab9386df874d5f072d6b5', + # TensorFlow-2.4.1_fix-min-priority-test.patch + '389febce9a0612fd457daf4cb18c02f77fc7311bacae0963602a3198d9f2737f', + # TensorFlow-2.5.0_add-default-shell-env.patch + '09b0c5d4ff04f56a9657875471ed78001d4201cac795aeff62019d582115b468', + # TensorFlow-2.5.0_add-protobuf-deps.patch + '2aa79b89cff13e81f83e385761917d5d6dbdffd6b0366d90580761b958f14363', + # TensorFlow-2.5.0_add-support-for-large-core-systems.patch + '915f3477d6407fafd48269fe1e684a05ce361d9b9b85e58686682df87760f636', + # TensorFlow-2.5.0_disable-avx512-extensions.patch + '3655ce24c97569ac9738c07cac85347ba6f5c815ada95b19b606ffa46d4dda03', + # TensorFlow-2.5.0-fix-alias-violation-in-absl.patch + '12454fda3330fb45cd380377e283f04488b40e0b8ae7378e786ddf731a581f75', + # TensorFlow-2.5.0_fix-alignment-in-matmul-test.patch + '6a4d6cbf45a622b8a2c3ea0b1c0171f01f595684d9c57d415bb39b1b27e1180f', + # TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch + '6abfadc0f67ff3b510d70430843201cb46d7bd65db045ec9b482af70e0c8c0c8', + # TensorFlow-2.5.0_fix-crash-on-shutdown.patch + '578c7493221ebd3dc25ca43d63a72cbb28fdf4112b1e2baa7390f25781bd78fd', + # TensorFlow-2.5.0_remove-duplicate-gpu-tests.patch + 'b940d438e036faac24453bff2cf1834c5e1359e87e84d1f1999fa7a30b278fec', + # TensorFlow-2.5.0_fix-compatibility-with-protobuf-3.17.patch + 'd1797d28985b22b86626390f9b4f90b0dda180276a0abecf162840cf3e127cab', + # TensorFlow-2.5.0_fix-compatibility-with-CUDA-11.3.patch + 'e82db520e5e22f97c0dde2166f0d1a29e7ea828c2b4dfbc79dccc0d4cde5d95d', + # TensorFlow-2.5.0_fix_numpy_1.20_compatibility.patch + '4c32aba417e6ecb2642d5828b4ac618f1e4395f6c217cd621fa08a74433faa55', + # TensorFlow-2.5.3_relax-required-versions.patch + 'e108c3877cf4a0cadc179290ec2098683367688bbbbc7d6fa9a321eb7020443c', + ], + 'test_script': 'TensorFlow-2.x_mnist-test.py', + 'test_tag_filters_cpu': '-gpu,-tpu,-no_cuda_on_cpu_tap,-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_tag_filters_gpu': ('gpu,-no_gpu,-nogpu,-gpu_cupti,-no_cuda11,-no_pip,-no_oss,-oss_serial,' + '-benchmark-test,-v1only'), + 'test_targets': [ + '//tensorflow/core/...', + '-//tensorflow/core:example_java_proto', + '-//tensorflow/core/example:example_protos_closure', + '//tensorflow/cc/...', + '//tensorflow/c/...', + '//tensorflow/python/...', + # Fails on some nodes but C API isn't installed anyway + '-//tensorflow/c/eager:c_api_test_gpu', + '-//tensorflow/c/eager:c_api_distributed_test', + '-//tensorflow/c/eager:c_api_distributed_test_gpu', + # Race condition with port picker: https://github.com/tensorflow/tensorflow/issues/46602 + '-//tensorflow/c/eager:c_api_cluster_test_gpu', + '-//tensorflow/c/eager:c_api_remote_function_test_gpu', + '-//tensorflow/c/eager:c_api_remote_test_gpu', + # Fails to open its own test.xml(?) + '-//tensorflow/core/common_runtime:collective_param_resolver_local_test', + # Fails on non-AVX-512 systems: https://github.com/tensorflow/tensorflow/issues/46532 + '-//tensorflow/core/common_runtime:mkl_layout_pass_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_ops_test', + # Fails on AMD EPYC systems: https://github.com/tensorflow/tensorflow/issues/52151 + '-//tensorflow/core/kernels/mkl:mkl_fused_batch_norm_op_test', + ], + 'testopts': "--test_timeout=3600 --test_size_filters=small", + 'testopts_gpu': "--test_timeout=3600 --test_size_filters=small " + + "--run_under=//tensorflow/tools/ci_build/gpu_build:parallel_gpu_execute", + 'with_xla': True, + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.3-foss-2021a.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.3-foss-2021a.eb new file mode 100644 index 00000000000..5405077833e --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.3-foss-2021a.eb @@ -0,0 +1,228 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow' +version = '2.5.3' + +homepage = 'https://www.tensorflow.org/' +description = "An open-source software library for Machine Intelligence" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('Bazel', '3.7.2'), + ('protobuf', '3.17.3'), + # git 2.x required, see also https://github.com/tensorflow/tensorflow/issues/29053 + ('git', '2.32.0', '-nodocs'), + ('pybind11', '2.6.2'), + ('UnZip', '6.0'), +] +dependencies = [ + ('Python', '3.9.5'), + ('h5py', '3.2.1'), + ('cURL', '7.76.0'), + ('double-conversion', '3.1.5'), + ('flatbuffers', '2.0.0'), + ('giflib', '5.2.1'), + ('hwloc', '2.4.1'), + ('ICU', '69.1'), + ('JsonCpp', '1.9.4'), + ('libjpeg-turbo', '2.0.6'), + ('LMDB', '0.9.28'), + ('NASM', '2.15.05'), + ('nsync', '1.24.0'), + ('SQLite', '3.35.4'), + ('PCRE', '8.44'), + ('protobuf-python', '3.17.3'), + ('flatbuffers-python', '2.0'), + ('typing-extensions', '3.10.0.0'), + ('libpng', '1.6.37'), + ('snappy', '1.1.8'), + ('zlib', '1.2.11'), +] + +use_pip = True +sanity_pip_check = True + +# Dependencies created and updated using findPythonDeps.sh: +# https://gist.github.com/Flamefire/49426e502cd8983757bd01a08a10ae0d +exts_list = [ + ('Markdown', '3.3.4', { + 'checksums': ['31b5b491868dcc87d6c24b7e3d19a0d730d59d3e46f4eea6430a321bed387a49'], + }), + ('pyasn1-modules', '0.2.8', { + 'checksums': ['905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e'], + }), + ('rsa', '4.8', { + 'checksums': ['5c6bd9dc7a543b7fe4304a631f8a8a3b674e2bbfc49c2ae96200cdbe55df6b17'], + }), + ('cachetools', '4.2.4', { + 'checksums': ['89ea6f1b638d5a73a4f9226be57ac5e4f399d22770b92355f92dcb0f7f001693'], + }), + ('google-auth', '1.35.0', { + 'modulename': 'google.auth', + 'checksums': ['b7033be9028c188ee30200b204ea00ed82ea1162e8ac1df4aa6ded19a191d88e'], + }), + ('oauthlib', '3.2.0', { + 'checksums': ['23a8208d75b902797ea29fd31fa80a15ed9dc2c6c16fe73f5d346f83f6fa27a2'], + }), + ('requests-oauthlib', '1.3.1', { + 'checksums': ['75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a'], + }), + ('google-auth-oauthlib', '0.4.6', { + 'checksums': ['a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a'], + }), + ('Werkzeug', '2.0.2', { + 'checksums': ['aa2bb6fc8dee8d6c504c0ac1e7f5f7dc5810a9903e793b6f715a9f015bdadb9a'], + }), + ('absl-py', '0.15.0', { + 'modulename': 'absl', + 'checksums': ['72d782fbeafba66ba3e525d46bccac949b9a174dbf66233e50ece09ee688dc81'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + ('grpcio', '1.43.0', { + 'modulename': 'grpc', + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", + 'checksums': ['735d9a437c262ab039d02defddcb9f8f545d7009ae61c0114e19dda3843febe5'], + }), + ('gviz-api', '1.10.0', { + 'source_tmpl': 'gviz_api-%(version)s.tar.gz', + 'checksums': ['846692dd8cc73224fc31b18e41589bd934e1cc05090c6576af4b4b26c2e71b90'], + }), + ('tensorboard_data_server', '0.6.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['809fe9887682d35c1f7d1f54f0f40f98bb1f771b14265b453ca051e2ce58fca7'], + }), + ('tensorboard', '2.5.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['e167460085b6528956b33bab1c970c989cdce47a6616273880733f5e7bde452e'], + }), + ('tensorboard_plugin_wit', '1.8.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe'], + }), + ('tensorboard_plugin_profile', '2.5.0', { + 'checksums': ['f832698d87a773b9a017fc4dd5cf598a1ff942ccfbf3392c83fe12c949ab9f52'], + }), + ('google-pasta', '0.2.0', { + 'modulename': 'pasta', + 'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('tensorflow_estimator', '2.5.0', { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['d1fe76dee8b1dcab865d807a0246da0a9c4a635b1eba6e9545bf216c3aad6955'], + }), + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + ('gast', '0.4.0', { + 'checksums': ['40feb7b8b8434785585ab224d1568b857edb18297e5a3047f1ba012bc83b42c1'], + }), + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('wrapt', '1.13.3', { + 'checksums': ['1fea9cd438686e6682271d36f3481a9f3636195578bab9ca3382e2f5f01fc185'], + }), + ('Keras_Preprocessing', '1.1.2', { + 'checksums': ['add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3'], + }), + ('dill', '0.3.4', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['9f9734205146b2b353ab3fec9af0070237b6ddae78452af83d2fca84d739e675'], + }), + ('tblib', '1.7.0', { + 'checksums': ['059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c'], + }), + ('portpicker', '1.5.0', { + 'checksums': ['e13b148008adeb2793cf8b55bcd20fdcec4f763f2d3bf3c45f5e5e5d1df7d228'], + }), + ('keras_nightly', '2.5.0.dev2021032900', { + 'modulename': 'keras', + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['6ba70f738f4008222de7e7fdd5b2b18c48c49b897a9fca54c844854e25964011'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/tensorflow/archive/'], + 'patches': [ + 'TensorFlow-2.4.0_add-ldl.patch', + 'TensorFlow-2.4.0_dont-use-var-lock.patch', + 'TensorFlow-2.4.1_fix-min-priority-test.patch', + 'TensorFlow-2.5.0_add-default-shell-env.patch', + 'TensorFlow-2.5.0_add-protobuf-deps.patch', + 'TensorFlow-2.5.0_add-support-for-large-core-systems.patch', + 'TensorFlow-2.5.0_disable-avx512-extensions.patch', + 'TensorFlow-2.5.0-fix-alias-violation-in-absl.patch', + 'TensorFlow-2.5.0_fix-alignment-in-matmul-test.patch', + 'TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch', + 'TensorFlow-2.5.0_fix-crash-on-shutdown.patch', + 'TensorFlow-2.5.0_fix-compatibility-with-protobuf-3.17.patch', + 'TensorFlow-2.5.0_fix-compatibility-with-CUDA-11.3.patch', + 'TensorFlow-2.5.0_fix_numpy_1.20_compatibility.patch', + 'TensorFlow-2.5.3_relax-required-versions.patch', + ], + 'checksums': [ + '58d69b7163f7624debc243750976d27fa7dddbc6fb7c5215aec94732bcc670e1', # v2.5.3.tar.gz + '917ee7282e782e48673596d8917c3207e60e0851bb9acf230a2a439b067af2e3', # TensorFlow-2.4.0_add-ldl.patch + # TensorFlow-2.4.0_dont-use-var-lock.patch + 'b14f2493fd2edf79abd1c4f2dde6c98a3e7d5cb9c25ab9386df874d5f072d6b5', + # TensorFlow-2.4.1_fix-min-priority-test.patch + '389febce9a0612fd457daf4cb18c02f77fc7311bacae0963602a3198d9f2737f', + # TensorFlow-2.5.0_add-default-shell-env.patch + '09b0c5d4ff04f56a9657875471ed78001d4201cac795aeff62019d582115b468', + # TensorFlow-2.5.0_add-protobuf-deps.patch + '2aa79b89cff13e81f83e385761917d5d6dbdffd6b0366d90580761b958f14363', + # TensorFlow-2.5.0_add-support-for-large-core-systems.patch + '915f3477d6407fafd48269fe1e684a05ce361d9b9b85e58686682df87760f636', + # TensorFlow-2.5.0_disable-avx512-extensions.patch + '3655ce24c97569ac9738c07cac85347ba6f5c815ada95b19b606ffa46d4dda03', + # TensorFlow-2.5.0-fix-alias-violation-in-absl.patch + '12454fda3330fb45cd380377e283f04488b40e0b8ae7378e786ddf731a581f75', + # TensorFlow-2.5.0_fix-alignment-in-matmul-test.patch + '6a4d6cbf45a622b8a2c3ea0b1c0171f01f595684d9c57d415bb39b1b27e1180f', + # TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch + '6abfadc0f67ff3b510d70430843201cb46d7bd65db045ec9b482af70e0c8c0c8', + # TensorFlow-2.5.0_fix-crash-on-shutdown.patch + '578c7493221ebd3dc25ca43d63a72cbb28fdf4112b1e2baa7390f25781bd78fd', + # TensorFlow-2.5.0_fix-compatibility-with-protobuf-3.17.patch + 'd1797d28985b22b86626390f9b4f90b0dda180276a0abecf162840cf3e127cab', + # TensorFlow-2.5.0_fix-compatibility-with-CUDA-11.3.patch + 'e82db520e5e22f97c0dde2166f0d1a29e7ea828c2b4dfbc79dccc0d4cde5d95d', + # TensorFlow-2.5.0_fix_numpy_1.20_compatibility.patch + '4c32aba417e6ecb2642d5828b4ac618f1e4395f6c217cd621fa08a74433faa55', + # TensorFlow-2.5.3_relax-required-versions.patch + 'e108c3877cf4a0cadc179290ec2098683367688bbbbc7d6fa9a321eb7020443c', + ], + 'test_script': 'TensorFlow-2.x_mnist-test.py', + 'test_tag_filters_cpu': '-gpu,-tpu,-no_cuda_on_cpu_tap,-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_targets': [ + '//tensorflow/core/...', + '-//tensorflow/core:example_java_proto', + '-//tensorflow/core/example:example_protos_closure', + '//tensorflow/cc/...', + '//tensorflow/c/...', + '//tensorflow/python/...', + # Fails on some nodes but C API isn't installed anyway + '-//tensorflow/c/eager:c_api_distributed_test', + # Fails to open its own test.xml(?) + '-//tensorflow/core/common_runtime:collective_param_resolver_local_test', + # Fails on non-AVX-512 systems: https://github.com/tensorflow/tensorflow/issues/46532 + '-//tensorflow/core/common_runtime:mkl_layout_pass_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_ops_test', + # Fails on AMD EPYC systems: https://github.com/tensorflow/tensorflow/issues/52151 + '-//tensorflow/core/kernels/mkl:mkl_fused_batch_norm_op_test', + ], + 'testopts': "--test_timeout=3600 --test_size_filters=small", + 'testopts_gpu': "--test_timeout=3600 --test_size_filters=small " + + "--run_under=//tensorflow/tools/ci_build/gpu_build:parallel_gpu_execute", + 'with_xla': True, + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.3_relax-required-versions.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.3_relax-required-versions.patch new file mode 100644 index 00000000000..c42813bb0c8 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.3_relax-required-versions.patch @@ -0,0 +1,46 @@ +TF introduced a change pinning versions to fixed major.minor or even patch versions +Loosen those a bit so we can build it with our versions. +See https://github.com/tensorflow/tensorflow/issues/44654 + +Author: Alexander Grund (TU Dresden) +Update v2.5.3: Alex Domingo (Vrije Universiteit Brussel) + +--- tensorflow/tools/pip_package/setup.py.orig 2022-01-30 16:39:47.000000000 +0100 ++++ tensorflow/tools/pip_package/setup.py 2022-02-09 11:45:10.595864349 +0100 +@@ -78,21 +78,21 @@ + # NOTE: As numpy has releases that break semver guarantees and several other + # deps depend on numpy without an upper bound, we must install numpy before + # everything else. +- 'numpy ~= 1.19.2', ++ 'numpy >= 1.19.2', + # Install other dependencies + 'absl-py ~= 0.10', + 'astunparse ~= 1.6.3', +- 'flatbuffers ~= 1.12.0', ++ 'flatbuffers >= 1.12.0', + 'google_pasta ~= 0.2', +- 'h5py ~= 3.1.0', ++ 'h5py >= 3.1.0', + 'keras_preprocessing ~= 1.1.2', + 'opt_einsum ~= 3.3.0', + 'protobuf >= 3.9.2', +- 'six ~= 1.15.0', ++ 'six >= 1.15.0', + 'termcolor ~= 1.1.0', +- 'typing_extensions ~= 3.7.4', ++ 'typing_extensions >= 3.7.4', + 'wheel ~= 0.35', +- 'wrapt ~= 1.12.1', ++ 'wrapt >= 1.12.1', + # These packages need to be pinned exactly as newer versions are + # incompatible with the rest of the ecosystem + 'gast == 0.4.0', +@@ -127,7 +127,7 @@ + # BoringSSL support. + # See https://github.com/tensorflow/tensorflow/issues/17882. + if sys.byteorder == 'little': +- REQUIRED_PACKAGES.append('grpcio ~= 1.34.0') ++ REQUIRED_PACKAGES.append('grpcio >= 1.34.0') + + + # Packages which are only needed for testing code. diff --git a/easybuild/easyconfigs/t/Theano/Theano-1.1.2-foss-2021b-PyMC.eb b/easybuild/easyconfigs/t/Theano/Theano-1.1.2-foss-2021b-PyMC.eb new file mode 100644 index 00000000000..ee57a0b1144 --- /dev/null +++ b/easybuild/easyconfigs/t/Theano/Theano-1.1.2-foss-2021b-PyMC.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonPackage' + +name = 'Theano' +version = '1.1.2' +versionsuffix = '-PyMC' + +homepage = 'https://deeplearning.net/software/theano' +description = """Theano is a Python library that allows you to define, optimize, +and evaluate mathematical expressions involving multi-dimensional arrays efficiently.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://pypi.python.org/packages/source/T/Theano%(versionsuffix)s'] +sources = ['Theano-PyMC-%(version)s.tar.gz'] +checksums = ['5da6c2242ea72a991c8446d7fe7d35189ea346ef7d024c890397011114bf10fc'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +fix_python_shebang_for = ['bin/theano-cache', 'bin/theano-nose'] + +sanity_check_paths = { + 'files': ['bin/theano-cache'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +local_blas_warning = "Using NumPy C-API based implementation for BLAS functions" +sanity_check_commands = [ + # make sure that warning about falling back to (slow) NumPy C-API for BLAS functions is *not* printed + # mkl-service dependency is required to ensure this doesn't happen + "python -c 'import theano.tensor' 2>&1 | grep '%s'; test $? != 0" % local_blas_warning, +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/t/texlive/texlive-20210324-GCC-10.3.0.eb b/easybuild/easyconfigs/t/texlive/texlive-20210324-GCC-10.3.0.eb new file mode 100644 index 00000000000..9809666eaa4 --- /dev/null +++ b/easybuild/easyconfigs/t/texlive/texlive-20210324-GCC-10.3.0.eb @@ -0,0 +1,63 @@ +# Based off the 2017 version by John Dey jfdey@fredhutch.org +# https://github.com/easybuilders/easybuild-easyconfigs/pull/5085 +easyblock = 'Tarball' + +name = 'texlive' +version = '20210324' + +homepage = 'https://tug.org' +description = """TeX is a typesetting language. Instead of visually formatting your text, you enter your manuscript + text intertwined with TeX commands in a plain text file. You then run TeX to produce formatted output, such as a + PDF file. Thus, in contrast to standard word processors, your document is a separate file that does not pretend to + be a representation of the final typeset output, and so can be easily edited and manipulated.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = [ + 'ftp://tug.org/texlive/historic/2021/', + 'https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2021/', +] +sources = [ + { + 'download_filename': 'install-tl-unx.tar.gz', + 'filename': 'install-tl-unx-%(version)s.tar.gz', + } +] +checksums = ['74eac0855e1e40c8db4f28b24ef354bd7263c1f76031bdc02b52156b572b7a1d'] + +dependencies = [ + ('X11', '20210518'), + ('libpng', '1.6.37'), + ('libGLU', '9.0.1'), + ('Perl', '5.32.1'), + ('HarfBuzz', '2.8.1'), + ('poppler', '21.06.1'), + ('cairo', '1.16.0'), + ('fontconfig', '2.13.93'), + ('zlib', '1.2.11'), + ('graphite2', '1.3.14'), +] + +postinstallcmds = [ + 'echo "TEXDIR %(installdir)s/" > %(installdir)s/texlive.profile && ' + 'echo "TEXMFLOCAL %(installdir)s/texmf-local" >> %(installdir)s/texlive.profile && ' + 'echo "TEXMFSYSCONFIG %(installdir)s/texmf-config" >> %(installdir)s/texlive.profile && ' + 'echo "TEXMFSYSVAR %(installdir)s/texmf-var" >> %(installdir)s/texlive.profile && ' + '%(builddir)s/install-tl-%(version)s/install-tl -profile %(installdir)s/texlive.profile' +] + +modextrapaths = { + 'PATH': 'bin/%(arch)s-linux', + 'INFOPATH': 'texmf-dist/doc/info', + 'MANPATH': 'texmf-dist/doc/man', +} +modextravars = { + 'TEXMFHOME': '%(installdir)s/texmf-dist' +} + +sanity_check_paths = { + 'files': ['bin/%(arch)s-linux/tex', 'bin/%(arch)s-linux/latex'], + 'dirs': ['bin/%(arch)s-linux', 'texmf-dist'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/tmux/tmux-3.2a.eb b/easybuild/easyconfigs/t/tmux/tmux-3.2a.eb new file mode 100644 index 00000000000..66a9f07ce16 --- /dev/null +++ b/easybuild/easyconfigs/t/tmux/tmux-3.2a.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'tmux' +version = '3.2a' + +homepage = 'https://github.com/tmux/tmux/' +description = """tmux is a terminal multiplexer: it enables a number of +terminals to be created, accessed, and controlled from a single screen. tmux +may be detached from a screen and continue running in the background, then +later reattached.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['551553a4f82beaa8dadc9256800bcc284d7c000081e47aa6ecbb6ff36eacd05f'] + +dependencies = [('libevent', '2.1.12')] + +sanity_check_paths = { + 'files': ['bin/tmux'], + 'dirs': [] +} + +sanity_check_commands = ["tmux --help 2>&1 | grep 'usage: tmux'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/v/VSEARCH/VSEARCH-2.21.1-GCC-10.3.0.eb b/easybuild/easyconfigs/v/VSEARCH/VSEARCH-2.21.1-GCC-10.3.0.eb new file mode 100644 index 00000000000..3bdd437e4e6 --- /dev/null +++ b/easybuild/easyconfigs/v/VSEARCH/VSEARCH-2.21.1-GCC-10.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'VSEARCH' +version = '2.21.1' + +homepage = 'https://github.com/torognes/vsearch' +description = """VSEARCH supports de novo and reference based chimera detection, + clustering, full-length and prefix dereplication, rereplication, + reverse complementation, masking, all-vs-all pairwise global alignment, + exact and global alignment searching, shuffling, subsampling and sorting. + It also supports FASTQ file analysis, filtering, + conversion and merging of paired-end reads.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/torognes/vsearch/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['0c5f4c981bc8ecbf23ee618d1b45667f81ae9845d64b9d6a310edbd196c84638'] + +builddependencies = [ + ('Autotools', '20210128'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), +] + +preconfigopts = './autogen.sh &&' + +configopts = '--disable-pdfman ' + +sanity_check_paths = { + 'files': ['bin/vsearch'], + 'dirs': [], +} + +sanity_check_commands = ['vsearch --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/VTK/VTK-9.1.0-foss-2021b.eb b/easybuild/easyconfigs/v/VTK/VTK-9.1.0-foss-2021b.eb new file mode 100644 index 00000000000..4f1fa372e75 --- /dev/null +++ b/easybuild/easyconfigs/v/VTK/VTK-9.1.0-foss-2021b.eb @@ -0,0 +1,87 @@ +## +# Authors:: +# * Fotis Georgatos +# * Robert Mijakovic +## + +easyblock = 'CMakeMake' + +name = 'VTK' +version = '9.1.0' + +homepage = 'https://www.vtk.org' +description = """The Visualization Toolkit (VTK) is an open-source, freely available software system for + 3D computer graphics, image processing and visualization. VTK consists of a C++ class library and several + interpreted interface layers including Tcl/Tk, Java, and Python. VTK supports a wide variety of visualization + algorithms including: scalar, vector, tensor, texture, and volumetric methods; and advanced modeling techniques + such as: implicit modeling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay triangulation.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.vtk.org/files/release/%(version_major_minor)s'] +sources = [ + SOURCE_TAR_GZ, + '%(name)sData-%(version)s.tar.gz', +] +patches = [('vtk-version.egg-info', '.')] +checksums = [ + '8fed42f4f8f1eb8083107b68eaa9ad71da07110161a3116ad807f43e5ca5ce96', # VTK-9.1.0.tar.gz + 'b9442cf1c30e1e44502e6dc36d3c6c2dc3d3f7d03306ee1d10737e9abadaa85d', # VTKData-9.1.0.tar.gz + '787b82415ae7a4a1f815b4db0e25f7abc809a05fc85d7d219627f3a7e5d3867b', # vtk-version.egg-info +] + +builddependencies = [('CMake', '3.21.1')] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('XZ', '5.2.5'), + ('libGLU', '9.0.2'), + ('X11', '20210802'), +] + +separate_build_dir = True + +# OpenGL +configopts = "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT +configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT +configopts += "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include " +# Python +configopts += "-DVTK_WRAP_PYTHON=ON -DVTK_PYTHON_VERSION=3 -DVTK_PYTHON_OPTIONAL_LINK=OFF " +configopts += "-DPython3_ROOT_DIR=$EBROOTPYTHON " +# Other +configopts += "-DVTK_USE_MPI=ON " +configopts += "-DCMAKE_INSTALL_LIBDIR=lib" + +preinstallopts = "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " + +# Install a egg-info file so VTK is more python friendly, required for mayavi +local_egg_info_src = '%(builddir)s/VTK-%(version)s/vtk-version.egg-info' +local_egg_info_dest = '%(installdir)s/lib/python%(pyshortver)s/site-packages/vtk-%(version)s.egg-info' +postinstallcmds = [ + 'sed "s/#VTK_VERSION#/%%(version)s/" %s > %s' % (local_egg_info_src, local_egg_info_dest), +] + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +local_vtk_exec = ['vtk%s-%%(version_major_minor)s' % x + for x in ['WrapJava', 'ParseJava', 'WrapPythonInit', 'WrapPython', 'WrapHierarchy']] +local_vtk_exec += ['vtkpython'] +local_vtk_libs = ['CommonCore', 'IONetCDF', 'ParallelCore', 'RenderingOpenGL2'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_vtk_exec] + ['include/vtk-%(version_major_minor)s/vtkMPI.h'] + + ['lib/libvtk%s-%%(version_major_minor)s.%s' % (l, SHLIB_EXT) for l in local_vtk_libs], + 'dirs': ['lib/python%(pyshortver)s/site-packages/', 'include/vtk-%(version_major_minor)s'], +} + +sanity_check_commands = [ + "python -c 'import %(namelower)s'", + "python -c 'import pkg_resources; pkg_resources.get_distribution(\"vtk\")'", + # make sure that VTK Python libraries link to libpython (controlled via DVTK_PYTHON_OPTIONAL_LINK=OFF), + # see https://gitlab.kitware.com/vtk/vtk/-/issues/17881 + "ldd $EBROOTVTK/lib/libvtkPythonContext2D-%%(version_major_minor)s.%s | grep /libpython" % SHLIB_EXT, +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/v/VTune/VTune-2022.2.0.eb b/easybuild/easyconfigs/v/VTune/VTune-2022.2.0.eb new file mode 100644 index 00000000000..773718fc442 --- /dev/null +++ b/easybuild/easyconfigs/v/VTune/VTune-2022.2.0.eb @@ -0,0 +1,27 @@ +## +# Author: Robert Mijakovic +## +name = 'VTune' +version = '2022.2.0' + +homepage = 'https://software.intel.com/en-us/vtune' +description = """Intel VTune Amplifier XE is the premier performance profiler for C, C++, C#, Fortran, + Assembly and Java.""" + +toolchain = SYSTEM + +# By downloading, you accept the Intel End User License Agreement +# (https://software.intel.com/content/www/us/en/develop/articles/end-user-license-agreement.html) +# accept_eula = True +source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/18602/'] +sources = ['l_oneapi_vtune_p_%(version)s.172_offline.sh'] +checksums = ['d9f92ab6486a02c8ba226c98893492a54eda706d9edd3206a6b6143bfbc97195'] + +sanity_check_paths = { + 'files': ['%(namelower)s/%(version)s/bin64/amplxe-perf'], + 'dirs': ['%(namelower)s/%(version)s/bin64', + '%(namelower)s/%(version)s/lib64', + '%(namelower)s/%(version)s/include/intel64'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-GCC-11.2.0-mt-kmer_191.eb b/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-GCC-11.2.0-mt-kmer_191.eb new file mode 100644 index 00000000000..e59516e0cbd --- /dev/null +++ b/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-GCC-11.2.0-mt-kmer_191.eb @@ -0,0 +1,34 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA, 2012-2013 The Cyprus Institute +# Authors:: Cedric Laczny , Fotis Georgatos , +# Thekla Loizou , Andreas Panteli +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +## + +name = 'Velvet' +version = '1.2.10' +versionsuffix = '-mt-kmer_191' + +homepage = 'https://www.ebi.ac.uk/~zerbino/velvet/' +description = """Sequence assembler for very short reads""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'openmp': True, 'pic': True} + +source_urls = ['https://www.ebi.ac.uk/~zerbino/velvet'] +sources = ['%(namelower)s_%(version)s.tgz'] +checksums = ['884dd488c2d12f1f89cdc530a266af5d3106965f21ab9149e8cb5c633c977640'] + +dependencies = [('zlib', '1.2.11')] + +buildopts = "OPENMP=1 MAXKMERLENGTH=%s LONGSEQUENCES=1" % versionsuffix.split('_')[1] + +postinstallcmds = ["cd contrib/MetaVelvet-1.* && make && cd ../../ && cp -a contrib %(installdir)s/"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/VirtualGL/VirtualGL-3.0-GCC-11.2.0.eb b/easybuild/easyconfigs/v/VirtualGL/VirtualGL-3.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..7a40a510856 --- /dev/null +++ b/easybuild/easyconfigs/v/VirtualGL/VirtualGL-3.0-GCC-11.2.0.eb @@ -0,0 +1,44 @@ +# Contribution from the Crick HPC team +# uploaded by J. Sassmannshausen +# updated by Valentin Plugaru 2019-09-26 + +easyblock = 'CMakeMake' + +name = 'VirtualGL' +version = '3.0' + +homepage = 'https://virtualgl.org/' +description = """VirtualGL is an open source toolkit that gives any Linux or +Unix remote display software the ability to run OpenGL applications with full +hardware acceleration.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/VirtualGL/virtualgl/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['d6e00a8d0596cafa67955d6211e0dab6c8aa8239bd718f7eca6eb0b032711f9b'] + +builddependencies = [ + ('CMake', '3.22.1'), + ('binutils', '2.37'), +] + +dependencies = [ + ('libjpeg-turbo', '2.0.6'), + ('Mesa', '21.1.7'), + ('libGLU', '9.0.2'), + ('pocl', '1.8'), +] + +local_binaries = [ + 'cpustat', 'glreadtest', 'glxinfo', 'glxspheres64', 'nettest', 'tcbench', + 'vglclient', 'vglconfig', 'vglconnect', 'vglgenkey', 'vgllogin', 'vglrun', + 'vglserver_config' +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': ['lib64', 'share', 'include'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/v/vcflib/vcflib-1.0.2-GCC-10.2.0.eb b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.2-GCC-10.2.0.eb index 734f106ab15..1d6bc7fb951 100644 --- a/easybuild/easyconfigs/v/vcflib/vcflib-1.0.2-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.2-GCC-10.2.0.eb @@ -14,10 +14,14 @@ toolchain = {'name': 'GCC', 'version': '10.2.0'} source_urls = [GITHUB_SOURCE] sources = ['v%(version)s.tar.gz'] -patches = ['vcflib-1.0.2_use-external-deps.patch'] +patches = [ + 'vcflib-1.0.2_use-external-deps.patch', + 'vcflib-1.0.2_fix-shared-linking.patch', +] checksums = [ 'a3ef230864328d96eb3b086bf5bbcc34d6699710c358444621f6c3e3f507c910', # v1.0.2.tar.gz '8f505c13b258b510b29768d1eaca5c77bc01cb083eec7866bc961a9b647f16d6', # vcflib-1.0.2_use-external-deps.patch + '3904fb7ad5d144bf1b6500c985c84c15a5e4ba5299763628de7965cb4efa97f7', # vcflib-1.0.2_fix-shared-linking.patch ] builddependencies = [ @@ -49,9 +53,13 @@ preconfigopts += " -e 's|multichoose.h|multichoose/multichoose.h|g' -e 's|fileve preconfigopts += " -e 's|tabix.hpp|tabixpp/tabix.hpp|g' -e 's|Fasta.h|fastahack/Fasta.h|g'" preconfigopts += " -e 's|disorder.h|smithwaterman/disorder.h|g' {} \; && " +postinstallcmds = ["cp -r %(builddir)s/%(name)s-%(version)s/scripts %(installdir)s"] + +modextrapaths = {'PATH': ['scripts']} + sanity_check_paths = { 'files': ['bin/vcfannotate', 'bin/vcfcombine', 'lib/libvcflib.%s' % SHLIB_EXT], - 'dirs': [], + 'dirs': ['scripts'], } sanity_check_commands = ["vcfremap"] diff --git a/easybuild/easyconfigs/v/vcflib/vcflib-1.0.2-GCC-10.3.0.eb b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.2-GCC-10.3.0.eb index 5217cd5b157..b6155394c42 100644 --- a/easybuild/easyconfigs/v/vcflib/vcflib-1.0.2-GCC-10.3.0.eb +++ b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.2-GCC-10.3.0.eb @@ -14,10 +14,14 @@ toolchain = {'name': 'GCC', 'version': '10.3.0'} source_urls = [GITHUB_SOURCE] sources = ['v%(version)s.tar.gz'] -patches = ['vcflib-1.0.2_use-external-deps.patch'] +patches = [ + 'vcflib-1.0.2_use-external-deps.patch', + 'vcflib-1.0.2_fix-shared-linking.patch', +] checksums = [ 'a3ef230864328d96eb3b086bf5bbcc34d6699710c358444621f6c3e3f507c910', # v1.0.2.tar.gz '8f505c13b258b510b29768d1eaca5c77bc01cb083eec7866bc961a9b647f16d6', # vcflib-1.0.2_use-external-deps.patch + '3904fb7ad5d144bf1b6500c985c84c15a5e4ba5299763628de7965cb4efa97f7', # vcflib-1.0.2_fix-shared-linking.patch ] builddependencies = [ @@ -49,9 +53,13 @@ preconfigopts += " -e 's|multichoose.h|multichoose/multichoose.h|g' -e 's|fileve preconfigopts += " -e 's|tabix.hpp|tabixpp/tabix.hpp|g' -e 's|Fasta.h|fastahack/Fasta.h|g'" preconfigopts += " -e 's|disorder.h|smithwaterman/disorder.h|g' {} \; && " +postinstallcmds = ["cp -r %(builddir)s/%(name)s-%(version)s/scripts %(installdir)s"] + +modextrapaths = {'PATH': ['scripts']} + sanity_check_paths = { 'files': ['bin/vcfannotate', 'bin/vcfcombine', 'lib/libvcflib.%s' % SHLIB_EXT], - 'dirs': [], + 'dirs': ['scripts'], } sanity_check_commands = ["vcfremap"] diff --git a/easybuild/easyconfigs/v/vcflib/vcflib-1.0.2-GCC-9.3.0-Python-3.8.2.eb b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.2-GCC-9.3.0-Python-3.8.2.eb index 96720191f53..01d87f486f9 100644 --- a/easybuild/easyconfigs/v/vcflib/vcflib-1.0.2-GCC-9.3.0-Python-3.8.2.eb +++ b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.2-GCC-9.3.0-Python-3.8.2.eb @@ -15,10 +15,14 @@ toolchain = {'name': 'GCC', 'version': '9.3.0'} source_urls = [GITHUB_SOURCE] sources = ['v%(version)s.tar.gz'] -patches = ['vcflib-1.0.2_use-external-deps.patch'] +patches = [ + 'vcflib-1.0.2_use-external-deps.patch', + 'vcflib-1.0.2_fix-shared-linking.patch', +] checksums = [ 'a3ef230864328d96eb3b086bf5bbcc34d6699710c358444621f6c3e3f507c910', # v1.0.2.tar.gz '8f505c13b258b510b29768d1eaca5c77bc01cb083eec7866bc961a9b647f16d6', # vcflib-1.0.2_use-external-deps.patch + '3904fb7ad5d144bf1b6500c985c84c15a5e4ba5299763628de7965cb4efa97f7', # vcflib-1.0.2_fix-shared-linking.patch ] builddependencies = [ @@ -50,9 +54,13 @@ preconfigopts += " -e 's|multichoose.h|multichoose/multichoose.h|g' -e 's|fileve preconfigopts += " -e 's|tabix.hpp|tabixpp/tabix.hpp|g' -e 's|Fasta.h|fastahack/Fasta.h|g'" preconfigopts += " -e 's|disorder.h|smithwaterman/disorder.h|g' {} \; && " +postinstallcmds = ["cp -r %(builddir)s/%(name)s-%(version)s/scripts %(installdir)s"] + +modextrapaths = {'PATH': ['scripts']} + sanity_check_paths = { 'files': ['bin/vcfannotate', 'bin/vcfcombine', 'lib/libvcflib.%s' % SHLIB_EXT], - 'dirs': [], + 'dirs': ['scripts'], } sanity_check_commands = ["vcfremap"] diff --git a/easybuild/easyconfigs/v/vcflib/vcflib-1.0.2_fix-shared-linking.patch b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.2_fix-shared-linking.patch new file mode 100644 index 00000000000..401204872b9 --- /dev/null +++ b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.2_fix-shared-linking.patch @@ -0,0 +1,13 @@ +Author: Jasper Grimm +Ensure that shared library correctly links dependencies +diff -Nru vcflib-1.0.2/CMakeLists.txt vcflib-1.0.2_p2/CMakeLists.txt +--- vcflib-1.0.2/CMakeLists.txt 2022-03-29 15:31:28.000000000 +0100 ++++ vcflib-1.0.2_p2/CMakeLists.txt 2022-03-29 15:36:28.000000000 +0100 +@@ -197,6 +197,7 @@ + set_target_properties(vcflib_static PROPERTIES OUTPUT_NAME vcflib) + add_library(vcflib SHARED ${SOURCES}) + set_target_properties(vcflib PROPERTIES VERSION ${BUILD_NUMBER} SOVERSION 1) ++target_link_libraries(vcflib tabixpp fastahack sw fsom filevercmp ${LDFLAGS} ${LIBS}) + + # ---- Build htslib + # diff --git a/easybuild/easyconfigs/v/vcflib/vcflib-1.0.3-GCC-11.2.0.eb b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.3-GCC-11.2.0.eb index 6d9fe6caf6d..5b4a3808b96 100644 --- a/easybuild/easyconfigs/v/vcflib/vcflib-1.0.3-GCC-11.2.0.eb +++ b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.3-GCC-11.2.0.eb @@ -14,10 +14,14 @@ toolchain = {'name': 'GCC', 'version': '11.2.0'} source_urls = [GITHUB_SOURCE] sources = ['v%(version)s.tar.gz'] -patches = ['%(name)s-%(version)s_use-external-deps.patch'] +patches = [ + '%(name)s-%(version)s_use-external-deps.patch', + 'vcflib-1.0.3_fix-shared-linking.patch', +] checksums = [ '5fd05f46dc251a56a322809da92c93c85318036aa9ac39a2eefc4fbd39b5df6c', # v1.0.3.tar.gz '89f99efb35eb3a5fdc5a7fdeb96c204b1af481194bcd788c939c600a985fa8a4', # vcflib-1.0.3_use-external-deps.patch + '2584e33e447c07a66eefc46263161873498910e19035f9beed1600cbd05fd4b0', # vcflib-1.0.3_fix-shared-linking.patch ] builddependencies = [ @@ -49,9 +53,13 @@ preconfigopts += " -e 's|multichoose.h|multichoose/multichoose.h|g' -e 's|fileve preconfigopts += " -e 's|tabix.hpp|tabixpp/tabix.hpp|g' -e 's|Fasta.h|fastahack/Fasta.h|g'" preconfigopts += " -e 's|disorder.h|smithwaterman/disorder.h|g' {} \; && " +postinstallcmds = ["cp -r %(builddir)s/%(name)s-%(version)s/scripts %(installdir)s"] + +modextrapaths = {'PATH': ['scripts']} + sanity_check_paths = { 'files': ['bin/vcfannotate', 'bin/vcfcombine', 'lib/libvcflib.%s' % SHLIB_EXT], - 'dirs': [], + 'dirs': ['scripts'], } sanity_check_commands = ["vcfremap"] diff --git a/easybuild/easyconfigs/v/vcflib/vcflib-1.0.3_fix-shared-linking.patch b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.3_fix-shared-linking.patch new file mode 100644 index 00000000000..305f5ae0c55 --- /dev/null +++ b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.3_fix-shared-linking.patch @@ -0,0 +1,13 @@ +Author: Jasper Grimm +Ensure that shared library correctly links dependencies +diff -Nru vcflib-1.0.3/CMakeLists.txt vcflib-1.0.3_p2/CMakeLists.txt +--- vcflib-1.0.3/CMakeLists.txt 2022-03-29 15:31:38.000000000 +0100 ++++ vcflib-1.0.3_p2/CMakeLists.txt 2022-03-29 15:36:41.000000000 +0100 +@@ -244,6 +244,7 @@ + set_target_properties(vcflib_static PROPERTIES OUTPUT_NAME vcflib) + add_library(vcflib SHARED ${SOURCES}) + set_target_properties(vcflib PROPERTIES VERSION ${BUILD_NUMBER} SOVERSION 1) ++target_link_libraries(vcflib tabixpp fastahack sw fsom filevercmp ${LDFLAGS} ${LIBS}) + + # ---- Build htslib + # diff --git a/easybuild/easyconfigs/v/vsc-mympirun/vsc-mympirun-5.2.10.eb b/easybuild/easyconfigs/v/vsc-mympirun/vsc-mympirun-5.2.10.eb new file mode 100644 index 00000000000..a60396913bf --- /dev/null +++ b/easybuild/easyconfigs/v/vsc-mympirun/vsc-mympirun-5.2.10.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonBundle' + +name = 'vsc-mympirun' +version = '5.2.10' + +homepage = 'https://github.com/hpcugent/vsc-mympirun' +description = """mympirun is a tool to make it easier for users of HPC clusters to +run MPI programs with good performance.""" + +# we build this to work with every python version +toolchain = SYSTEM + +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +use_pip = False + +exts_list = [ + ('setuptools', '41.6.0', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['6afa61b391dcd16cb8890ec9f66cc4015a8a31a6e1c2b4e0c464514be1a3d722'], + }), + ('future', '0.18.2', { + 'checksums': ['b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d'], + }), + ('pbr', '5.8.1', { + 'checksums': ['66bc5a34912f408bb3925bf21231cb6f59206267b7f63f3503ef865c1a292e25'], + }), + ('funcsigs', '1.0.2', { + 'checksums': ['a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50'], + }), + ('mock', '4.0.3', { + 'checksums': ['7d3fbbde18228f4ff2f1f119a45cdffa458b4c0dee32eb4d2bb2f82554bac7bc'], + }), + ('IPy', '1.01', { + 'modulename': 'IPy', + 'checksums': ['edeca741dea2d54aca568fa23740288c3fe86c0f3ea700344571e9ef14a7cc1a'], + }), + ('vsc-install', '0.17.21', { + 'modulename': 'vsc.install', + 'checksums': ['5b9073cc653577ab99a295bcacbd5260d7425251afef4471e9532a00157b0d9e'], + }), + ('vsc-base', '3.4.3', { + 'modulename': 'vsc.utils', + 'checksums': ['11d21d8795c17423febc500d4ba0d987c9e0b2cadb6ded75df34ea4dd77305b4'], + }), + (name, version, { + 'modulename': 'vsc', + 'checksums': ['e1f4cd1583983a2e6e6adf75ef2fb6cf5f9fa1dee6370d4540bd3d45465e9fe1'], + }), +] + +# we ship something in bin/fake +modextrapaths = {'PATH': 'bin/fake'} + +sanity_check_paths = { + 'files': ['bin/mympirun', 'bin/mypmirun', 'bin/mympisanity', 'bin/mytasks'], + 'dirs': ['bin/fake'], +} +sanity_check_commands = ["mympirun --help"] + +# can't enable 'pip check' since pip may not be installed in OS +sanity_pip_check = False + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/v/vsc-mympirun/vsc-mympirun-5.2.9.eb b/easybuild/easyconfigs/v/vsc-mympirun/vsc-mympirun-5.2.9.eb new file mode 100644 index 00000000000..a490eb80608 --- /dev/null +++ b/easybuild/easyconfigs/v/vsc-mympirun/vsc-mympirun-5.2.9.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonBundle' + +name = 'vsc-mympirun' +version = '5.2.9' + +homepage = 'https://github.com/hpcugent/vsc-mympirun' +description = """mympirun is a tool to make it easier for users of HPC clusters to +run MPI programs with good performance.""" + +# we build this to work with every python version +toolchain = SYSTEM + +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +use_pip = False + +exts_list = [ + ('setuptools', '41.6.0', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['6afa61b391dcd16cb8890ec9f66cc4015a8a31a6e1c2b4e0c464514be1a3d722'], + }), + ('future', '0.18.2', { + 'checksums': ['b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d'], + }), + ('pbr', '5.8.1', { + 'checksums': ['66bc5a34912f408bb3925bf21231cb6f59206267b7f63f3503ef865c1a292e25'], + }), + ('funcsigs', '1.0.2', { + 'checksums': ['a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50'], + }), + ('mock', '4.0.3', { + 'checksums': ['7d3fbbde18228f4ff2f1f119a45cdffa458b4c0dee32eb4d2bb2f82554bac7bc'], + }), + ('IPy', '1.01', { + 'modulename': 'IPy', + 'checksums': ['edeca741dea2d54aca568fa23740288c3fe86c0f3ea700344571e9ef14a7cc1a'], + }), + ('vsc-install', '0.17.21', { + 'modulename': 'vsc.install', + 'checksums': ['5b9073cc653577ab99a295bcacbd5260d7425251afef4471e9532a00157b0d9e'], + }), + ('vsc-base', '3.4.3', { + 'modulename': 'vsc.utils', + 'checksums': ['11d21d8795c17423febc500d4ba0d987c9e0b2cadb6ded75df34ea4dd77305b4'], + }), + (name, version, { + 'modulename': 'vsc', + 'checksums': ['31e2065f2ad09c10ae81ebe4ffcda39350ba40ded022662a2f2642849c282a76'], + }), +] + +# we ship something in bin/fake +modextrapaths = {'PATH': 'bin/fake'} + +sanity_check_paths = { + 'files': ['bin/mympirun', 'bin/mypmirun', 'bin/mympisanity', 'bin/mytasks'], + 'dirs': ['bin/fake'], +} +sanity_check_commands = ["mympirun --help"] + +# can't enable 'pip check' since pip may not be installed in OS +sanity_pip_check = False + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/w/WhatsHap/WhatsHap-1.1-foss-2021a.eb b/easybuild/easyconfigs/w/WhatsHap/WhatsHap-1.1-foss-2021a.eb new file mode 100644 index 00000000000..e817cae7c7a --- /dev/null +++ b/easybuild/easyconfigs/w/WhatsHap/WhatsHap-1.1-foss-2021a.eb @@ -0,0 +1,48 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'PythonBundle' + +name = 'WhatsHap' +version = '1.1' + +homepage = 'https://whatshap.readthedocs.io' +description = """WhatsHap is a software for phasing genomic variants using DNA +sequencing reads, also called read-based phasing or haplotype assembly. It is +especially suitable for long reads, but works also well with short reads.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('Pysam', '0.16.0.1'), + ('networkx', '2.5.1'), + ('SciPy-bundle', '2021.05'), + ('Biopython', '1.79'), + ('Yasm', '1.3.0'), + ('pyfaidx', '0.6.3.1'), + ('python-isal', '0.11.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('xopen', '1.4.0', { + 'checksums': ['69d6d1d8a18efe49fc3eb51cd558a2a538c6f76495d1732d259016f58b124498'], + }), + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['4e6486e6ce2babf55a225dd9e0030df6fcc27629d34803428cbe88a79137bb6f'], + }), +] + +sanity_check_paths = { + 'files': ['bin/whatshap'], + 'dirs': [], +} + +sanity_check_commands = [ + 'whatshap --help', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/x/XGBoost/XGBoost-1.5.0-foss-2021a.eb b/easybuild/easyconfigs/x/XGBoost/XGBoost-1.5.0-foss-2021a.eb new file mode 100644 index 00000000000..6aeb30ed98c --- /dev/null +++ b/easybuild/easyconfigs/x/XGBoost/XGBoost-1.5.0-foss-2021a.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'XGBoost' +version = '1.5.0' + +homepage = 'https://github.com/dmlc/xgboost' +description = """XGBoost is an optimized distributed gradient boosting library designed to be highly efficient, + flexible and portable.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['6b7c34a18474c1b73b5c6dcf1231f5fe102d6f26490a65465e3879048bf1f3d4'] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +# use the parallel parameter from EB instead of total procs in the system +preinstallopts = "sed -i 's/nproc = os.cpu_count.*$/nproc = %(parallel)s/' setup.py &&" + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/x/XML-Compile/XML-Compile-1.63-GCCcore-11.2.0.eb b/easybuild/easyconfigs/x/XML-Compile/XML-Compile-1.63-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..0f42d9742d0 --- /dev/null +++ b/easybuild/easyconfigs/x/XML-Compile/XML-Compile-1.63-GCCcore-11.2.0.eb @@ -0,0 +1,61 @@ +easyblock = 'Bundle' + +name = 'XML-Compile' +version = '1.63' + +homepage = 'https://metacpan.org/pod/XML::Compile' +description = "Perl module for compilation based XML processing" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('binutils', '2.37'), +] + +dependencies = [ + ('Perl', '5.34.0'), + ('XML-LibXML', '2.0207'), +] + +exts_defaultclass = 'PerlModule' +exts_filter = ("perl -e 'require %(ext_name)s'", '') + +exts_list = [ + ('XML::LibXML::Simple', '1.01', { + 'source_tmpl': 'XML-LibXML-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['cd98c8104b70d7672bfa26b4513b78adf2b4b9220e586aa8beb1a508500365a6'], + }), + ('XML::Compile', version, { + 'source_tmpl': 'XML-Compile-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['4b0871ef4a70bff37266d531bebcd1d065b109e8f5c5e996f87189a9f92d595f'], + }), + ('XML::Compile::Cache', '1.06', { + 'source_tmpl': 'XML-Compile-Cache-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['591b136bd92842c81a5176082503f47df6d5cc4d8e0d78953ef1557f747038a0'], + }), + ('XML::Compile::SOAP', '3.27', { + 'source_tmpl': 'XML-Compile-SOAP-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['d656632fdc58665cbe62ede9c35d1f5a871917a79eba11033afd2041152866a8'], + }), + ('XML::Compile::WSDL11', '3.08', { + 'source_tmpl': 'XML-Compile-WSDL11-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['dd687ccf5083fe98fce1dd18540e1d0175042437a986e33eec105eca248f8d42'], + }), +] + +modextrapaths = { + 'PERL5LIB': 'lib/perl5/site_perl/%(perlver)s/', +} + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/XML/Compile'], +} + +moduleclass = 'data' diff --git a/setup.py b/setup.py index a76be1ecd02..bd88e033cc5 100644 --- a/setup.py +++ b/setup.py @@ -1,5 +1,5 @@ ## -# Copyright 2012-2021 Ghent University +# Copyright 2012-2022 Ghent University # # This file is part of EasyBuild, # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en), @@ -44,7 +44,7 @@ # recent setuptools versions will *TRANSFORM* something like 'X.Y.Zdev' into 'X.Y.Z.dev0', with a warning like # UserWarning: Normalizing '2.4.0dev' to '2.4.0.dev0' # This causes problems further up the dependency chain... -VERSION = '4.5.3' +VERSION = '4.5.4' MAJ_VER = VERSION.split('.')[0] MAJMIN_VER = '.'.join(VERSION.split('.')[0:2]) diff --git a/test/__init__.py b/test/__init__.py index 1681f47ed8d..461a6de8085 100644 --- a/test/__init__.py +++ b/test/__init__.py @@ -1,5 +1,5 @@ ## -# Copyright 2009-2021 Ghent University +# Copyright 2009-2022 Ghent University # # This file is part of EasyBuild, # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en), diff --git a/test/easyconfigs/easyconfigs.py b/test/easyconfigs/easyconfigs.py index ffbfeade854..36ca8a5747c 100644 --- a/test/easyconfigs/easyconfigs.py +++ b/test/easyconfigs/easyconfigs.py @@ -1,5 +1,5 @@ ## -# Copyright 2013-2021 Ghent University +# Copyright 2013-2022 Ghent University # # This file is part of EasyBuild, # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en), @@ -51,7 +51,7 @@ from easybuild.tools import config from easybuild.tools.build_log import EasyBuildError from easybuild.tools.config import GENERAL_CLASS, build_option -from easybuild.tools.filetools import change_dir, is_generic_easyblock, remove_file +from easybuild.tools.filetools import change_dir, is_generic_easyblock, read_file, remove_file from easybuild.tools.filetools import verify_checksum, which, write_file from easybuild.tools.module_naming_scheme.utilities import det_full_ec_version from easybuild.tools.modules import modules_tool @@ -98,7 +98,7 @@ def skip_if_not_pr_to_non_main_branch(): return lambda func: func -def get_eb_files_from_diff(diff_filter): +def get_files_from_diff(diff_filter, ext, basename=True): """Return the files changed on HEAD relative to the current target branch""" target_branch = get_target_branch() @@ -122,12 +122,20 @@ def get_eb_files_from_diff(diff_filter): # determine list of changed files using 'git diff' and merge base determined above cmd = "git diff --name-only --diff-filter=%s %s..HEAD --" % (diff_filter, merge_base) out, _ = run_cmd(cmd, simple=False) - files = [os.path.basename(f) for f in out.strip().split('\n') if f.endswith('.eb')] + if basename: + files = [os.path.basename(f) for f in out.strip().split('\n') if f.endswith(ext)] + else: + files = [f for f in out.strip().split('\n') if f.endswith(ext)] change_dir(cwd) return files +def get_eb_files_from_diff(diff_filter): + """Return the easyconfig files changed on HEAD relative to the current target branch""" + return get_files_from_diff(diff_filter, '.eb') + + class EasyConfigTest(TestCase): """Baseclass for easyconfig testcases.""" @@ -171,7 +179,8 @@ def setUpClass(cls): cls._ordered_specs = None cls._parsed_easyconfigs = [] cls._parsed_all_easyconfigs = False - cls._changed_ecs = None # ECs changed in a PR + cls._changed_ecs = None # easyconfigs changed in a PR + cls._changed_patches = None # patches changed in a PR @classmethod def tearDownClass(cls): @@ -241,6 +250,20 @@ def _get_changed_easyconfigs(self): " (and could not isolate it in easyconfigs archive either)" % ec_fn) EasyConfigTest._changed_ecs = changed_ecs + def _get_changed_patches(self): + """Gather all added or modified patches""" + + # get list of changed/added patch files + changed_patches_filenames = get_files_from_diff(diff_filter='M', ext='.patch', basename=False) + added_patches_filenames = get_files_from_diff(diff_filter='A', ext='.patch', basename=False) + + if changed_patches_filenames: + print("\nList of changed patch files in this PR:\n\t%s" % '\n\t'.join(changed_patches_filenames)) + if added_patches_filenames: + print("\nList of added patch files in this PR:\n\t%s" % '\n\t'.join(added_patches_filenames)) + + EasyConfigTest._changed_patches = changed_patches_filenames + added_patches_filenames + @property def parsed_easyconfigs(self): # parse all easyconfigs if they haven't been already @@ -272,6 +295,12 @@ def changed_ecs(self): self._get_changed_easyconfigs() return EasyConfigTest._changed_ecs + @property + def changed_patches(self): + if EasyConfigTest._changed_patches is None: + self._get_changed_patches() + return EasyConfigTest._changed_patches + def test_dep_graph(self): """Unit test that builds a full dependency graph.""" # pygraph dependencies required for constructing dependency graph are not available prior to Python 2.6 @@ -439,8 +468,8 @@ def check_dep_vars(self, gen, dep, dep_vars): # EMAN2 2.3 requires Boost(.Python) 1.64.0 'Boost': [('1.64.0;', [r'Boost.Python-1\.64\.0-', r'EMAN2-2\.3-'])], 'Boost.Python': [('1.64.0;', [r'EMAN2-2\.3-'])], - # ncbi-vdb v2.x require HDF5 v1.10.x (HISAT2 depends on ncbi-vdb) - 'HDF5': [(r'1\.10\.', [r'ncbi-vdb-2\.11\.', r'HISAT2-2\.2\.'])], + # ncbi-vdb v2.x require HDF5 v1.10.x (HISAT2, SKESA, shovill depend on ncbi-vdb) + 'HDF5': [(r'1\.10\.', [r'ncbi-vdb-2\.11\.', r'HISAT2-2\.2\.', r'SKESA-2\.4\.', r'shovill-1\.1\.'])], # VMTK 1.4.x requires ITK 4.13.x 'ITK': [(r'4\.13\.', [r'VMTK-1\.4\.'])], # Kraken 1.x requires Jellyfish 1.x (Roary & metaWRAP depend on Kraken 1.x) @@ -503,6 +532,10 @@ def check_dep_vars(self, gen, dep, dep_vars): ('2.2.2;', ['medaka-1.4.3-']), # medaka 1.4.3 (foss/2020b) depends on TensorFlow 2.2.3; longread_umi and artic depend on medaka ('2.2.3;', ['medaka-1.4.3-', 'artic-ncov2019-2021.06.24-', 'longread_umi-0.3.2-']), + # AlphaFold 2.1.2 (foss/2020b) depends on TensorFlow 2.5.0 + ('2.5.0;', ['AlphaFold-2.1.2-']), + # medaka 1.5.0 (foss/2021a) depends on TensorFlow >=2.5.2, <2.6.0 + ('2.5.3;', ['medaka-1.5.0-']), ], # 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) @@ -1109,6 +1142,19 @@ def check_https_url(http_url): if failing_checks: self.fail('\n'.join(failing_checks)) + @skip_if_not_pr_to_non_main_branch() + def test_pr_patch_descr(self): + """ + Check whether all patch files touched in PR have a description on top. + """ + no_descr_patches = [] + for patch in self.changed_patches: + patch_txt = read_file(patch) + if patch_txt.startswith('--- '): + no_descr_patches.append(patch) + + self.assertFalse(no_descr_patches, "No description found in patches: %s" % ', '.join(no_descr_patches)) + def template_easyconfig_test(self, spec): """Tests for an individual easyconfig: parsing, instantiating easyblock, check patches, ...""" @@ -1170,11 +1216,9 @@ def template_easyconfig_test(self, spec): self.assertTrue(ec['version'], app.version) # make sure that deprecated 'dummy' toolchain is no longer used, should use 'system' toolchain instead - # but give recent EasyBuild easyconfigs special treatment to avoid breaking "eb --install-latest-eb-release" ec_fn = os.path.basename(spec) - if not (ec_fn == 'EasyBuild-3.9.4.eb' or ec_fn.startswith('EasyBuild-4.')): - error_msg_tmpl = "%s should use 'system' toolchain rather than deprecated 'dummy' toolchain" - self.assertFalse(ec['toolchain']['name'] == 'dummy', error_msg_tmpl % os.path.basename(spec)) + error_msg_tmpl = "%s should use 'system' toolchain rather than deprecated 'dummy' toolchain" + self.assertFalse(ec['toolchain']['name'] == 'dummy', error_msg_tmpl % os.path.basename(spec)) # make sure that $root is not used, since it is not compatible with module files in Lua syntax res = re.findall(r'.*\$root.*', ec.rawtxt, re.M) diff --git a/test/easyconfigs/styletests.py b/test/easyconfigs/styletests.py index 91f39820898..0cbaca89661 100644 --- a/test/easyconfigs/styletests.py +++ b/test/easyconfigs/styletests.py @@ -1,5 +1,5 @@ ## -# Copyright 2016-2021 Ghent University +# Copyright 2016-2022 Ghent University # # This file is part of EasyBuild, # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en), diff --git a/test/easyconfigs/suite.py b/test/easyconfigs/suite.py index 3d204108c36..eae8bd6dbe3 100644 --- a/test/easyconfigs/suite.py +++ b/test/easyconfigs/suite.py @@ -1,6 +1,6 @@ #!/usr/bin/python ## -# Copyright 2012-2021 Ghent University +# Copyright 2012-2022 Ghent University # # This file is part of EasyBuild, # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),